如何使用另一个 SpatialPolygonsDataFrame 限定 SpatialPolygonsDataFrame?
How do I qualify a SpatialPolygonsDataFrame using another SpatialPolygonsDataFrame?
我有来自美国 census.gov 的人口普查数据的 Shapefile。
我已经使用 rdgal 库中的 readOGR 将文件读入 R。
sp1: 投票区 - SpatialPolygonsDataFrame
sp2:比 sp1 更大的区域和更高的分辨率的块级别 - SpatialPolygonsDataFrame
我尝试使用 rgeos 库中的 gIntersection,但它 return 不是我需要的。或者我不知道如何正确使用它
如何使用 sp1 作为空间限制从 sp2 中提取较低分辨率的多边形和相关数据?换句话说,我想知道 sp1 内所有 sp1 和 sp2 相交的块。
当前工作解决方案
下面的代码 return 是 sp2 的索引值向量,其中多边形在 sp1 内至少有一个点,但我想知道是否有更简单的方法。
library(rgeos)
result <- vector()
for (i in 1:nrow(sp2)) {
if(gContains(sp1, sp2[i,])) {
result <- c(result, i)
}
}
尝试
gContains(sp1, sp2, byid = TRUE)
for pair-wise 包含特征对的关系。
sp2[sp1,]
选择那些 sp2
与 sp1
相交的特征,但请阅读 vignette('over')
以了解限制(它包括仅接触的特征)。
我有来自美国 census.gov 的人口普查数据的 Shapefile。
我已经使用 rdgal 库中的 readOGR 将文件读入 R。
sp1: 投票区 - SpatialPolygonsDataFrame
sp2:比 sp1 更大的区域和更高的分辨率的块级别 - SpatialPolygonsDataFrame
我尝试使用 rgeos 库中的 gIntersection,但它 return 不是我需要的。或者我不知道如何正确使用它
如何使用 sp1 作为空间限制从 sp2 中提取较低分辨率的多边形和相关数据?换句话说,我想知道 sp1 内所有 sp1 和 sp2 相交的块。
当前工作解决方案
下面的代码 return 是 sp2 的索引值向量,其中多边形在 sp1 内至少有一个点,但我想知道是否有更简单的方法。
library(rgeos)
result <- vector()
for (i in 1:nrow(sp2)) {
if(gContains(sp1, sp2[i,])) {
result <- c(result, i)
}
}
尝试
gContains(sp1, sp2, byid = TRUE)
for pair-wise 包含特征对的关系。
sp2[sp1,]
选择那些 sp2
与 sp1
相交的特征,但请阅读 vignette('over')
以了解限制(它包括仅接触的特征)。