この関数は、指定された時間範囲にわたってオブジェクトのバウンディングボックスを照会するために使用されます。
構文
boxndf ST_MakeBox(geometry geom);
boxndf ST_MakeBox (軌道traj);
boxndf ST_MakeBox (ジオメトリgeom、タイムスタンプts、タイムスタンプte);
boxndf ST_MakeBox (軌道traj、タイムスタンプts、タイムスタンプte);
boxndf ST_MakeBox(timestamp ts、timestamp te); パラメーター
| パラメーター | 説明 |
| geom | クエリを行う境界ボックスのジオメトリ。 |
| traj | クエリを行うバウンディングボックスの軌道。 |
| ts | 照会する期間の開始時刻です。 |
| te | 照会する期間の終了時刻を設定します。 |
説明
境界ボックスは、時空間オブジェクトを含む最小の多次元矩形である。
- 2次元または3次元の空間オブジェクトを指定した場合、この関数はオブジェクトの寸法に基づいてオブジェクトの境界ボックスを返します。
ST_MakeBox(geometry geom, timestamp ts, timestamp te)構文を使用して空間オブジェクトと時間範囲を指定した場合、この関数は時間範囲のオブジェクトのバウンディングボックスを返します。- 軌道を指定しても時間範囲を指定しない場合、この関数は完全な軌道の境界ボックスを返します。 軌道と時間範囲を指定した場合、この関数は時間範囲のサブ軌道の境界ボックスを返します。
- 境界ボックスは、FLOATデータ型を使用します。 したがって、この関数は、パラメータ設定で指定されたものよりもわずかに大きいバウンディングボックスを返すことがあります。 たとえば、返された下限は実際の下限よりわずかに小さいか、返された上限は実際の上限よりわずかに大きいです。
例:
geom ASとの(
SELECT ('POLYGON((12.7243236691148 4.35238368367118、12.9102992732078 1.49748113937676、12.5926592946053 1.67643963359296 ')) | |
',12.0197574747333 3.19258554889152,12.7243236691148 4.35238368367118)')::geometry a
)
SELECT ST_MakeBox(a),ST_MakeBox(a,'2000-01-01 00:00:10 '::timestamp, '2000-01-01 02:13:20'::timestamp) from geom;
st_makebox | st_makebox
---------------------------------------------------------------- + -----------------------------------------------------------------------------------------------------------------------
BOX2D(12.0197572708 1.49748110771、12.9102993011 4.35238409042) | BOX2DT(12.0197572708 1.49748110771 2000-01-01 00:00:09.999999,12.9102993011 4.35238409042 2000-01 02:13:20.000381)
With traj AS (
ST_makeTrajectory('STPOINT ', 'LINESTRING (0 0, 50 50, 100 100)'::geometry,
tsrange('2000-01-01 00:00:00 '::timestamp、'2000-01-01 00:01:40'::timestamp) 、
'{"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"}]') a
)
SELECT ST_MakeBox(a), ST_MakeBox(a,'1999-12-31 23:00:00 '::timestamp, '2000-01-01 00:00:30'::timestamp) from traj;
st_makebox | st_makebox
------------------------------------------------------------- + ------------------------------------------------------------------
BOX2DT(0 0 2000-01 00:00:00,100 100 2000-01-01 00:01:40) | BOX2DT(0 2000-01-01 00:00:00,30 2000-01 00:00. 000001)