QGIS计算最近距离点

#qgis #point #距离 #Distance #距离矩阵 #Matrix #矩阵

本次,需要计算newsite_nr中的点到nrbaseinfo中的点的距离,准备两个图层,如下:

点图层

QGIS制作点图层,可参考QGIS导入txt/csv数据制作点图层

Ctrl+Alt+T打开工具箱矢量分析->距离矩阵打开工具。

距离矩阵

  • 输入点图层: 选择newsite_nr图层
  • 输入唯一ID字段:选择一个索引字段
  • 目标点图层: 选择nrbaseinfo图层
  • 目标唯一ID字段: 选择一个索引字段
  • 输出矩阵的类型: 线性(N*kx3)距离矩阵
  • 仅使用最近目标点: 设置需要匹配的结果数量

点击运行完成后即可打开一个名为距离矩阵的临时图层,如下:

距离矩阵图层

右键点击距离矩阵选择打开属性表可以查看表格数据,其中InputID字段来自newsite_nrTargetID来自nrbaseinfoDistance为两点的聚力,单位为km,如下所示:

距离矩阵属性表

以上表格可以Ctrl+A圈选后粘贴出来。

为了可视化浏览结果,我们可以将距离图层制作为连线以更加直观的查看。

右键点击距离矩阵选择属性,切换到符号化,点选简单标记,将下面的符号图层类型设置为几何图形生成器,将几何图形类型设置为线串/线串集

距离矩阵符号化

点击编辑区右侧的表达式按钮,打开表达式编辑器,输入以下内容:

make_line(point_n( $geometry, 1), point_n( $geometry, 2))

表达式设置

保存应用设置后,即可将距离图层制作为连线形式,如下所示:

距离矩阵连线图