从qgis中的重叠多边形向数据点添加属性

Adding attributes to datapoints from overlapping polygons in qgis

我在 QGIS 中遇到了一个有趣的问题,我有一个点向量层(以紫色显示)和一个多边形层(绿色),并附有许多元数据属性(即日期、ID 号等)。

我想将多边形的数据附加到它们下面的点数据。问题是我有一些重叠,其中点数据被两个多边形覆盖。

在这些情况下,我基本上想复制点数据,因此在层的属性 table 中,我为每个重叠的多边形都有一个点,以及相应的元数据。这意味着我不能简单地使用 "Join attributes by location" 工具,因为它只会从最近的多边形或两个重叠的 sum/mean 等分配数据。

数据说明如下。非常感谢有关如何解决此问题的任何建议。

经过一番努力后,我找到了一个非常有效的解决方案。

  • 首先打开"processing"插件中的"Clip points with polygons"工具
  • 在菜单中 select 您的点图层和多边形图层。
  • Select 多边形图层中的绿色圆圈箭头可将其设置为遍历每个多边形。
  • Select 要添加到点图层的属性。
  • Select "seperate layer for each polygon".
  • 命名输出文件夹(最好创建一个单独的新文件夹以帮助稍后合并)并点击确定。
  • 接下来转到 Vector->Data management tools->Merge Shapefiles to One
  • Select 形状文件类型 "point"
  • Select 输入目录作为您创建所有早期点文件的目录
  • 命中运行

您现在应该得到一个包含点的图层,这些点的数据来自多个重叠的多边形。我遇到的唯一问题是您只能使用剪辑工具从多边形添加一条数据,目前这对我来说很好,但可能是个问题。

如果有人知道 different/better 方法或从多边形添加多位数据的方法,请添加。

我相信这也可以使用相交地理处理工具 (Vector- Geoprocessing Tools - intersect) 来完成。至少对我来说,当我有一个点层在多边形层的重叠缓冲区中时,它是有效的。当我相交时,属性 table 中的每个点都有一个、两个或更多记录,具体取决于有多少多边形重叠。

这样你也可以得到另一层的所有属性。