3.2. Lesson: 标签
可以将标签添加到地图以显示有关对象的任何信息。任何矢量层都可以具有与其关联的标签。这些标签的内容依赖于层的属性数据。
The goal for this lesson: 要将有用且美观的标签应用于层,请执行以下操作。
3.2.1.
Follow Along: Using Labels
转到菜单项
确保 Label Toolbar 项目旁边有一个复选标记。如果没有,请单击 Label Toolbar 项目来激活它。
按下
places
中的层 Layers 面板,使其高亮显示-
您需要选择属性中的哪个字段将用于标签。在上一课中,您决定
name
菲尔德是最适合这一目的的。 选择
name
从值列表中:单击 Apply
地图现在应该有如下标签:

3.2.2.
Follow Along: Changing Label Options
根据您在前面的课程中为地图选择的样式,您可能会发现标签的格式不正确,并且与其点标记重叠或距离太远。
备注
在上面,您使用了 按钮中的 Label Toolbar 要打开 Layer Styling 面板。和以前一样 Symbology ,相同的标签选项可通过两个 Layer Styling 面板和 Layer Properties 对话框中。在这里,您将使用 Layer Properties 对话框中。
打开 Layer Properties 对话框中,通过双击
places
图层确保 Text 在左侧选项列表中选择,然后更新文本格式选项以匹配此处显示的选项:
单击 Apply
这种字体可能更大,用户更熟悉,但其可读性仍然取决于它下面呈现的是什么层。为了解决这个问题,让我们来看看 Buffer 选择。
选择 Buffer 从左侧的选项列表中
选中旁边的复选框 Draw text buffer ,然后选择与此处显示的选项匹配的选项:
单击 Apply
您将看到,这将为地点标签添加一个彩色缓冲区或边框,使它们更容易在地图上辨认出来:
现在,我们可以解决标签相对于其点标记的位置问题。
选择 Placement 从左侧的选项列表中
选择 Around point 并更改的值 Distance 至
2.0
毫米:单击 Apply
您将看到标签不再与其点标记重叠。
3.2.3.
Follow Along: Using Labels Instead of Layer Symbology
在许多情况下,点的位置不需要非常具体。例如,大多数点在 places
层指的是整个城镇或郊区,与这些特征相关联的特定点在大范围内并不是那么具体。事实上,对于阅读地图的人来说,给出一个过于具体的观点往往会让人感到困惑。
举个例子:例如,在世界地图上,欧盟的位置可能在波兰的某个地方。给正在看地图的人,看到一个标有 European Union 因此,在波兰,欧盟的首都似乎就在波兰。
因此,为了防止这种误解,停用点符号并用标签完全替换它们通常是有用的。
在QGIS中,可以通过更改要直接在标签引用的点上渲染的标签的位置来完成此操作。
选择 Placement 选项列表中的选项
按下 Offset from point 按钮
这将揭示出 Quadrant 可用于设置标签相对于点标记的位置的选项。在本例中,我们希望标签在点上居中,因此选择中心象限:
通过编辑图层隐藏点符号 Symbology 像往常一样,并设置 Marker 大小为
0.0
:单击 Apply 你会看到这样的结果:
如果缩小地图,您会看到一些标签以更大的比例消失,以避免重叠。有时这是您在处理具有多个点的数据集时所需要的,但在其他情况下,您会以这种方式丢失有用的信息。还有一种处理此类案例的可能性,我们将在本课后面的练习中介绍。现在,缩小并单击 按钮,然后看看会发生什么。
3.2.4.
Try Yourself Customize the Labels
将标注和符号设置重置为具有点标记和标注偏移
2.0
毫米。
回答
您的地图现在应该显示标记点,标签应该偏移2 mm。标记和标签的样式应允许两者在地图上清晰可见:

将地图设置为比例
1:100000
。您可以通过将其键入 Scale 方框中的 Status Bar 。修改您的标签以适合在此比例下查看。
回答
一种可能的解决方案是最终产品:

要达到这样的结果:
使用字体大小为
10
使用绕点放置距离为
1.5 mm
使用标记大小为
3.0 mm
此外,此示例使用 Wrap on character 选项:
输入a
space
在此字段中,并单击 Apply 以达到同样的效果。在我们的例子中,一些地名非常长,导致名称有多行,这对用户不是很友好。您可能会发现此设置更适合您的地图。
3.2.5.
Follow Along: Labeling Lines
现在您已经了解了标签的工作原理,还有一个额外的问题。点和面很容易标记,但线呢?如果您以与点相同的方式标记它们,则结果将如下所示:

我们现在将重新格式化 roads
对标签进行分层,使其易于理解。
隐藏
places
这样它就不会分散你的注意力设置字体 Size 至
10
这样你就可以看到更多的标签放大 Swellendam 城镇面积
在 Labels Tab‘s Placement 选项卡中,选择以下设置:
您可能会发现文本样式使用了缺省值,因此标签很难阅读。更新 Text 使用深灰色或黑色 Color 以及 Buffer 使用淡黄色 Color 。
地图看起来有点像这样,具体取决于比例:
您将看到一些道路名称多次出现,这并不总是必要的。要防止这种情况发生,请执行以下操作:
在 Labels 选项卡中的 Layer Properties 对话框中,选择 Rendering 选项,然后选择 Merge connected lines to avoid duplicate labels 如图所示:
单击 OK
另一个有用的功能是防止为太短而不值得注意的特征绘制标签。
在相同的 Rendering 面板中,设置 Suppress labeling of features smaller than ... 至
5.00 mm
并在单击时注意结果 Apply尝试不同的方式 Placement 设置也一样。正如我们以前看到的, Horizontal 选项在这种情况下不是一个好主意,所以让我们尝试 Curved 选项取而代之。
选择 Curved 选项中的 Placement 评审团 Labels 选项卡
结果如下:

正如您所看到的,这隐藏了一些以前可见的标签,因为使其中一些标签遵循扭曲的街道线同时仍可读是困难的。这使得其他标签更加有用,因为它们跟踪道路,而不是漂浮在道路之间的空间中。您可以根据您认为更有用的选项或看起来更好的选项来决定使用这些选项中的哪一个。
3.2.6.
Follow Along: Data Defined Settings
停用的标签
roads
图层重新激活对
places
图层-
它有一个 field 我们现在很感兴趣的是:
place
它定义了每个城市的类型 record 。我们可以使用这些数据来影响标签样式。 导航到 Text 面板中的
places
Labels 嵌板单击
斜体文本按钮旁边的按钮 Style 并选择 要打开 Expression String Builder :
在……下面
,请双击place
然后单击 All Unique 。这将列出所有唯一的place
该层的字段。添加=
在文本编辑器中,然后双击town
。或者,您可以键入:
"place" = 'town'
直接在文本编辑器中。单击 OK 两次:
请注意,其所有位置的标签 place
字段匹配 town
均以斜体显示。

3.2.7.
Try Yourself Using Data Defined Settings
备注
我们在这里跳过一点来演示一些高级标签设置。在高级级别,假设您知道下面的意思。如果没有,您可以跳过这一部分,在完成必要的材料后再回来。
3.2.8.
贴标签的进一步可能性
我们不能涵盖本课程中的所有选项,但请注意 Label Tab还有许多其他有用的功能。可以设置基于比例的渲染、更改层中标签的渲染优先级以及使用层属性设置每个标签选项。您甚至可以设置标注的旋转、XY位置和其他属性(如果已为此分配了属性字段),然后使用Main旁边的工具编辑这些属性 Layer Labeling Options 按钮:
(如果所需的属性字段存在并且您处于编辑模式,则这些工具将处于活动状态。)
请随意探索标签系统的更多可能性。
3.2.9. In Conclusion
您已经学习了如何使用层属性来创建动态标签。这可以使您的地图更具信息性和时尚性!
3.2.10. What's Next?
既然您已经了解了属性如何在地图上产生视觉差异,那么如何使用它们来更改对象本身的符号系统呢?这就是下一课的主题!