【问题标题】:How do I qualify a SpatialPolygonsDataFrame using another SpatialPolygonsDataFrame?如何使用另一个 SpatialPolygonsDataFrame 限定 SpatialPolygonsDataFrame?
【发布时间】:2016-05-28 15:11:55
【问题描述】:

我有来自 US census.gov 的人口普查数据的 Shapefile。

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

sp1:投票区 - SpatialPolygonsDataFrame

sp2:比 sp1 更大区域和更高分辨率的块级别 - SpatialPolygonsDataFrame

我尝试使用 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)
    }
}

【问题讨论】:

    标签: r gis sp census


    【解决方案1】:

    试试

    gContains(sp1, sp2, byid = TRUE)
    

    for pair-wise 包含特征对的关系。

    sp2[sp1,]
    

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

    【讨论】:

    猜你喜欢
    • 2018-10-15
    • 2012-04-30
    • 2012-12-08
    • 2017-03-30
    • 2013-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-16
    相关资源
    最近更新 更多