All Products
Search
Document Center

ApsaraDB RDS:ST_CrossingPoints

Last Updated:Jun 25, 2025

Mengambil titik-titik yang melintasi area geometris tertentu berdasarkan titik-titik sampel lintasan.

Sintaksis

TABLE(idx integer, inside bool, pnt trajectory, t timestamp, x double precision, y double precision) ST_CrossingPoints(trajectory traj, geometry geom)

Parameter

Parameter

Deskripsi

traj

Objek lintasan.

geom

Area geometris.

Nilai Pengembalian

Sebuah tabel data yang berisi parameter-parameter berikut dikembalikan.

Parameter

Deskripsi

idx

Nomor urut titik sampel lintasan, dimulai dari 0.

inside

Menunjukkan apakah titik tersebut berada di dalam area geometris.

pnt

Titik yang berbentuk lintasan satu titik dan berisi informasi atribut.

t

Cap waktu dari titik tersebut.

x

Koordinat x dari titik tersebut.

y

Koordinat y dari titik tersebut.

Deskripsi

Jika titik sampel sebelumnya dari lintasan berada di luar area geometris dan titik sampel berikutnya berada di dalam area geometris, atau sebaliknya, maka titik tersebut sedang melintasi area geometris. Fungsi ini menampilkan titik-titik perlintasan dalam baris yang terpisah.

Contoh

Kueri untuk mendapatkan titik-titik perlintasan objek lintasan yang bergerak masuk dan kemudian keluar dari area geometris yang ditentukan.

SELECT * FROM ST_CrossingPoints(
               '{"trajectory":{"version":1,"type":"STPOINT","leafcount":7,"start_time":"2000-01-01 00:00:00","end_time":"2000-01-07 00:00:00","spatial":"LINESTRING(0 0,2 1,0 0,3 3,0 0,1 4,0 0)","timeline":["2000-01-01 00:00:00","2000-01-02 00:00:00","2000-01-03 00:00:00","2000-01-04 00:00:00","2000-01-05 00:00:00","2000-01-06 00:00:00","2000-01-07 00:00:00"]}}',
               'POLYGON((2 2, 2 3, 3 3, 3 2, 2 2))');

Hasil contoh:

 idx | inside |                                                                                            pnt                                                                                            |          t          | x | y 
-----+--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+---------------------+---+---
   3 | t      | {"trajectory":{"version":1,"type":"STPOINT","leafcount":1,"start_time":"2000-01-04 00:00:00","end_time":"2000-01-04 00:00:00","spatial":"POINT(3 3)","timeline":["2000-01-04 00:00:00"]}} | 2000-01-04 00:00:00 | 3 | 3
   4 | f      | {"trajectory":{"version":1,"type":"STPOINT","leafcount":1,"start_time":"2000-01-05 00:00:00","end_time":"2000-01-05 00:00:00","spatial":"POINT(0 0)","timeline":["2000-01-05 00:00:00"]}} | 2000-01-05 00:00:00 | 0 | 0
(2 rows)