API GEOSLink to this heading
Latar belakangLink to this heading
Apa itu GEOS?Link to this heading
GEOS kepanjangan untuk Geometry Engine - Open Source, dan adalah sebuah pustaka C++, dihubungkan dari Java Topology Suite. GEOS menerapkan OpenGIS Simple Features for SQL fungsi predikat spasial dan penghubung spasial. GEOS, sekarang sebuah proyek OSGeo, yang aslinya dikembangkan dan dirawat oleh Refractions Research dari Victoria, Canada.
FiturLink to this heading
GeoDjango menerapkan pembungkus Python tingkat-tinggi untuk pustaka GEOS, fitur-fiturnya termasuk:
Sebuah antarmuka berlisensi-BSD pada rutin geometri GEOS, diterapkan sepenuhnya dalam Python menggunakan
ctypes.Loosely-coupled to GeoDjango. For example,
GEOSGeometryobjects may be used outside of a Django project/application. In other words, no need to haveDJANGO_SETTINGS_MODULEset or use a database, etc.Berubah-ubah: obyek
GEOSGeometrymungkin dirubah.Lintas-serambi dan teruji; cocok dengan serambi Windows, Linux, Solaris, dan macOS.
Pengajaran tambahanLink to this heading
Bagian ini mengandung perkenalan singkat dan pengajaran tambahan menggunakan obyek GEOSGeometry.
Membuat GeometriLink to this heading
GEOSGeometry objects may be created in a few ways. The first is
to simply instantiate the object on some spatial input -- the following
are examples of creating the same geometry from WKT, HEX, WKB, and GeoJSON:
>>> from django.contrib.gis.geos import GEOSGeometry
>>> pnt = GEOSGeometry("POINT(5 23)") # WKT
>>> pnt = GEOSGeometry("010100000000000000000014400000000000003740") # HEX
>>> pnt = GEOSGeometry(
... memoryview(
... b"\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14@\x00\x00\x00\x00\x00\x007@"
... )
... ) # WKB
>>> pnt = GEOSGeometry(
... '{ "type": "Point", "coordinates": [ 5.000000, 23.000000 ] }'
... ) # GeoJSON
Another option is to use the constructor for the specific geometry type
that you wish to create. For example, a Point object may be
created by passing in the X and Y coordinates into its constructor:
>>> from django.contrib.gis.geos import Point
>>> pnt = Point(5, 23)
All these constructors take the keyword argument srid. For example:
>>> from django.contrib.gis.geos import GEOSGeometry, LineString, Point
>>> print(GEOSGeometry("POINT (0 0)", srid=4326))
SRID=4326;POINT (0 0)
>>> print(LineString((0, 0), (1, 1), srid=4326))
SRID=4326;LINESTRING (0 0, 1 1)
>>> print(Point(0, 0, srid=32140))
SRID=32140;POINT (0 0)
Finally, there is the fromfile() factory method which returns a
GEOSGeometry object from a file:
>>> from django.contrib.gis.geos import fromfile
>>> pnt = fromfile("/path/to/pnt.wkt")
>>> pnt = fromfile(open("/path/to/pnt.wkt"))
Geometri adalah PythonicLink to this heading
GEOSGeometry objects are 'Pythonic', in other words components may
be accessed, modified, and iterated over using standard Python conventions.
For example, you can iterate over the coordinates in a Point:
>>> pnt = Point(5, 23)
>>> [coord for coord in pnt]
[5.0, 23.0]
With any geometry object, the GEOSGeometry.coords property
may be used to get the geometry coordinates as a Python tuple:
>>> pnt.coords
(5.0, 23.0)
You can get/set geometry components using standard Python indexing
techniques. However, what is returned depends on the geometry type
of the object. For example, indexing on a LineString
returns a coordinate tuple:
>>> from django.contrib.gis.geos import LineString
>>> line = LineString((0, 0), (0, 50), (50, 50), (50, 0), (0, 0))
>>> line[0]
(0.0, 0.0)
>>> line[-2]
(50.0, 0.0)
Whereas indexing on a Polygon will return the ring
(a LinearRing object) corresponding to the index:
>>> from django.contrib.gis.geos import Polygon
>>> poly = Polygon(((0.0, 0.0), (0.0, 50.0), (50.0, 50.0), (50.0, 0.0), (0.0, 0.0)))
>>> poly[0]
<LinearRing object at 0x1044395b0>
>>> poly[0][-2] # second-to-last coordinate of external ring
(50.0, 0.0)
In addition, coordinates/components of the geometry may added or modified, just like a Python list:
>>> line[0] = (1.0, 1.0)
>>> line.pop()
(0.0, 0.0)
>>> line.append((1.0, 1.0))
>>> line.coords
((1.0, 1.0), (0.0, 50.0), (50.0, 50.0), (50.0, 0.0), (1.0, 1.0))
Geometries support set-like operators:
>>> from django.contrib.gis.geos import LineString
>>> ls1 = LineString((0, 0), (2, 2))
>>> ls2 = LineString((1, 1), (3, 3))
>>> print(ls1 | ls2) # equivalent to `ls1.union(ls2)`
MULTILINESTRING ((0 0, 1 1), (1 1, 2 2), (2 2, 3 3))
>>> print(ls1 & ls2) # equivalent to `ls1.intersection(ls2)`
LINESTRING (1 1, 2 2)
>>> print(ls1 - ls2) # equivalent to `ls1.difference(ls2)`
LINESTRING(0 0, 1 1)
>>> print(ls1 ^ ls2) # equivalent to `ls1.sym_difference(ls2)`
MULTILINESTRING ((0 0, 1 1), (2 2, 3 3))
Obyek GeometriLink to this heading
GEOSGeometryLink to this heading
- class GEOSGeometry(geo_input, srid=None)Link to this definition
- Parameter:
geo_input -- Geometry input value (string or
memoryview)srid (int) -- penciri acuan spasial
Ini adalah kelas dasar untuk semua obyek geometri GEOS. Itu menginisialisasikan pada argumen geo_input yang diberikan, dan kemudian mengganggap subkelas geometri sesuai (misalnya, GEOSGeometry('POINT(1 1)') akan membuat sebuah obyek Point).
The srid parameter, if given, is set as the SRID of the created geometry if
geo_input doesn't have an SRID. If different SRIDs are provided through the
geo_input and srid parameters, ValueError is raised:
>>> from django.contrib.gis.geos import GEOSGeometry
>>> GEOSGeometry("POINT EMPTY", srid=4326).ewkt
'SRID=4326;POINT EMPTY'
>>> GEOSGeometry("SRID=4326;POINT EMPTY", srid=4326).ewkt
'SRID=4326;POINT EMPTY'
>>> GEOSGeometry("SRID=1;POINT EMPTY", srid=4326)
Traceback (most recent call last):
...
ValueError: Input geometry already has SRID: 1.
Bentuk-bentuk masukan berikut, bersama dengan jenis-jenis Python yang sesuai, adalah diterima:
Bentuk |
Jenis Masukan |
|---|---|
WKT / EWKT |
|
HEX / HEXEWKB |
|
WKB / EWKB |
|
|
Untuk bentuk GeoJSON, SRID disetel berdasarkan pada anggota crs. jika crs tidak disediakan, SRID awalan pada 4326.
- classmethod GEOSGeometry.from_gml(gml_string)Link to this definition
Membangun sebuah
GEOSGeometrydari string GML yang diberikan.
Sifat-sifatLink to this heading
- GEOSGeometry.coordsLink to this definition
Mengembalikan kordinat dari geometri sebagai tuple.
- GEOSGeometry.dimsLink to this definition
Mengembalikan dimensi dari geometri:
0untukPointdanMultiPoint1untukLineStringdanMultiLineString2untukPolygondanMultiPolygon-1untukGeometryCollectionkosongdimensi maksimal dari unsur-unsurnya untuk
GeometryCollectionbukan-kosong.
- GEOSGeometry.emptyLink to this definition
Mengembalikan apakah atau tidak disetel dari titik-titik dalam geometri adalah kosong.
- GEOSGeometry.geom_typeLink to this definition
Returns a string corresponding to the type of geometry. For example:
>>> pnt = GEOSGeometry("POINT(5 23)") >>> pnt.geom_type 'Point'
- GEOSGeometry.geom_typeidLink to this definition
Mengembalikan angka penciri jenis geometri GEOS. Tabel berikut menunjukkan nilai untuk setipa jenis geometri:
Geometri
ID
0
1
2
3
4
5
6
7
- GEOSGeometry.num_coordsLink to this definition
Mengembalikan angka dari kordinat di geometri.
- GEOSGeometry.num_geomLink to this definition
Mengembalikan sejumlah geometri dalam geometri ini. Dengan kata lain, akan mengembalikan 1 pada apapun kecuali kumpulan geometri.
- GEOSGeometry.haszLink to this definition
Mengembalikan sebuah boolean menunjukkan apalah geometri adalah tiga-dimensi.
- GEOSGeometry.ringLink to this definition
Mengembalikan sebuah boolean menunjukkan apakah geometri adalah
LinearRing.
- GEOSGeometry.simpleLink to this definition
Returns a boolean indicating whether the geometry is 'simple'. A geometry is simple if and only if it does not intersect itself (except at boundary points). For example, a
LineStringobject is not simple if it intersects itself. Thus,LinearRingandPolygonobjects are always simple because they cannot intersect themselves, by definition.
- GEOSGeometry.validLink to this definition
Mengembalikan sebuah boolean menunjukkan apakah geometri adalah sah.
- GEOSGeometry.valid_reasonLink to this definition
Mengembalikan deretan kalimat menggambarkan alasan mengapa geometri sah.
- GEOSGeometry.sridLink to this definition
Property that may be used to retrieve or set the SRID associated with the geometry. For example:
>>> pnt = Point(5, 23) >>> print(pnt.srid) None >>> pnt.srid = 4326 >>> pnt.srid 4326
Sifat-sifat KeluaranLink to this heading
Sifat dalam bagian ini mengexpor obyek GEOSGeometry menjadi sebuah yang berbeda. Keluaran ini mungkin dalam bentuk string, penyangga, atau bahkan obyek lain.
- GEOSGeometry.ewktLink to this definition
Mengembalikan "extended" Well-Known Text dari geometri ini. Perwakilan ini khusus untuk PostGIS dan superset dari standar WKT OGC. [1] Pada dasarnya SRID ditambahkan pada perwakilan WKT, sebagai contoh
SRID=4326;POINT(5 23).
- GEOSGeometry.hexLink to this definition
Mengembalikan WKB dari Geometri dalam bentuk heksadesimal. Harap catat bahwa nilai SRID tidak disertakan dalam perwakilan ini karena itu bukan bagian dari spesifikasi OGC (gunakan sifat
GEOSGeometry.hexewkbsebagai gantinya).
- GEOSGeometry.hexewkbLink to this definition
Mengembalikan WKB dari Geometri dalam bentuk heksadesimal. Ini adalah sebuah tambahan dari spesifikasi WKB yang menyertakan nilai SRID yang merupakan bagian dari geometri ini.
- GEOSGeometry.jsonLink to this definition
Mengembalikan perwakilan GeoJSON dari geometri. Catat bahwa ahsiladalah bukan struktur GeoJSON lengkap tetapi hanya isi kunci
geometrydari struktur GeoJSON. Lihat juga Penserial GeoJSON.
- GEOSGeometry.geojsonLink to this definition
Nama lain dari
GEOSGeometry.json.
- GEOSGeometry.kmlLink to this definition
Mengembalikan perwakilan KML (Keyhole Markup Language) dari geometri. Ini jangan hanya digunakan untuk geometri dengan SRID dari 4326 (WGS84), tetapi pembatasan ini tidak dilaksanakan.
- GEOSGeometry.ogrLink to this definition
Mengembalikan obyek
OGRGeometryterkait pada permintaan pada geometri GEOS.
- GEOSGeometry.wkbLink to this definition
Mengembalikan perwakilan WKB (Well-Known Binary) dari Geometry ini sebagai sebuah penyangga Python. Nilai SRID tidak disertakan, gunakan sifat
GEOSGeometry.ewkbsebagai gantinya.
- GEOSGeometry.ewkbLink to this definition
Mengembalikan perwakilan EWKB dari Geometry sebagai sebuah penyangga Python. Ini adalah sebuah tambahan dari spesifikasi WKB yang menyertakan nilai SRID apapun yang bagian dari geometri ini.
- GEOSGeometry.wktLink to this definition
Mengembalikan Well-Known Text dari geometri (sebuah standar OGC).
Metode Predikat SpasialLink to this heading
Semua dari metode-metode predikat spasial berikut mengambil contoh GEOSGeometry lain (other) sebagai sebuah parameter, dan mengembalikan boolean.
- GEOSGeometry.contains(other)Link to this definition
Mengembalikan
Truejikaother.within(this)mengembalikanTrue.
- GEOSGeometry.covers(other)Link to this definition
Mengembalikan
Truejika geometri mencangkup geometri tertentu.Sebutan
coversmempunyai pengertian kesetaraan berikut:Setiap titik dari geometri lain adalah sebuah titik dari geometri ini.
The DE-9IM Intersection Matrix for the two geometries is
T*****FF*,*T****FF*,***T**FF*, or****T*FF*.
Jika salah satu geometri adalah kosong, kembalikan
False.Prediakt ini mirip pada
GEOSGeometry.contains(), tetapi lebih termasuk (yaitu mengembalikanTrueuntuk kasus-kasus lebih). Khususnya, tidak seperticontains()itu tidak membedakan diantara titik-titik dalam batasan dan dalam interior dari geometri. Untuk kebanyakan situasi,covers()harus dipilih padacontains(). Sebagai sebuah keuntungan tambahan,covers()lebih menerima untuk optimalisasi dan karena itu harus mengunggulicontains().
- GEOSGeometry.crosses(other)Link to this definition
Mengembalikan
Truejika matriks persimpangan DE-9IM untuk dua geometri adalahT*T******(untuk titik dan kurva, titik dan kawasan atau baris dan kawasan)0********(untuk dua kurva).
- GEOSGeometry.disjoint(other)Link to this definition
Mengembalikan
Truejika matriks persimpangan DE-9IM untuk dua geometri adalahFF*FF****.
- GEOSGeometry.equals(other)Link to this definition
Mengembalikan
Truejika matriks persimpangan DE-9IM untuk dua geometri adalahT*F**FFF*.
- GEOSGeometry.equals_exact(other, tolerance=0)Link to this definition
Mengembalikan true jika dua geometri tepatnya setara, sampai toleransi yang ditentukan. Nilai
toleranceharus berupa angka floating point mewakili toleransi kesalahan dalam perbandingan, misalnya,poly1.equals_exact(poly2, 0.001)akan membandingkan kesetaraan dalam ribuan dari sebuah satuan.
- GEOSGeometry.intersects(other)Link to this definition
Mengembalikan
TruejikaGEOSGeometry.disjoint()adalahFalse.
- GEOSGeometry.overlaps(other)Link to this definition
Mengembalikan
Truejika matriks persimpangan DE-9IM untuk dua geometri adalahT*T***T**(untuk titik dan kurva, titik dan kawasan atau baris dan kawasan)1*T***T**(untuk dua kurva).
- GEOSGeometry.relate_pattern(other, pattern)Link to this definition
Mengembalikan
Truejika matriks persimpangan DE-9IM untuk geometri ini dah lainnya cocok padapatternyang diberikan -- string dari sembilan karakter dari alfabet: {T,F,*,0}.
- GEOSGeometry.touches(other)Link to this definition
Mengembalikan
Truejika matriks persimpangan DE-9IM untuk dua geometri adalahFT*******,F**T*****orF***T****.
- GEOSGeometry.within(other)Link to this definition
Mengembalikan
Truejika matriks persimpangan DE-9IM untuk dua geometri adalahT*F**F***.
Metode-metode TopologiLink to this heading
- GEOSGeometry.buffer(width, quadsegs=8)Link to this definition
Mengembalikan sebuah
GEOSGeometryyang mewakili semua titik-titik yang jaraknya dari geometri ini kurang dari atau setara padawidthyang diberikan. Kata kunciquadsegspilihan mensetel angka dari bagian-bagian digunakan untuk memperkirakan seperempat lingkaran (awalan adalah 8).
- GEOSGeometry.buffer_with_style(width, quadsegs=8, end_cap_style=1, join_style=1, mitre_limit=5.0)Link to this definition
Sama seperti
buffer(), tetapi mengizinkan gaya dari penyangga.end_cap_styledapat berupa round (1), flat (2), atau square (3).join_styledapat berupa round (1), mitre (2), atau bevel (3).Batas rasio siku (
mitre_limit) hanya mempengaruhi gaya gabungan sudut.
- GEOSGeometry.difference(other)Link to this definition
Mengembalikan
GEOSGeometrymewakili titik-titik membuat geometri ini yang tidak membuat lain.
- GEOSGeometry.interpolate(distance)Link to this definition
- GEOSGeometry.interpolate_normalized(distance)Link to this definition
Diberikan sebuah jarak (float), mengembalikan titik (atau titik terdekat) dalam geometri (
LineStringatauMultiLineString) pada jarak itu. Versi biasa mengambil jarak sebagai sebuah float diantara 0 (asli) dan 1 (titik akhir).Membalikkan dari
GEOSGeometry.project().
- GEOSGeometry.intersection(other)Link to this definition
Mengembalikan
GEOSGeometrymewakili titik-titik dibgi oleh geometri ini dan lainnya.
- GEOSGeometry.project(point)Link to this definition
- GEOSGeometry.project_normalized(point)Link to this definition
Mengembalikan jarak (float) dari asli geometri (
LineStringatauMultiLineString) ke titik diproyeksikan pada geometri (yaitu pada titik dari baris terdekat pada titik yang diberikan). Versi biasa mengembalikan jarak sebagai sebuah float diantara 0 (asli) dan 1 (titik akhir).Membalikkan dari
GEOSGeometry.interpolate().
- GEOSGeometry.relate(other)Link to this definition
Mengembalikan matriks (string) persimpangan DE-9IM mewakili hubungan topologi diantara geometri ini dan lainnya.
- GEOSGeometry.simplify(tolerance=0.0, preserve_topology=False)Link to this definition
Mengembalikan sebuah
GEOSGeometrybaru, disederhanakan pada toleransi yang ditentukan menggunakan algoritma Douglas-Peucker. Nilai toleransi lebih tinggi mengartikan sedikit titik dalam keluaran. Jika toleransi tidak disediakan, awalan itu pada 0.Secara awalan, fungsi ini tidak mempertahankan topologi. Sebagai contoh, obyek-obyek
Polygondapat dipisah, dirobohkan menjadi baris-baris, atau hilang. Lubang-lubangPolygondapat dibuat atau hilang, dan baris-baris mungkin bersilangan. Dengan menentukanpreserve_topology=True, hasil akan mempunyai dimensi sama dan jumlah komponen sebagai masukan; ini secara signifikan lebih lama, bagaimanapun.
- GEOSGeometry.sym_difference(other)Link to this definition
Mengembalikan
GEOSGeometrymenggabungkan titik-titik dalam geometri ini bukan yang lain, dan titik-titik di lainnya bukan dalam geometri ini.
- GEOSGeometry.union(other)Link to this definition
Mengembalikan
GEOSGeometrymewakili semua titik dalam geometri ini dan lainnya.
Sifat-sifat TopologiLink to this heading
- GEOSGeometry.boundaryLink to this definition
Mengembalikan batasan sebagai sebuah obyek Geometri baru dialokasikan.
- GEOSGeometry.centroidLink to this definition
Mengembalikan obyek
Pointmewakili pusat geometri dari geometri. Titik tidak menjamin menjadi interior dari geometri.
- GEOSGeometry.convex_hullLink to this definition
Mengembalikan
Polygonterkecil yang mengandung semua titik dalam geometri.
- GEOSGeometry.envelopeLink to this definition
Mengembalikan sebuah
Polygonyang meakili batasan bungkus dari geometri. Catat bahwa itu dapat juga mengembalikan sebuahPointjika masukan geometri adalah sebuah titik.
- GEOSGeometry.point_on_surfaceLink to this definition
Menghitung dan mengembalikan jaminan
Pointuntuk berada dalam interior dari geometri ini.
- GEOSGeometry.unary_unionLink to this definition
Menghitung gabungan dari semua unsur dari geometri ini.
Hasil mematuhi kontrak berikut:
Unioning a set of
LineStrings has the effect of fully noding and dissolving the linework.Menyatukan kumpulan dari
Polygonakan selalu mengembalikan geometriPolygonatauMultiPolygon(tidak sepertiGEOSGeometry.union(), yang mungkin mengembalikan geometri dari dimensi terendah jika topologi runtuh timbul).
Sifat dan Metode lainLink to this heading
- GEOSGeometry.areaLink to this definition
Sifat ini mengembalikan kawasan dari Geometri.
- GEOSGeometry.extentLink to this definition
Sifat ini mengembalikan jangkauan dari geometri ini sebagai 4-tuple, terdiri dari
(xmin, ymin, xmax, ymax).
- GEOSGeometry.clone()Link to this definition
Metode ini mengembalikan
GEOSGeometryyaitu sebuah kloningan dari asli.
- GEOSGeometry.distance(geom)Link to this definition
Mengembalikan jarak diantara titik-titik terdekat pada geometri ini dan
geomyang diberikan (obyekGEOSGeometrylain).
- GEOSGeometry.lengthLink to this definition
Mengembalikan panjang dari geometri (misalnya, 0 untuk sebuah
Point, panjang dari sebuahLineString, atau lingkaran dari sebuahPolygon).
- GEOSGeometry.preparedLink to this definition
Mengembalikan
PreparedGeometryGEOS untuk isi dari geometri ini. Obyek-obyekPreparedGeometrydioptimalkan untuk mengandung, bersimpangan, menutupi, bersilangan, menguraikan, tumpang tindih, menyentuh dan dalam tindakan-tindakan. Mengacu pada dokumentasi Prepared Geometry untuk informasi lebih.
- GEOSGeometry.srsLink to this definition
Mengembalikan obyek
SpatialReferenceyang sesuai pada SRID dari geometri atauNone.
- GEOSGeometry.transform(ct, clone=False)Link to this definition
Transforms the geometry according to the given coordinate transformation parameter (
ct), which may be an integer SRID, spatial reference WKT string, a PROJ string, aSpatialReferenceobject, or aCoordTransformobject. By default, the geometry is transformed in-place and nothing is returned. However if theclonekeyword is set, then the geometry is not modified and a transformed clone of the geometry is returned instead.
- GEOSGeometry.make_valid()Link to this definition
-
Returns a valid
GEOSGeometryequivalent, trying not to lose any of the input vertices. If the geometry is already valid, it is returned untouched. This is similar to theMakeValiddatabase function. Requires GEOS 3.8.
- GEOSGeometry.normalize(clone=False)Link to this definition
Converts this geometry to canonical form. If the
clonekeyword is set, then the geometry is not modified and a normalized clone of the geometry is returned instead:>>> g = MultiPoint(Point(0, 0), Point(2, 2), Point(1, 1)) >>> print(g) MULTIPOINT (0 0, 2 2, 1 1) >>> g.normalize() >>> print(g) MULTIPOINT (2 2, 1 1, 0 0)
PointLink to this heading
- class Point(x=None, y=None, z=None, srid=None)Link to this definition
Pointobjects are instantiated using arguments that represent the component coordinates of the point or with a single sequence coordinates. For example, the following are equivalent:>>> pnt = Point(5, 23) >>> pnt = Point([5, 23])Empty
Pointobjects may be instantiated by passing no arguments or an empty sequence. The following are equivalent:>>> pnt = Point() >>> pnt = Point([])
LineStringLink to this heading
- class LineString(*args, **kwargs)Link to this definition
LineStringobjects are instantiated using arguments that are either a sequence of coordinates orPointobjects. For example, the following are equivalent:>>> ls = LineString((0, 0), (1, 1)) >>> ls = LineString(Point(0, 0), Point(1, 1))In addition,
LineStringobjects may also be created by passing in a single sequence of coordinate orPointobjects:>>> ls = LineString(((0, 0), (1, 1))) >>> ls = LineString([Point(0, 0), Point(1, 1)])Empty
LineStringobjects may be instantiated by passing no arguments or an empty sequence. The following are equivalent:>>> ls = LineString() >>> ls = LineString([])- closedLink to this definition
Mengembalikan apakah atau tidak
LineStringini ditutup.
LinearRingLink to this heading
- class LinearRing(*args, **kwargs)Link to this definition
LinearRingobjects are constructed in the exact same way asLineStringobjects, however the coordinates must be closed, in other words, the first coordinates must be the same as the last coordinates. For example:>>> ls = LinearRing((0, 0), (0, 1), (1, 1), (0, 0))Perhatikan bahwa
(0, 0)adalah kordinat pertama dan terakhir -- jika mereka tidak setara, sebuah kesalahan akan dimunculkan.- is_counterclockwiseLink to this definition
Returns whether this
LinearRingis counterclockwise.
PolygonLink to this heading
- class Polygon(*args, **kwargs)Link to this definition
Polygonobjects may be instantiated by passing in parameters that represent the rings of the polygon. The parameters must either beLinearRinginstances, or a sequence that may be used to construct aLinearRing:>>> ext_coords = ((0, 0), (0, 1), (1, 1), (1, 0), (0, 0)) >>> int_coords = ((0.4, 0.4), (0.4, 0.6), (0.6, 0.6), (0.6, 0.4), (0.4, 0.4)) >>> poly = Polygon(ext_coords, int_coords) >>> poly = Polygon(LinearRing(ext_coords), LinearRing(int_coords))- classmethod from_bbox(bbox)Link to this definition
Mengembalikan sebuah obyek poligon dari kotak-dikelilingi diberikan, 4-tuple meliputi
(xmin, ymin, xmax, ymax).
- num_interior_ringsLink to this definition
Mengembalikan sejumlah lingkaran interior di geometri ini.
Kumpulan GeometriLink to this heading
MultiPointLink to this heading
- class MultiPoint(*args, **kwargs)Link to this definition
MultiPointobjects may be instantiated by passing inPointobjects as arguments, or a single sequence ofPointobjects:>>> mp = MultiPoint(Point(0, 0), Point(1, 1)) >>> mp = MultiPoint((Point(0, 0), Point(1, 1)))
MultiLineStringLink to this heading
- class MultiLineString(*args, **kwargs)Link to this definition
MultiLineStringobjects may be instantiated by passing inLineStringobjects as arguments, or a single sequence ofLineStringobjects:>>> ls1 = LineString((0, 0), (1, 1)) >>> ls2 = LineString((2, 2), (3, 3)) >>> mls = MultiLineString(ls1, ls2) >>> mls = MultiLineString([ls1, ls2])- mergedLink to this definition
Mengembalikan sebuah
LineStringmewakili baris menggabungkan semua komponen diMultiLineStringini.
- closedLink to this definition
Returns
Trueif and only if all elements are closed.
MultiPolygonLink to this heading
- class MultiPolygon(*args, **kwargs)Link to this definition
MultiPolygonobjects may be instantiated by passingPolygonobjects as arguments, or a single sequence ofPolygonobjects:>>> p1 = Polygon(((0, 0), (0, 1), (1, 1), (0, 0))) >>> p2 = Polygon(((1, 1), (1, 2), (2, 2), (1, 1))) >>> mp = MultiPolygon(p1, p2) >>> mp = MultiPolygon([p1, p2])
GeometryCollectionLink to this heading
- class GeometryCollection(*args, **kwargs)Link to this definition
GeometryCollectionobjects may be instantiated by passing in otherGEOSGeometryas arguments, or a single sequence ofGEOSGeometryobjects:>>> poly = Polygon(((0, 0), (0, 1), (1, 1), (0, 0))) >>> gc = GeometryCollection(Point(0, 0), MultiPoint(Point(0, 0), Point(1, 1)), poly) >>> gc = GeometryCollection((Point(0, 0), MultiPoint(Point(0, 0), Point(1, 1)), poly))
Prepared GeometryLink to this heading
In order to obtain a prepared geometry, access the
GEOSGeometry.prepared property. Once you have a
PreparedGeometry instance its spatial predicate methods, listed below,
may be used with other GEOSGeometry objects. An operation with a prepared
geometry can be orders of magnitude faster -- the more complex the geometry
that is prepared, the larger the speedup in the operation. For more information,
please consult the GEOS wiki page on prepared geometries.
Sebagai contoh:
>>> from django.contrib.gis.geos import Point, Polygon
>>> poly = Polygon.from_bbox((0, 0, 5, 5))
>>> prep_poly = poly.prepared
>>> prep_poly.contains(Point(2.5, 2.5))
True
PreparedGeometryLink to this heading
- class PreparedGeometryLink to this definition
Semua metode pada
PreparedGeometrymengambil sebuah argumenother, yang harus berupa instanceGEOSGeometry.- contains(other)Link to this definition
- contains_properly(other)Link to this definition
- covers(other)Link to this definition
- crosses(other)Link to this definition
- disjoint(other)Link to this definition
- intersects(other)Link to this definition
- overlaps(other)Link to this definition
- touches(other)Link to this definition
- within(other)Link to this definition
Pabrik GeometriLink to this heading
- fromfile(file_h)Link to this definition
- Parameter:
file_h (a Python
fileobject or a string path to the file) -- masukan berkas yang mengandung data spasial- Jenis Kembalian:
GEOSGeometryberhubungan ke data spasial dalam berkas
Example:
>>> from django.contrib.gis.geos import fromfile >>> g = fromfile("/home/bob/geom.wkt")
- fromstr(string, srid=None)Link to this definition
- Parameter:
- Jenis Kembalian:
GEOSGeometryterkait pada data spasial di deretan karakter
fromstr(string, srid)setara denganGEOSGeometry(string, srid).Example:
>>> from django.contrib.gis.geos import fromstr >>> pnt = fromstr("POINT(-90.5 29.5)", srid=4326)
Obyek I/OLink to this heading
Obyek PembacaLink to this heading
The reader I/O classes return a GEOSGeometry instance from the WKB
and/or WKT input given to their read(geom) method.
- class WKBReaderLink to this definition
Example:
>>> from django.contrib.gis.geos import WKBReader >>> wkb_r = WKBReader() >>> wkb_r.read("0101000000000000000000F03F000000000000F03F") <Point object at 0x103a88910>
- class WKTReaderLink to this definition
Example:
>>> from django.contrib.gis.geos import WKTReader >>> wkt_r = WKTReader() >>> wkt_r.read("POINT(1 1)") <Point object at 0x103a88b50>
Obyek PenulisLink to this heading
Semua penulis obyek-obyek memiliki sebuah metode write(geom) yang mengembalikan salah satu WKB atau WKT dari geometri diberikan. Sebagai tambahan, obyek-obyek WKBWriter juga memiliki sifat yang mungkin digunakan untuk merubah urutan byte, dan atau menyertakan nilai SRID (dengan kata lain, EWKB).
- class WKBWriter(dim=2)Link to this definition
WKBWritermenyediakan kendali kebanyakan terhadap keluarannya. Secara awalan itu mengembalikan WKB sesuai-OGC ketika metodewritenya dipanggil. Bagaimanapun, itu mempunyai sifat yang mengizinkan untuk pembuatan dari EWKB, sebuah superset dari standar WKB yang menyertakan informasi tambahan. Lihat dokumentasiWKBWriter.outdimuntuk lebih rinci tentang argumendim.- write(geom)Link to this definition
Returns the WKB of the given geometry as a Python
bufferobject. Example:>>> from django.contrib.gis.geos import Point, WKBWriter >>> pnt = Point(1, 1) >>> wkb_w = WKBWriter() >>> wkb_w.write(pnt) <read-only buffer for 0x103a898f0, size -1, offset 0 at 0x103a89930>- write_hex(geom)Link to this definition
Returns WKB of the geometry in hexadecimal. Example:
>>> from django.contrib.gis.geos import Point, WKBWriter >>> pnt = Point(1, 1) >>> wkb_w = WKBWriter() >>> wkb_w.write_hex(pnt) '0101000000000000000000F03F000000000000F03F'- byteorderLink to this definition
Milik ini mungkin disetel untuk merubah urutan-byte dari perwakilan geometri.
Nilai Byteorder
Deskripsi
0
Big Endian (misalnya, cocok dengan sistem RISC)
1
Little Endian (misalnya, cocok dengan sistem x86)
Example:
>>> from django.contrib.gis.geos import Point, WKBWriter >>> wkb_w = WKBWriter() >>> pnt = Point(1, 1) >>> wkb_w.write_hex(pnt) '0101000000000000000000F03F000000000000F03F' >>> wkb_w.byteorder = 0 '00000000013FF00000000000003FF0000000000000'- outdimLink to this definition
Sifat ini mungkin disetel untuk merubah dimensi keluaran dari perwakilan geometri. Dengan kata lain, jika anda memiliki geometri 3D kemudian disetel menjadi 3 sehingga nilai Z disertakan dalam WKB.
Nilai Outdim
Deskripsi
2
Awalan, keluaran 2D WKB.
3
Keluaran 3D WKB.
Example:
>>> from django.contrib.gis.geos import Point, WKBWriter >>> wkb_w = WKBWriter() >>> wkb_w.outdim 2 >>> pnt = Point(1, 1, 1) >>> wkb_w.write_hex(pnt) # By default, no Z value included: '0101000000000000000000F03F000000000000F03F' >>> wkb_w.outdim = 3 # Tell writer to include Z values >>> wkb_w.write_hex(pnt) '0101000080000000000000F03F000000000000F03F000000000000F03F'Set this property with a boolean to indicate whether the SRID of the geometry should be included with the WKB representation. Example:
>>> from django.contrib.gis.geos import Point, WKBWriter >>> wkb_w = WKBWriter() >>> pnt = Point(1, 1, srid=4326) >>> wkb_w.write_hex(pnt) # By default, no SRID included: '0101000000000000000000F03F000000000000F03F' >>> wkb_w.srid = True # Tell writer to include SRID >>> wkb_w.write_hex(pnt) '0101000020E6100000000000000000F03F000000000000F03F'
- class WKTWriter(dim=2, trim=False, precision=None)Link to this definition
Kelas ini mengeizinkan pengeluaran perwakilan WKT dari geometri. Lihat atribut
WKBWriter.outdim,trim, danprecisionuntuk rincian tentang argumen pembangun.- write(geom)Link to this definition
Returns the WKT of the given geometry. Example:
>>> from django.contrib.gis.geos import Point, WKTWriter >>> pnt = Point(1, 1) >>> wkt_w = WKTWriter() >>> wkt_w.write(pnt) 'POINT (1.0000000000000000 1.0000000000000000)'- outdimLink to this definition
Lihat
WKBWriter.outdim.
Sifat ini digunakan untuk mengadakan atau meniadakan memangkas dari desimal yang tidak diperlukan.
>>> from django.contrib.gis.geos import Point, WKTWriter >>> pnt = Point(1, 1) >>> wkt_w = WKTWriter() >>> wkt_w.trim False >>> wkt_w.write(pnt) 'POINT (1.0000000000000000 1.0000000000000000)' >>> wkt_w.trim = True >>> wkt_w.write(pnt) 'POINT (1 1)'- precisionLink to this definition
Sifat ini mengendalikan ketelitian pembulatan dari kordinat; jika disetel menjadi
Nonepembulatan adalah ditiadakan.>>> from django.contrib.gis.geos import Point, WKTWriter >>> pnt = Point(1.44, 1.66) >>> wkt_w = WKTWriter() >>> print(wkt_w.precision) None >>> wkt_w.write(pnt) 'POINT (1.4399999999999999 1.6599999999999999)' >>> wkt_w.precision = 0 >>> wkt_w.write(pnt) 'POINT (1 2)' >>> wkt_w.precision = 1 >>> wkt_w.write(pnt) 'POINT (1.4 1.7)'
Catatan kaki
PengaturanLink to this heading
GEOS_LIBRARY_PATHLink to this heading
Sebuah string menentukan tempat dari pustaka C GEOS. Khususnya, pengaturan ini hanya digunakan jika pustaka C GEOS adalah di tempat bukan-standar (misalnya, /home/bob/lib/libgeos_c.so).
Catatan
Pengaturan harus berupa jalur penuh pada pustaka berbagi C; dengan kata lain anda ingin menggunakan libgeos_c.so, bukan libgeos.so.
PengecualianLink to this heading
- exception GEOSExceptionLink to this definition
Pengecualian GEOS dasar, menunjukkan kesalahan terkait-GEOS.