使用GPS坐标计算最短距离

0 geometry gps geolocation

我想知道计算公式,借助GPS坐标进行最短距离计算,精度> = 5 mtr.

我查看了Haversine公式和大圆距离公式.但它们适用于长距离计算.如果我们谈论mtrs的准确性应该使用哪个公式?

Chr*_*oph 5

文森特的公式在地球形状的WGS84近似上精确到毫米级(这将是过度的,显然,地球与WGS84不一致).

几年前,我在Javascript中实现了一些距离计算算法.如果您对代码缺乏评论,请随时询问您是否对算法有任何疑问.

一个潜在的问题是这些算法在海平面工作并且不考虑高度差异.改为转换为地心笛卡尔坐标并使用直线距离代替可能是一个更好的主意...

d经度?,纬度?和高度点的直线距离的直接表达式h由下式给出

k = ?(a²·cos²? + b²·sin²?)
r = (a²/k + h)·cos?
z = (b²/k + h)·sin?
d = ?((z - z')² + r² + r'² - 2·r·r'·cos(? - ?'))
Run Code Online (Sandbox Code Playgroud)

具有以下paramteres值

a = 6378137m
b = (a·297.257223563)/298.257223563
Run Code Online (Sandbox Code Playgroud)