この関数は、2つのオブジェクトが指定された軸で交差するかどうかを確認します。
構文
bool ST_{2D | 3D} 交差 (ジオム、軌道traj);
bool ST_{2D | 3D} 交差 (弾道traj、幾何学ジオム);
bool ST_{2D | 3D} 交差 (ジオム、軌道traj、タイムスタンプts、タイムスタンプte);
bool ST_{2D | 3D} 交差 (trajectory traj, geometry geom, timestamp ts, timestamp te);
bool ST_{Z | T | 2D | 2DT | 3D | 3DT} 交差 (boxndfボックス、軌道traj);
bool ST_{Z | T | 2D | 2DT | 3D | 3DT} 交差 (弾道traj、boxndfボックス);
bool ST_{Z | T | 2D | 2DT | 3D | 3DT} 交差 (boxndfボックス、軌道traj、タイムスタンプts、タイムスタンプte);
bool ST_{Z | T | 2D | 2DT | 3D | 3DT} 交差 (軌道traj、boxndfボックス、タイムスタンプts、タイムスタンプte);
bool ST_{2D | 2DT | 3D | 3DT} 交差 (軌道traj1、軌道traj2);
bool ST_{2D | 2DT | 3D | 3DT} 交差 (trajectory traj1、trajectory traj2、timestamp ts、timestamp te);
パラメーター
パラメーター | 説明 |
geom | 比較するジオメトリ。 |
traj | 比較する軌道、または比較するサブ軌道を含む元の軌道。 |
traj1 | 比較する軌道、または比較するサブ軌道を含む元の軌道。 |
traj2 | 比較する軌道、または比較するサブ軌道を含む元の軌道。 |
ボックス | 比較する境界ボックス。 |
ts | サブ軌道を抽出する時間範囲の始まり。 このパラメーターはオプションです。 |
te | サブ軌道を抽出する時間範囲の終わり。 このパラメーターはオプションです。 |
説明
この関数を使用すると、2つのオブジェクトが指定したディメンションで交差するかどうかを確認できます。 ディメンションに指定された値がない場合、この関数はこのディメンションに任意の値があると見なします。
この関数にtsパラメーターとteパラメーターが含まれている場合、2つのオブジェクトを比較して、指定された時間範囲にわたる2つのオブジェクトのサブ軌道が交差するかどうかを確認します。 この関数にtsまたはteパラメーターが含まれていない場合は、2つのオブジェクトを比較して、2つのオブジェクトの完全な軌道が交差するかどうかを確認します。 2つのオブジェクトは、trajまたはtraj1パラメータとtraj2パラメータによって指定されます。
ST_Intersects(...)
関数は、ST_2DIntersects(...)
関数 (指定されたオブジェクトの1つがジオメトリの場合) またはST_3DTIntersects(...)
関数 (指定されたオブジェクトの両方が軌道の場合) と同じ効果をもたらします。
例:
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 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:04:06","2000-01-01 04:28:18","2000-01-01 04:52:31","2000-01-01 05:16:43"]}
('{"trajectory":{"version":1,"type":"STPOINT","leafcount":4,"start_time":"2000-01-01 02:17:58.656079","end_time":"2000-01-01 03:43:59.620923", |
'"spatial":"LINESTRING(40 2 0,15.17549143297 51.766017656152 0,1.444002354518 69.630026333034 0,3 70 0)" 、"timeline":["2000-01-01 02:17:58.656079",' | |
'"2000-01-01 02:46:38.977693","2000-01-01-01 03:15:19.299307","2000-01-01 03:43:59.620923"}')::: 軌道b
)
SELECT ST_2dIntersects(a,b), ST_2dtIntersects(a,b), ST_3dIntersects(a,b), ST_3dtIntersects(a,b) from traj;
st_2dcrosses | st_2dtcensions | st_3dcensions | st_3dtcensions
----------------- + ------------------ + ----------------- + ------------------
t | f | t | f