我想知道用GPS座標進行計算的最短距離計算公式,準確度> = 5 mtr。使用GPS座標進行最短距離計算
我檢查了Haversine公式和大圓距公式。但它們適合長距離計算。如果我們談論mtrs的準確性,應該使用哪個公式?
我想知道用GPS座標進行計算的最短距離計算公式,準確度> = 5 mtr。使用GPS座標進行最短距離計算
我檢查了Haversine公式和大圓距公式。但它們適合長距離計算。如果我們談論mtrs的準確性,應該使用哪個公式?
如果(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_earth
=地球半徑
您可以通過分解進一步簡化此公式r_earth
和/或通過假設cos(lat0)== cos(lat1)。
Vincenty's formulae在WGS84近似地球形狀(這顯然是過度殺傷,地球不符合WGS84的那種程度)時精確到毫米級。
幾年前,我爲distance calculation in Javascript實現了一些算法。隨意地詢問你是否對算法有任何疑問,因爲代碼缺乏評論。
一個潛在的問題是這些算法在海平面上工作並且不考慮高度差異。這可能是一個更好的主意,而不是convert to geocentrical cartesian coordinates和使用直線距離,而不是...
直接表達了點的經度φ
,緯度λ
和高度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(λ - λ'))
具有以下值的paramteres
a = 6378137m
b = (a·297.257223563)/298.257223563
謝謝,我正在與SIM18 GPS模塊工作,其在車輛跟蹤器使用。爲跟蹤應用程序,我們需要準確的結果它適合跟蹤應用程序嗎? – Prakash
@Prakesh:我不知道你的意思。你認爲這不夠準確嗎?你說你不想使用大圓公式,因爲你有很小的距離。對於小距離,這個公式將是足夠準確的。如果它不符合你的要求,你必須使用大圓公式。 – Curd
非常感謝。我會檢查並找到結果。 – Prakash