2016-04-29 4 views
0

В настоящее время я использую Rselenium для ввода имен врачей в Карты Google, а затем собираю адреса, связанные с этими именами. Например, если я буду вводить «Сьюзан Марра», моя текущая программа вернет «11782 Sand Point Way NE, Сиэтл, WA 98125», адрес ее практики.Есть ли пакет R для доступа к API google places?

Первоначально это сработало, но количество адресов в настоящее время делает его запретительно медленным (мне нужно дать карты полсекунды для загрузки после ввода имени). Есть ли способ сделать то же самое быстрее с помощью API и ggmaps или другого R-пакета?

Я просмотрел документацию для нескольких пакетов, связанных с Google Maps, и ничего не нашел с этой функциональностью.

ответ

2

С ggmap вы можете получить как лат/лон от адреса, используя geocode(), так и адрес от лат/lon, используя revgeocode().

geocode() очень похож на поиск места на картах Google. Если вы не знаете точный адрес, вы можете указать строку поиска, и он попытается найти его для вас.

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

Благодарим за ответ. Я уточнил свой вопрос. Мои искренние извинения не были яснее в первый раз. – RyGuy

+1

@RyGuy вы бы использовали 'add <-" Susan Marra "; геокодировать (добавить); ... и т. д. (хотя может быть трудно найти только «сусан-марру» - вам, возможно, потребуется знать, что это в Сиэтле – SymbolixAU

Смежные вопросы