对于多个QGIS点数据,我们可以根据经纬度来计算近距离点。
需要计算newsite_nr
中的点到nrbaseinfo
中的点的距离,准备两个图层,如下:
QGIS制作点图层,可参考 QGIS导入txt/csv数据制作点图层
Ctrl+Alt+T打开工具箱,矢量分析->距离矩阵打开工具。
- 输入点图层: 选择
newsite_nr
图层 - 输入唯一ID字段:选择一个索引字段
- 目标点图层: 选择
nrbaseinfo
图层 - 目标唯一ID字段: 选择一个索引字段
- 输出矩阵的类型: 线性(N*kx3)距离矩阵
- 仅使用最近目标点: 设置需要匹配的结果数量
点击运行完成后即可打开一个名为距离矩阵的临时图层,如下:
右键点击距离矩阵选择打开属性表可以查看表格数据,其中InputID字段来自newsite_nr
,TargetID来自nrbaseinfo
,Distance为两点的聚力,单位为km,如下所示:
以上表格可以Ctrl+A圈选后粘贴出来。
为了可视化浏览结果,我们可以将距离图层制作为连线以更加直观的查看。
右键点击距离矩阵选择属性,切换到符号化,点选简单标记,将下面的符号图层类型设置为几何图形生成器,将几何图形类型设置为线串/线串集
点击编辑区右侧的表达式按钮,打开表达式编辑器,输入以下内容:
make_line(point_n( $geometry, 1), point_n( $geometry, 2))
保存应用设置后,即可将距离图层制作为连线形式,如下所示: