#
# API request - Baidu Map Service
# @z
rm(list = ls())
setwd('C:/Users/Zihan/iCloudDrive/Desktop/PGDoc/Year2-2021-2022/Project_TMA/Work202204/CountyTemp')
AK <- '...' # Access key
countylist <- haven::read_stata(file = "countyElevation.dta")
county <- as.matrix(countylist$county)
# module
library(rjson)
library(RCurl)
# initialization
baidu_lat <- c()
baidu_lng <- c()
baidu_address <-c()
baidu_geo <- c()
content = data.frame()
count = 0
# request
for (count in c(1:length(county))) {
location <- county[count]
print(location)
url<-paste("http://api.map.baidu.com/geocoding/v3/?address=",location,"&output=json&ak=",AK,sep="")
url_string <- URLencode(url)
# getURI
connect <- getURI(url_string)
# Process JSON
temp_geo <- fromJSON(connect)
temp_lat<-temp_geo$result$location$lat
temp_lng<-temp_geo$result$location$lng
comprehens <- temp_geo$result$comprehension
if (temp_geo$status==0){
#data
baidu_geo <-c(baidu_geo,temp_geo)
content[count,1] <- county[count]
content[count,2] <- temp_lng
content[count,3] <- temp_lat
content[count,4] <- comprehens
}
}
colnames(content) <- c("county","lng","lat",'comprehensive')
haven::write_dta(data = content,path = "countyMatch2.dta")