全部产品
Search
文档中心

AnalyticDB:Fungsi Operasi

更新时间:Jun 26, 2025

Fungsi operasi digunakan untuk mengelola nilai dari tipe data GEOMETRY.

  • ST_Intersection: Mengembalikan geometri yang merepresentasikan irisan antara g1 dan g2.
  • ST_Envelope: Menerima input berupa LINE, POLYGON, MULTILINE, atau MULTIPOLYGON GEOMETRY. Tidak mendukung POINT GEOMETRY. Fungsi ini mengembalikan representasi biner dari amplop, yaitu persegi panjang yang melingkupi geometri tertentu.
  • ST_Union: Mengembalikan geometri yang merepresentasikan gabungan himpunan titik dari geometri yang ditentukan.
  • geometry_union: Mengembalikan geometri yang merepresentasikan gabungan himpunan titik dari geometri yang ditentukan.
  • ST_Boundary: Menerima geometri sebagai parameter input dan mengembalikan batasnya sebagai geometri baru.
  • ST_EnvelopeAsPts: Mengembalikan array dari dua titik yang merepresentasikan sudut kiri-bawah dan kanan-atas dari poligon pembatas suatu geometri. Jika geometri kosong, fungsi mengembalikan null.
  • ST_Difference: Mengembalikan geometri yang merepresentasikan perbedaan antara geometri kiri dan geometri kanan.
  • ST_ExteriorRing: Mengembalikan cincin eksterior dari poligon sebagai linestring.
  • ST_SymDifference: Mengembalikan geometri yang merepresentasikan perbedaan simetris antara geometri kiri dan geometri kanan.

ST_Intersection

ST_Intersection(g1, g2)
  • Deskripsi: Mengembalikan geometri yang merepresentasikan irisan antara g1 dan g2.
  • Tipe data nilai pengembalian: GEOMETRY. Jika Anda menjalankan pernyataan SELECT untuk menanyakan hasil fungsi ini, hasil yang dikembalikan mungkin rusak.
  • Contoh:
    SELECT ST_Intersection(ST_GeometryFromText('MULTIPOINT (50 100, 50 200)'), ST_GeometryFromText('Point (50 100)'));
    Hasil yang dikembalikan:
    +------------------------------------------------------------------------------------------------------------+
    | ST_Intersection(ST_GeometryFromText('MULTIPOINT (50 100, 50 200)'), ST_GeometryFromText('Point (50 100)')) |
    +------------------------------------------------------------------------------------------------------------+
    |                         �?      �?                                                                        |
Anda dapat memanggil fungsi ST_AsText untuk mengonversi hasil menjadi teks yang dapat dibaca. Contoh:
SELECT ST_AsText(ST_Intersection(ST_GeometryFromText('MULTIPOINT (50 100, 50 200)'), ST_GeometryFromText('Point (50 100)')));
Hasil yang dikembalikan:
+-----------------------------------------------------------------------------------------------------------------------+
| ST_AsText(ST_Intersection(ST_GeometryFromText('MULTIPOINT (50 100, 50 200)'), ST_GeometryFromText('Point (50 100)'))) |
+-----------------------------------------------------------------------------------------------------------------------+
|                        POINT (50 100)                                                                                 |

ST_Envelope

ST_Envelope(g)
  • Deskripsi: Menerima input berupa LINE, POLYGON, MULTILINE, atau MULTIPOLYGON GEOMETRY. Tidak mendukung POINT GEOMETRY. Fungsi ini mengembalikan representasi biner dari amplop, yaitu persegi panjang yang melingkupi geometri tertentu.
  • Tipe data nilai pengembalian: GEOMETRY. Jika Anda menjalankan pernyataan SELECT untuk menanyakan hasil fungsi ini, hasil yang dikembalikan mungkin rusak. Anda dapat memanggil fungsi ST_AsText untuk mengonversi hasil menjadi teks yang dapat dibaca.
  • Contoh 1:
    SELECT ST_AsText(ST_Envelope(ST_GeometryFromText('LINESTRING (1 1, 2 2, 1 3)')));
    Hasil yang dikembalikan:
    +---------------------------------------------------------------------------------+
    |ST_AsText(ST_Envelope(ST_GeometryFromText('LINESTRING (1 1, 2 2, 1 3)')))        |
    +---------------------------------------------------------------------------------+   
    |                POLYGON ((1 1, 2 1, 2 3, 1 3, 1 1))                              | 
    Contoh 2:
    SELECT ST_AsText(ST_Envelope(ST_GeometryFromText('MULTIPOINT (1 2, 2 4, 3 6, 4 8)')));
    Hasil yang dikembalikan:
    +-------------------------------------------------------------------------------+
    | ST_AsText(ST_Envelope(ST_GeometryFromText('MULTIPOINT (1 2, 2 4, 3 6, 4 8)')))|
    +-------------------------------------------------------------------------------+
    |                        POLYGON ((1 2, 4 2, 4 8, 1 8, 1 2))                    | 

ST_Union

ST_Union(g1, g2)
  • Deskripsi: Mengembalikan geometri yang merepresentasikan gabungan himpunan titik dari geometri yang ditentukan.
  • Tipe data nilai pengembalian: INT.
  • Contoh:
    SELECT ST_ASText(ST_Union(ST_GeometryFromText('MULTIPOLYGON (((1 1, 3 1, 3 3, 1 3, 1 1)))'), ST_GeometryFromText('MULTIPOLYGON (((2 2, 4 2, 4 4, 2 4, 2 2)))')));
    Hasil yang dikembalikan:
    +----------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | ST_ASText(ST_Union(ST_GeometryFromText('MULTIPOLYGON (((1 1, 3 1, 3 3, 1 3, 1 1)))'), ST_GeometryFromText('MULTIPOLYGON (((2 2, 4 2, 4 4, 2 4, 2 2)))')))      |
    +----------------------------------------------------------------------------------------------------------------------------------------------------------------+   
    |                                    POLYGON ((1 1, 3 1, 3 2, 4 2, 4 4, 2 4, 2 3, 1 3, 1 1))                                                                     | 

geometry_union

geometry_union(array[g1, g2, ...])
  • Deskripsi: Mengembalikan geometri yang merepresentasikan gabungan himpunan titik dari geometri yang ditentukan.
  • Tipe data nilai pengembalian: GEOMETRY. Jika Anda menjalankan pernyataan SELECT untuk menanyakan hasil fungsi ini, hasil yang dikembalikan mungkin rusak. Anda dapat memanggil fungsi ST_AsText untuk mengonversi hasil menjadi teks yang dapat dibaca.
  • Contoh:
    SELECT ST_AsText (geometry_union(ARRAY[ST_Point(61.56, -158.54), ST_Point(61.56, -158.55)]));
    Hasil yang dikembalikan:
    +------------------------------------------------------------------------------------------------+
    |  ST_AsText (geometry_union(ARRAY[ST_Point(61.56, -158.54), ST_Point(61.56, -158.55)]))         |
    +------------------------------------------------------------------------------------------------+   
    |               MULTIPOINT ((61.56 -158.55), (61.56 -158.54))                                    | 

ST_Boundary

ST_Boundary(g)
  • Deskripsi: Menerima geometri sebagai parameter input dan mengembalikan batasnya sebagai geometri baru.
  • Tipe data nilai pengembalian: GEOMETRY. Jika Anda menjalankan pernyataan SELECT untuk menanyakan hasil fungsi ini, hasil yang dikembalikan mungkin rusak. Anda dapat memanggil fungsi ST_AsText untuk mengonversi hasil menjadi teks yang dapat dibaca.
  • Contoh:
    SELECT ST_AsText(ST_Boundary(ST_GeometryFromText('LINESTRING (8 4, 5 7)')));  
    Hasil yang dikembalikan:
    +----------------------------------------------------------------------------+
    |ST_AsText(ST_Boundary(ST_GeometryFromText('LINESTRING (8 4, 5 7)')))        |
    +----------------------------------------------------------------------------+   
    |                MULTIPOINT ((8 4), (5 7))                                   | 

ST_EnvelopeAsPts

ST_EnvelopeAsPts(g)
  • Deskripsi: Mengembalikan array dari dua titik yang merepresentasikan sudut kiri-bawah dan kanan-atas dari poligon pembatas suatu geometri. Jika geometri kosong, fungsi mengembalikan null.
  • Tipe data nilai pengembalian: Array[Geometry].
  • Contoh:
    SELECT ST_EnvelopeAsPts(ST_GeometryFromText('LINESTRING EMPTY'));   
    Hasil yang dikembalikan:
    +-----------------------------------------------------------------+
    |ST_EnvelopeAsPts(ST_GeometryFromText('LINESTRING EMPTY'))        |
    +-----------------------------------------------------------------+   
    |                null                                             |

ST_Difference

ST_EnvelopeAsPts(g1, g2)
  • Deskripsi: Mengembalikan geometri yang merepresentasikan perbedaan antara geometri kiri dan geometri kanan.
  • Tipe data nilai pengembalian: GEOMETRY. Jika Anda menjalankan pernyataan SELECT untuk menanyakan hasil fungsi ini, hasil yang dikembalikan mungkin rusak. Anda dapat memanggil fungsi ST_AsText untuk mengonversi hasil menjadi teks yang dapat dibaca.
  • Contoh:
    SELECT ST_AsText(ST_Difference(ST_GeometryFromText('POINT (50 100)'), ST_GeometryFromText('POINT (150 150)')));  
    Hasil yang dikembalikan:
    +---------------------------------------------------------------------------------------------------------------+
    |ST_AsText(ST_Difference(ST_GeometryFromText('POINT (50 100)'), ST_GeometryFromText('POINT (150 150)')))        |
    +---------------------------------------------------------------------------------------------------------------+   
    |                POINT (50 100)                                                                                 | 

ST_ExteriorRing

ST_ExteriorRing(g1)
  • Deskripsi: Mengembalikan cincin eksterior dari poligon sebagai linestring.
  • Tipe data nilai pengembalian: GEOMETRY. Jika Anda menjalankan pernyataan SELECT untuk menanyakan hasil fungsi ini, hasil yang dikembalikan mungkin rusak. Anda dapat memanggil fungsi ST_AsText untuk mengonversi hasil menjadi teks yang dapat dibaca.
  • Contoh:
    SELECT ST_AsText(ST_ExteriorRing(ST_GeometryFromText('POLYGON ((1 1, 1 4, 4 1))')));  
    Hasil yang dikembalikan:
    +------------------------------------------------------------------------------------+
    |ST_AsText(ST_ExteriorRing(ST_GeometryFromText('POLYGON ((1 1, 1 4, 4 1))')))        |
    +------------------------------------------------------------------------------------+   
    |                LINESTRING (1 1, 4 1, 1 4, 1 1)                                     | 

ST_SymDifference

ST_SymDifference(g1, g2)
  • Deskripsi: Mengembalikan geometri yang merepresentasikan perbedaan simetris antara geometri kiri dan geometri kanan.
  • Tipe data nilai pengembalian: GEOMETRY. Jika Anda menjalankan pernyataan SELECT untuk menanyakan hasil fungsi ini, hasil yang dikembalikan mungkin rusak. Anda dapat memanggil fungsi ST_AsText untuk mengonversi hasil menjadi teks yang dapat dibaca.
  • Contoh:
    SELECT ST_AsText(ST_SymDifference(ST_GeometryFromText('POINT (50 100)'), ST_GeometryFromText('POINT (50 150)')));   
    Hasil yang dikembalikan:
    +--------------------------------------------------------------------------------------------------------------+
    |ST_AsText(ST_SymDifference(ST_GeometryFromText('POINT (50 100)'), ST_GeometryFromText('POINT (50 150)')))     |
    +--------------------------------------------------------------------------------------------------------------+   
    |                MULTIPOINT ((50 100), (50 150))                                                               |