Fungsi geospasial di mesin Athena versi 2 - Amazon Athena

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Fungsi geospasial di mesin Athena versi 2

Topik ini mencantumkan fungsi geospasial ESRI yang didukung mulai di mesin Athena versi 2. Untuk informasi selengkapnya tentang versi mesin Athena, lihat Pembuatan versi mesin Athena.

Perubahan mesin Athena versi 2

Athena mendukung jenis fungsi geospasial berikut:

Fungsi konstruktor

Gunakan fungsi konstruktor untuk mendapatkan representasi biner daripoint,line, ataupolygonJenis data geometri Anda juga dapat menggunakan fungsi-fungsi ini untuk mengkonversi data biner untuk teks, dan mendapatkan nilai-nilai biner untuk data geometri yang dinyatakan sebagai teks terkenal (WKT).

ST_AsBinary(geometry)

Mengembalikan tipe data varbinary yang berisi representasi WKB dari geometri yang ditentukan. Contoh:

SELECT ST_AsBinary(ST_Point(-158.54, 61.56))

ST_AsText(geometry)

Mengkonversi masing-masing yang ditentukanJenis data geometrike teks. Mengembalikan nilai dalam tipe data varchar, yang merupakan representasi WKT dari tipe data geometri. Contoh:

SELECT ST_AsText(ST_Point(-158.54, 61.56))

ST_GeomAsLegacyBinary(geometry)

Mengembalikan varbinary warisan dari geometri tertentu. Contoh:

SELECT ST_GeomAsLegacyBinary(ST_Point(-158.54, 61.56)

ST_GeometryFromText(varchar)

Mengkonversi teks dalam format WKT menjadi tipe data geometri. Mengembalikan nilai dalam tipe data geometri. Contoh:

SELECT ST_GeometryFromText(ST_AsText(ST_Point(1, 2)))

ST_GeomFromBinary(varbinary)

Mengembalikan jenis objek geometri dari representasi WKB. Contoh:

SELECT ST_GeomFromBinary(ST_AsBinary(ST_Point(-158.54, 61.56)))

ST_GeomFromLegacyBinary(varbinary)

Mengembalikan jenis objek geometri dari jenis varbinary warisan. Contoh:

SELECT ST_GeomFromLegacyBinary(ST_GeomAsLegacyBinary(ST_Point(-158.54, 61.56)))

ST_LineFromText(varchar)

Mengembalikan nilai dalamJenis data geometri line. Contoh:

SELECT ST_Line('linestring(1 1, 2 2, 3 3)')

ST_LineString(array(point))

PengembalianLineStringjenis geometri yang terbentuk dari larik jenis titik geometri. Jika ada kurang dari dua titik tidak kosong dalam larik yang ditentukan, kosongLineStringdikembalikan. Melempar pengecualian jika ada elemen dalam larik adalah nol, kosong, atau sama dengan yang sebelumnya. Geometri yang dikembalikan mungkin tidak sederhana. Tergantung pada input specfied, geometri kembali dapat diri berpotongan atau mengandung duplikat vertexes. Contoh:

SELECT ST_LineString(ARRAY[ST_Point(-158.54, 61.56), ST_Point(-158.55, 61.56)])

ST_MultiPoint(array(point))

PengembalianMultiPointobjek geometri terbentuk dari titik-titik tertentu. Mengembalikan null jika larik yang ditentukan kosong. Melempar pengecualian jika ada elemen dalam larik adalah nol atau kosong. Geometri kembali mungkin tidak sederhana dan dapat berisi duplikat poin jika larik yang ditentukan memiliki duplikat. Contoh:

SELECT ST_MultiPoint(ARRAY[ST_Point(-158.54, 61.56), ST_Point(-158.55, 61.56)])

ST_Point(double, double)

Mengembalikan jenis geometripointobjek. Untuk nilai input data ke fungsi ini, gunakan nilai geometrik, seperti nilai dalam sistem koordinat Cartesian Universal Transverse Mercator (UTM), atau unit peta geografis (bujur dan lintang) dalam derajat desimal. Nilai bujur dan lintang menggunakan Sistem Geodetik Dunia, juga dikenal sebagai WGS 1984, atau EPSG:4326. WGS 1984 adalah sistem koordinat yang digunakan oleh Global Positioning System (GPS).

Sebagai contoh, dalam notasi berikut, koordinat peta ditentukan dalam bujur dan lintang, dan nilai.072284, yang merupakan jarak buffer, ditentukan dalam unit sudut sebagai derajat desimal:

SELECT ST_Buffer(ST_Point(-74.006801, 40.705220), .072284)

Sintaks:

SELECT ST_Point(longitude, latitude) FROM earthquakes LIMIT 1

Contoh berikut menggunakan koordinat bujur dan lintang tertentu:

SELECT ST_Point(-158.54, 61.56) FROM earthquakes LIMIT 1

Contoh berikutnya menggunakan koordinat bujur dan lintang tertentu:

SELECT ST_Point(-74.006801, 40.705220)

Contoh berikut menggunakanST_AsTextfungsi untuk mendapatkan geometri dari WKT:

SELECT ST_AsText(ST_Point(-74.006801, 40.705220)) AS WKT

ST_Polygon(varchar)

Menggunakan urutan ordinat yang disediakan searah jarum jam, kiri ke kanan, mengembalikanJenis data geometri polygon. Mulai dari mesin Athena versi 2, hanya poligon yang diterima sebagai input. Contoh:

SELECT ST_Polygon('polygon ((1 1, 1 4, 4 4, 4 1))')

to_geometry(sphericalGeography)

Mengembalikan objek geometri dari objek geografi bola yang ditentukan. Contoh:

SELECT to_geometry(to_spherical_geography(ST_Point(-158.54, 61.56)))

to_spherical_geography(geometry)

Mengembalikan objek geografi bola dari geometri yang ditentukan. Gunakan fungsi ini untuk mengubah objek geometri menjadi objek geografi bola pada bola jari-jari bumi. Fungsi ini hanya dapat digunakan padaPOINT,MULTIPOINT,LINESTRING,MULTILINESTRING,POLYGON, danMULTIPOLYGONgeometri didefinisikan dalam ruang 2D atauGEOMETRYCOLLECTIONgeometri seperti itu. Untuk setiap titik geometri yang ditentukan, fungsi memverifikasi bahwapoint.xberada di dalam[-180.0, 180.0]danpoint.yberada di dalam[-90.0, 90.0]. Fungsi ini menggunakan titik-titik ini sebagai derajat bujur dan lintang untuk membangun bentuksphericalGeographyhasil.

Contoh:

SELECT to_spherical_geography(ST_Point(-158.54, 61.56))

Fungsi hubungan geospasial

Fungsi-fungsi berikut mengungkapkan hubungan antara dua geometri yang berbeda yang Anda tentukan sebagai masukan dan hasil kembali dari jenisboolean. Urutan tempat Anda menentukan sepasang geometri penting: nilai geometri pertama disebut geometri kiri, nilai geometri kedua disebut geometri kanan.

Fungsi ini kembali:

  • TRUEjika dan hanya jika hubungan yang dijelaskan oleh fungsi puas.

  • FALSEjika dan hanya jika hubungan yang dijelaskan oleh fungsi tidak puas.

ST_Contains(geometry, geometry)

PengembalianTRUEjika dan hanya jika geometri kiri berisi geometri yang tepat. Contoh:

SELECT ST_Contains('POLYGON((0 2,1 1,0 -1,0 2))', 'POLYGON((-1 3,2 1,0 -3,-1 3))')
SELECT ST_Contains('POLYGON((0 2,1 1,0 -1,0 2))', ST_Point(0, 0))
SELECT ST_Contains(ST_GeometryFromText('POLYGON((0 2,1 1,0 -1,0 2))'), ST_GeometryFromText('POLYGON((-1 3,2 1,0 -3,-1 3))'))

ST_Crosses(geometry, geometry)

PengembalianTRUEjika dan hanya jika geometri kiri melintasi geometri yang tepat. Contoh:

SELECT ST_Crosses(ST_Line('linestring(1 1, 2 2 )'), ST_Line('linestring(0 1, 2 2)'))

ST_Disjoint(geometry, geometry)

PengembalianTRUEjika dan hanya jika persimpangan geometri kiri dan geometri kanan kosong. Contoh:

SELECT ST_Disjoint(ST_Line('linestring(0 0, 0 1)'), ST_Line('linestring(1 1, 1 0)'))

ST_Equals(geometry, geometry)

PengembalianTRUEjika dan hanya jika geometri kiri sama dengan geometri yang tepat. Contoh:

SELECT ST_Equals(ST_Line('linestring( 0 0, 1 1)'), ST_Line('linestring(1 3, 2 2)'))

ST_Intersects(geometry, geometry)

PengembalianTRUEjika dan hanya jika geometri kiri memotong geometri yang tepat. Contoh:

SELECT ST_Intersects(ST_Line('linestring(8 7, 7 8)'), ST_Polygon('polygon((1 1, 4 1, 4 4, 1 4))'))

ST_Overlaps(geometry, geometry)

PengembalianTRUEjika dan hanya jika geometri kiri tumpang tindih geometri yang tepat. Contoh:

SELECT ST_Overlaps(ST_Polygon('polygon((2 0, 2 1, 3 1))'), ST_Polygon('polygon((1 1, 1 4, 4 4, 4 1))'))

ST_Relate(geometry, geometry, varchar)

PengembalianTRUEjika dan hanya jika geometri kiri memiliki dimensi diperpanjang model sembilan persimpangan yang ditentukan (DE-9IM) hubungan dengan geometri yang betul. Yang ketiga (varchar) masukan mengambil hubungan. Contoh:

SELECT ST_Relate(ST_Line('linestring(0 0, 3 3)'), ST_Line('linestring(1 1, 4 4)'), 'T********')

ST_Touches(geometry, geometry)

PengembalianTRUEjika dan hanya jika geometri kiri menyentuh geometri yang betul.

Contoh:

SELECT ST_Touches(ST_Point(8, 8), ST_Polygon('polygon((1 1, 1 4, 4 4, 4 1))'))

ST_Within(geometry, geometry)

PengembalianTRUEjika dan hanya jika geometri kiri berada dalam geometri yang tepat.

Contoh:

SELECT ST_Within(ST_Point(8, 8), ST_Polygon('polygon((1 1, 1 4, 4 4, 4 1))'))

Fungsi operasi

Gunakan fungsi operasi untuk melakukan operasi pada nilai-nilai tipe data geometri. Misalnya, Anda dapat memperoleh batas-batas tipe data geometri tunggal; persimpangan antara dua jenis data geometri; perbedaan antara geometri kiri dan kanan, tempat masing-masing adalah dari jenis data geometri yang sama; atau buffer eksterior atau cincin di sekitar tipe data geometri tertentu.

geometry_union(array(geometry))

Mengembalikan geometri yang mewakili titik set keunit geometri yang ditentukan. Contoh:

SELECT geometry_union(ARRAY[ST_Point(-158.54, 61.56), ST_Point(-158.55, 61.56)])

ST_Boundary(geometry)

Membawa sebagai masukan salah satu tipe data geometri dan mengembalikanboundaryJenis data geometri

Contoh:

SELECT ST_Boundary(ST_Line('linestring(0 1, 1 0)')))
SELECT ST_Boundary(ST_Polygon('polygon((1 1, 1 4, 4 4, 4 1))'))

ST_Buffer(geometry, double)

Membawa sebagai masukan salah satu tipe data geometri, seperti titik, garis, poligon, multiline, atau multipoligon, dan jarak sebagai tipedouble). Mengembalikan tipe data geometri buffered oleh jarak yang ditentukan (atau radius). Contoh:

SELECT ST_Buffer(ST_Point(1, 2), 2.0)

Pada contoh berikut, koordinat peta ditentukan dalam bujur dan lintang, dan nilai.072284, yang merupakan jarak buffer, ditentukan dalam unit sudut sebagai derajat desimal:

SELECT ST_Buffer(ST_Point(-74.006801, 40.705220), .072284)

ST_Difference(geometry, geometry)

Mengembalikan geometri perbedaan antara geometri kiri dan geometri kanan. Contoh:

SELECT ST_AsText(ST_Difference(ST_Polygon('polygon((0 0, 0 10, 10 10, 10 0))'), ST_Polygon('polygon((0 0, 0 5, 5 5, 5 0))')))

ST_Envelope(geometry)

Membawa sebagai masukanline,polygon,multiline, danmultipolygonJenis data geometri Tidak mendukungpointJenis data geometri Mengembalikan amplop sebagai geometri, tempat amplop adalah persegi panjang di sekitar geometri tipe data yang ditentukan. Contoh:

SELECT ST_Envelope(ST_Line('linestring(0 1, 1 0)'))
SELECT ST_Envelope(ST_Polygon('polygon((1 1, 1 4, 4 4, 4 1))'))

ST_EnvelopeAsPts(geometry)

Mengembalikan larik dari dua titik yang mewakili sudut kiri bawah dan kanan atas dari sebuah geometri melompat-lompat poligon persegi panjang. Mengembalikan null jika geometri yang ditentukan kosong. Contoh:

SELECT ST_EnvelopeAsPts(ST_Point(-158.54, 61.56))

ST_ExteriorRing(geometry)

Mengembalikan geometri cincin eksterior dari jenis inputpolygon. Mulai dari mesin Athena versi 2, poligon adalah satu-satunya geometri yang diterima sebagai input. Contoh:

SELECT ST_ExteriorRing(ST_Polygon(1,1, 1,4, 4,1))
SELECT ST_ExteriorRing(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0), (1 1, 1 5, 5 1, 1 1))'))

ST_Intersection(geometry, geometry)

Mengembalikan geometri persimpangan geometri kiri dan geometri kanan. Contoh:

SELECT ST_Intersection(ST_Point(1,1), ST_Point(1,1))
SELECT ST_Intersection(ST_Line('linestring(0 1, 1 0)'), ST_Polygon('polygon((1 1, 1 4, 4 4, 4 1))'))
SELECT ST_AsText(ST_Intersection(ST_Polygon('polygon((2 0, 2 3, 3 0))'), ST_Polygon('polygon((1 1, 4 1, 4 4, 1 4))')))

ST_SymDifference(geometry, geometry)

Mengembalikan geometri perbedaan geometris simetris antara geometri kiri dan geometri yang tepat. Contoh:

SELECT ST_AsText(ST_SymDifference(ST_Line('linestring(0 2, 2 2)'), ST_Line('linestring(1 2, 3 2)')))

ST_Union(geometry, geometry)

Mengembalikan tipe data geometri yang mewakili titik set keunit geometri yang ditentukan. Contoh:

SELECT ST_Union(ST_Point(-158.54, 61.56),ST_LineString(array[ST_Point(1,2), ST_Point(3,4)]))

Fungsi Accessor

fungsi accessor berguna untuk mendapatkan nilai-nilai dalam jenisvarchar,bigint, ataudoubledari yang berbedageometryJenis data, tempatgeometryadalah salah satu tipe data geometri didukung di Athena:point,line,polygon,multiline, danmultipolygon. Misalnya, Anda dapat memperoleh areapolygontipe data geometri, maksimum dan minimum X dan Y nilai untuk tipe data geometri tertentu, mendapatkan panjangline, atau menerima jumlah poin dalam tipe data geometri tertentu.

geometry_invalid_reason(geometry)

Pengembalian, dalam tipe data varchar, alasan mengapa geometri yang ditentukan tidak valid atau tidak sederhana. Jika geometri yang ditentukan tidak valid atau sederhana, mengembalikan alasan mengapa tidak valid. Jika geometri yang ditentukan adalah valid dan sederhana, mengembalikan null. Contoh:

SELECT geometry_invalid_reason(ST_Point(-158.54, 61.56))

great_circle_distance(latitude1, longitude1, latitude2, longitude2)

Pengembalian, sebagai ganda, jarak lingkaran besar antara dua titik di permukaan bumi dalam kilometer. Contoh:

SELECT great_circle_distance(36.12, -86.67, 33.94, -118.40)

line_locate_point(lineString, point)

Mengembalikan ganda antara 0 dan 1 yang mewakili lokasi titik terdekat pada baris string yang ditentukan ke titik yang ditentukan sebagai fraksi dari total panjang garis 2d.

Mengembalikan null jika garis tertentu string atau titik kosong atau null. Contoh:

SELECT line_locate_point(ST_GeometryFromText('LINESTRING (0 0, 0 1)'), ST_Point(0, 0.2))

simplify_geometry(geometry, double)

MenggunakanRamer-douglas-peuckeralgoritmauntuk mengembalikan tipe data geometri yang merupakan versi sederhana dari geometri yang ditentukan. Menghindari menciptakan geometri yang berasal (khususnya, poligon) yang tidak valid. Contoh:

SELECT simplify_geometry(ST_GeometryFromText('POLYGON ((1 0, 2 1, 3 1, 3 1, 4 1, 1 0))'), 1.5)

ST_Area(geometry)

Membawa sebagai masukan tipe data geometri dan mengembalikan area dalam tipedouble. Contoh:

SELECT ST_Area(ST_Polygon('polygon((1 1, 4 1, 4 4, 1 4))'))

ST_Centroid(geometry)

Membawa sebagai masukanJenis data geometri polygon, dan mengembalikanpointtipe data geometri yang merupakan pusat amplop poligon ini. Contoh:

SELECT ST_Centroid(ST_GeometryFromText('polygon ((0 0, 3 6, 6 0, 0 0))'))
SELECT ST_AsText(ST_Centroid(ST_Envelope(ST_GeometryFromText('POINT (53 27)'))))

ST_ConvexHull(geometry)

Mengembalikan tipe data geometri yang merupakan geometri cembung terkecil yang membungkus semua geometri dalam input tertentu. Contoh:

SELECT ST_ConvexHull(ST_Point(-158.54, 61.56))

ST_CoordDim(geometry)

Membawa sebagai masukan salah satu yang didukungJenis data geometri, dan mengembalikan jumlah komponen koordinat dalam jenistinyint. Contoh:

SELECT ST_CoordDim(ST_Point(1.5,2.5))

ST_Dimension(geometry)

Membawa sebagai masukan salah satu yang didukungJenis data geometri, dan mengembalikan dimensi spasial geometri dalam jenistinyint. Contoh:

SELECT ST_Dimension(ST_Polygon('polygon((1 1, 4 1, 4 4, 1 4))'))

ST_Distance(geometry, geometry)

Pengembalian, berdasarkan ref spasial, ganda yang berisi dua dimensi minimum jarak Cartesian antara dua geometri di unit diproyeksikan. Mulai di Athena mesin versi 2, mengembalikan null jika salah satu input adalah geometri kosong. Contoh:

SELECT ST_Distance(ST_Point(0.0,0.0), ST_Point(3.0,4.0))

ST_Distance(sphericalGeography, sphericalGeography)

Pengembalian, sebagai ganda, jarak lingkaran besar antara dua titik geografi bola dalam meter. Contoh:

SELECT ST_Distance(to_spherical_geography(ST_Point(61.56, -86.67)),to_spherical_geography(ST_Point(61.56, -86.68)))

ST_EndPoint(geometry)

Mengembalikan titik terakhir darilinetipe data geometri dalampointJenis data geometri Contoh:

SELECT ST_EndPoint(ST_Line('linestring(0 2, 2 2)'))

ST_Geometries(geometry)

Mengembalikan larik geometri dalam koleksi tertentu. Jika geometri yang ditentukan bukan multi-geometri, mengembalikan larik satu elemen. Jika geometri yang ditentukan kosong, mengembalikan null.

Sebagai contoh, diberikanMultiLineStringobjek,ST_Geometriesmenciptakan sebuah arrayLineStringobjek. DiberikanGeometryCollectionobjek,ST_Geometriesmengembalikan larik un-rata dari konstituennya. Contoh:

SELECT ST_Geometries(GEOMETRYCOLLECTION(MULTIPOINT(0 0, 1 1), GEOMETRYCOLLECTION(MULTILINESTRING((2 2, 3 3)))))

Hasil:

array[MULTIPOINT(0 0, 1 1),GEOMETRYCOLLECTION(MULTILINESTRING((2 2, 3 3)))]

ST_GeometryN(geometry, index)

Pengembalian, sebagai tipe data geometri, elemen geometri pada indeks integer tertentu. Indeks mulai dari 1. Jika geometri yang ditentukan adalah kumpulan geometri (misalnya,GEOMETRYCOLLECTIONatauMULTI*objek), mengembalikan geometri pada indeks tertentu. Jika indeks tertentu kurang dari 1 atau lebih besar dari jumlah elemen dalam koleksi, mengembalikan null. Untuk menemukan jumlah elemen, gunakanST_NumGeometries. Geometri tunggal (misalnya,POINT,LINESTRING, atauPOLYGON), diperlakukan sebagai koleksi satu elemen. geometri kosong diperlakukan sebagai koleksi kosong. Contoh:

SELECT ST_GeometryN(ST_Point(-158.54, 61.56),1)

ST_GeometryType(geometry)

Pengembalian, sebagai varchar, jenis geometri. Contoh:

SELECT ST_GeometryType(ST_Point(-158.54, 61.56))

ST_InteriorRingN(geometry, index)

Mengembalikan elemen cincin interior pada indeks tertentu (indeks mulai dari 1). Jika indeks yang diberikan kurang dari 1 atau lebih besar dari jumlah total cincin interior dalam geometri tertentu, mengembalikan null. Melempar kesalahan jika geometri yang ditentukan bukan poligon. Untuk menemukan jumlah elemen, gunakanST_NumInteriorRing. Contoh:

SELECT ST_InteriorRingN(st_polygon('polygon ((0 0, 1 0, 1 1, 0 1, 0 0))'),1)

ST_InteriorRings(geometry)

Mengembalikan larik geometri dari semua cincin interior ditemukan dalam geometri tertentu, atau larik kosong jika poligon tidak memiliki cincin interior. Jika geometri yang ditentukan kosong, mengembalikan null. Jika geometri yang ditentukan bukan poligon, melempar kesalahan. Contoh:

SELECT ST_InteriorRings(st_polygon('polygon ((0 0, 1 0, 1 1, 0 1, 0 0))'))

ST_IsClosed(geometry)

Dibutuhkan sebagai masukan sajalinedanmultiline Jenis data geometri. PengembalianTRUE(jenisboolean) jika dan hanya jika garis ditutup. Contoh:

SELECT ST_IsClosed(ST_Line('linestring(0 2, 2 2)'))

ST_IsEmpty(geometry)

Dibutuhkan sebagai masukan sajalinedanmultiline Jenis data geometri. PengembalianTRUE(jenisboolean) jika dan hanya jika geometri tertentu kosong, dengan kata lain, ketikalineNilai mulai dan berakhir bertepatan. Contoh:

SELECT ST_IsEmpty(ST_Point(1.5, 2.5))

ST_IsRing(geometry)

PengembalianTRUE(jenisboolean) jika dan hanya jikalineditutup dan sederhana. Contoh:

SELECT ST_IsRing(ST_Line('linestring(0 2, 2 2)'))

ST_IsSimple(geometry)

Mengembalikan nilai true jika geometri yang ditentukan tidak memiliki titik geometris anomali (misalnya, persimpangan diri atau tangency diri). Untuk menentukan mengapa geometri tidak mudah, gunakangeometry_invalid_reason(). Contoh:

SELECT ST_IsSimple(ST_LineString(array[ST_Point(1,2), ST_Point(3,4)]))

ST_IsValid(geometry)

Mengembalikan nilai true jika dan hanya jika geometri yang ditentukan terbentuk dengan baik. Untuk menentukan mengapa geometri tidak terbentuk dengan baik, gunakangeometry_invalid_reason(). Contoh:

SELECT ST_IsValid(ST_Point(61.56, -86.68))

ST_Length(geometry)

Mengembalikan panjanglineJenisdouble. Contoh:

SELECT ST_Length(ST_Line('linestring(0 2, 2 2)'))

ST_NumGeometries(geometry)

Pengembalian, sebagai integer, jumlah geometri dalam koleksi. Jika geometri adalah kumpulan geometri (misalnya,GEOMETRYCOLLECTIONatauMULTI*objek), mengembalikan jumlah geometri. geometri tunggal kembali 1; geometri kosong kembali 0. Geometri kosong dalamGEOMETRYCOLLECTIONobjek dianggap sebagai salah satu geometri. Sebagai contoh, yang berikut bernilai SALAH:

ST_NumGeometries(ST_GeometryFromText('GEOMETRYCOLLECTION(MULTIPOINT EMPTY)'))

ST_NumInteriorRing(geometry)

Mengembalikan jumlah cincin interior dipolygongeometri dalam jenisbigint. Contoh:

SELECT ST_NumInteriorRing(ST_Polygon('polygon ((0 0, 8 0, 0 8, 0 0), (1 1, 1 5, 5 1, 1 1))'))

ST_NumPoints(geometry)

Mengembalikan jumlah poin dalam geometri dalam tipebigint. Contoh:

SELECT ST_NumPoints(ST_Point(1.5, 2.5))

ST_PointN(lineString, index)

Pengembalian, sebagai titik geometri tipe data, titik dari baris string yang ditentukan pada indeks integer yang ditentukan. Indeks mulai dari 1. Jika indeks yang diberikan kurang dari 1 atau lebih besar dari jumlah elemen dalam koleksi, mengembalikan null. Untuk menemukan jumlah elemen, gunakanST_NumPoints. Contoh:

SELECT ST_PointN(ST_LineString(array[ST_Point(1,2), ST_Point(3,4)]),1)

ST_Points(geometry)

Mengembalikan larik poin dari baris yang ditentukan objek geometri string. Contoh:

SELECT ST_Points(ST_LineString(array[ST_Point(1,2), ST_Point(3,4)]))

ST_StartPoint(geometry)

Mengembalikan titik pertama darilinetipe data geometri dalampointJenis data geometri Contoh:

SELECT ST_StartPoint(ST_Line('linestring(0 2, 2 2)'))

ST_X(point)

Mengembalikan koordinat X dari titik dalam tipedouble. Contoh:

SELECT ST_X(ST_Point(1.5, 2.5))

ST_XMax(geometry)

Mengembalikan X koordinat maksimum geometri dalam tipedouble. Contoh:

SELECT ST_XMax(ST_Line('linestring(0 2, 2 2)'))

ST_XMin(geometry)

Mengembalikan minimal X koordinat geometri dalam tipedouble. Contoh:

SELECT ST_XMin(ST_Line('linestring(0 2, 2 2)'))

ST_Y(point)

Mengembalikan koordinat Y dari titik dalam tipedouble. Contoh:

SELECT ST_Y(ST_Point(1.5, 2.5))

ST_YMax(geometry)

Mengembalikan Y koordinat maksimum geometri dalam tipedouble. Contoh:

SELECT ST_YMax(ST_Line('linestring(0 2, 2 2)'))

ST_YMin(geometry)

Mengembalikan Y koordinat minimum geometri dalam tipedouble. Contoh:

SELECT ST_YMin(ST_Line('linestring(0 2, 2 2)'))

Fungsi agregasi

convex_hull_agg(geometry)

Mengembalikan geometri cembung minimum yang membungkus semua geometri berlalu sebagai masukan.

geometry_union_agg(geometry)

Mengembalikan geometri yang mewakili titik set keunit semua geometri berlalu sebagai masukan.

Fungsi ubin Bing

Fungsi-fungsi berikut mengkonversi antara geometri dan ubin di MicrosoftBing peta sistem ubin.

bing_tile(x, y, zoom_level)

Mengembalikan sebuah objek ubin Bing dari koordinat integerxdanydan level zoom yang ditentukan. Level zoom harus integer dari 1 sampai 23. Contoh:

SELECT bing_tile(10, 20, 12)

bing_tile(quadKey)

Mengembalikan sebuah objek ubin Bing dari quadkey. Contoh:

SELECT bing_tile(bing_tile_quadkey(bing_tile(10, 20, 12)))

bing_tile_at(latitude, longitude, zoom_level)

Mengembalikan sebuah objek ubin Bing di lintang, bujur, dan level zoom yang ditentukan. Garis lintang harus antara -85.05112878 dan 85.05112878. Garis bujur harus antara -180 dan 180. Parameterlatitudedanlongitudenilai harusdoubledanzoom_levelinteger. Contoh:

SELECT bing_tile_at(37.431944, -122.166111, 12)

bing_tiles_around(latitude, longitude, zoom_level)

Mengembalikan larik ubin Bing yang mengelilingi titik lintang dan bujur yang ditentukan pada level zoom yang ditentukan. Contoh:

SELECT bing_tiles_around(47.265511, -122.465691, 14)

bing_tiles_around(latitude, longitude, zoom_level, radius_in_km)

Pengembalian, pada level zoom yang ditentukan, larik ubin Bing. Larik berisi set minimum ubin Bing yang mencakup lingkaran radius yang ditentukan dalam kilometer di sekitar garis lintang dan bujur yang ditentukan. Parameterlatitude,longitude, danradius_in_kmNilai yangdouble; level zoom adalahinteger. Contoh:

SELECT bing_tiles_around(37.8475, 112.596667, 10, .5)

bing_tile_coordinates(tile)

Pengembalianxdanykoordinat ubin Bing yang ditentukan. Contoh:

SELECT bing_tile_coordinates(bing_tile_at(37.431944, -122.166111, 12))

bing_tile_polygon(tile)

Mengembalikan representasi poligon dari ubin Bing yang ditentukan. Contoh:

SELECT bing_tile_polygon(bing_tile_at(47.265511, -122.465691, 4))

bing_tile_quadkey(tile)

Mengembalikan quadkey dari ubin Bing yang ditentukan. Contoh:

SELECT bing_tile_quadkey(bing_tile(52, 143, 10))

bing_tile_zoom_level(tile)

Mengembalikan level zoom dari ubin Bing ditentukan sebagai integer. Contoh:

SELECT bing_tile_zoom_level(bing_tile(52, 143, 10))

geometry_to_bing_tiles(geometry, zoom_level)

Mengembalikan set minimum ubin Bing yang sepenuhnya mencakup geometri yang ditentukan pada level zoom yang ditentukan. Level zoom dari 1 hingga 23 didukung. Contoh:

SELECT geometry_to_bing_tiles(ST_Point(61.56, 58.54), 10)