Mengembalikan true jika argumen pertama sepenuhnya berada di dalam argumen kedua pada sumbu yang ditentukan. Fungsi ini bekerja serupa dengan fungsi ST_ndContains.
Sintaksis
bool ST_TWithin(tsrange r, trajectory traj);
bool ST_TWithin(trajectory traj, tsrange r);
bool ST_2DWithin(geometry geom, trajectory traj);
bool ST_2DWithin(trajectory traj, geometry geom);
bool ST_2DWithin(geometry geom, trajectory traj, timestamp ts, timestamp te);
bool ST_2DWithin(trajectory traj, geometry geom, timestamp ts, timestamp te);
bool ST_{2D|2DT|3D|3DT}Within(trajectory traj, boxndf box);
bool ST_{2D|2DT|3D|3DT}Within(trajectory traj, boxndf box, timestamp ts, timestamp te);Parameter
| Parameter | Description |
|---|---|
geom | Geometry yang akan dibandingkan. |
traj | Trajectory yang akan dibandingkan, atau trajectory sumber dari mana sub-trajectory diekstraksi. |
box | Kotak pembatas yang akan dibandingkan. |
r | Rentang waktu yang akan dibandingkan. |
ts | Awal rentang waktu untuk ekstraksi sub-trajectory. Opsional. |
te | Akhir rentang waktu untuk ekstraksi sub-trajectory. Opsional. |
Deskripsi
Famili fungsi ini mencakup tiga sumbu:
ST_TWithin — memeriksa ketercakupan pada sumbu waktu (temporal only).
ST_2DWithin — memeriksa ketercakupan dalam ruang 2D (X/Y), secara opsional dibatasi pada jendela waktu [
ts,te].ST_{2DT|3D|3DT}Within — memeriksa ketercakupan dalam ruang 2D + waktu, ruang 3D, atau ruang 3D + waktu menggunakan kotak pembatas
boxndf, secara opsional dibatasi pada jendela waktu.
Jika parameter ts dan te diberikan, fungsi hanya mengevaluasi sub-trajectory dalam jendela waktu tersebut, bukan seluruh trajectory.
Fungsi ini tidak didukung untuk tipe geometry seperti POLYHEDRALSURFACE.
Contoh
Contoh berikut memeriksa apakah suatu geometry (b) berada di dalam suatu trajectory (a) dalam ruang 2D.
WITH traj AS(
SELECT (' {"trajectory":{"version":1,"type":"STPOINT","leafcount":6,"start_time":"2000-01-01 03:15:42","end_time":"2000-01-01 05:16:43",' ||
'"spatial":"LINESTRING(2 2 0,33.042158099636 36.832684322819 0,47.244002354518 47.230026333034 0,64.978971942887 60.618813472986 0,77.621717839502 78.012496630661 0,80 78 0)",' ||
'"timeline":["2000-01-01 03:15:42","2000-01-01 03:39:54","2000-01-01 04:04:06","2000-01-01 04:28:18","2000-01-01 04:52:31","2000-01-01 05:16:43"]}}')::trajectory a,
'LINESTRING(2 2 0,33.042158099636 36.832684322819 0,47.244002354518 47.230026333034 0,64.978971942887 60.618813472986 0,77.621717839502 78.012496630661 0,80 78 0)'::geometry b
)
SELECT ST_2dWithin(b,a) from traj;
st_2dwithin
-------------
tHasil t (true) mengonfirmasi bahwa b berada di dalam a dalam ruang 2D.