> library(geosphere) > a<-c(113.024474,28.187446) > b<-c(113.115411,22.966027) > dist<-distVincentySphere(a,b) > dist
计算两组变量相互间的最短距离git
> library(geosphere) > allhouse name Longitude Latitude 1 东圃怡景公寓 113.4686 23.10118 2 安居楼 113.3972 23.11963 3 安厦花园 113.4280 23.12134 4 白云一建宿舍 113.4000 23.11414 5 宝兴翠园 113.4206 23.11491 6 车陂居委小区 113.4000 23.11374 7 城市假日园 113.4042 23.12489 8 创业楼 113.3978 23.12135 9 翠屏富通雅苑 113.4252 23.11616 10 翠盈轩 113.4058 23.12361 11 东和园 113.4099 23.11380 12 东华居 113.4025 23.12148 13 东环新村 113.4076 23.11567 14 东圃59号大院 113.4222 23.12724 15 东圃边检宿舍 113.4043 23.11556 16 东圃法院宿舍 113.4043 23.11535 17 东圃公安宿舍 113.4031 23.11703 18 东圃供销社宿舍 113.4032 23.11704 19 东圃供销宿舍 113.4008 23.11556 20 东圃广场 113.4056 23.12321 > standardhouse name Longitude Latitude 1 天河桃苑 113.4077 23.10929 2 盈彩美居 113.4183 23.11442 3 金东花园 113.4000 23.11361 4 雅怡居 113.4025 23.11858 5 天河桃园居 113.4089 23.11389 6 羊城花园 113.4113 23.11877 7 景安花园 113.4265 23.11583 8 富力花园 113.4231 23.12040 9 园丁苑 113.4135 23.12185 10 悦盛苑 113.3981 23.12174 11 东华居 113.4025 23.12148 12 城市假日园 113.4042 23.12489 13 天雅居 113.4108 23.12438 > aLongitude<-allhouse$Longitude > aLatitude<-allhouse$Latitude > sLongitude<-standardhouse$Longitude > sLatitude<-standardhouse$Latitude > n<-length(aLongitude) > m<-length(sLatitude) > orderlist<-vector() > for(i in 1:n){ + distlist<-vector() + a<-c(aLongitude[i],aLatitude[i]) + for(k in 1:m){ + b<-c(sLongitude[k],sLatitude[k]) + dist<-distVincentySphere(a,b) + distlist[k]<-dist + next} + orderlist[i]<-which.min(distlist) + next} > allhouse$order<-orderlist > allhouse name Longitude Latitude order 1 东圃怡景公寓 113.4686 23.10118 7 2 安居楼 113.3972 23.11963 10 3 安厦花园 113.4280 23.12134 8 4 白云一建宿舍 113.4000 23.11414 3 5 宝兴翠园 113.4206 23.11491 2 6 车陂居委小区 113.4000 23.11374 3 7 城市假日园 113.4042 23.12489 12 8 创业楼 113.3978 23.12135 10 9 翠屏富通雅苑 113.4252 23.11616 7 10 翠盈轩 113.4058 23.12361 12 11 东和园 113.4099 23.11380 5 12 东华居 113.4025 23.12148 11 13 东环新村 113.4076 23.11567 5 14 东圃59号大院 113.4222 23.12724 8 15 东圃边检宿舍 113.4043 23.11556 4 16 东圃法院宿舍 113.4043 23.11535 4 17 东圃公安宿舍 113.4031 23.11703 4 18 东圃供销社宿舍 113.4032 23.11704 4 19 东圃供销宿舍 113.4008 23.11556 3 20 东圃广场 113.4056 23.12321 12
获取GIS坐标code
> library('RbaiduMaps') > library("RJSONIO") > GIS<-getGeoCodeBD("广州中泰广场") > GIS lat lon 23.15524 113.32968
批量抓取GIS坐标get
> library('RbaiduMaps') > library("RJSONIO") > houselist<-c("广州花都293大院","广州花都293医院小区","广州花都30号小区","广州花都澳景蓝庭","广州花都百合豪园","广州花都百合雅居","广州花都百寿路小区") > number<-length(houselist) > for (n in 1:number){ + i<-houselist[n] + GIS<-tryCatch({getGeoCodeBD(i)},error=function(e){"NA"}) + names(GIS)<-NULL + print(GIS) + next} [1] 23.37996 113.26831 [1] 23.38573 113.22427 [1] 23.38141 113.21939 [1] 23.40742 113.20572 [1] 23.41178 113.21541 [1] 23.47352 113.15592 [1] 23.41214 113.24474