【发布时间】:2023-12-17 20:34:01
【问题描述】:
我正在尝试使用纬度经度和高度(海拔)计算两点之间的距离。
我使用 euklides 公式来计算距离:
D=√((Long1-Long2)²+(Lat1-Lat2)²+(Alt1-Alt2)²)
我的点是地理坐标,当然高度是我在海面上的高度。 我只有 lat 和 lng,我正在使用 GOOGLE API Elevation 来获取我的高度。
我正在开发一个应用程序来计算我的行进距离(在我的滑雪板上)。我使用过的每个应用程序都会以包含的高度进行距离旅行。像 #Endomondo 或 #Garmin 一样,我无法在 2D 空间中获得距离,因为真实距离会与我返回的距离不同。
哪个公式最适合计算我的距离?当然包括高度。
我正在使用 Python 和 PostGis 编写我的应用程序。
【问题讨论】:
-
为什么不在Postgis中存储坐标并使用ST_distance函数?
-
有几篇文章对 Garmin 和其他公司在计算中使用海拔高度的说法提出异议。 trailhunger.com/info/articles/garmin-distance-calculation 。在等式中,您将度数和米数结合起来。
-
嘿,@sebb,你觉得答案有帮助吗?
标签: python django postgis geodjango geographic-distance