Je veux créer une "matrice" de la distance entre les coordonnées multiples les uns avec les autres. De préférence en utilisant dplyr/geosphere. J'ai déjà vu que le paquet de la géosphère offre cela. J'ai réussi à créer la distance entre deux vecteurs mais j'ai des difficultés à créer la matrice complète.Geosphere/dplyr: créer une matrice de distance entre les coordonnées
Ceci est le tableau d'exemple avec plusieurs coordonnées.
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
Et c'est la sortie Je cherche:
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
J'ai essayé à l'aide géosphère, mais je ne ai trouvé un moyen de calculer la distance entre deux colonnes (qui, dans ce résultat snippet dans un 0).
library(geosphere)
df$distance <- distVincentyEllipsoid(df[,c('longitude','latitude')],
df[,c('longitude','latitude')])