Postgis计算两个以上点之间的距离

Postgis calculate the distance between points more than two

我有一个 table 在其中有一个位置。有什么可靠的方法可以使用 Postgis 计算 A --> B --> C --> D 等之间的距离。

Distance = AB + AC + CD etc.

每个点都有{lat, lng}。

感谢您提供的任何帮助。

您可以使用 leadlag 处理 window 的 next/previous 行。然后,您可以计算距离,如果需要,可以在外部查询中 sum 它。

SELECT sum(dist) 
FROM (
  SELECT id, ST_DistanceSphere(geom, lead(geom) OVER(ORDER BY id)) as dist 
  FROM myTable) sub;