Postgis计算两个以上点之间的距离
Postgis calculate the distance between points more than two
我有一个 table 在其中有一个位置。有什么可靠的方法可以使用 Postgis 计算 A --> B --> C --> D 等之间的距离。
Distance = AB + AC + CD etc.
每个点都有{lat, lng}。
感谢您提供的任何帮助。
您可以使用 lead
或 lag
处理 window 的 next/previous 行。然后,您可以计算距离,如果需要,可以在外部查询中 sum
它。
SELECT sum(dist)
FROM (
SELECT id, ST_DistanceSphere(geom, lead(geom) OVER(ORDER BY id)) as dist
FROM myTable) sub;
我有一个 table 在其中有一个位置。有什么可靠的方法可以使用 Postgis 计算 A --> B --> C --> D 等之间的距离。
Distance = AB + AC + CD etc.
每个点都有{lat, lng}。
感谢您提供的任何帮助。
您可以使用 lead
或 lag
处理 window 的 next/previous 行。然后,您可以计算距离,如果需要,可以在外部查询中 sum
它。
SELECT sum(dist)
FROM (
SELECT id, ST_DistanceSphere(geom, lead(geom) OVER(ORDER BY id)) as dist
FROM myTable) sub;