全部產品
Search
文件中心

PolarDB:ST_removeDriftPoints

更新時間:Jul 06, 2024

刪除軌跡線中指定閾值的漂移點。

文法

trajectory ST_removeDriftPoints(trajectory traj, float8 speed, float8 dist, interval offset);

參數

參數名稱描述
traj軌跡對象。
speed速度閾值(m/s)。
dist距離閾值(m)。
offset時間間隔閾值。

描述

刪除軌跡對象中滿足條件的軌跡點,滿足的條件要求軌跡點速度大於閾值speed(米/秒),且與上一軌跡點的距離大於閾值dist(米),時間間隔大於閾值offset,之後返回新的軌跡對象,該軌跡對象至少包含2個軌跡點。如果原始軌跡本身只有兩個軌跡點,則不做任何刪除。

參數speed是由軌跡位置和時間位移值Realtime Compute的結果,其單位固定為米/秒;距離閾值dist單位為米,時間閾值offset為時間間隔值。軌跡座標空間參考系預設為WGS84,如果不為該空間參考系,請在構建軌跡時指定空間參考值或使用st_setsrid設定軌跡的空間參考值,最終會根據空間參考值統一計算球面距離(單位為米)。

樣本

select id, st_leafcount(traj) from table_name where id = 1;
 id | st_leafcount 
----+--------------
  1 |           53
(1 row)

update table_name set traj=st_removeDriftPoints(traj,25.72, 9620, interval '30 seconds') where id = 1;

--刪除了2個漂移點
select id, st_leafcount(traj) from table_name where id = 1;
 id | st_leafcount 
----+--------------
  1 |           49
(1 row)