複数の座標間の距離の「行列」を作成したい。好ましくは、dplyr/geosphereを使用する。私はすでに地圏パッケージがこれを提供しているのを見た。私は2つのベクトル間の距離を作成することができましたが、完全な行列を作成するのは困難です。Geosphere/dplyr:座標間の距離の行列を作成する
これは、複数の座標を持つサンプルテーブルです。
df <- data.frame(latitude = c(49.48609,-8.14671,11.28625),
longitude = c(8.463678,143.05793,-11.18285))
latitude longitude
1 49.48609 8.463678
2 -8.14671 143.057930
3 11.28625 -11.182850
そして、これは私が探しています出力されます:私は地圏使用して試してみたが、私は2つのだけの列(Aでこのスニペットで結果間の距離を計算する方法を発見し
latitude longitude distance-latlon1 distance-latlon2 distance-latlon3
1 49.48609 8.463678 NA *latlon2><latlon1 *latlon3><latlon1
2 -8.14671 143.057930 *latlon1><latlon2 NA *latlon3><latlon2
3 11.28625 -11.182850 *latlon1><latlon3 *latlon2><latlon3 NA
0)。
library(geosphere)
df$distance <- distVincentyEllipsoid(df[,c('longitude','latitude')],
df[,c('longitude','latitude')])