Geolocation 利用GPS坐标计算最短距离

Geolocation 利用GPS坐标计算最短距离,geolocation,gps,geometry,Geolocation,Gps,Geometry,我想知道借助GPS坐标计算最短距离的公式,精度>=5米 我已经检查了哈弗森公式和大圆距离公式。但它们适用于远距离计算。如果我们讨论MTR中的精度,应该使用哪个公式?如果(long0,lat0)是一个点,而(long1,lat1)是另一个点: 对于小距离,您可以使用: x0 = long0 * r_earth * cos(lat0) y0 = lat0 * r_earth x1 = long1 * r_earth * cos(lat1) y1 = lat1 * r_earth dx = x0

我想知道借助GPS坐标计算最短距离的公式,精度>=5米

我已经检查了哈弗森公式和大圆距离公式。但它们适用于远距离计算。如果我们讨论MTR中的精度,应该使用哪个公式?

如果(long0,lat0)是一个点,而(long1,lat1)是另一个点:

对于小距离,您可以使用:

x0 = long0 * r_earth * cos(lat0)
y0 = lat0  * r_earth
x1 = long1 * r_earth * cos(lat1)
y1 = lat1  * r_earth
dx = x0 - x1
dy = y0 - y1
d = sqrt(dx*dx + dy*dy)
long
=经度(弧度)
lat
=纬度(弧度)
r\u地球
=地球半径

通过分解出地球和/或假设cos(lat0)=cos(lat1),可以进一步简化此公式。

如果(long0,lat0)是一个点,而(long1,lat1)是另一个点:

对于小距离,您可以使用:

x0 = long0 * r_earth * cos(lat0)
y0 = lat0  * r_earth
x1 = long1 * r_earth * cos(lat1)
y1 = lat1  * r_earth
dx = x0 - x1
dy = y0 - y1
d = sqrt(dx*dx + dy*dy)
long
=经度(弧度)
lat
=纬度(弧度)
r\u地球
=地球半径

您可以通过分解出
r_earth
和/或假设cos(lat0)=cos(lat1)来进一步简化此公式。

在地球形状的WGS84近似值上精确到毫米级(很明显,地球与WGS84的一致程度不同,这将是过分的)

几年前,我实现了一些算法。如果您对算法有任何疑问,请随时询问,因为代码中没有注释

一个潜在的问题是,这些算法在海平面上工作,不考虑高度差。最好改为使用直线距离

经度
φ
、纬度
λ
和高度
h
的点的直线距离
d
的直接表达式如下所示:

k = √(a²·cos²φ + b²·sin²φ)
r = (a²/k + h)·cosφ
z = (b²/k + h)·sinφ
d = √((z - z')² + r² + r'² - 2·r·r'·cos(λ - λ'))
使用以下参数值

a = 6378137m
b = (a·297.257223563)/298.257223563
在WGS84近似地球形状的基础上精确到毫米级(很明显,地球与WGS84的一致程度不高,这将是过分的)

几年前,我实现了一些算法。如果您对算法有任何疑问,请随时询问,因为代码中没有注释

一个潜在的问题是,这些算法在海平面上工作,不考虑高度差。最好改为使用直线距离

经度
φ
、纬度
λ
和高度
h
的点的直线距离
d
的直接表达式如下所示:

k = √(a²·cos²φ + b²·sin²φ)
r = (a²/k + h)·cosφ
z = (b²/k + h)·sinφ
d = √((z - z')² + r² + r'² - 2·r·r'·cos(λ - λ'))
使用以下参数值

a = 6378137m
b = (a·297.257223563)/298.257223563

谢谢,我正在使用SIM18 GPS模块,该模块用于车辆跟踪器。对于跟踪应用,我们需要准确的结果。它适合跟踪应用吗?@Prakesh:我不知道你的意思。你认为它不够准确吗?你说过你不想使用大圆公式,因为你的距离很小。对于小距离,该公式将足够精确。如果它不符合您的要求,您必须使用大圆公式。非常感谢。“我会查一查,然后给你结果。”托马拉克·格雷特·卡尔:普拉卡什说他对长途旅行不感兴趣。所以我假设人们可以忽略地球是椭球体,甚至忽略地球表面在特定的小距离上不是平坦的。@Curd:他根本没有这么说。他所说的只是他想要相当准确。此外,即使在短距离内,如果您在该位置的地球半径值是错误的,那么您的三角学也将是错误的。谢谢,我正在使用SIM18 GPS模块,该模块用于车辆跟踪器。对于跟踪应用,我们需要准确的结果。它适合跟踪应用吗?@Prakesh:我不知道你的意思。你认为它不够准确吗?你说过你不想使用大圆公式,因为你的距离很小。对于小距离,该公式将足够精确。如果它不符合您的要求,您必须使用大圆公式。非常感谢。“我会查一查,然后给你结果。”托马拉克·格雷特·卡尔:普拉卡什说他对长途旅行不感兴趣。所以我假设人们可以忽略地球是椭球体,甚至忽略地球表面在特定的小距离上不是平坦的。@Curd:他根本没有这么说。他所说的只是他想要相当准确。而且,即使在很短的距离内,如果你在那个地方的地球半径值是错误的,那么你的三角学也会是错误的。