Fungsi ini digunakan untuk memeriksa apakah objek pertama mencakup objek kedua pada sumbu tertentu.
Sintaksis
bool ST_TContains(tsrange r, trajectory traj);
bool ST_TContains(trajectory traj, tsrange r);
bool ST_2DContains(geometry geom, trajectory traj);
bool ST_2DContains(trajectory traj, geometry geom);
bool ST_2DContains(geometry geom, trajectory traj, timestamp ts, timestamp te);
bool ST_2DContains(trajectory traj, geometry geom, timestamp ts, timestamp te);
bool ST_{2D|2DT|3D|3DT}Contains(boxndf box, trajectory traj);
bool ST_{2D|2DT|3D|3DT}Contains(boxndf box, trajectory traj, timestamp ts, timestamp te);Parameter
| Parameter | Deskripsi |
| geom | Geometri yang ingin Anda bandingkan. |
| traj | Trajektori yang ingin Anda bandingkan, atau trajektori asli yang mencakup sub-trajektori yang ingin Anda bandingkan. |
| box | Kotak pembatas yang ingin Anda bandingkan. |
| r | Rentang waktu untuk kueri. |
| ts | Awal rentang waktu di mana Anda ingin mengekstraksi sub-trajektori. Parameter ini opsional. |
| te | Akhir rentang waktu di mana Anda ingin mengekstraksi sub-trajektori. Parameter ini opsional. |
Deskripsi
Fungsi ini memungkinkan Anda memeriksa apakah objek pertama mencakup objek kedua pada sumbu tertentu.
- Jika geometri ditentukan, fungsi ini membandingkan proyeksi dua dimensi dari trajektori lengkap atau sub-trajektori selama rentang waktu tertentu. Fungsi ini kemudian memeriksa apakah geometri mencakup atau termasuk dalam objek lain yang ditentukan.
- Jika objek pertama adalah kotak pembatas dan objek kedua adalah trajektori, fungsi ini membandingkan kotak pembatas dengan trajektori untuk memeriksa apakah trajektori atau sub-trajektorinya selama rentang waktu tertentu termasuk dalam kotak pembatas di semua dimensi. Jika kotak pembatas, trajektori, atau sub-trajektori tidak memiliki dimensi tertentu, fungsi ini menganggap dimensi tersebut memiliki nilai apa pun. Dalam hal ini, sumbu dalam dimensi ini secara otomatis memenuhi kondisi yang ditentukan.
Catatan Fungsi ini tidak didukung untuk tipe geometri seperti POLYHEDRALSURFACE.
Contoh
WITH traj AS(
Select ST_makeTrajectory('STPOINT', 'LINESTRING(0 0, 50 50, 100 100)'::geometry,
('[' || ST_PGEpochToTS(0) || ',' || ST_PGEpochToTS(100) || ')')::tsrange,
'{"leafcount":3,"attributes":{"velocity": {"type": "integer", "length": 2,"nullable" : true,"value": [120,130,140]}, "accuracy": {"type": "float", "length": 4, "nullable" : false,"value": [120,130,140]}, "bearing": {"type": "float", "length": 8, "nullable" : false,"value": [120,130,140]}, "acceleration": {"type": "string", "length": 20, "nullable" : true,"value": ["120","130","140"]}, "active": {"type": "timestamp", "nullable" : false,"value": ["Fri Jan 01 11:35:00 2010", "Fri Jan 01 12:35:00 2010", "Fri Jan 01 13:30:00 2010"]}}, "events": [{"2" : "Fri Jan 02 15:00:00 2010"}, {"3" : "Fri Jan 02 15:30:00 2010"}]}') b,
ST_MakeBox3dt(0,0,0,ST_PgEpochToTS(0), 50,50,50, ST_PgEpochToTS(49)) a
)
SELECT ST_2dContains(a,b,ST_PGEpochToTS(0), ST_PGEpochToTS(49)), ST_3dContains(a,b,ST_PGEpochToTS(0), ST_PGEpochToTS(49)),
ST_2dtContains(a,b,ST_PGEpochToTS(0), ST_PGEpochToTS(49)), ST_3dtContains(a,b,ST_PGEpochToTS(0), ST_PGEpochToTS(49)),
ST_2dContains(a,b,ST_PGEpochToTS(0), ST_PGEpochToTS(50)), ST_3dContains(a,b,ST_PGEpochToTS(0), ST_PGEpochToTS(50)),
ST_2dtContains(a,b,ST_PGEpochToTS(0), ST_PGEpochToTS(50)), ST_3dtContains(a,b,ST_PGEpochToTS(0), ST_PGEpochToTS(50)),
ST_2dContains(a,b,ST_PGEpochToTS(0), ST_PGEpochToTS(70)), ST_3dContains(a,b,ST_PGEpochToTS(0), ST_PGEpochToTS(70)),
ST_2dtContains(a,b,ST_PGEpochToTS(0), ST_PGEpochToTS(70)), ST_3dtContains(a,b,ST_PGEpochToTS(0), ST_PGEpochToTS(70)) from traj;
st_2dcontains | st_3dcontains | st_2dtcontains | st_3dtcontains | st_2dcontains | st_3dcontains | st_2dtcontains | st_3dtcontains | st_2dcontains | st_3dcontains | st_2dtcontains | st_3dtcontains
---------------+---------------+----------------+----------------+---------------+---------------+----------------+----------------+---------------+---------------+----------------+----------------
t | t | t | t | t | t | f | f | f | f | f | f