全部产品
Search
文档中心

AnalyticDB:Fungsi spasial

更新时间:Jun 26, 2025

Fungsi spasial digunakan untuk menentukan hubungan spasial antara geometri.

  • ST_Contains: Mengembalikan 1 jika g1 sepenuhnya berisi g2.
  • ST_Crosses: Mengembalikan 1 jika geometri di sebelah kiri secara spasial melintasi yang di sebelah kanan.
  • ST_Disjoint: Mengembalikan 1 jika geometri di sebelah kiri secara spasial terpisah dari yang di sebelah kanan.
  • ST_Equals: Mengembalikan 1 jika geometri di sebelah kiri secara spasial sama dengan yang di sebelah kanan.
  • ST_Intersects: Mengembalikan 1 jika geometri di sebelah kiri secara spasial berpotongan dengan yang di sebelah kanan.
  • ST_Overlaps: Mengembalikan 0 jika geometri di sebelah kiri secara spasial tumpang tindih dengan yang di sebelah kanan.
  • ST_Relate: Mengembalikan 1 jika geometri di sebelah kiri dan kanan memenuhi kondisi yang ditentukan oleh matriks DE-9IM. Input ketiga dari tipe VARCHAR menunjukkan bahwa hubungan tersebut diterima.
  • ST_Touches: Mengembalikan 1 jika geometri di sebelah kiri secara spasial menyentuh yang di sebelah kanan.
  • ST_Within: Mengembalikan 1 jika geometri di sebelah kiri secara spasial terkurung dalam yang di sebelah kanan.

ST_Contains

ST_Contains(g1, g2)
  • Deskripsi: Fungsi ini mengembalikan 1 jika g1 sepenuhnya berisi g2. Nilai 1 menunjukkan benar, dan nilai 0 menunjukkan salah.
    Catatan g1 tidak berisi batasnya sendiri.
  • Tipe data nilai pengembalian: INT.
  • Contoh:
    SELECT ST_Contains(ST_GeometryFromText('POLYGON ((1 1, 1 4, 4 4, 4 1))'), ST_GeometryFromText('POINT (2 2)'));
    Hasil yang dikembalikan:
    +-----------------------------------------------------------------------------------------------------+
    |ST_Contains(ST_GeometryFromText('POLYGON ((1 1, 1 4, 4 4, 4 1))'), ST_GeometryFromText('POINT (2 2)')) |
    +-----------------------------------------------------------------------------------------------------+
    |                           1                                                                         |

ST_Crosses

ST_Crosses(g1, g2)
  • Deskripsi: Fungsi ini mengembalikan 1 jika geometri di sebelah kiri secara spasial melintasi yang di sebelah kanan. Nilai 1 menunjukkan benar, dan nilai 0 menunjukkan salah.
  • Tipe data nilai pengembalian: INT.
  • Contoh:
    SELECT ST_Crosses(ST_GeometryFromText('POINT (20 20)'), ST_GeometryFromText('POINT (25 25)')); 
    Hasil yang dikembalikan:
    +----------------------------------------------------------------------------------------------+
    |ST_Crosses(ST_GeometryFromText('POINT (20 20)'), ST_GeometryFromText('POINT (25 25)'))        |
    +----------------------------------------------------------------------------------------------+   
    |                 0                                                                            |

ST_Disjoint

ST_Disjoint(g1, g2)
  • Deskripsi: Fungsi ini mengembalikan 1 jika geometri di sebelah kiri secara spasial terpisah dari yang di sebelah kanan. Nilai 1 menunjukkan benar, dan nilai 0 menunjukkan salah.
  • Tipe data nilai pengembalian: INT.
  • Contoh:
    SELECT ST_Disjoint(ST_GeometryFromText('POINT (50 100)'), ST_GeometryFromText('POINT (150 150)'));
    Hasil yang dikembalikan:
    +--------------------------------------------------------------------------------------------------+
    |ST_Disjoint(ST_GeometryFromText('POINT (50 100)'), ST_GeometryFromText('POINT (150 150)'))        |
    +--------------------------------------------------------------------------------------------------+   
    |                        1                                                                         | 

ST_Equals

ST_Equals(g1, g2)
  • Deskripsi: Fungsi ini mengembalikan 1 jika geometri di sebelah kiri secara spasial sama dengan yang di sebelah kanan. Nilai 1 menunjukkan benar, dan nilai 0 menunjukkan salah.
  • Tipe data nilai pengembalian: INT.
  • Contoh:
    SELECT ST_Equals(ST_GeometryFromText('POINT (50 100)'), ST_GeometryFromText('POINT (150 150)'));  
    Hasil yang dikembalikan:
    +------------------------------------------------------------------------------------------------+
    |ST_Equals(ST_GeometryFromText('POINT (50 100)'), ST_GeometryFromText('POINT (150 150)'))        |
    +------------------------------------------------------------------------------------------------+   
    |                  0                                                                             | 

ST_Intersects

ST_Intersects(g1, g2)
  • Deskripsi: Fungsi ini mengembalikan 1 jika geometri di sebelah kiri secara spasial berpotongan dengan yang di sebelah kanan. Nilai 1 menunjukkan benar, dan nilai 0 menunjukkan salah.
  • Tipe data nilai pengembalian: INT.
  • Contoh:
    SELECT ST_Intersects(ST_GeometryFromText('POINT (50 100)'), ST_GeometryFromText('POINT (150 150)'));  
    Hasil yang dikembalikan:
    +----------------------------------------------------------------------------------------------------+
    |ST_Intersects(ST_GeometryFromText('POINT (50 100)'), ST_GeometryFromText('POINT (150 150)'))        |
    +----------------------------------------------------------------------------------------------------+   
    |                 0                                                                                  | 

ST_Overlaps

ST_Overlaps(g1, g2)
  • Deskripsi: Fungsi ini mengembalikan 0 jika geometri di sebelah kiri secara spasial tumpang tindih dengan yang di sebelah kanan. Nilai 0 menunjukkan benar, dan nilai 1 menunjukkan salah.
  • Tipe data nilai pengembalian: INT.
  • Contoh:
    SELECT ST_Overlaps(ST_GeometryFromText('POLYGON ((1 1, 1 4, 4 4, 4 1))'), ST_GeometryFromText('POLYGON ((3 3, 3 5, 5 5, 5 3))'));  
    Hasil yang dikembalikan:
    +---------------------------------------------------------------------------------------------------------------------------------+
    |ST_Overlaps(ST_GeometryFromText('POLYGON ((1 1, 1 4, 4 4, 4 1))'), ST_GeometryFromText('POLYGON ((3 3, 3 5, 5 5, 5 3))'))        |
    +---------------------------------------------------------------------------------------------------------------------------------+   
    |                 1                                                                                                               | 

ST_Relate

ST_Relate(g1, g2, s1)
  • Deskripsi: Fungsi ini mengembalikan 1 jika geometri di sebelah kiri dan kanan memenuhi kondisi yang ditentukan oleh matriks DE-9IM. Nilai 1 menunjukkan benar, dan nilai 0 menunjukkan salah. Input ketiga dari tipe VARCHAR menunjukkan bahwa hubungan tersebut diterima.
  • Tipe data nilai pengembalian: INT.
  • Contoh:
    SELECT ST_Relate(ST_GeometryFromText('LINESTRING (0 0, 3 3)'), ST_GeometryFromText('LINESTRING (1 1, 4 1)'), '****T****'); 
    Hasil yang dikembalikan:
    +--------------------------------------------------------------------------------------------------------------------------+
    |ST_Relate(ST_GeometryFromText('LINESTRING (0 0, 3 3)'), ST_GeometryFromText('LINESTRING (1 1, 4 1)'), '****T****')        |
    +--------------------------------------------------------------------------------------------------------------------------+   
    |                 0                                                                                                        | 

ST_Touches

ST_Touches(g1, g2)
  • Deskripsi: Fungsi ini mengembalikan 1 jika geometri di sebelah kiri secara spasial menyentuh yang di sebelah kanan. Nilai 1 menunjukkan benar, dan nilai 0 menunjukkan salah.
  • Tipe data nilai pengembalian: INT.
  • Contoh:
    SELECT ST_Touches(ST_GeometryFromText('POINT (50 100)'), ST_GeometryFromText('POINT (150 150)'));  
    Hasil yang dikembalikan:
    +-------------------------------------------------------------------------------------------------+
    |ST_Touches(ST_GeometryFromText('POINT (50 100)'), ST_GeometryFromText('POINT (150 150)'))        |
    +-------------------------------------------------------------------------------------------------+   
    |                     0                                                                           | 

ST_Within

ST_Within(g1, g2)
  • Deskripsi: Fungsi ini mengembalikan 1 jika geometri di sebelah kiri secara spasial terkurung dalam yang di sebelah kanan. Nilai 1 menunjukkan benar, dan nilai 0 menunjukkan salah.
  • Tipe data nilai pengembalian: BOOLEAN.
  • Contoh:
    SELECT ST_Within(ST_GeometryFromText('POINT (50 100)'), ST_GeometryFromText('POINT (150 150)'))  
    Hasil yang dikembalikan:
    +-------------------------------------------------------------------------------------------------+
    |ST_Within(ST_GeometryFromText('POINT (50 100)'), ST_GeometryFromText('POINT (150 150)'))         |
    +-------------------------------------------------------------------------------------------------+   
    |                 0                                                                               |