如何创建引线以将标签连接到符号系统

时间:2019-06-20 09:23:28

标签: formatting label qgis

我的标签很拥挤,我想通过添加引出线将它们与点隔开,以弄清楚哪个标签是针对哪个数据点的

2 个答案:

答案 0 :(得分:0)

https://gist.github.com/kgjenkins/1af82a8ffdc3c99bb886e6cd9cdc298f

标注(有时也称为引线)是地图上标签和要素之间的线。当空间限制迫使标签从要素上移开时,它们很有用。标注有助于将标签重新连接到其所引用的功能。

图片

可能有多种方法可以执行此操作,但这是在QGIS 3.x中使用几何生成器的一种方法:

callouts_qgis

  1. 打开图层标签 •Style Dock>“标签”选项卡 •将“无标签”更改为“显示此层的标签” •选择要“标记为”的字段

  2. 移动单个标签

QGIS 3.0的升级使标签放置更易于自定义。移动标签时,QGIS使用隐藏的辅助存储字段跟踪新位置,我们将使用这些字段来绘制线条。 •确保启用了标签工具栏(“查看”菜单>“工具栏”) •选择“移动标签”工具图像 •单击并拖动以移动标签。 (第一次单击以移动标签时,系统会要求您提供一个用于跟踪标签的主键。选择一个在图层中具有ID或其他唯一值的字段。)

  1. 添加标注行 •在图层样式停靠栏中,单击绿色+添加新的标记组件 •将“符号层类型”设置为“几何生成器” •将“几何类型”设置为“ LineString / MultiLineString” •输入以下表达式:

make_line(   make_point($ x,$ y),   make_point(“ auxiliary_storage_labeling_positiony”,“ auxiliary_storage_labeling_positiony”) )

图片

  1. 改善标签显示 •添加标签缓冲区(“光晕”),以使行不会模糊标签的文本(样式底座中的第三个标签) •调整标签位置(样式底座中的第6个标签),定义数据>对齐◦将水平对齐设置为“居中” ◦将垂直对齐方式设置为“半”

答案 1 :(得分:0)

您可以使用"Easy Custom Label" plugin来执行此操作。

  

EasyCustomLabeling是QGIS的插件,旨在简化手动和数据定义标签的工作。该工具将数据矢量层复制到由线组成的新存储层中,并添加了高级自定义标签的所有必需字段,例如标签位置,旋转,颜色,字体,标注,对齐方式。激活所得层,以准备使用标签工具。数据保存在“内存层”提供程序中,这意味着它不会保存到文件或数据库中。要使这些层持久化,请安装Memory Layer Saver v3.2或更高版本的插件,该插件将所有存储层沿着名为myqgisprojectname.qgs.mldata的项目保存到qdatastream文件中。

打开标签工具栏后,可以按“简单标签”按钮制作该图层的副本,然后可以拖放任何要移动的标签,并自动添加引出线。

>

enter image description here