2016-12-26 10 views
0

Я работаю над кадром данных значений широт и долгот, чтобы получить соответствующий адрес, используя функцию coordinates2politics, доступную в наборе инструментов для научных исследований данных. Функция работает хорошо для одного длинного значения lat &, но при анализе массива в теле вызова POST это не работает.maps2политики: обратное геокодирование работает неправильно

Фрагмент кода:

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 = 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 

ответ

0

Ну, я нашел решение Проблемы заключалась в определении data объекта как функция нуждается массив из двух ключевых значений каждого correspondes к [lat,long] пару поэтому объект данных должен быть определен как data <- paste0("[",paste(paste0("[",x$lat,",",x$long,"]"),collapse=","), «] ")