Ich denke rChart/LeafLet, um eine glänzende App für den Wohnungsverkauf in meinem Land zu erstellen. Es gibt mehrere hundert Häuser zu einem bestimmten Zeitpunkt zum Verkauf. Sie möchten die Straßenadresse-zu-Geolocation (lat/lang) für alle anzeigen und auf einer Karte anzeigen. Also, ich bin auf der Suche nach einem Paket, Service oder einer Datenbank, die die Adresse der Straße zu Geolocation zuordnen können.Adresse zu Geolocation lat/lang
Antwort
I Google Geolokalisierung verwendet haben, ist dies einfach einzurichten und einfach fast Vorhaben auf:
https://developers.google.com/maps/documentation/geocoding/intro
Für zukünftige Referenz, dies gehört in einen Kommentar, aber ich denke, Sie haben nicht genug Rep, um das zu tun, also OK. – jlhoward
Danke Harvey. Die Goolemaps begrenzen die Anzahl der Anfragen auf 10/Sek. Oder 2500 pro Tag. Was ist in Ordnung. gibt es eine Möglichkeit, eine Massenanfrage zu machen. Sagen wir, ich sende 100 Straßenadressen rein und bekomme 100 lon/lat zurück? – Antex
Entschuldigung, ich hätte erwähnen sollen, dass es ein Limit gab. aber für kleine Anwendungen ist nicht viel zu befürchten. Ich schaffte es, mehrere in einer iOS-App durchzuführen, indem ich Anfragen einfach per Looping ausführte. Auch wenn Sie die Geschwindigkeit aufgrund mehrerer Verbindungen möglicherweise zu schnell begrenzen müssen, können Sie sich aussperren. Entschuldigung, ich kenne die R-Details nicht! – Harvey
Hier eine Funktion auf Harvey Vorschlag basiert. Es sucht nach der Adresse und gibt die Koordinaten des ersten Ergebnisses an. Werfen Sie einen Blick auf die Struktur von x
in der Funktion, um andere Informationen zu sehen, die Sie bekommen können.
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
}
Zum Beispiel:
R> geocodeAdddress("Time Square, New York City")
[1] -73.98722 40.7575
'nominatim': https://github.com/hrbrmstr/nominatim; 'ggmap :: geocode'; 'geocodeHERE :: geocodeHERE_simple'; 'Geonames' Paket; auch 'google r-straßenadresse geolocation' – hrbrmstr
Ausgezeichneter Artikel mit Codebeispiel (mit Paket ggmap): http://www.shanalynn.me/massive-geocoding-with-r-and-google-maps/ –