2015-09-04 329 views
1

我在QGIS中有一个有趣的问题,我有一个矢量图层(以紫色显示)和一个多边形(绿色)图层,其中添加了一些元数据属性(即日期,身份证号码等)。在qgis中为重叠多边形中的数据点添加属性

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

在这些情况下,我基本上想要复制点数据,因此在图层的属性表中,我为每个与相应元数据重叠的多边形指定一个点。这意味着我不能简单地使用“按位置连接属性”工具,因为它只会分配最近多边形的数据,或者两个重叠的总和/平均值等。

数据说明如下。任何关于如何解决这个问题的建议都将非常感谢。

enter image description here

回答

1

有点faffing后我发现,工作得很好的解决方案。

  • 首先在“processing”插件中打开“Clip with polygons”工具。
  • 在菜单中选择你的点图层和你的多边形图层。
  • 选择多边形图层中的绿色圆圈箭头,将其设置为遍历每个多边形。
  • 选择要添加到点图层的属性。
  • 选择“每个多边形分离层”。
  • 命名输出文件夹(最好创建一个单独的新文件夹以帮助稍后合并)并点击确定。
  • 下次再去载体 - >数据管理工具 - >合并形状文件到一个
  • 选择shape文件类型“点”
  • 选择输入目录中,你创建了先前的所有点的目录下的文件
  • 命中运行

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

如果有人知道一个不同的/更好的方法或从多边形添加多个数据位的方法,请添加它。

+1

注意:要解决一次只能添加一个数据列的问题,可以使该列成为每个多边形的唯一ID,将其附加到所有点,然后基于此加入数据库ID。 – ALs

0

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

这样,您还可以从其他图层获取所有属性。