【问题标题】:Keeping metadata when using gIntersection from rgeos package in R在 R 中使用 rgeos 包中的 gIntersection 时保留元数据
【发布时间】:2011-11-14 03:31:23
【问题描述】:

我有一组坐标作为 R 中的 SpatialPointsDataFrame 对象,我正在使用多边形裁剪这些点以仅获取在该多边形中找到的那些点。我正在使用 rgeos 包中的 gIntersection 函数执行此操作。我的问题是该函数只返回这些点的坐标,而不是与它们关联的元数据。有没有办法让 gIntersection 将所有数据传递给结果,而不仅仅是坐标?

这是一个例子:

表示物种发生点的SpatialPointsDataFrame:

> spexample
            coordinates SpAbbr InstitutionCode CatalogNumberText
1   (-76.8727, 3.66282) BanRot       EBIRD_COL       OBS81997559
2   (-76.9749, 3.71683) BanRot          AUDCLO       OBS89767945
3    (-76.884, 3.61609) BanRot          AUDCLO       OBS89769896
4   (-77.5167, 5.51667) BanRot            AMNH       Skin-123476
5   (-76.0334, 4.86669) BanRot            LACM             34848
6   (-78.4333, 1.43333) BanRot           LSUMZ             38939
7        (-78.55, 0.95) BanRot            ANSP            182799
8  (-79.2139, 0.471944) BanRot          AUDCLO       OBS58485973
9  (-78.5104, 0.895349) BanRot          AUDCLO       OBS84822747
10  (-78.3781, 1.51028) BanRot          AUDCLO       OBS67916517
11       (-75.15, 7.07) BanRot   8110002317-09         4743-5160

将这些点裁剪为多边形:

> gIntersection(spexample,bufferclip)
SpatialPoints:
          x         y
1 -78.55000 0.9500000
1 -78.51036 0.8953493
1 -78.43333 1.4333333
1 -78.37810 1.5102800
1 -76.97495 3.7168289
1 -76.88397 3.6160872
1 -76.87271 3.6628163
1 -76.03337 4.8666900
Coordinate Reference System (CRS) arguments: +proj=longlat +datum=WGS84
+ellps=WGS84 +towgs84=0,0,0 

【问题讨论】:

    标签: r gis clip


    【解决方案1】:

    使用带有 byid = TRUE 的 gIntersects(不是 gIntersection)来获取缓冲区中的点的 TRUE/FALSE 向量。然后子集您的点数据框。任务完成。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-18
      • 2013-12-19
      • 2016-06-05
      • 1970-01-01
      • 2013-05-01
      • 2022-12-08
      • 2023-01-28
      • 2020-10-07
      相关资源
      最近更新 更多