請不要濫用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