如何使用另一个SpatialPolygonsDataFrame限定SpatialPolygonsDataFrame?

如何使用另一个SpatialPolygonsDataFrame限定SpatialPolygonsDataFrame?,r,gis,sp,census,R,Gis,Sp,Census,我有来自美国人口普查网的人口普查数据的形状文件 我已经使用rdgal库中的readOGR将文件读入R sp1:投票区-空间多边形框架 sp2:比sp1更大区域和更高分辨率的块级别-空间多边形数据帧 我曾尝试使用rgeos库中的gIntersection,但它没有返回我需要的内容。或者我不知道如何正确使用它 如何使用sp1作为空间限制从sp2提取低分辨率多边形和关联数据?换句话说,我想知道sp1中sp1和sp2相交的所有块 当前工作方案 下面的代码返回sp2的索引值向量,其中多边形在sp1中至

我有来自美国人口普查网的人口普查数据的形状文件

我已经使用rdgal库中的readOGR将文件读入R

sp1:投票区-空间多边形框架

sp2:比sp1更大区域和更高分辨率的块级别-空间多边形数据帧

我曾尝试使用rgeos库中的gIntersection,但它没有返回我需要的内容。或者我不知道如何正确使用它

如何使用sp1作为空间限制从sp2提取低分辨率多边形和关联数据?换句话说,我想知道sp1中sp1和sp2相交的所有块

当前工作方案

下面的代码返回sp2的索引值向量,其中多边形在sp1中至少有一个点,但我想知道是否有更简单的方法

library(rgeos)
result <- vector()
for (i in 1:nrow(sp2)) {
    if(gContains(sp1, sp2[i,])) {
        result <- c(result, i)
    }
}
库(rgeos)
结果try

按对包含要素对的关系

sp2[sp1,]

选择那些与sp1相交的
sp2
功能,但一定要阅读
vignette('over')
以了解限制(它包括只接触的功能)。

帮助文档没有太大意义,但设置byid=true就可以了。
sp2[sp1,]