この関数は、最初に指定されたオブジェクトが指定された軸上に2番目に指定されたオブジェクトを含むかどうかを確認します。
構文
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);
パラメーター
パラメーター | 説明 |
geom | 比較するジオメトリ。 |
traj | 比較する軌道、または比較するサブ軌道を含む元の軌道。 |
box | 比較する境界ボックス。 |
r | 照会する時間範囲。 |
ts | サブ軌道を抽出する時間範囲の始まり。 このパラメーターはオプションです。 |
te | サブ軌道を抽出する時間範囲の終わり。 このパラメーターはオプションです。 |
説明
この関数を使用すると、最初に指定されたオブジェクトが指定された軸に2番目に指定されたオブジェクトを含むかどうかを確認できます。
ジオメトリを指定した場合、この関数は、指定された時間範囲にわたる完全な軌跡またはサブ軌跡の2次元投影を比較します。 次に、この関数は、ジオメトリが他の指定されたオブジェクトを含むかどうかをチェックします。
第1の指定されたオブジェクトが境界ボックスであり、第2の指定されたオブジェクトが軌道である場合、この関数は、境界ボックスと軌道とを比較して、指定された時間範囲にわたる軌道またはそのサブ軌道が、すべての次元において境界ボックスに含まれるかどうかをチェックする。 境界ボックス、軌道、またはサブ軌道に指定されたディメンションがない場合、この関数はこのディメンションに任意の値があると見なします。 この場合、この次元の軸は自動的に指定された条件を満たします。
説明
この関数は、POLYHEDRALSURFACEなどのジオメトリ型ではサポートされません。
例:
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