Координат2политика: обратное геокодирование не работает правильно
Я работаю над кадром данных значений широт и долгот, чтобы получить соответствующий адрес, используя coordinates2politics
функция доступна в наборе данных науки. Функция хорошо работает для одного значения lat & long, но когда я разбираю массив в теле POST
называть это не работает.
Фрагмент кода:
x <- data.frame(lat= c(35.18713,37.86058),long= c(-117.88536,-122.29673))
data <- paste0("[",paste(paste0("\"",x$lat,"%2c",x$long,"\""),collapse=","),"]")
url <- "http://www.datasciencetoolkit.org/coordinates2politics/"
response <- POST(url,body=data)
response
json <- fromJSON(content(response,type="text"))
json
Приведенные места для разных значений lat и long, и я не знаю почему? Вот результат для первого ввода, вы можете наблюдать, что lat = 51, long=53!!
json
[[1]]
[[1]]$politics
[[1]]$politics[[1]]
[[1]]$politics[[1]]$type
[1] "admin2"
[[1]]$politics[[1]]$friendly_type
[1] "country"
[[1]]$politics[[1]]$name
[1] "Kazakhstan"
[[1]]$politics[[1]]$code
[1] "kaz"
[[1]]$politics[[2]]
[[1]]$politics[[2]]$type
[1] "admin4"
[[1]]$politics[[2]]$friendly_type
[1] "state"
[[1]]$politics[[2]]$name
[1] "West Kazakhstan"
[[1]]$politics[[2]]$code
[1] "kz07"
[[1]]$location
[[1]]$location$latitude
[1] 51
[[1]]$location$longitude
[1] 53
1 ответ
Ну, я нашел решение Проблема была в определении data
объект как функция нуждается в массиве из двух ключевых значений, каждое из которых соответствует [lat,long]
пары, поэтому объект данных должен быть определен какdata <- paste0("[",paste(paste0("[",x$lat,",",x$long,"]"),collapse=","),
"]")