如何识别两个不同的SpatialPixelDataFrame中的公共坐标

时间:2017-03-26 15:27:30

标签: r geospatial sp gstat spatial-data-frame

我有两个SpatialPixelDataFrames(a和b),它们的公共坐标/位置很少。我需要识别这些常见坐标并从两个数据帧中删除它们。

虽然我已经能够识别和分离公共坐标点(an2和bn2),但我觉得我的代码效率非常低。有没有更好的方法来做到这一点。我在这里分享了我的代码。

其次,我也不确定如何从原始数据框“a”和“b”中删除这些位置。

谢谢

# separating the points with same coordinates 

a<-data.frame(x=c(1,4,6,3,2),y=c(1,3,5,2,9),z=c(5,6,7,8,3))
b<-data.frame(x=c(2,4,2,3,4),y=c(9,3,6,7,4),z=c(3,6,3,4,9))
gridded(a) = ~x+y
gridded(b) = ~x+y

# comparing x coordinates
res <- outer(a@coords[,1], b@coords[,1], `==`)

# an and bn have common x coordinates
index.temp<-which(res,arr.ind = T)
an<-a[unique(index.temp[,1]),]
bn<-b[unique(index.temp[,2]),]

#comparing y coordinates
res <- outer(an@coords[,2], bn@coords[,2], `==`)
index.temp<-which(res,arr.ind = T)

#an2 and bn2 have comon x and y coordinates
an2<-an[unique(index.temp[,1]),]
bn2<-bn[unique(index.temp[,2]),]

0 个答案:

没有答案