這是緯度爲經度&的位置數據框。如何快速確定點(緯度和經度)是否在一個國家內?
library(data.table)
a1=seq(10,60,1);a2=seq(70,140,1)
a3=lapply(a1,function(i){res=data.table(i,a2)})
pretb=rbindlist(a3,fill=T);
我想通過下面的代碼來確認中國範圍內的每一點。運行後找到
,總共用了近40分鐘纔得到結果。
library(maps)
> Sys.time()
[1] "2017-06-23 12:54:12 CST"
> bb=apply(pretb,1,function(ce){
+ aa=map.where(database="world", ce[3], ce[2])
+ })
> bb
> Sys.time()
[1] "2017-06-23 13:35:56 CST"
實際上,不能用這麼長的時間來執行代碼。有沒有什麼快速的方法來獲得判斷或其他更好的功能或包裝效率更高?
你在哪裏使用最新版本的地圖包?在上一次更新v3.2(2017年6月8日)中,map.where()變得相當快。 –