【发布时间】:2023-04-02 21:57:02
【问题描述】:
我需要使用 Bing 地图 API 来获取密码列表(印度)的坐标数据。我可以使用代码对小型数据集执行此操作:
get_lat_long <- function(pincodes) {
# key: https://www.bingmapsportal.com/Application
require(XML); require(data.table)
PinCodeLatLong <- data.frame(pincode = "Temp", lat = "Lat", long = "Long")
for(i in 1:length(pincodes)){
var = pincodes[i]
link=paste0("http://dev.virtualearth.net/REST/v1/Locations?postalCode=",var,"&o=xml&maxResults=1&key=<mykey>")
#data<- xmlParse(link)
xml_data <- xmlToList(xmlParse(link))
PinCodeLatLongtemp <- data.frame(pincode = "Temp", lat = "Lat", long = "Long")
PinCodeLatLongtemp$pincode <- var
PinCodeLatLongtemp$lat <- xml_data$ResourceSets$ResourceSet$Resources$Location$Point$Latitude
PinCodeLatLongtemp$long <- xml_data$ResourceSets$ResourceSet$Resources$Location$Point$Longitude
PinCodeLatLong <- rbindlist(list(PinCodeLatLongtemp,PinCodeLatLong), fill = T)
}
return(PinCodeLatLong)
}
master_lat_long <- get_lat_long(pincode_map$Pincode)
master_lat_long <- dplyr::filter(master_lat_long, !is.na(pincode))
master_lat_long <- master_lat_long[!duplicated(master_lat_long),]
pincode_map <- merge(pincode_map, master_lat_long, by.x="Pincode", by.y="pincode", all.y=FALSE)
但是,Bing Maps Basic API 一次只允许 2500 个数据点,我需要为大型数据集(100,000+)执行此操作。将公式分区并将其应用于文件 master_lat_long 的最佳方法是什么?有没有办法自动做到这一点?
【问题讨论】:
标签: r bing-maps geo data-partitioning