请不要滥用rgeos。这不是一个令人满意的答案 - 没有地区名称。原来的问题是在任何情况下微不足道的,因为spdep::nb2mat()
做到这一点(与矩阵的行和列名的小保养):
library(spdep)
library(sp)
ghana <- readRDS("GHA_adm1.rds")
row.names(ghana) <- as.character(ghana$NAME_1)
nb <- poly2nb(ghana)
mat <- nb2mat(nb, style="B")
colnames(mat) <- rownames(mat)
mat
使用rgeos::gTouches()
可以工作,特别是如果returnDense=FALSE
参数使用(即不要”。 t返回一个矩阵),但如果需要捕捉可能会失败。 spdep::poly2nb()
是首选路由,因为它使得捕捉成为可能,并且因为nb S3类比矩阵更灵活。
可以用spdep::poly2nb()
来加上rgeos::gUnarySTRtreeQuery()
的输出,该输出提供了具有重叠边界框的多边形列表作为候选邻居。这可以快速处理真正的大数据集。
您也可以张贴与R-空间上R-SIG-地理问题。
这个问题也许应该被要求http://gis.stackexchange.com这里关闭。 – 2014-10-22 01:34:28
Nah,我们得到了这个:-)但是,为了将来的参考,@帕斯卡的权利。对于R + GIS相关的q,这是一个很好的地方。 – hrbrmstr 2014-10-22 01:54:50