为移动的标签创建引线


18

在gis.stackexchange.com的大量帮助下,我创建了点符号的引线。这些线基于几何生成器符号系统:

使用QGIS中的表达式对话框来缩短线的几何形状?

在此处输入图片说明

现在,我想为移动的标签实现引伸线。对我来说非常重要,线条从标签的中心开始,在点的坐标处结束(反之亦然)。

-- Geometry generator:
make_line(
    make_point(label_x, label_y),
    $geometry)

再次,行被标签覆盖:

在此处输入图片说明

在此处输入图片说明

有没有办法解决标签盒并缩短引线的方法?我想这是一个非常棘手的问题:/


尝试更改偏移值
GISKid

Answers:


10

首先,这是一个非常整洁的解决方案!我使用数据库视图解决了这个问题(虽然有点过头,但确实可行)。

我的建议是使用背景并填写标签。

或者,在这里,您也许可以将缓冲区和剪辑类型的解决方案链接在一起。

difference(make_line(make_point( "x" ,  "y" ), $geometry), buffer(make_point( "x" ,  "y" ),1))

我刚刚测试了上面的内容,并且可以正常工作(我的领域与您不同,但事实证明了这一点)。几何生成器的使用非常灵活,因此您也可以将缓冲区距离设置为一个字段,这可能取决于符号系统?

我不确定“三个”点在发生什么,但是我想锚点向左偏一点。

不相交的标签引线


在接下来的几天中,我将进行一些测试,但是,恐怕如果不覆盖某些层,背景将无法用于复杂的项目。
eclipsed_by_the_moon

您看到我回答的另一部分了吗?我发现了一些可以为您剪裁领导线的东西@eclipsed_by_the_moon。
亚历克斯·里斯

剪切固定大小符号的引线可以很好地工作,但是标签是一个问题。一旦找到时间,我将尝试动态计算缓冲区距离。
eclipsed_by_the_moon

4

我目前正在研究简单的自定义标签插件,以实现标签和链接标题行的自动创建。

看看: EasycustomLabaling

下载它,解压缩,然后将“ EasyCustomLabeling”目录粘贴到QGIS插件目录中。重新加载QGIS。


您的插件确实很有用,但我更喜欢由几何生成器创建的,以标签中心开始的线。
eclipsed_by_the_moon

我明白。有关信息,可以在使用此插件时在源图层的字段中进行设置(字段LblAlignV和LblAlignH)-问候
patricev

感谢您的信息,我将在周末进行测试。
eclipsed_by_the_moon '04
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.