Topik ini menjelaskan fungsi pengukuran yang didukung oleh Lindorm GanosBase.
Mesin dan versi yang berlaku
Fungsi pengukuran yang dijelaskan dalam topik ini hanya berlaku untuk LindormTable.
Fungsi agregat yang dijelaskan dalam topik ini didukung oleh LindormTable versi 2.6.5 dan versi-versi selanjutnya. Untuk informasi lebih lanjut tentang cara melihat atau meningkatkan versi LindormTable, lihat Catatan Rilis LindormTable dan Tingkatkan Versi Mesin Minor dari Instance Lindorm.
Versi SQL Lindorm harus 2.6.8 atau lebih baru. Untuk informasi lebih lanjut tentang cara melihat versi SQL Lindorm, lihat Versi SQL.
Fungsi
Tabel berikut menjelaskan fungsi pengukuran yang didukung oleh Lindorm GanosBase.
Fungsi | Deskripsi |
Menghitung area objek poligon yang ditentukan. | |
Menghitung jarak Euclidean 2D antara dua objek geometri yang ditentukan. | |
Menghitung jarak sferis minimum antara dua objek geometri yang ditentukan. Jarak yang dikembalikan diukur dalam meter. | |
Memeriksa apakah objek geometri valid. | |
Menghitung panjang 2D objek geometri yang ditentukan. | |
Menghitung panjang sferis objek geometri yang ditentukan. |
ST_Area
Fungsi ST_Area menghitung area objek poligon yang ditentukan.
Sintaksis
double ST_Area(geometry g)Parameter
Parameter | Deskripsi |
g | Objek geometri. |
Anda dapat menentukan objek geometri dengan tipe-tipe berikut: Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, dan GeometryCollection.
Jika Anda menentukan objek geometri, fungsi ini mengembalikan area Cartesian 2D dari objek geometri dalam satuan yang ditentukan oleh sistem referensi spasial objek geometri tersebut. Lindorm GanosBase SQL menggunakan sistem referensi spasial dengan SRID 4326. Dalam sistem ini, jarak diukur dalam derajat.
Jika titik-titik objek poligon yang ditentukan mencakup beberapa gambar tertutup, fungsi ini menghitung perbedaan antara area gambar tertutup yang dibentuk oleh titik-titik searah jarum jam dan berlawanan arah jarum jam, dan mengembalikan nilai absolut dari perbedaan tersebut.
Jika Anda tidak menentukan objek poligon, nilai 0 dikembalikan.
Contoh
Contoh 1: Hitung area objek poligon.
SELECT ST_Area(ST_GeomFromText('POLYGON((2 2, 2 8, 8 8, 8 2, 2 2))')) AS area;Hasil berikut dikembalikan:
+------+ | area | +------+ | 36.0 | +------+Contoh 2: Hitung area objek LineString.
SELECT ST_Area(ST_GeomFromText('LINESTRING(1 3,5 6)')) AS area;Hasil berikut dikembalikan:
+------+ | area | +------+ | 0.0 | +------+
ST_Distance
Fungsi ST_Distance menghitung jarak Euclidean 2D antara dua objek geometri yang ditentukan. Jarak yang dikembalikan diukur dalam derajat.
Sintaksis
double ST_Distance(geometry geomA, geometry geomB)Parameter
Parameter | Deskripsi |
geomA | Objek geometri pertama. |
geomB | Objek geometri kedua. |
Anda dapat menentukan objek geometri dengan tipe-tipe berikut: Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, dan GeometryCollection.
Jika salah satu objek geometri kosong, nilai 0 dikembalikan.
Contoh
Contoh 1
SELECT ST_Distance(ST_GeomFromText('POINT(-72.1235 42.3521)'),ST_GeomFromText('LINESTRING(-72.1260 42.45, -72.123 42.1546)')) AS d;Hasil berikut dikembalikan:
+-----------------------+ | d | +-----------------------+ | 0.0015056772638228177 | +-----------------------+Contoh 2
SELECT ST_Distance(ST_GeomFromText('POINT(-72.1235 42.3521)'),ST_GeomFromText('LINESTRING EMPTY')) AS d;Hasil berikut dikembalikan:
+---+ | d | +---+ |0.0| +---+
ST_DistanceSphere
Fungsi ST_DistanceSphere menghitung jarak sferis minimum antara dua objek geometri yang ditentukan. Jarak yang dikembalikan diukur dalam meter.
Sintaksis
double ST_DistanceSphere(geometry geomA, geometry geomB)Parameter
Parameter | Deskripsi |
geomA | Objek geometri pertama. |
geomB | Objek geometri kedua. |
Anda dapat menentukan objek geometri dengan tipe-tipe berikut: Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, dan GeometryCollection.
Jika salah satu objek geometri kosong, nilai 0 dikembalikan.
Jika salah satu objek geometri yang ditentukan adalah objek poligon atau LineString, hasil mungkin memiliki kesalahan sentimeter.
Contoh
Contoh 1
SELECT ST_DistanceSphere(ST_GeomFromText('POINT(-72.1235 42.3521)'),ST_GeomFromText('LINESTRING(-72.1260 42.45, -72.123 42.1546)')) AS d;Hasil berikut dikembalikan:
+--------------------+ | d | +--------------------+ | 124.53287523764577 | +--------------------+Contoh 2
SELECT ST_DistanceSphere(ST_GeomFromText('POINT(-72.1235 42.3521)'),ST_GeomFromText('LINESTRING EMPTY')) AS d;Hasil berikut dikembalikan:
+---+ | d | +---+ |0.0| +---+
ST_IsValid
Fungsi ST_IsValid memeriksa apakah objek geometri valid. Objek geometri yang tidak valid termasuk poligon yang saling berpotongan sendiri, objek MultiPolygon yang mencakup poligon yang tumpang tindih, dan objek lain yang tidak sesuai dengan definisi mereka.
Sintaksis
boolean ST_IsValid(geometry g)Parameter
Parameter | Deskripsi |
g | Objek geometri. |
Contoh
Periksa apakah objek geometri dengan ID 110000 valid.
SELECT ST_IsValid(geom) FROM mapdata WHERE id=110000;Hasil berikut dikembalikan:
+------------------+
| st_isvalid(geom) |
+------------------+
| true |
+------------------+Hasil yang dikembalikan adalah true, yang menunjukkan bahwa objek geometri dengan ID 110000 valid. Jika false dikembalikan, objek geometri dengan ID 110000 tidak valid.
ST_Length
Fungsi ST_Length menghitung panjang 2D objek geometri yang ditentukan. Panjang yang dikembalikan diukur dalam derajat.
Sintaksis
double ST_Length(geometry g)Parameter
Parameter | Deskripsi |
g | Objek geometri. |
Jika objek geometri yang ditentukan adalah objek LineString, panjang 2D objek dalam sistem koordinat Cartesian dikembalikan.
Jika objek geometri yang ditentukan adalah objek poligon, nilai 0 dikembalikan.
Contoh
Contoh 1
SELECT ST_Length(ST_GeomFromText('LINESTRING(1 3,5 6)')) AS length;Hasil berikut dikembalikan:
+--------+ | length | +--------+ | 5.0 | +--------+Contoh 2
SELECT ST_Length(ST_GeomFromText('POLYGON((2 2, 2 8, 8 8, 8 2, 2 2))')) AS length;Hasil berikut dikembalikan:
+--------+ | length | +--------+ | 0.0 | +--------+
ST_LengthSphere
Fungsi ST_LengthSphere menghitung panjang sferis objek geometri yang ditentukan. Panjang yang dikembalikan diukur dalam meter.
Sintaksis
double ST_LengthSphere(geometry g)Parameter
Parameter | Deskripsi |
g | Objek geometri. |
Jika objek geometri yang ditentukan adalah objek LineString, panjang sferis objek tersebut dikembalikan.
Jika objek geometri yang ditentukan adalah objek poligon, nilai 0 dikembalikan.
Contoh
Contoh 1
SELECT ST_LengthSphere(ST_GeomFromText('LINESTRING(1 3,5 6)')) AS length;Hasil berikut dikembalikan:
+------------------+ | length | +------------------+ | 554137.283806292 | +------------------+Contoh 2
SELECT ST_LengthSphere(ST_GeomFromText('POLYGON((2 2, 2 8, 8 8, 8 2, 2 2))')) AS length;Hasil berikut dikembalikan:
+--------+ | length | +--------+ | 0.0 | +--------+