對一條軌跡重採樣。
文法
trajectory ST_Resample(trajectory traj, config);參數
| 參數名稱 | 描述 |
| traj | 被切分的軌跡對象。 |
| config | 切分軌跡的規則。格式{"規則":"取值"}。 |
目前包含以下可選規則,每次調用此函數時,僅可選擇一個規則:
| 規則名稱 | 參數類型 | 說明 |
| add_point.distance_lesser | 浮點數 | 在每條軌跡線上均勻添加點,使每一段之間的距離均小於參數。 |
| add_point.period_lesser | 可以轉化為Interval類型的字串 | 在每條軌跡線上均勻添加點,使每一段的時間長度均小於參數。 |
| drop_point.distance_lesser | 浮點數 | 當相鄰多段軌跡線段的端點兩兩之間距離均小於給定的時間長度時,將其合并(僅保留起點和終點)。 |
| drop_point.period_lesser | 可以轉化為Interval類型的字串 | 當相鄰多段軌跡線段的時間長度之和小於給定的時間長度時,將其合并(僅保留起點和終點)。 |
描述
根據提前設定的規則切分軌跡對象,返回切分後的子軌跡數組。
樣本
SELECT ST_Resample(ST_MakeTrajectory('POINT(1 1)'), '{"add_point.distance_lesser":3}');
st_resample
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
{"trajectory":{"version":1,"type":"STPOINT","leafcount":1,"start_time":"2000-01-01 00:00:00","end_time":"2000-01-01 00:00:00","spatial":"POINT(1 1)","timeline":["2000-01-01 00:00:00"]}}
(1 row)
SELECT ST_Resample(ST_MakeTrajectory('POINT(1 1)'), '{"add_point.period_lesser":"2 day"}');
st_resample
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
{"trajectory":{"version":1,"type":"STPOINT","leafcount":1,"start_time":"2000-01-01 00:00:00","end_time":"2000-01-01 00:00:00","spatial":"POINT(1 1)","timeline":["2000-01-01 00:00:00"]}}
(1 row)
SELECT ST_Resample(ST_MakeTrajectory('POINT(1 1)'), '{"drop_point.distance_lesser":3}');
st_resample
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
{"trajectory":{"version":1,"type":"STPOINT","leafcount":1,"start_time":"2000-01-01 00:00:00","end_time":"2000-01-01 00:00:00","spatial":"POINT(1 1)","timeline":["2000-01-01 00:00:00"]}}
(1 row)