Sto considerando rChart/LeafLet per creare un'app brillante per le vendite di case nella mia contea. Ci sono diverse centinaia di case in vendita in un dato momento. Vuoi mappare l'indirizzo stradale alla geolocalizzazione (lat/long) per tutti e visualizzarli su una mappa. Quindi, sto cercando un pacchetto r, un servizio o un database in grado di mappare l'indirizzo stradale alla geolocalizzazione.indirizzo per geolocalizzazione lat/long
risposta
ho usato Google Geolocation, questo è semplice da installare e facile da implementare su quasi tutto il progetto:
https://developers.google.com/maps/documentation/geocoding/intro
Per riferimento futuro, questo fa parte di un commento, ma immagino che non abbia abbastanza rappresentanti per farlo così bene. – jlhoward
Grazie Harvey. Le mappe goole limitano il numero di richieste a 10/sec o 2500 al giorno. Che va bene c'è un modo per fare una richiesta di massa. Supponiamo che io mandi 100 indirizzi stradali e ottenga 100 lon/lat? – Antex
Scusa avrei dovuto dire che c'era un limite. ma per le piccole applicazioni non c'è molto da preoccuparsi. Sono riuscito a fare più cose in un'app per iOS semplicemente facendo il loop delle richieste. Anche se potrebbe essere necessario limitare la velocità a causa di connessioni multiple troppo veloci potrebbe bloccarti. Scusa, non conosco le specifiche R! – Harvey
Ecco una funzione basata su suggerimento di Harvey. Cercherà l'indirizzo e darà le coordinate del primo risultato. Dai un'occhiata alla struttura di x
nella funzione per vedere altre informazioni che puoi ottenere.
geocodeAdddress <- function(address) {
require(RJSONIO)
url <- "http://maps.google.com/maps/api/geocode/json?address="
url <- URLencode(paste(url, address, "&sensor=false", sep = ""))
x <- fromJSON(url, simplify = FALSE)
if (x$status == "OK") {
out <- c(x$results[[1]]$geometry$location$lng,
x$results[[1]]$geometry$location$lat)
} else {
out <- NA
}
Sys.sleep(0.2) # API only allows 5 requests per second
out
}
Ad esempio:
R> geocodeAdddress("Time Square, New York City")
[1] -73.98722 40.7575
'nominatim': https://github.com/hrbrmstr/nominatim; 'ggmap :: geocode'; 'geocodeHERE :: geocodeHERE_simple'; pacchetto 'geonames'; anche 'google r street address geolocation' – hrbrmstr
Articolo eccellente con esempio di codice (utilizzando il pacchetto ggmap): http://www.shanelynn.ie/massive-geocoding-with-r-and-google-maps/ –