3

Rを使用して地球上の2点間の距離を計算しようとしています.

library(geosphere)
library(oce)

geodDist(StoreLocations$latitude[c(26)], StoreLocations$longitude[c(26)], 
      CustomerLocations$latitude[c(5)], CustomerLocations$longitude[c(5)]) 

Google マップに緯度/経度を入力する (距離測定機能)。合計距離は 1.88 km (1.17 マイル) ですが、これは上記のコードを使用して取得したものではありません。私はこれを手伝ってくれる人を見つけるのに苦労しています。

Store        51.68108210    -0.09732268 
Customer     51.66665932    -0.08300349 
4

1 に答える 1

3

ドキュメントを読むとgeosphere、引数の順序が逆になっているように見えます。geoDist(またはdistGeo2016 年 6 月 15 日にリリースされた最新バージョンのパッケージ) は、最初に経度、次に緯度を想定しています。あなたは最初に余裕があるようです。

df <- data.frame(long = c(-0.09732268, -0.08300349), lat = c(51.68108210, 51.66665932))

         long      lat
1 -0.09732268 51.68108
2 -0.08300349 51.66666

distGeo(df[1, ], df[2, ])

1885.795 (1.88 km)

また、パッケージの最新バージョンを使用していることを確認する必要があります。

于 2016-08-25T15:38:13.883 に答える