全部产品
Search
文档中心

Lindorm:Fungsi pengukuran

更新时间:Jul 02, 2025

Topik ini menjelaskan fungsi pengukuran yang didukung oleh Lindorm GanosBase.

Mesin dan versi yang berlaku

Penting

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

ST_Area

Menghitung area objek poligon yang ditentukan.

ST_Distance

Menghitung jarak Euclidean 2D antara dua objek geometri yang ditentukan.

ST_DistanceSphere

Menghitung jarak sferis minimum antara dua objek geometri yang ditentukan. Jarak yang dikembalikan diukur dalam meter.

ST_IsValid

Memeriksa apakah objek geometri valid.

ST_Length

Menghitung panjang 2D objek geometri yang ditentukan.

ST_LengthSphere

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.

Catatan
  • 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.

Catatan
  • 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.

Catatan
  • 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.

Catatan
  • 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.

Catatan
  • 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    |
    +--------+