QGIS查找线上或附近的点

问题描述 投票:0回答:1

我正在尝试从下面示例中的行中找到所有点(或接近<10 m)。

这是两个独立的矢量图层,我想创建第三层,它只是线上或线附近的点的子集,即去除异常值。

在QGis中,我一直尝试以下但未成功:

矢量>地理处理工具>交叉点

矢量>研究工具>按位置选择

矢量>数据管理工具>按位置加入属性

在对话框中,我尝试调整交叉点,并以不同的精度进行触摸。

这些解决方案都没有产生预期的效果。

有小费吗

enter image description here

gis qgis
1个回答
0
投票

这就是我最后所做的,有点令人费解,但有效:

1)在道路网络周围创建缓冲区并溶解为单个多边形:

**Vector > Geoprocessing Tools > Fixed distance buffer **
    input: Nnes
    distance: 0.0001
    segments = 100
    dissolve = true

rename layer: buffer_lines

2)围绕点创建缓冲区:

**Vector > Geoprocessing Tools > Fixed distance buffer **
    input: points
    distance: 0.00001
    segments = 100
    dissolve = true

rename layer: buffer_points

3)选择buffer_lines完全包含的buffer_points。

**Vector > Research Tools > Select by location **
    from: buffer_points
    in: buffer_lines
    within

4)通过右键单击图层将所选要素保存为新图层,并仅勾选所选要素。


0
投票
  1. 围绕点创建缓冲区。此缓冲区应该是您想要拾取点的线的距离 - 在您的情况下是10米。如果您在此步骤之前为每个点提供唯一ID(如果尚未完成),它将在以后派上用场。
  2. 取缓冲区和点图层之间的交叉点。这将为您提供位于这10米缓冲区中的线段。属性表将告诉您缓冲区属于哪个点以及它与哪个线相交。
  3. 在Excel中处理以使用唯一ID来获取哪些点位于线的10米范围内。您可能希望使用VLOOKUP()或INDEX(MATCH())公式从原始点图层获取点几何。
© www.soinside.com 2019 - 2024. All rights reserved.