この関数を使用して、指定したしきい値条件を満たす軌道点を軌道オブジェクトから削除できます。
構文
軌道ST_removeDriftPoints (軌道traj、float8 speed、float8 dist、インターバルオフセット);
パラメーター
パラメーター | 説明 |
traj | 軌道オブジェクト。 |
スピード | 速度のしきい値。 単位はメートル /秒です。 |
dist | 距離のしきい値。 単位はメートルです。 |
オフセット | 時間間隔のしきい値。 |
説明
この関数は、指定された条件を満たす軌道点を軌道オブジェクトから削除し、軌道オブジェクトの新しいデータを返します。 戻された軌道オブジェクトは、少なくとも2つの軌道点を含む。 この関数は、軌道点が次の3つの条件を満たす場合、軌道点を削除します。軌道点の速度が指定された速度しきい値よりも大きく、軌道点から前の軌道点までの距離が指定された距離しきい値よりも大きく、時間間隔が指定されたオフセットしきい値よりも大きい。 速度の単位は毎秒メートルであり、距離の単位はメートルです。 指定された軌道オブジェクトに軌道点が2つしかない場合、軌道点は削除されません。
速度パラメータは、速度閾値を指定する。 速度しきい値は、軌道点の位置と時間オフセットに基づいてリアルタイムで計算されます。 速度の単位はメートル /秒です。 distパラメータは、距離しきい値を指定する。 距離の単位はメートルです。 offsetパラメータは、時間間隔を指定する。 デフォルトでは、軌道オブジェクトの座標参照系は世界測地系1984 (WGS 84) です。 WGS 84を使用しない場合は、軌道オブジェクトを作成するときに空間参照システム識別子 (SRID) を指定するか、ST_SetSRID関数を呼び出して軌道オブジェクトのSRIDを設定します。 システムは、指定されたSRIDに基づいて2点間の球面距離を計算します。 球面距離の単位はメートルです。
例
select id, st_leafcount(traj) from table_name, id = 1;
id | st_leafcount
---- ---------------
1 | 53
(1行)
更新table_name set traj=st_removeDriftPoints(traj、25.72、9620、間隔 '30秒 ') id = 1;
-- 2つの軌道ポイントが削除されます。
id = 1であるtable_nameからid, st_leafcount(traj) を選択します。
id | st_leafcount
---- ---------------
1 | 49
(1行)