2016-04-29 13 views
0

Ich verwende derzeit Rselenium, um die Namen der Ärzte in Google Maps einzugeben, und sammle dann die mit diesen Namen verknüpften Adressen. Wenn ich zum Beispiel "Susan Marra" eingebe, würde mein aktuelles Programm "11782 Sand Point Way NE, Seattle, WA 98125", die Adresse ihrer Praxis, zurückgeben.Gibt es ein R-Paket für den Zugriff auf die Google Places-API?

Das funktionierte ursprünglich gut, aber die Anzahl der Adressen hat es jetzt sehr langsam gemacht (ich muss Karten eine halbe Sekunde laden, nachdem ich den Namen eingegeben habe). Gibt es eine Möglichkeit, die API und ggmaps oder ein anderes R-Paket schneller zu verwenden?

Ich habe die Dokumentation für einige Google Maps-Pakete durchgelesen und nichts mit dieser Funktionalität gefunden.

Antwort

2

Mit ggmap können Sie sowohl das lat/lon von einer Adresse mit geocode(), oder die Adresse von einem lat/lon mit revgeocode() erhalten.

geocode() ist so ziemlich wie die Suche nach einem Ort in Google Maps. Wenn Sie die genaue Adresse nicht kennen, können Sie ihr einen Suchstring geben und es wird versuchen, es für Sie zu finden.

library(ggmap) 

## get lat/lon from address  
add <- c("Whitehouse, DC", "Flinders Street Station, Melbourne") 

g <- geocode(add) 
g 
     lon  lat 
1 -77.03673 38.89761 
2 144.96706 -37.81827 

## get address from lat/lon 
## revgeocode(location = c(lon, lat)) 
apply(g, 1, function(x) revgeocode(location = c(x["lon"], x["lat"]))) 
[1] "The White House, 1600 Pennsylvania Ave NW, Washington, DC 20500, USA" 
[2] "Melbourne VIC 3000, Australia" 
+0

Vielen Dank für Ihre Antwort. Ich habe meine Frage geklärt. Ich entschuldige mich aufrichtig dafür, dass ich das erste Mal nicht klarer geworden bin. – RyGuy

+1

@RyGuy Sie würden 'add <-" Susan Marra "verwenden; Geocode (hinzufügen); ... usw. (Obwohl es schwierig sein kann, nur 'susan marra' zu finden - Sie müssen vielleicht wissen, dass es in Seattle ist – SymbolixAU