我正在尝试使用经纬度和高度(海拔)计算两点之间的距离。
我使用 euklides 公式来计算距离:
D=√((Long1-Long2)²+(Lat1-Lat2)²+(Alt1-Alt2)²)
我的点是地理坐标,当然高度是我在海平面以上的高度。 我只有纬度和经度,我正在使用 GOOGLE API Elevation 来获取我的高度。
我正在开发一个应用程序来计算我的行进距离(在我的滑雪板上)。我使用过的每个应用程序都会获得包含高度的行进距离。像#Endomondo 或#Garmin 一样,我无法在 2D 空间中获得我的距离,因为真实距离会与我返回的距离不同。
哪个公式最适合计算我的距离?当然包括高度。
我正在使用 Python 和 PostGis 编写我的应用程序。
请您参考如下方法:
您可以使用 geopy 包或 Vincenty's 计算平面坐标之间的距离,例如以米为单位公式,直接粘贴坐标。假设结果是 d 米。那么总行进距离为 sqrt(d**2 + h**2),其中 h 是以米为单位的海拔变化。
