15 Muszę znaleźć pakiet w R lub kod źródłowy w R, który wykonuje geokodowanie wsadowe przy użyciu Bing, Yahoo, OpenStreetmap. Masz jakieś sugestie? r geocoding batch bing-maps Adrian Dobra źródło Czy spojrzałeś na to, r-bloggers.com/batch-geocoding-with-r-and-google-maps ? Tylko Google, ale miejsce na początek? John Powell, Nie jestem pewien, czy to w ogóle pomaga, ale wciąż możesz rzucić maj Odpowiedzi: 18 Warunki API stale się zmieniają, ale to powinno działać już teraz. 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 (działa z Google) i podobno działa z Bing, ale nigdy nie udało mi się go uruchomić, więc napisałem własną funkcję. 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") cengel źródło
18 Warunki API stale się zmieniają, ale to powinno działać już teraz. 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 (działa z Google) i podobno działa z Bing, ale nigdy nie udało mi się go uruchomić, więc napisałem własną funkcję. 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") cengel źródło
Odpowiedzi:
Warunki API stale się zmieniają, ale to powinno działać już teraz.
OSM :
Yahoo :
Bing : taRifx.geo (działa z Google) i podobno działa z Bing, ale nigdy nie udało mi się go uruchomić, więc napisałem własną funkcję.
Google :
źródło