निम्नलिखित कोड मैं सफलतापूर्वक समस्या हल हो गए हैं।
library(RJSONIO)
nrow <- nrow(test)
counter <- 1
test$lon[counter] <- 0
test$lat[counter] <- 0
while (counter <= nrow){
CityName <- gsub(' ','%20',test$CityLong[counter]) #remove space for URLs
CountryCode <- test$Country[counter]
url <- paste(
"http://nominatim.openstreetmap.org/search?city="
, CityName
, "&countrycodes="
, CountryCode
, "&limit=9&format=json"
, sep="")
x <- fromJSON(url)
if(is.vector(x)){
test$lon[counter] <- x[[1]]$lon
test$lat[counter] <- x[[1]]$lat
}
counter <- counter + 1
}
इस के रूप में एक बाहरी सेवा (openstreetmaps.org) यह बड़े डेटासेट के लिए कुछ समय लग सकता बुला रहा है। हालांकि, आप संभवतया केवल एक बार ऐसा करते हैं जब नए शहरों को सूची में जोड़ा गया है।
आप अपने geonames पैकेज से जीएनएसएआरएआर के साथ भी ऐसा कर सकते हैं - यह geonames.org वेब सेवा को कॉल करता है जो OpenStreetMap की नोमिनैटिम सेवा के साथ अपने बहुत सारे डेटा साझा करता है। – Spacedman
@ जोकहेम मैं इसके विपरीत कैसे करूं? मेरे पास अक्षांश और देशांतर है और मुझे ऊपर की तरह जेसन प्रारूप के माध्यम से खुली सड़क का उपयोग करके शहर और देश के नामों को खोजने की ज़रूरत है? –