Ошибка: столбцы `address`,` lon`, `lat` должны быть 1d атомными векторами или списками при выполнении примера геокодирования TSP в R - PullRequest
0 голосов
/ 24 сентября 2018

Я очень плохо знаком с R, и как консультант, работающий с логистической компанией, я заинтересован в получении примеров кодов TSP / VRP, чтобы посмотреть, как будет работать доказательство концепции.

Я скачал R 3.5.1 и некоторые библиотеки, необходимые для запуска примера кода для решения проблем TSP.Тем не менее, я застрял, так как он использует ggmap и ggplot2 для запуска адресов геокодирования, но, тем не менее, Google устарел в поддержке вызовов их геокодированияAPI без appKey.

исходный код геокодирования выглядит следующим образом:

#geocode_df <- function(address) {
#  reply <- geocode(address, output = "all")$results[[1]]

#  tibble(
#    address = reply$formatted_address,
#    lon = reply$geometry$location$lng,
#    lat = reply$geometry$location$lat
#  )
#}

Я попытался изменить для использования прямого getURL и синтаксического анализа JSON следующим образом:

#geocode_df <- function(address){
#  address<- gsub(' ','%20',address)
#  geo_data <- getURL(paste("https://maps.googleapis.com/maps/api/geocode/json?address=",address,"&key=appKEY", sep=""))
#  json <- fromJSON(geo_data)
#  address = json$results[[1]]$formatted_address
#  lon = json$results[[1]]$geometry$location$lng
#  lat = json$results[[1]]$geometry$location$lat
#  reply <- data.frame(address, lat, lon)
#  tibble(
#    address = reply$address,
#    lon = reply$lon,
#    lat = reply$lat
#  )
#}

, а также попытался использовать опцию библиотеки googleway следующим образом:

geocode_df <- function(address) {
  reply <- google_geocode(address=address,key="[appKey]")$results[[1]]

  tibble(
    address = reply$formatted_address,
    lon = reply$geometry$location$lng,
    lat = reply$geometry$location$lat
  )
}

однако оба моих альтернативных способа столкнулись со следующей ошибкой: Ошибка: Столбцы address, lon, lat должны быть 1d атомными векторами или списками

Любой желающий может объяснить, что означает эта ошибка и как это сделать.Я решаю это?

Это, должно быть, вопрос новичка, но, пожалуйста, потерпите меня, поскольку я действительно новичок в R.

Ваша помощь очень ценится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...