对一条轨迹计算密度,表示为邻域内的点的数量。
语法
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)