Necesito encontrar un paquete en código fuente o R en R que realiza geocodificación batch utilizando Bing, Yahoo, OpenStreetmap. ¿Tienes alguna sugerencia?
Respuesta
¿Demasiados anuncios?
Denis Kash
Puntos
16
La API de que las condiciones cambian constantemente, pero esto debería funcionar ahora.
OSM:
devtools::install_github("hrbrmstr/nominatim")
library(nominatim)
b1 <- osm_geocode("Berlin, Germany")
b1[c("lat", "lon")]
Yahoo:
devtools::install_github("trestletech/rydn")
library(rydn)
options(RYDN_KEY="yourAPIkey", RYDN_SECRET="yourSecret")
b2 <- find_place("Berlin, Germany")
b2[c("latitude", "longitude")]
Bing: taRifx.geo (funciona con Google) y supuestamente funciona con Bing, pero nunca pude hacerlo funcionar, así que escribí mi propia función.
bGeoCode <- function(str, BingMapsKey){
require(RCurl)
require(RJSONIO)
u <- URLencode(paste0("http://dev.virtualearth.net/REST/v1/Locations?q=", str, "&maxResults=1&key=", BingMapsKey))
d <- getURL(u)
j <- fromJSON(d,simplify = FALSE)
if (j$resourceSets[[1]]$estimatedTotal > 0) {
lat <- j$resourceSets[[1]]$resources[[1]]$point$coordinates[[1]]
lng <- j$resourceSets[[1]]$resources[[1]]$point$coordinates[[2]]
}
else {
lat <- lng <- NA
}
c(lat,lng)
}
bGeoCode("Berlin, Germany", "yourAPIKeyHere")
Google:
library(ggmap)
geocode("Berlin, Germany", source="google")