在QGIS中手动放置标签?


37

有没有办法在QGIS中手动放置标签?

我有一张地图,在某些地方(例如E 1st St和1st St)具有几乎重复的标签,我想删除其中的一些标签。

另外,我想移动一些标签,也许还标记一些当前不可用的功能。

我正在使用新标签,标签沿要素弯曲。

Answers:


32

是的,可以使用标签工具栏中的标签工具手动放置标签:

  • 移动标签工具…将文本标签移动到新位置
  • 旋转标签工具…允许交互式旋转标签
  • 标签属性工具…打开一个对话框,用户可以在其中操纵标签的属性和文本

但是据我所知,如果您手动移动/旋转标签,将无法再使用弯曲的标签。

这些工具使您可以在项目中混合使用固定标签位置和自动标签位置。如果x或y属性值为NULL,则将自动设置位置。当使用“移动标签工具”更改标签位置时,该位置将被写入属性字段,并且此功能的标签位置将被固定。

要在现有图层上使用这些工具,请添加x,y和旋转属性字段(键入double / real)。默认情况下,所有值都将为NULL,因此该图层将被自动标记。现在,您可以随意移动和旋转标签了。(使用这些工具时需要启用编辑!)


2
嗨,underdark,您是否同意这种允许移动/旋转标签的实现方式至少……麻烦?不用说,如果您已经设置了旋转属性,则标签也将仅在x / y属性也已经填充时自动旋转...,在正常情况下,这意味着用手移动任何标签以使其相应旋转。
Giovanni Manghi '02

1
当然,这并不完美。我希望至少将自动旋转与手动放置结合起来应该不会太多。少量的资金将使这成为可能。
Underdark

您实际上可以在弯曲标签上使用标签属性工具;其他的不起作用。
mattwigway'2

我添加了x,y和rotation属性字段(类型为real)并启用了编辑功能,但移动和旋转工具以及“ Labeling Advanced”中的相应字段均为灰色。我想念什么?(QGIS 1.8.0 Mac)
johnsankey

2
创建新字段时,请勿接受默认宽度1。使用宽度20(精度4)
Llaves 2013年

22

在QGIS 2.0中,对于您要操作其标签的层:

  1. 打开属性表并切换到编辑模式。
  2. 添加以下列,所有其“类型”应选择为“十进制数(实数)”:“ x”,“ y”和“旋转”
  3. 右键单击要在“图层”菜单中标记的图层名称,然后单击“标签”>“放置”。
  4. 找到“已定义数据”面板。单击出现在“ X”旁边的图标,指向“字段类型:”,然后选择刚创建的“ x”列。
  5. 对“ Y”和“ Rotation”选择重复第四步。
  6. 确保标签工具栏已激活(“视图”>“工具栏”>“标签”)。

如果“移动标签”,“旋转标签”和“更改标签”图标以前为灰色,则它们现在应显示为彩色并且可以使用。


1
有关更多信息,请参考gis.stackexchange.com/a/67546/6725手册。通过删除关联文本来删除重复项具有破坏性,应该避免这样做,除非这是首选结果。考虑使用新的“显示/隐藏”工具或仅使用其关联的“显示标签”数据定义的设置。
dakcarto

啊,很高兴知道!将从我的答案中删除那一部分。
Darin

@Darin FYI我在QGIS 2.14-15 LTR中发现,如果我具有X,Y和旋转属性,则点的标签不可见,请键入:十进制数实。在“标签”->“放置”中,X,Y和旋转图标与X,Y和旋转属性匹配。如果只有旋转属性在标签->位置中匹配,这似乎可行。我可以添加另一个答案,但我认为可以相应地调整您的答案以涵盖更新的QGIS版本。您也许也可以具有X和Y属性,但是我删除了多余的列。
maskin

2

我认为在Windows的Qgis 2.12.1 Lyon中的“使用基于规则的标签”模式下使用“移动”标签时,存在一个错误。

移动标签保持灰色。移动标签适用于普通标签模式。


2
我也在Debian Stretch的QGIS 2.14.3上遇到此错误。尽管激活了在正确设置的图层上定义的数据放置,“移动标签”仍显示为灰色。
瓦莱丽·安德森

1
有人可以提供最新消息吗?我正在运行2.18.8。创建x,y和旋转字段后,我的标签工具仍显示为灰色。我找不到打开和关闭基于规则的标签的方法。
TVZ

请记住,如果要将X,Y和Rotation字段存储到属性表中,则需要先激活该层(黄色铅笔)的编辑,然后才能移动/旋转任何标签。激活编辑将打开标签操作图标。
D. Waschow
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.