J'ai un code postal pour chaque sommet d'un objet igraph. Je veux les convertir en coordonnées géographiques en utilisant ggmap afin que je puisse calculer l'attribut edge = distance géographique.Géocodage des attributs vertex igraph en utilisant ggmap
require(igraph)
require(ggmap)
g <- graph.ring(6)
V(grph)$postcode <- c("Johannesburg 2017",
"Rondebosch 8000",
"Durban 4001",
"Pietermaritzburg 3201",
"Jeffreys Bay 6330",
"Pretoria 0001")
Je pensais que je pouvais générer des coordonnées géographiques pour chaque sommet de cette façon:
V(g)$coordinate <- geocode(V(g)$postcode, sensor = FALSE,
output = "latlon", source = "google")
Le résultat est une liste de LatLon coordonnées pour tous les sommets répétés pour chaque sommet, pas un LatLon unique pour chaque sommet.
head(head(V(g)$coordinate)
[[1]]
[1] 28.03837 28.31993 31.02204 30.36661 24.91015 28.18540
[[2]]
[1] -26.18825 -25.84222 -29.84962 -29.65119 -34.05067 -25.74895
[[3]]
[1] 28.03837 28.31993 31.02204 30.36661 24.91015 28.18540
[[4]]
[1] -26.18825 -25.84222 -29.84962 -29.65119 -34.05067 -25.74895
[[5]]
[1] 28.03837 28.31993 31.02204 30.36661 24.91015 28.18540
[[6]]
[1] -26.18825 -25.84222 -29.84962 -29.65119 -34.05067 -25.74895
Les nombres -ve = latitude, + ve nombres = longitude. Qu'est-ce que je fais mal?
géocodage crée une liste de tuples pour chaque code postal. Chaque tuple contient une valeur de latitude et de longitude. – user2995175