2016-04-29 1 views
0

J'utilise actuellement Rselenium pour saisir les noms des médecins dans Google Maps, puis collecter les adresses associées à ces noms. Par exemple, si je saisis "Susan Marra" mon programme actuel retournera "11782 Sand Point Way NE, Seattle, WA 98125", l'adresse de sa pratique.Existe-t-il un package R pour accéder à l'API google place?

Cela a fonctionné correctement à l'origine, mais le nombre d'adresses l'a maintenant rendu extrêmement lent (je dois donner des cartes une demi-seconde à charger après avoir entré le nom). Est-il possible de faire la même chose plus rapidement en utilisant l'API et ggmaps, ou un autre paquet R?

J'ai parcouru la documentation de quelques paquets liés à Google Maps et je n'ai rien trouvé avec cette fonctionnalité.

Répondre

2

Avec ggmap vous pouvez obtenir à la fois la latitude/longitude à partir d'une adresse à l'aide geocode() ou l'adresse d'une latitude/longitude en utilisant revgeocode().

geocode() ressemble à chercher une place dans google maps. Si vous ne connaissez pas l'adresse exacte, vous pouvez lui donner une chaîne de recherche et elle essaiera de la trouver pour vous.

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

Nous vous remercions de votre réponse. J'ai clarifié ma question. Mes sincères excuses pour ne pas être plus clair la première fois. – RyGuy

+1

@RyGuy vous utiliseriez 'ajouter <-" Susan Marra "; géocode (ajouter); ... etc'. (bien qu'il puisse avoir du mal à trouver juste 'susan marra' - vous devrez peut-être savoir que c'est à Seattle – SymbolixAU