我没有使用QGIS的丰富经验,并且正在用连接使用mmqgis插件创建的位置的线绘制地图。是否有一种简单的方法可以使这些直线出于美学目的而弯曲一些?
我正在尝试实现以下地图,但有多个中心。我已经阅读了有关如何使用PostGIS和其他高级工具执行此操作的建议,因此我进行了研究(包括此处的其他帖子),并尝试使用了多个插件,我特别想寻求一个简单的解决方案,因为我没有有很多经验。
我没有使用QGIS的丰富经验,并且正在用连接使用mmqgis插件创建的位置的线绘制地图。是否有一种简单的方法可以使这些直线出于美学目的而弯曲一些?
我正在尝试实现以下地图,但有多个中心。我已经阅读了有关如何使用PostGIS和其他高级工具执行此操作的建议,因此我进行了研究(包括此处的其他帖子),并尝试使用了多个插件,我特别想寻求一个简单的解决方案,因为我没有有很多经验。
Answers:
如果您使用的是QGIS 2.12或更高版本,则在“ 数字化工具栏 ” 中将具有“ 添加圆形字符串 ”工具。或者您可能想尝试“ Spline plugin ”。
(LHS) 在数字化期间添加圆弧线工具,(RHS) 在数字化期间 添加样条线工具
您可以看到“ 添加圆形字符串工具(LHS)”绘制一条圆形或半圆形的线,而“ 样条曲线”工具(RHS)插入点以使您的线适合样条曲线。无论选择哪个,只需单击三个点:起点,曲线点和终点。
您将获得:
还有其他工具,例如CadTools,但是如果您自己找到它,将会更加令人兴奋。
使用箭头样式而不是简单线条样式。
例如,这些具有简单线条样式的线条:
箭头样式如下所示:
您可以通过将箭头的宽度和长度设置为0来关闭箭头。
如您所见,直线变为直线箭头,而具有中间顶点的线变为弯曲箭头。中间顶点的位置确定箭头的曲线。
要将直线转换为弯曲箭头,您需要向每条线添加一个中间顶点,然后将该顶点偏移足够的距离以生成弯曲箭头。
使用几何类型为“线串”的几何生成器样式。该表达式将创建一条线,该线的中点距该线的原始中点的东边和北边200个距离单位。
make_line( start_point( $geometry), translate( centroid( $geometry), 200,200), end_point($geometry))
更改线条以显示为箭头样式。调整几何体生成器表达式中的质心偏移值,直到您对箭头的形状满意为止。如果需要,可以使它们与原始行的长度成比例,例如$length/10
。完整的表达式为:
make_line( start_point( $geometry), translate( centroid( $geometry), $length/10, $length/10), end_point($geometry))
原始线条为粉红色,几何图形生成的箭头为黑色,外观如下:
如果您对线的中点位置不满意,可以手动调整它们。首先,将几何图形生成的线型转换为实际图层。将表达式从几何图形生成器复制到geometry by expression
工具(“处理”工具箱)中。然后使用“顶点工具”(“数字化”工具栏)手动移动顶点。
注意:此答案是使用QGIS 3.4做出的。