2016-12-26 3 views
0

Ich arbeite an einem Datenrahmen von Breiten- und Längenwerten, um die entsprechende Adresse mit der coordinates2politics Funktion zu erhalten, die im Data Science Toolkit verfügbar ist. Die Funktion funktioniert gut für einen einzelnen Breitengrad & lang, aber wenn ich ein Array im Körper eines POST Anrufs analysiere, funktioniert es nicht.coordinates2politics: Reverse Geocoding funktioniert nicht korrekt

Code-Snippet:

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 

Die Folge Orte für einen anderen lat und lange Werte sind, und ich weiß nicht, warum? Hier ist das Ergebnis für die erste Eingabe, Sie können beobachten, dass 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 

Antwort

0

Well, fand ich die Lösung Das Problem bei der Definition des data Objekts war, als die Funktion eine Anordnung von zwei Schlüsselwerten jeweils correspondes zu [lat,long] Paaren so das Datenobjekt muss sollte als data <- paste0("[",paste(paste0("[",x$lat,",",x$long,"]"),collapse=","), „definiert werden] ")

Verwandte Themen