sparkR-根据GPS坐标判断行政区域
根据GPS坐标判断其行政区域方法很多,本方法主要通过调用高德API接口,判断其行政区域
1.单机版,在数据量小的情况下可采用单机版,当大于10万条数据时,用时会超过20分钟
rm(list=ls())
library(RCurl)
#测试数据
test <-
data.frame(lon=c(115.5660583464,116.0255749621,116.3999056987,116.4603790196,116.7411326333,117.3849387344,115.1680472056), lat=c(40.1109818799,39.8600058894,39.9031383143,39.5424745878,39.5418774826,40.6195326408,39.6489488846))
#连接经纬度存为导入API相应格式
paste_lonlat <- function(format1,format2,x=length(format1)){
if(x==1)
return(paste0(format1[1],",",format2[1]))
all <- paste0(paste_lonlat(format1,format2,x-1),"|",paste0(format1[x],",",format2[x]))
return(all)
}
#API限制一次性20个点
sample_n <- 1
times <- sample_n*20
k_value <- ceiling(nrow(test)/times)
value_all <- NULL
for(part in seq_len(k_value)){
if(part == k_value){
idx <- seq(