我有一个点图层,需要绘制一条穿过点或在点附近的线(点与线之间的距离最大为0.5m)。
线的节点将接收点的属性最接近它们。

#1 楼

最简单的方法是使用点创建线。要在QGIS中执行此操作,请使用Points2One插件。安装此插件(可通过Plugins->Manage and install plugins获得),然后按照对话框从您的观点创建一条直线。



如果有多条线,请确保您的点数据具有合适的ID字段以标识它们所属的线。

另外,您可以在GRASS中使用v.build.polylines(可通过QGIS获得)或SAGA GIS工具Convert points to line(s)可通过Processing工具箱获得。

评论


Points2One插件不适用于当前版本的QGIS(3.4.4)。

– Valerie Anderson
19年2月18日在16:50

#2 楼

要从点创建多边形,还可以使用

“指向路径的点”,然后使用
“到多边形的线”工具,而无需安装任何插件


评论


在哪里找到“指向路径”工具?

– Udi
18年6月2日在18:10

转到处理并单击“工具箱”或“ Ctrl + Alt + T”以搜索工具,然后键入“指向路径”,您将看到该工具。

–ncelik
18年6月3日在20:36

在2.8.6-Wien中不可用

– Grzegorz Oledzki
19年3月6日在15:48

#3 楼

Points2One插件的最新版本是2015年,并且已被评论,在当前的QGIS版本(3.4至3.10)中不起作用。我正在发布一个替代解决方案,我也在这里回答过。

一种方法是使用虚拟层。


创建X和Y点图层中包含x和y坐标的字段
创建具有相同值的常量字段
保存点图层的副本
通过两个图层的常量值添加虚拟图层连接(原始和副本)使用以下表达式:


SELECT *

FROM points

JOIN points_copy ON points.constant = points_copy .constant;


这将创建一个虚拟层,其中将包含XY原点和目标坐标的每种组合。在我的示例中,我使用了29个点,因此得到了841个点(29²)的虚拟层。



出于符号化的目的,可以使用以下方法将点层符号化为线几何生成器表达式:


make_line(make_point(“ cx”,“ cy”),make_point(“ cx:1”,
“ cy:1”))


要制作永久层,我建议使用XY工具从插件Shape Tools插入线。
在这种情况下,OP要求将距离限制为0.5 m,这可以可以按长度过滤线。