我想与函数" gIntersection"中的选项id分享一个问题。那让我松了4h。
平台:x86_64-pc-linux-gnu(64位)
R版本3.4.2(2017-09-28) - "短暂的夏天"
打包rgeos 0.3-27
我想计算" BUFF"之间的交集。 =一个大的空间多边形"和distrit =一个大的空间多边形数据框"。大空间多边形数据框'有一个ID列(IDDIST),我想在我的分析中进一步使用。在做交集之前,我检查了没有重复的IDDIST:
duplicated(distrit$IDDIST)
[1]虚假虚假虚假虚假虚假虚假虚假虚假虚假 虚假虚假虚假虚假虚假[18]虚假虚假虚假虚假 错误,错误,错误,错误,错误,虚假,错误,错误,错误 错误[35]错误,错误,错误,错误,错误,错误,错误,错误 虚假虚假虚假虚假虚假[52]虚假虚假虚假 错误,错误,错误,错误,错误,虚假,错误,错误,错误 错误[69]错误,错误,错误,错误,错误,错误,错误 错误的错误
inter=gIntersection(distrit,BUFF,byid=TRUE,id=distrit$IDDIST,checkValidity = TRUE)
duplicated(distrit$IDDIST)
[1]虚假虚假虚假虚假虚假虚假虚假虚假虚假虚假虚假虚假虚假虚假 [18]错误,错误,错误,错误,虚假,错误,虚假,错误,虚假,错误,虚假,虚假,错误,虚假 [35]虚假虚假虚假虚假虚假虚假虚假虚假虚假虚假虚假虚假虚假虚假 [52]错误,错误,错误,错误,虚假,错误,错误,虚假,错误,错误,错误,错误,真假 [69] FALSE TRUE TRUE FUE FUE FUE FALSE TRUE TRUE TRUE TRUE
输入数据distrit $ IDDIST不再是唯一的。 当我在没有选项id = distrit $ IDDIST的情况下执行相同的交集时,没有问题。我真的觉得有一个错误的选项id不应该修改输入数据。