动态标注
功能说明
在地图中,文本的表现形式有多种,注记是其中一种文本的表现形式。在MapGIS平台中,将注记划分出了静态注记和动态注记两大类。
- 静态注记指可单独选择、定位和修改的文本,存储于数据库的注记类中的图层;
- 动态注记指根据用户定义的规则,动态地放置在要素类附近的标注文本,用户无法选择和修改单个标注。
静态注记 | 动态注记 | |
|---|---|---|
| 优点 | 稳定性和一致性:一旦创建完成,静态注记不会随数据的变化而自动调整或改变位置,这有助于保持地图上信息的稳定性和一致性。 性能优化:由于静态注记是预先生成并存储为独立的图形元素,因此在渲染时对系统资源的需求较低,有利于提高地图显示的性能。 设计灵活性:允许用户对每个注记进行详细的个性化设置,包括字体、颜色、大小、旋转角度等,以达到最佳视觉效果。 | 自动化与实时性:动态注记基于属性字段自动生成,并能随着地图缩放级别的变化自动调整显示内容和样式,减少了人工干预的需求。 适应性强:能够根据地图视图的缩放比例智能地决定哪些注记应该显示以及如何显示,提高了用户体验。 易于维护:只要源数据更新了,相关的注记也会随之更新,无需单独编辑注记文件。 |
| 缺点 | 维护成本高:如果基础地理数据发生变化(例如地名变更),则需要手动更新相应的静态注记,这增加了维护的工作量。 适应性差:当缩放级别变化时,静态注记无法自动调整其显示内容或样式,可能在某些比例尺下显得不合适。 | 计算开销大:每次地图重绘时都需要重新评估哪些注记应当显示,这对计算资源提出了更高的要求,在处理大量数据时可能导致性能下降。 样式限制:尽管动态注记提供了很多配置选项,但在个性化定制方面可能不如静态注记灵活。 |
动态注记是基于要素属性字段,提取标注文本,并自动放置在地图中相应位置的一种文本方式。下图展现了动态注记的分类结构:

如下:左侧图示为简单注记效果,右侧图示为矩阵注记效果。用户应根据实际需要选择适合的动态注记类型。


本节重点描述动态注记相关的设置操作:
操作说明
1. 工作空间添加图层,右键点击图层名称,在右键菜单中选择"动态标注"功能项,于右侧弹出"动态标注"窗口,需勾选"开启动态标注"激活功能窗口;

2. 窗口下方的"导出类"功能,支持将"动态标注"导出为"静态注记",以注记类的形式进行存储、管理等;

在对图层进行动态标注设置完成后,点击"导出类"按钮,弹出如下图所示对话框:

如勾选了"完成后添加到地图文档",则在工作空间中自动加载导出类的注记图层。

提示:
"导出类"类似"固化"的过程。当你觉得自动生成的标注位置不够完美,需要进行"人工干预"或"数据迁移"时,就需要使用这个功能,但还需要注意:
(1) 导出后的注记是独立存储的。如果原图层的属性(如地名)发生了变更,导出的静态注记不会自动更新,你需要手动修改文字内容或重新导出; (2) 图层叠加:导出后,地图上可能会同时存在"原始图层+动态标注"和"新生成的注记图层"。通常建议关闭原始图层的动态标注,只显示新生成的注记图层,以免文字重叠。
3. MapGIS Desktop提供了两种标注方式——统一标注、分类标注。
- 【统一标注】:用户可以选择图层的某一属性字段作为动态注记标注字段;
- 【分类标注】:对选定的字段进行分类分段,再标注。
下面分别介绍各种标注方式的使用。
统一标注
统一注记设置方法如下:
1. 工作空间添加图层,右键点击图层名称,在右键菜单中选择"动态标注"功能项,于右侧弹出"动态标注"窗口;

2. 标注方式选择"统一标注",选择某一字段进行动态标注,如下图将图层的字段"省名"作为统一注记进行显示;

统一标注的符号参数如下:
- 【标注字段】:注记方式选择“统一标注”时可用,选择图层下的某字段作为动态注记的内容;
- 【多行标注】:勾选后,可设置每行最大长度值,默认为6个字符,超过6个字符后标注会换行显示;
统一注记:对图层内的所有要素使用同一种样式的标注。在设置标注方式时,有"简单标注""矩阵标注"两种方式。
简单标注
选择"简单注记"时,将指定该图层下某一字段值作为注记内容进行动态标注。

简单注记的参数如下:
- 【标注字段】:注记方式选择“统一标注”时可用,选择图层下的某字段作为动态注记的内容;
- 【多行标注】:勾选后,可设置每行最大长度值,默认为6个字符,超过6个字符后标注会换行显示;
提示:
每行最大字符个数是指字符上限,即不可超过该值,但可能少于该值。若当前标注字符有8个,设置最大换行个数为6时,会调整每行显示4个字符,以保证每行字符个数相近。
矩阵标注
矩阵注记可由"文本"、"分隔"、"符号"、"图像"、"矩阵"元素任意组合而成。
1. 选择"矩阵注记"项,点击"设置标注内容"按钮,弹出如下所示的"矩阵注记"设置对话框;

2. 在"矩阵注记"对话框中,您需要首先进行以下操作:
- 点击上图中的蓝色区域(红、黑两线间的区域),然后在"常规信息"窗口中设置注记矩阵的行列数,蓝色外框中会根据设置的行列值增加新的单元格;
如下图所示,是设置矩阵行数为3、列数为1的注记矩阵。点击图中"文本"单元格,文本单元格高亮显示为蓝色,此时可在对话框下侧设置该单元格的"类型",系统提供的注记类型包括:文本、分隔、符号、图像、矩阵。

另外,您还可在"边框、对齐信息"页上(如下图),设置注记的边框样式:

各类型单元格的相关设置说明如下:
(1)文本
文本表达式有两种设置方式:字段表达式和格式表达式。字段表达式即选择图层的某个属性字段作为标注内容(类似简单注记);格式表达式则是按照一定的语法组织表达式以实现多个属性字段显示,如输入:"%s/%d",省份,人口密度,显示的效果是:省份/人口密度;

格式表达式中的"%"为转义字符,当注记表达式含有符号"%"时应输入"%%";符号分隔逗号","需在英文状态下输入。
字符含义说明如下:
%s:表示对应的字段输出的数据格式为字符串;
%d:表示对应的字段输出的数据格式为整数型;
%f:表示对应的字段输出的数据格式为浮点型;
%.nf(n=1,2,3……):表示对应字段输出数据格式为带有n位小数的浮点型;
%u:表示对应的字段输出的数据格式为无符号数;
%c:表示对应的字段输出的数据格式为按字符输出,即字段值在ASCII码中对应的字符。
使用格式表达式:""%s/%s/%d",省名,发达程度,GDP "进行标注的示例如下:

- 【精度】:对数值型的字段设置保留精度位数;
- 【换行】:设置每行最大字符数;
- 【标注信息】:当需要动态注记以更多样化的效果进行显示时,可通过"符号属性编辑器"中提供的其他参数进行设置字形、字体颜色、大小、显示效果等信息。可通过点击"符号信息"按钮,打开"符号样式选择器",在"符号样式选择器"中点击"编辑符号",打开"符号属性编辑器"

(2)分隔
分隔是用一条细线或空白间距以隔开与其相邻的矩阵块,其宽度值的单位为像素。在如下所示的常规设置中,您可以设置分割线的颜色和方向(横向、纵向、间距)。也可以为分割线设置边框。

- 【分隔项最小宽/高度】:设置分隔的高/宽;
- 【绘制水平/垂直分隔】:设置分隔线的方向;若都不勾选则不绘制分隔线,以间距表示。
- 【线样式】:当需要以更多样化的效果进行显示时,可在"符号样式选择器"窗口点击"编辑符号",通过"符号属性编辑器"中提供的其他参数进行设置。
如上图参数设置的分割线效果如下:
(3)符号
符号是根据设置的符号样式来显示。点击"符号信息",可选择或编辑符号。也可设置符号项的边框和背景。

下图为符号+文本进行注记的样式:

(4)图像
图像选择的属性字段一般是要求记录的是关联的图片完整路径+名称(要求带格式后缀),如果记录的只是图片名称(要求带格式后缀),则需要使用格式化路径对图片路径进行补充。此项需注意如下几点:
目前MapGIS 10中的矩阵注记关联图像支持格式有:.tif、.png、.jpg、.bmp、.gif、.ico。关联的图像虽没有被限制高宽大小,但是若图片高宽值太大会整个显示影响整体平衡。
- 【自定义图像大小】:复选框控制是否自定义图像大小,不勾选不会限制图片大小,不限制的情况下,如果图片太大可能当前显示级别不会显示,需要放大到特定级别才显示,自定义大小后会对图片尺寸进行压缩或拉伸,统一尺寸。
如下图所示进行复杂注记的布局,生成注记如图:


- 【路径表达式】:选择图片的路径表达式字段,要求包含完整的图片路径和名称,如:选择pic属性字段,其记录值为:C:\Users\admin\Desktop \rain.png;
- 【格式化路径】:按照一定的语法组织表达式来拼接出图片的路径。如:属性字段中只存储有图片名称"rain",可用表达式拼出完整路径:"C:\Users\admin\Desktop \%s.PNG",pic2。%s:表示对应的字段输出的数据格式为字符串。
(5)矩阵
若选择当前单元格为矩阵,则可继续对其按照行列值进行分割。对已进行分割的矩阵重新排布,只需点击当前矩阵块的中心位置重新输入行列值即可。如下所示:

提示:
要应用动态注记之前,一定要确定勾选了设置页面上方的"标注此图层中的要素"项。
符号

- 【字体】:用于设置注记显示时的字体;
- 【大小】:用于设置注记显示时的大小;
- 【字体颜色】:用于设置注记显示时的颜色;
- 【字形】:可设置字体是正体、左斜、右斜、左耸、右耸;以及加粗、下划线、删除线效果;
- 【显示阴影】:勾选显示阴影后,可设置字体阴影效果,如阴影颜色、阴影半径和偏移值;
- 【显示缓冲区】:勾选显示缓冲区后,可设置字体缓冲区效果,如缓存区颜色和宽度;

位置
(一)区图层

- 标注类型
- 水平:指动态标注显示时始终在水平位置上显示;
- 笔直:指动态标注显示时始终与图元保持垂直;
- 弯曲:指动态标注显示时与图元的弯曲保持一致;
- 底部边线:指沿着图元的边界显示动态注记;
- 区域外面:指在区域外显示动态注记。效果如下图所示:

适应策略
- 完全标注在区内部:若勾选此选项,则注记仅在区内放置,若区内放不下时,会取消注记放置。若不勾选此选项,则注记在放置时不会被严格约束放置在区内,即使超出区域范围也会显示,如下图所示:

- 当区的屏幕面积小于__mm²不注记:当区图元的面积小于设置值时,不标注注记。
(二)线图层

标注位置
- 位置基准:分为地图页面和线方向两个参数,地图页面与沿线位置结合使用,可设置在上方、线中及下方标注显示,线方向即沿着线的方向从起点到终点标注。与沿线位置结合使用,可设置在左侧、压线及右侧标注显示;
- 方位优先级(标注方位):设置注记显示在线上的位置,如在线的上方、下方或中间压线;
- 偏移距离:指注记偏移线的左/右侧(上/下侧)的距离大小,单位像素;
- 沿线位置:设置标注显示在线上的位置:如线中部、线头或线尾。
文字方向:(可参照区标注类型)
- 水平:指动态标注显示时始终在水平位置上显示;
- 垂直:指动态标注显示时始终与图元保持垂直;
- 平行:指动态标注显示时始终与线图元保持平行;
- 弯曲:指动态标注显示时与图元的弯曲保持一致;
- 适应线使字头向上:字体适应线方向标注,且字体方位正北。
字符分布
- 集中分布:注记内容集中显示在线上;
- 分散分布:注记内容分散显示在线上;
- 自动分布:无汉字就集中分布,有汉字则分散分布,选择此方式的显示效果如下图所示,注记“abcdef”为集中显示,“汉字注记内容”为分散显示;分散分布时,可设置字符间距。
- 重复类型
- 自动重复:当线长度超过注记长度2倍,系统根据重复策略自动重复标注;
- 不重复:作用和区重复策略的“消除所有重复标注”相同,在整个线图层中查询,对存在多个注记字段值相同的线图元,只标注当前地图视窗中图元长度最长的一个;
- 按步长重复:以设置的“步长”值为间隔重复标注。
(三)点图层

- 【围绕点的八个方位标注】:标注按照方位优先级显示,优先级高的方位先标注;
- 【在点位上压点标注】:注记以点为中心,注记覆盖在点上;
- 【按给定角度标注】:注记的方位根据设置的角度显示,角度优先级从上到下递减;
- 【在属性值指定的角度上标注】:注记的方位角度根据设置的属性字段值来获取显示。
其他

比例尺
- 自定义标注显示比例尺:可以设置动态注记显示的最大、最小比例尺,超过此范围注记不显示。
要素标注重复策略
- 移除同名标注:在整个图层中查询,对存在多个注记字段值相同的图元,就只标注显示要素最大的一个;
- 一个要素一个标注:在多图元的情况下只标注其中一个图元;
- 一个要素部分一个标注:整个图层中查询,在多图元的情况下对存在多个注记字段值相同的图元,标注显示每一个要素字段。
【标注格式】:勾选后,所有标注都会显示在当前视图窗口内,如果不勾选,会显示可视范围内包括不完整的注记,移动窗口时可看到完整注记。
冲突处理
- 标注权重:即冲突解决策略。表示该图层的动态注记是否能被其他图层的动态注记覆盖,权重越高,此图层的标注越不会被其他图层标注覆盖;
- 要素权重:要素权重越高,此图层的要素越不会被其他图层标注覆盖;
- 缓冲区距离:当前图层如果设置了标注缓存距离,那此缓冲区范围内将不会显示其他标注;
- 绘制冲突标注:如果标注有冲突,也绘制显示;
- 高亮显示冲突标注:将有冲突的标注高亮显示;
- 缩小冲突标注尺寸:针对有冲突的标注,缩小标注尺寸后显示。
分类标注
选择分类标注时,用户可以对标注字段进行分类筛选后再标注。

- 【标注方式】:选择分类标注;
- 【标注字段】:点击
按钮,可选择需要显示的属性字段;
- 【SQL条件】:点击
按钮,可进行条件分类筛选设置,以限定显示标注的范围。

- 【基于比例尺调整注记大小】: 该参数若勾选,在显示注记时,随图缩放基于比例尺调整大小显示注记。若不勾选,不进行随图缩放,按照原始注记大小显示。

- 【区域外面】:围绕点/区水平放置标注:可选八方位水平进行标注。点击每个方位的编辑框可设置优先级别,0=无效,即不可在该方位进行标注。1~8级别逐渐降低。如图所示:注记优先标注在点/区的东方;若东方无法标注时,选择优先级为2的北、东北方向;若仍无法标注,选择优先级为3的南、东南方向。若这些方向均无法标注,则注记不显示。
