All Products
Search
Document Center

ApsaraDB RDS:ST_{T|2D|2DT|3D|3DT}Within

Last Updated:Mar 29, 2026

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

ParameterDescription
geomGeometry yang akan dibandingkan.
trajTrajectory yang akan dibandingkan, atau trajectory sumber dari mana sub-trajectory diekstraksi.
boxKotak pembatas yang akan dibandingkan.
rRentang waktu yang akan dibandingkan.
tsAwal rentang waktu untuk ekstraksi sub-trajectory. Opsional.
teAkhir 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.

Catatan

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
-------------
 t

Hasil t (true) mengonfirmasi bahwa b berada di dalam a dalam ruang 2D.