2015-10-06 1 views
0

J'ai un data.frame avec 1500 entrées de latitude/longitude. J'ai besoin de mapper ces coordonnées à leurs codes postaux. Existe-t-il un moyen de faire cela en plus de les entrer dans une à la fois à un api de type geonames? Je voudrais un paquet dans R qui prend dans un combo lat-lon et produit un code postal pour chaque ligne de mon data.frame.Codes postaux de Lat/Lon (requête par lots)

+0

Cochez également cette case: http://stackoverflow.com/questions/13316185/r-convert-zipcode-or-lat-long-to-county –

Répondre

0

Utilisation de l'API ouverte StreetMap, vous pouvez essayer

library(RCurl) 
library(RJSONIO) 

latlon2zip <- function(lat, lon) { 
    url <- sprintf("http://nominatim.openstreetmap.org/reverse?format=json&lat=%f&lon=%f&zoom=18&addressdetails=1", lat, lon) 
    res <- fromJSON(url) 
    return(res[["address"]][["postcode"]]) 
} 

latlon2zip(lat=52.5487429714954, lon=-1.81602098644987) 

Pour utiliser la fonction latlon2zip dans transform, utilisez Vectorize.