ST_DistanceCPA — 返回两个轨迹的最近接近点之间的距离。
float8
ST_DistanceCPA
(
geometry
track1
, geometry
track2
)
;
返回两个移动对象彼此之间的最小距离。
输入必须是由检查的有效轨迹 ST_IsValidTrajectory 。如果轨迹在其M范围内不重叠,则返回NULL。
可用性:2.2.0
This function supports 3d and will not drop the z-index.
-- Return the minimum distance of two objects moving between 10:00 and 11:00
WITH inp AS ( SELECT
ST_AddMeasure('LINESTRING Z (0 0 0, 10 0 5)'::geometry,
extract(epoch from '2015-05-26 10:00'::timestamptz),
extract(epoch from '2015-05-26 11:00'::timestamptz)
) a,
ST_AddMeasure('LINESTRING Z (0 2 10, 12 1 2)'::geometry,
extract(epoch from '2015-05-26 10:00'::timestamptz),
extract(epoch from '2015-05-26 11:00'::timestamptz)
) b
)
SELECT ST_DistanceCPA(a,b) distance FROM inp;
distance
------------------
1.96036833151395