Using this code function from a previous stackoverflow:R: How to GeoCode a simple address using Data Science Toolbox
require("RDSTK")
library(httr)
library(rjson)
geo.dsk <- function(addr){ # single address geocode with data sciences toolkit
require(httr)
require(rjson)
url <- "http://www.datasciencetoolkit.org/maps/api/geocode/json"
response <- GET(url,query=list(sensor="FALSE",address=addr))
json <- fromJSON(content(response,type="text"))
loc <- json['results'][[1]][[1]]$geometry$location
return(c(address=addr,long=loc$lng, lat= loc$lat))
}
Now Example Code. This works fine:
City<-c("Atlanta, USA", "Baltimore, USA", "Beijing, China")
r<- do.call(rbind,lapply(as.character(City),geo.dsk))
This does not work.It says: "Error in json["results"][[1]][[1]] : subscript out of bounds"
Citzy<-c("Leicester, United Kingdom")
do.call(rbind,lapply(as.character(Citzy),geo.dsk))
I believe the error is because it cannot find the city. So I would like the code to just ignore it and keep running. How would I go about doing this? Any help would be greatly appreciated!
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…