【问题标题】:Merging nearest neighbor polygons using R使用 R 合并最近邻多边形
【发布时间】:2013-12-01 21:59:31
【问题描述】:

figure 显示三个多边形的图:1. 蓝色 (n=1)、2. 绿色 (n=1) 和 3. 红色 (n=1)。

我想知道是否有任何自动方法来合并最近邻相同颜色的多边形?可以访问多边形的子集here

【问题讨论】:

  • 当您说“合并最近的邻居”时,您的意思是您要分解共享共同边界的多边形吗?共享一个共同点的多边形呢?您的数据有很多在角落接触的正方形(因为我认为它来自栅格数据)?
  • 任何共享边界或点的小多边形都应该进入一个多边形。从栅格中溶解的问题是它只生成一个大多边形。但我实际上需要 15-20 个多边形特征。合并多边形也是可以的,即使它们不共享边界​​,但间隔非常近(例如在 100-500 m 距离内)。我不在乎那些孤立的小多边形。
  • 你如何想象在不改变几何形状的情况下连接不接触的多边形?这太复杂了。
  • 好吧,在那种情况下,我只会用那些接触的多边形来制作多边形。我认为有一种方法,比如集群;例如对于点数据,可以使用 k-means 在地理上对点进行聚类。
  • 我认为我们在这里为“多边形”和“连接”的定义而苦苦挣扎。您可以通过某些标准将单独的闭合多边形环“聚类”为要素,是的。然后,每个要素中可能有多个非连续循环。

标签: r join polygon


【解决方案1】:

您在out 中创建的是Polygon 类对象的列表,因此out[[1]][[2]]Polygon 类对象。

这些没有 plot 方法,因此您必须将它们转回SpatialPolygons 才能做到这一点。

 plot(SpatialPolygons(list(Polygons(list(out[[1]][[200]]),1001))))

其中 1001 是任意 ID,而返回的 SpatialPolygons 对象没有坐标参考系。

它很复杂,因为 SpatialPolygons 实际上是“SpatialPolygonalFeatures”,其中每个特征都是 Polygon 对象的列表,该对象被包裹在 Polygons 类中以赋予其 ID。

【讨论】:

  • thanks@Spacedman,但是我的主要目标是什么,即如何从小的最近邻多边形制作更大的多边形?任何的想法??我在这里对同一个问题进行了一些更改:gis.stackexchange.com/questions/79114/…。如果您对此有任何建议,请告诉我。
  • 可能是来自 package:rgeos 的 gMerge,但我没有时间设置一些示例数据来准确地向您展示它是如何完成的。你能提供你的或一个子集吗?
猜你喜欢
  • 1970-01-01
  • 2013-09-08
  • 2021-10-04
  • 1970-01-01
  • 2015-01-20
  • 1970-01-01
  • 1970-01-01
  • 2010-10-13
  • 2016-10-08
相关资源
最近更新 更多