14.3. 设置标签
标签是可以在矢量要素或地图上显示的文本信息。它们添加了你不一定能用符号表示的细节。QGIS中提供了两种类型的文本相关项目:
Text Format :定义文本的外观,包括 font, size, colors , shadow , background , buffer ..
它们可用于在地图上呈现文本(布局/地图标题、装饰、比例尺等),通常通过 font 小工具。
要创建 Text Format 项目:
激活 Text format 选项卡
图 14.21 样式管理器对话框中的文本格式
按下按钮
Add item 纽扣。这个 Text Format 对话框打开,用于 configuration 。与往常一样,这些属性是 data-definable 。
Label Settings :使用与位置相关的属性或与其他文本或要素的交互来扩展文本格式设置 (callouts , placement , overlay, scale visibility 、面具...)。
它们用于通过为矢量图层配置智能标注
Labels 向量的制表符 Layer Properties 对话框或 Layer Styling 面板或使用
Layer Labeling Options 按钮中的 Label toolbar 。
要创建 Label Settings 项目:
激活 Label Settings 选项卡
图 14.22 样式管理器对话框中的标签设置
这个 Label Settings 对话框打开,并显示以下属性。与往常一样,这些属性是 data-definable 。
14.3.1. 设置标签文本的格式
无论您是在配置 Text Format 或 Label Settings 项目,您将获得以下选项:
属性选项卡 |
文本格式 |
标签设置 |
---|---|---|
Text |
||
Formatting |
||
Buffer |
||
Mask |
||
Background |
||
Shadow |
||
Callout |
||
Placement |
||
Rendering |
14.3.1.1. 文本选项卡

图 14.23 标签设置-文本选项卡
这个 Font ,从您的计算机上可用的
这个 Style :除了常见的字体样式外,您还可以设置文本是加下划线还是加划线
这个 Size 在任何 supported unit
这个 Color
这个 Opacity
和 Allow HTML Formatting :使用HTML Formatting选项可以正确呈现某些HTML标记,以自定义标签。支持的HTML标记包括:
颜色,适用于文本、下划线、删除线和上划线
字体属性(字体系列、字体大小、粗体和斜体)
文本中的上标和下标组件,其中文本将是垂直的 super 或 sub 对齐并自动调整为父字体大小的2/3。您还可以通过包含css规则来设置上标/下标的固定字体大小,例如:
<sup style="font-size:33pt">my superscript text</sup>
Css格式设置规则
vertical-align: super
或vertical-align: sub
也可在任何其他HTML元素(注释、布局标签或HTML项等)中使用。
为了使用HTML格式,您需要在 Value 菲尔德。该表达式将被分析,并且任何受支持的HTML标记都将覆盖其在Labels属性中的相应设置。它们还可以很好地与其他背景、阴影、缓冲区结合在一起。标签的特性。
下面是一个基于HTML的表达式和呈现示例(将不同的颜色和下划线应用于同一标签):
format( '<span style="color:blue">%1</span> ( <span style="color:red"><u>%2 ft</u></span> )', title( lower( "Name" ) ), round($length) )
图 14.24 启用了HTML格式的标注
在该选项卡的底部,小部件显示存储在中的兼容项目的可筛选列表 style manager database 。这使您可以基于现有文本格式或标签设置轻松配置当前文本格式或标签设置,还可以将新项目保存到样式数据库中:按 Save format... 或 Save settings... 按钮,并提供姓名和标签(S)。
备注
在配置 Label Settings 项、文本格式的项也可在此小部件中使用。选择一个以快速覆盖当前 textual properties 唱片公司的。同样,您也可以从那里创建/覆盖文本格式。
14.3.1.2. 格式设置选项卡

图 14.25 标签设置-格式选项卡
使用 Type case 选项以更改文本的大写样式。您可以将文本呈现为:
No change
All uppercase
All lowercase
Title case :将每个单词的第一个字母修改为大写,如果原始文本使用单一大小写,则将其他字母转换为小写。如果文本中的大小写混合,则其他字母保持不变。
Force first letter to capital :将每个单词的第一个字母修改为大写,文本中的其他字母保持不变。
在……下面 Spacing ,更改单词之间和单个字母之间的间距。
Stretch Ratio:允许按某个系数水平拉伸或压缩文本。可以方便地调整字体宽度,以适应标签中的额外文本。
设置 Text orientation 它可以是 Horizontal 或 Vertical 。它也可以是 Rotation-based 设置标注时(例如,要在中正确标注线要素 parallel 放置模式)。
使用 Blend mode 用于确定标注将如何与其下方的地图要素混合的选项(更多详细信息请参阅 混合模式 )。
这个
Apply label text substitutes 选项允许您指定要替换要素标注中的文本的文本列表(例如,缩写街道类型)。在地图上显示标签时使用替换文本。用户还可以导出和导入替代品列表,以便于重复使用和共享。
配置 Multiple lines :
设置一个字符,该字符将在文本中强制换行 Wrap on character 选择权
属性设置自动换行的理想线条大小。 Wrap lines to 选择。大小可以表示 Maximum line length 或 Minimum line length 。
决定 Line Height :可以将值设置为 Millimeters , Points , Pixels , Percentage ,或 Inches 。当行高设置为百分比时,它是该字体系列的默认文本行间距的百分比。通常是文本大小的1.2到1.5倍。
设置格式 Alignment :提供的典型值包括 Left , Right , Justify 和 Center 。
设置点标注属性时,文本对齐方式也可以是 Follow label placement 。在这种情况下,对齐将取决于标签相对于该点的最终位置。例如,如果标签放置在点的左侧,则标签将右对齐,而如果放置在右侧,则标签将左对齐。
备注
这个 Multiple lines 基于曲线的格式尚不支持 label placement 。然后这些选项将被停用。
对于线标注,您可以包括 Line direction symbol 以帮助确定线条方向,并使用符号指示 Left 或 Right 。当它们与 curved 或 Parallel 中的放置选项 Placement 标签。有一些选项可用于设置符号位置和
Reverse direction 。
使用
Formatted numbers 设置数字文本格式的选项。您可以设置 Decimal places 。默认情况下,
3
将使用小数位。使用Show plus sign 如果要显示正数的加号。
14.3.1.3. 缓冲区选项卡

图 14.26 标注设置-缓冲区选项卡
若要在标签周围创建缓冲区,请激活 Draw text buffer 复选框中的
Buffer 标签。然后,您可以:
设置缓冲区的 Size 在任何 supported unit
选择缓冲区的 Color
Color buffer's fill :缓冲区从标签的轮廓展开,因此,如果激活该选项,则填充标签的内部。当使用半透明标签或使用非正常混合模式时,这可能是相关的,这将允许看到标签文本的背后。取消选中该选项(使用完全透明的标签时)将允许您创建轮廓文本标签。
定义缓冲区的 Opacity
应用于 Pen join style :它可以是 Round , Miter 或 Bevel
使用 Blend mode 用于确定标注缓冲区将如何与其下方的地图组件混合的选项(更多详细信息请参阅 混合模式 )。
检查
Draw effects 要添加高级,请执行以下操作
paint effects 用于提高文本的可读性(如通过外部发光和模糊处理)。
14.3.1.4. 背景选项卡
这个 Background 选项卡允许您配置保持在每个标签下方的形状。要添加背景,请激活
Draw Background 复选框并选择 Shape 打字。它可以是:
规则的形状,如 Rectangle , Square , Circle 或 Ellipse 使用对象的完整属性 fill symbol
一个 SVG 来自文件、URL或嵌入到项目或样式数据库中的符号 (more details )
或者是 Marker Symbol 您可以创建或从 symbol library 。

图 14.27 标签设置-背景选项卡
根据选定的形状,您需要配置以下某些属性:
这个 Size type 帧的属性,可以是:
Fixed :对所有标签使用相同的大小,而不管文本的大小
或者是 Buffer 在文本的边框上
这个 Size 在X和Y方向上使用 supported units
A Rotation 背景,在 Sync with label , Offset of label 和 Fixed 。后两个参数需要以度为单位的角度。
一个 Offset X,Y 在X和/或Y方向上移动背景项
A Radius X,Y 使背景形状的角圆化(仅适用于矩形和正方形)
一个 Opacity 背景中的
A Blend mode 要在渲染中将背景与其他项目混合(请参见 混合模式 )。
对于SVG符号,可以使用其默认属性 (Load symbol parameters )或设置自定义 Fill color , Stroke color 和 Stroke width 。
Draw effects 要添加高级,请执行以下操作
paint effects 用于提高文本的可读性(如通过外部发光和模糊处理)。
14.3.1.5. 阴影选项卡

图 14.28 标签设置-阴影选项卡
若要向文本添加阴影,请启用 Shadow 选项卡并激活
Draw drop shadow 。然后,您可以:
指示用于生成阴影的项 Draw under 。它可以是 Lowest label component 或特定组件,如 Text 本身,即 Buffer 或 Background 。
设置阴影的 Offset 来自被阴影的项目,即:
角度:顺时针方向,它取决于底层物品的方向
与被阴影项之间的偏移距离
偏移的单位
影响阴影的外观 Blur radius 。数字越大,阴影越柔和,单位为您选择的单位。
定义阴影的 Opacity
重新调整阴影的大小。 Scale 因子
选择阴影的 Color
使用 Blend mode 用于确定标注阴影将如何与其下方的地图组件混合的选项(更多详细信息请参阅 混合模式 )。
14.3.2. 配置与标签的交互
除了上面显示的文本格式设置之外,您还可以设置标签之间或标签与要素之间的交互方式。
14.3.2.1. 遮罩选项卡
这个 Mask 选项卡允许您在标签周围定义遮罩区域。当您有重叠的符号和具有相似颜色的标签,并且希望使标签可见时,此功能非常有用。

图 14.29 标签设置-蒙版选项卡(文本样例显示绿色背景,表示另一个被排除的层)
要在标签上创建蒙版效果:
然后,您可以设置:
面具上的 Size 在 supported units
这个 Opacity 标签周围的遮罩区域的
一个 Pen Join Style
paint effects 通过
Draw effects 复选框。
在重叠图层属性中选择此掩膜形状作为掩膜源
Mask 选项卡(请参见 遮罩属性 )。
14.3.2.2. 详图索引选项卡
在拥挤的地图上放置标注时的常见做法是使用 callouts -放置在关联要素外部(或从关联要素移位)的标签由连接标签和要素的动态线标识。如果移动了两个端点之一(标签或要素),则会重新计算连接件的形状。

图 14.30 具有各种标注设置的标签
要向标签添加详图索引,请启用 Callouts 选项卡并激活
Draw callouts 。然后,您可以:
选择 Style 连接器的以下选项之一:
Simple lines :一条直线,最短的路径
Manhattan style :一条90度折线
Curved lines :一条曲线
Balloons :围绕标签并指向要素的发言气泡。它可以有圆角。
对于基于线的详图索引:
选择 Line style 拥有完整的 line symbol 包括层效果和数据定义设置
如果是弯曲的,您还可以定义:
所占比例 Curvature 连接线的
以及它的 Orientation :从标注到要素,可以是 Clockwise 或 Counter-clockwise ,或 Automatic (确定每个标签的最佳方向)
设置 Minimum length 详图索引行数
设置 Label anchor point :控制连接线应连接到标签文字的位置。可用选项:
Closest point
Centroid
边缘的固定位置 (Top left , Top center , Top right , Left middle , Right middle , Bottom left , Bottom center 和 Bottom right )。
设置 Offset from label area 选项:控制距标签锚点(详图索引线终点)的距离。这避免了在文本的正上方绘制线条。
对于气球标注,您需要设置:
这个 Fill style 拥有完整的 fill symbol 包括层效果和数据定义设置
这个 Corner radius 关于演讲泡沫的
这个 Wedge width :带有要素指针的气泡语音连接应该有多大
这个 Margins 在标签的文本周围
设置 Offset from feature 选项:控制与要素(如果是多边形,则为其锚点)之间的距离,详图索引线条的终点。例如,这避免了在要素的边缘上绘制线条。
设置 Feature anchor point 对于(多边形)特征(连接线的终点)。可用选项:
Pole of inaccessibility
Point on exterior
Point on surface
Centroid
设置 Blend mode :控制 blending 详图索引。
在.之下 Data defined placement 组,对象的坐标 Origin (在标签端)和/或 Destination (在特征端)可以控制详图索引的点。标注也可以通过使用 Move Label, Diagram or Callout 中的工具 Labeling Toolbar 。每个详图索引的起点和终点可以按此方式移动。当鼠标指针位于附近时,应突出显示节点。如果需要,请选择 Shift 在移动过程中可以按住键。这将以两个详图索引点之间的角度增加15度的方式捕捉点。
14.3.2.3. 放置选项卡
选择 Placement 用于配置标签放置和标签优先级的标签。请注意,放置选项因矢量图层的类型(即点、线或面)而异,并受全局 PAL setting 。
点图层的放置
可用的点标签放置模式包括:
Cartographic :生成的点标签与点要素具有更好的视觉关系,遵循理想的地图放置规则。可以放置标签:
在布景时 Distance 在……里面 supported units 来自点要素本身或来自用于表示要素的符号的边界(在中设置 Distance offset from )。后一种选项在符号大小不固定时特别有用,例如,如果它是由数据定义的大小设置的,或者在 categorized 渲染器。
在此之后 Position priority 它可以使用数据定义的优先位置列表为单个特征进行定制或设置。这也只允许使用特定的位置,因此,例如,对于沿海地物,您可以防止在土地上放置标签。
默认情况下,地图模式放置按以下顺序排列优先顺序(根据 guidelines from Krygier and Wood (2011) 和其他制图教科书):
右上角
左上角
右下角
左下角
中右
左中
上图,略向右
底部,略微向左。
Around Point :标签放置在要素周围的圆圈中。等半径(设置在 Distance )环绕要素。放置的优先顺序是从“右上角”开始顺时针。可以使用定义的数据来约束位置 Quadrant 选择。
Offset from Point :标签放置在 Offset X,Y 与点要素的距离,以各种单位表示,或最好在要素上方。您可以使用数据定义的 Quadrant 约束放置,并可以将 Rotation 到了唱片公司。
线层的放置
线条图层的标签模式包括:
Parallel :绘制与表示要素的通用直线平行的标签,优先放置在直线的较直部分上。您可以定义:
Allowed positions : Above line , On line , Below line 和 Line orientation dependent position (将标签放在行的左侧或右侧)。可以同时选择多个选项。在这种情况下,QGIS将寻找最优的标签位置。
Distance 在标签和行之间
Curved :按照线要素的曲率绘制标签。除了提供的参数之外, Parallel 模式,您可以将 Maximum angle between curved characters ,要么在里面,要么在外面。
Horizontal :沿线要素的长度水平绘制标签。

图 14.31 线的标注放置示例
在放置模式旁边,可以设置:
Repeating Labels Distance 在要素长度上多次显示标签。距离可以在
Millimeters
,Points
,Pixels
,Meters at scale
,Map Units
和Inches
。A Label Overrun Distance (不适用于水平模式):指定标签可以超过线要素终点(或起点)的最大允许距离。增加此值可以允许为较短的线要素显示标签。
Label Anchoring :控制标签沿其参考的线要素的放置。点击 Settings ... 要选择,请执行以下操作:
标签将放置在其附近的沿线位置(以比率表示)。它可以是数据定义的,可能的值包括:
Clipping :确定如何计算直线上的标签放置。默认情况下,只使用直线的可见范围,但可以使用整个范围来获得更一致的结果。
Anchor text :控制文本的哪个部分(开始、居中或结束)将与锚点对齐。vbl.使用 Automatic 锚定意味着:
对于锚定在线起点附近的标注(0-25%),锚定位置将为 start 标签文本的
对于锚定在行尾附近的标签(75%-100%),锚定位置将为 end 标签文本的
对于锚定在直线中心附近的标签(25%-75%),锚定位置将为 center 标签文本的
Placement Behavior :使用 Preferred Placement Hint 将标签锚点仅视为标签放置的提示。通过选择 Strict ,标签被精确地放置在标签锚上。
多边形层的放置
可以选择以下放置多边形标签的模式之一:

图 14.32 面的标注放置示例
Offset from Centroid :标注放置在要素质心上或固定的 Offset X,Y 距离(in supported units )从质心。可以根据地图画布中渲染的面的部分来确定参考质心 (visible polygon )或 whole polygon ,无论你是否能看到它。您还可以:
强制质心点位于其多边形内
将标签放置在特定象限内
指定轮换
Allow placing labels outside of polygons 当不可能将它们放置在多边形内时。多亏了数据定义的特性,这使得可以逐个要素地允许外部标签、防止外部标签或强制外部标签。
Around Centroid :将标签放置在质心周围的预设距离内,优先放置在质心的正上方。同样,您可以定义质心是否为 visible polygon 或 whole polygon ,以及是否强制多边形内的质心点。
Horizontal :在多边形内的最佳位置放置水平标签。首选位置距离多边形边较远。这是可能的 Allow placing labels outside of polygons 。
Free (Angled) :将旋转标签放置在多边形内的最佳位置。旋转遵循多边形的方向,并且首选位置离多边形边更远。这是可能的 Allow placing labels outside of polygons 。
Using Perimeter :绘制与表示多边形边界的广义线平行的标签,优先选择较直的周长部分。您可以定义:
Allowed positions : Above line , On line , Below line 和 Line orientation dependent position (将标签放置在多边形边界的左侧或右侧)。可以同时选择多个选项。在这种情况下,QGIS将寻找最优的标签位置。
Distance 在标注和面的轮廓之间
这个 Repeating Labels Distance 要在周长上多次显示标签,请执行以下操作。
Using Perimeter (Curved) :根据多边形边界的曲率绘制标签。除了提供的参数之外, Using Perimeter 模式,您可以将 Maximum angle between curved characters polygon ,要么在里面,要么在外面。
Outside Polygons: always places labels outside the polygons, at a set Distance
常用放置设置
某些标签放置设置可用于所有层几何图形类型:
几何图形生成器
这个 Geometry Generator 部分允许用户更改用于放置和呈现标签的基础几何图形,方法是使用 expressions 。这对于动态执行几何体置换或将其转换为另一个几何体(类型)非常有用。
要使用几何体生成器,请执行以下操作:
一些使用案例包括:
使用保存在另一个字段“LABEL_POSITION”中的几何图形
使用 generated geometry 从符号系统中也可以进行标注
使用@MAP_SCALE变量计算与缩放级别无关的距离/大小。
与曲线放置模式相结合,在点要素周围创建圆形标签:
exterior_ring(make_circle($geometry, 20))
在线要素的起点和终点添加标注:
collect_geometries( start_point($geometry), end_point($geometry) )
依靠一条光滑的河流线来获得更多的标签放置空间:
smooth( $geometry, iterations:=30, offset:=0.25, min_length:=10 )
定义的数据
这个 Data Defined 编组在每个要素的基础上提供对标签放置的直接控制。它依赖于它们的属性或表达式来设置:
这个 X 和 Y 坐标
上面设置的自定义位置上的文本对齐方式:
Horizontal :它可以是 Left , Center 或 Right
文本 Vertical :它可以是 Bottom , Base , Half , Cap 或 Top
文本 Rotation 。可以为标签旋转定义不同的单位(例如
degrees
,minutes of arc
,turns
)。查看 Preserve data rotation values 如果要保留关联字段中的旋转值并将其应用于标签,无论标签是否固定,请输入。如果未选中,将重置取消固定标签旋转,并从属性表中清除其值。备注
当前仅支持使用面要素进行数据定义的旋转 Around centroid 放置模式。
备注
表达式不能与标注地图工具(即 Rotate label 和 Move label 工具)至 data-define 标签放置。该小部件将被重置为相应的 auxiliary storage field 。
优先性
在 Priority 部分,您可以定义每个标签的放置优先级等级,即,如果同一位置有不同的候选图表或标签,则显示优先级较高的项目,可以省略其他项目。
优先级还用于评估是否可以由于较大的加权而省略标签 obstacle feature 。
障碍
在某些情况下(例如,高密度标签、重叠要素...),标签放置可能会导致将标签放置在不相关的要素上。
障碍是指QGIS避免在其上放置其他要素的标签或图表的要素。这可以从 Obstacles 部分:
激活
Features act as obstacles 该选项可决定该层的要素应用作任何标签和图表的障碍(包括来自同一层中其他要素的项)。
使用 Settings 按钮来调整障碍物的权重。
对于每个潜在的障碍功能,您可以为其分配一个 Obstacle weight :任何 label 或 diagram 其放置优先级等级大于该值的位置可以被置于其上。如果不可能进行其他放置,则将省略排名较低的标签或图表。
这种权重也可以是数据定义的,因此在同一层中,某些功能比其他功能更有可能被覆盖。
对于多边形层,可以选择要素是哪种障碍物:
over the feature's interior :避免在多边形内部放置标签(倾向于将标签完全放置在多边形外部或仅稍微放置在多边形内部)
或 over the feature's boundary :避免将标签放置在多边形边界上(倾向于将标签放置在多边形外部或完全内部)。这对于要素覆盖整个区域(行政单位、绝对覆盖范围等)的层非常有用。在这种情况下,不可能避免在这些要素内放置标签,并且避免将它们放置在要素之间的边界上时看起来要好得多。
14.3.2.4. 渲染选项卡
在 Rendering 选项卡中,您可以调整何时可以呈现标签以及它们与其他标签和功能的交互。
标签选项
在……下面 Label options :
你会发现 scale-based 以及 Pixel size-based 可见性设置。
这个 Label z-index 确定标签的渲染顺序以及与图层中其他要素标签的关系(使用数据定义的替代表达式),就像渲染其他图层中的标签一样。具有较高z索引的标签被渲染在具有较低z索引的标签(来自任何层)的顶部。
此外,对逻辑进行了调整,以便如果两个标签具有匹配的z索引,则:
如果它们来自同一图层,则较小的标注将绘制在较大的标注的上方
如果它们来自不同的层,则标签将以与其层本身相同的顺序绘制(即遵循地图图例中设置的顺序)。
备注
此设置不会使标签绘制在其他图层的要素下方,它只控制在所有图层的要素上绘制标签的顺序。
Allow inferior fallback placements :默认情况下,QGIS会尝试按照您的设置在标签的最佳位置渲染标签。选中此模式可在没有其他选择时允许要素回退到较差的放置选项,例如,当直线太短而无法容纳弯曲标签文本时,标签可能会水平放置在要素的中心点上方。
在中使用数据定义的表达式 Show label 和 Always Show 您可以微调应渲染哪些标签。
允许 Show upside-down labels :替代方案有 Never , when rotation defined 或 always 。
这个 Overlapping labels 编组允许您控制是否允许对图层中的要素使用重叠标签以及应如何处理每个标签:
Never overlap :永远不要为层放置重叠的标注,即使这意味着某些标注将丢失
Allow overlaps if required :如果无法以其他方式放置标签,请绘制重叠标签。如果可能,此模式将导致标签移动到不太理想的位置,例如,如果这样做可以避免标签重叠,则标签将进一步远离直线或多边形的中心。但如果没有其他可能的位置,则绘制重叠的标签。
Allow overlaps without penalty :如果标签与其他标签或障碍物重叠,这并不重要,这样做很好,应该始终使用最佳位置(例如,大多数中心位置),即使可能有替代的进一步位置,以避免完全重叠。
同时允许重叠标注和备用放置选项将确保对图层中的所有要素进行标注...不一定以最好的渲染效果!
功能选项
在……下面 Feature options :
您可以选择 Label every part of a multi-part features 和 Limit number of features to be labeled to 。
线和面图层都提供了为要标注的要素设置最小大小的选项,使用 Suppress labeling of features smaller than 。
对于多边形要素,还可以根据标签是否完全适合其要素来过滤要显示的标签。
对于线要素,您可以选择 Merge connected lines to avoid duplicate labels ,渲染一个相当简单的地图,并与 Distance 或 Repeat 中的选项 Placement 标签。