我对R非常陌生,作为物流公司的一名顾问,我有兴趣获取TSP / VRP示例代码,以了解概念证明将如何工作。
我下载了R 3.5.1和一些运行示例TSP问题解决代码所需的库。 但是,由于它使用ggmap和ggplot2来触发地址解析,所以我陷入了困境,但是Google降低了对不带appKey的geocodingAPI调用的支持。
地理编码的原始代码如下:
#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
必须是一维原子向量或列表
有人在乎解释该错误的含义以及如何解决该错误吗?
这肯定是一个noobie问题,但是请耐心等待,因为我对R真的很陌生。
非常感谢您的帮助。