对一条轨迹计算密度,表示为邻域内的点的数量。

语法

integer[] ST_Density(trajectory traj, float dr, interval dt);

参数

参数名称 描述
traj 待计算的轨迹对象。
dr 邻域的空间范围。
dt 邻域的时间范围。

描述

对每一个轨迹点,找到其邻域内属于此轨迹的总采样点数量。当一个采样点距离选定轨迹点空间距离小于dr(按照轨迹的SRID计算距离),时间距离小于dt时,认为此采样点在选定点的邻域内。每个点总在自己的邻域内。

示例

select ST_Density(st_makeTrajectory('STPOINT'::leaftype, ARRAY[1::float8, 2, 3 ,4, 5],
                                   ARRAY[2::float8, 10, 9, 8, 7], 4326, ARRAY['2010-01-01 11:30'::timestamp,
                                    '2010-01-01 11:31','2010-01-01 11:32','2010-01-01 11:33','2010-01-01 11:34']), 400000, '10 minute');
 st_density
-------------
 {1,3,4,4,3}
(1 row)