[英]Using distm function in R to calculate distance between two coordinates gives a different answer than when calculating the same thing in excel
我正在嘗試計算兩個坐標(40.777250, -73.872610) and (40.6895, -74.1745)
之間的距離。
在R中使用distm可獲得以下結果:
> distm (c(40.777250, -73.872610), c(40.6895, -74.1745), fun = distHaversine)
33713.61
當我使用Excel通過以下函數計算距離時
6378134 * ACOS(COS(RADIANS(90-40.777250)) *COS(RADIANS(90-40.6895)) +SIN(RADIANS(90-40.777250)) *SIN(RADIANS(90-40.6895)) *COS(RADIANS(-73.872610-(-74.1745))))
答案是27274.49199
。
我想知道為什么這兩種方法給出了不同的答案,以及我是否做錯了什么。 我嘗試了一個在線坐標距離計算器,它給出的答案與我的excel函數相同。
您必須更改經度和緯度的順序,因為(請參見插圖):
必須按經度和緯度(並按此順序!)指定地理位置。
result <- distm (c(-73.872610,40.777250), c(-74.1745, 40.6895), fun = distHaversine)
# [,1]
# [1,] 27274.5
要么:
distHaversine(c(-73.872610,40.777250), c(-74.1745, 40.6895))
# [1] 27274.5
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.