このトピックでは、最初に指定されたオブジェクトが指定された軸上の2番目に指定されたオブジェクトに含まれているかどうかを判断するために使用されるST_{T | 2D | 2DT | 3D | 3DT} 内関数について説明します。
構文
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);
パラメーター
パラメーター | 説明 |
geom | 比較するジオメトリ。 |
traj | 比較する軌道、または比較するサブ軌道を含む元の軌道。 |
box | 比較する境界ボックス。 |
r | 比較する時間範囲。 |
ts | サブ軌道を抽出する時間範囲の始まり。 このパラメーターはオプションです。 |
te | サブ軌道を抽出する時間範囲の終わり。 このパラメーターはオプションです。 |
説明
この関数を使用すると、最初の指定オブジェクトが2番目の指定オブジェクトに含まれるかどうかを判断できます。 この関数は、ST_ndContains関数と同じように機能します。
説明
この関数は、POLYHEDRALSURFACEなどのジオメトリ型ではサポートされません。
例:
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