このトピックでは、ST_Resample関数について説明します。 この関数は、軌道を再サンプリングする。
構文
軌道ST_Resample (軌道traj, config);パラメーター
| パラメーター | 説明 |
| traj | 分割する軌道。 |
| config | 軌道を分割するために使用されるルール。 形式: {"Rule":"Value"} |
configパラメーターで指定できるルールは1つだけです。 次の表に、configパラメーターを使用して指定できるルールを示します。
| ルール名 | データ型 | 説明 |
| add_point.distance_less | 浮動小数点 | 2点間の距離がパラメータ値より小さくなるように、各軌道に点を均等に追加します。 |
| add_point.period_less | INTERVAL型に変換できる文字列 | 2つのポイント間の期間がパラメータ値よりも小さくなるように、各軌道にポイントを均等に追加します。 |
| drop_point.distance_less | 浮動小数点 | 軌道の複数の連続するセグメントの端点間の距離の合計が所定の距離未満である場合、連続するセグメントをマージしてセグメントを形成する。 取得されたセグメントの始点と終点のみが保持されます。 |
| drop_point.period_less | interval型の文字列 | 軌道の複数の連続するセグメント間で必要とされる期間の合計が所与の期間未満である場合、連続するセグメントをマージする。 取得されたセグメントの始点と終点のみが保持されます。 |
説明
この関数は、指定されたルールに基づいて軌道を分割し、サブ軌道の配列を返します。
例
SELECT ST_Resample(ST_MakeTrajectory('POINT(1 1)'), '{"add_point.distance_less":3}');
st_resample
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
{"trajectory":{"version":1,"type":"STPOINT","leafcount":1,"start_time":"2000-01 00:00:00","end_time":"2000-01-01 00:00:00","spatial":"POINT(1 1)","timeline":["2000-00:01-00:00]}
(1行)
SELECT ST_Resample(ST_MakeTrajectory('POINT(1 1)'), '{"add_point.period_less":"2 day"}');
st_resample
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
{"trajectory":{"version":1,"type":"STPOINT","leafcount":1,"start_time":"2000-01 00:00:00","end_time":"2000-01-01 00:00:00","spatial":"POINT(1 1)","timeline":["2000-00:01-00:00]}
(1行)
SELECT ST_Resample(ST_MakeTrajectory('POINT(1 1)'), '{"drop_point.distance_less":3}');
st_resample
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
{"trajectory":{"version":1,"type":"STPOINT","leafcount":1,"start_time":"2000-01 00:00:00","end_time":"2000-01-01 00:00:00","spatial":"POINT(1 1)","timeline":["2000-00:01-00:00]}
(1行)