2015-07-30 1 views
3

Je suis en train de géocodage différents codes d'aéroport IATA en Italie, avec le code suivant (rudimentaire) dans ggmap (version 2,4)résultat géocodage différent de google maps

#list of all IATA codes 
geo_apt <- c("AOI", "BGY", "BLQ", "BRI", "CTA", "FCO", "LIN", "MXP", "NAP", 
"PMF", "PSA", "PSR", "RMI", "TRN", "VCE", "VRN") 

#preparing an empty dataframe to store the geocodes 
apt_geo <- data.frame(IATA=rep(NA,16), lon=rep(NA,16), lat=rep(NA,16)) 

#geocoding the codes 
for (i in seq_along(geo_apt)) { 
    apt_geo[i,1] <- geo_apt[i] 
    apt_geo[i,2] <- (geocode(paste(geo_apt[i],"airport")))[1] 
    apt_geo[i,3] <- (geocode(paste(geo_apt[i],"airport")))[2] 
} 

et la fonction geocode de ggmap fonctionne parfaitement très bien avec tous ces codes, à l'exception « PSR »

IATA  lon  lat 
1 AOI 13.363752 43.61654 
2 BGY 9.703631 45.66957 
3 BLQ 11.287859 44.53452 
4 BRI 16.765202 41.13751 
5 CTA 15.065775 37.46730 
6 FCO 12.246238 41.79989 
7 LIN 9.276308 45.45218 
8 MXP 8.725531 45.63006 
9 NAP 14.286579 40.88299 
10 PMF 10.295935 44.82326 
11 PSA 10.397884 43.68908 
12 PSR -81.117259 33.94855 #<- doens't work 
13 RMI 12.618819 44.02289 
14 TRN 7.647867 45.19654 
15 VCE 12.339771 45.50506 
16 VRN 10.890141 45.40000 

J'ai essayé d'utiliser revgeocode et les coordonnées correspondent à l'adresse suivante:

revgeocode(as.numeric(apt_geo[12,2:3])) 
#Information from URL : http://maps.googleapis.com/maps/api/geocode/json?latlng=33.948545,-81.1172588&sensor=false 
[1] "Kentucky Avenue, West Columbia, SC 29170, USA" 

Au contraire, si je vais à Google Maps, il fonctionne parfaitement bien:

map of Pescara airport

Est-ce que quelqu'un a une idée sur ce phénomène apparemment étrange?

EDIT

Après une suggestion dans les commentaires ci-dessous, j'ai essayé d'utiliser geocode(italy PSR airport) la version 2.4 à nouveau et au lieu de jeter un résultat plus précis ou même le même résultat, c'est l'avertissement que je suis arrivé:

geocode("italy PSR airport") 
    lon lat 
1 NA NA 
Warning message: 
geocode failed with status ZERO_RESULTS, location = "italy PSR airport" 

alors qu'avec la tentative airport PSR les coordonnées sont même différentes de celles des PSR airport (au moins cette fois-ci est un aéroport réel, bien que son code IATA est LEX au lieu du PSR).

revgeocode(as.numeric(geocode("airport PSR"))) 
Information from URL : http://maps.googleapis.com/maps/api/geocode/json?latlng=38.0381454,-84.5970727&sensor=false 
[1] "3895 Terminal Drive, Lexington, KY 40510, USA" 
+0

Avec 'la version 2.5 ggmap' , en utilisant 'geocode (" italy PSR airport ")', vous obtenez '12.8333 42.8333'. Mais 'revgeocode' montre que ce n'est pas correct. –

+0

@Pascal Comment avez-vous installé ggmap version 2.5? J'ai une version 2.4, et si j'essaie de faire 'geocode (" italy PSR airport ") Message d'avertissement: géocode échoué avec le statut ZERO_RESULTS, location =" italy PSR airport "' – MaZe

+0

Ici: https: // github. com/dkahle/ggmap # installation –

Répondre

0

Toute la question est possible duplicate

Néanmoins, je ne comprends pas la raison pour laquelle l'API Google Maps et utilisent différents ensembles de données ...