代码之家  ›  专栏  ›  技术社区  ›  gvan

按槽从空间多边形对象子集多边形

sp s4 r
  •  0
  • gvan  · 技术社区  · 7 年前

    我有“SpatialPolygons”对象,我想将@hole==FALSE的多边形子集,并创建一个新对象。

    str(my_对象)返回以下内容: structure output of my SpatialPolygons object

    使用下面的代码一次可以得到1个多边形(如果@hole==TRUE,则没有),但是我无法从我的对象中子集多个多边形。

    newSP <- aDis[aDis@polygons[[1]]@Polygons[[1]]@hole == FALSE]
    

    P.S.抱歉,没有可复制的示例;我不确定如何用一种简单的方式重现这个问题。

    1 回复  |  直到 7 年前
        1
  •  2
  •   JDL    7 年前

    最简单的方法是使用 sapply :

    hasHole <- sapply(
      aDis@polygons[[1]]@Polygons,
      slot,
      "hole"
    )
    aDis@polygons[[1]]@Polygons[!hasHole]
    

    然而,作为最终用户,不得不求助于这种事情是不寻常的。我不熟悉这个特殊的软件包——在它的其他地方没有定义任何函数来帮助您访问这些插槽吗?

    推荐文章