备用表达式、缩写字典和标注的截断允许 Maplex 标注引擎 缩短长标注以使其适合小空间。 使用备用表达式时,标注引擎会首先尝试放置标注的全部文本。 如果无法实现,则系统会将标注替换为字段值或 Arcade 表达式中的指定文本。 如果标注仍未放置,则标注引擎将缩写字典中找到的一切单词,以便将其放置到可用空间中。 截断是最后尝试的选项,它将根据指定字符来缩短标注中的单词,以将其移除并从截断中排除。 这些自适应策略可以任意组合使用,但将始终按此顺序应用。
备用表达式
备用表达式允许 Maplex 标注引擎 将长标注缩短以使其适合受限制的空间。 通过备用表达式,您可以选择用于替换较长标注的字段,或使用 Arcade 来构建具有多个字段和文本的表达式。 例如,如果某个位置过小,无法容纳学校的全名,则可使用单词 School 来标注这个学校。 在这种情况下,需要从图层中的另一个字段或 Arcade 表达式中提取出备用文本 School,并将其用于标注要素。
- 请确保已启用 Maplex 标注引擎。
- 确保按标注列出是显示内容窗格的活动方式。 单击按标注列出选项卡 。
- 在内容窗格中选择标注分类,然后单击标注选项卡。
- 在标注选项卡的标注放置组中,单击标注放置属性 。
- 在标注窗格中,单击位置,然后单击自适应策略选项卡 。
- 展开缩写。
- 选中使用缩写策略复选框。
- 从下拉列表中指定要使用的字段或单击表达式按钮 以指定将用于备用表达式的 Arcade 表达式。 提供表达式的标题(可选)。
缩写字典
缩写字典允许 Maplex 标注引擎 缩短长标注以适应较小的空间。 使用缩写字典时,Maplex 标注引擎 首先尝试放置标注的全部文本。 如果无法实现,则系统会将无法放置的标注缩写为在字典中找到的任何对应单词。
缩写字典适用于单个标注分类。 缩写适用于单个单词或成组的单词,不适用于单词中的一部分(某些非英语单词除外)。 Road 和 Street 等单个单词可缩写为 Rd 或 St,Post Office 等长字符串可缩写为 PO。 单词中的各部分不能进行缩写。 如,如果有一个将 Road 映射为 Rd 的字典条目,则标注 Roadrunner Road 将缩写为 Roadrunner Rd,而不是由 Rdrunner Rd。Maplex 标注引擎 不对包含文本格式化标签进行缩写。
在下图中,Plumas Street 已被缩写为 Plumas St 以使其适合短的街道。 Monterey Street 也进行了缩写。 在有足够空间进行标注时,单词结尾不会缩写。
警告:
如果标注包括文本格式化标签、下标或上标符号、合并的字符(如变音符号)或者从右至左的字符,则文本字符串不会缩写。
区分大小写
缩写区分大小写。 可向缩写字典中添加行以添加不同大小写形式的缩写。 下表显示了多个行,表示使用不同大小写形式的 Street 关键字。 如果不要求大小写完全匹配,则会使用缩写字典中第一个不区分大小写的匹配项。 使用移动箭头控制第一个使用哪个匹配项。
关键字 | 缩写 |
---|---|
STREET | ST |
街道 | St |
缩写字典条目的类型
缩写字典条目的类型有三种:关键字、结尾和转换。 仅当因空间、标注间冲突或标注与要素间冲突,而无法放置原始字符串时,关键字和结尾这两种缩写字典类型才可适用于单词。 转换条目始终适用于所有匹配的单词。
- 关键字条目可应用到字符串中除最后一个单词之外的所有单词。 可使用关键字替换常用单词,例如,用缩写 Mt 和 Intl 替换 Mount 和 International。
- 结尾条目只可应用到字符串的最后一个单词。 请使用此类缩写来缩短街道的结尾,例如将 Street 缩写为 St,Road 缩写为 Rd,Avenue 缩写为 Ave。
- 转换条目始终适用于字符串的所有单词。 在将地图翻译成其他语言时、想要从标注字符串中移除单词时或者想要缩写某个单词的所有已存在项时,转换条目会十分有用。 请使用此类缩写缩短长街道名称,例如将 Martin Luther King Boulevard 缩写为 MLK Blvd。
非英语街道名称
在德语中,通用的街道结尾会追加至专有街道名称,例如 Fredrichstrasse。 为处理此类特殊情况,Maplex 标注引擎 将识别街道标注的较长字符串中可被缩写的五个特殊字符串:
- German—strasse
- Swedish—gatan
- Dutch—straat
- Danish—gade
- Norwegian—gaten
如果这些单词中至少有一个出现在缩写字典中,Maplex 标注引擎 便会启用一种特殊的缩写模式。 任何结尾类型的缩写都会使 Maplex 标注引擎 进行搜索并尝试匹配字符串的结尾字符(而不是最后一个单词)以发现可能的缩写。 在因空间受限而使用缩写的情况中,该结尾类型也可带有连字符号或者堆叠。
注:
当这种缩写类型出现时,如果还有其他字符串包含在字符串中,则不会缩写其他字符串。
缩写类型关键字和转换不会将德语缩写。
在下图中,使用荷兰语缩写字典缩写了三条街道。 缩写形式如下:
- GRAVENSTRAAT = GRAVENSTR
- DAMRAKSTEEG = DAMRAKSTG - 使用连字符连接为 DAMRAK-STG 以堆叠该标注
- ZOUTSTEEG = ZOUTSTG
注:
在某些标注中,要缩写的单词是标注的前缀并以连字符分隔,例如 Rue Saint-Jacques。 在此示例中,缩写字典不会缩写 Saint,因为它是较大字符串的一部分。 使用备用表达式进行缩写。
在示例街道名称 Rue Saint-Jacques 中,将 Saint- 替换为 St-。
return Replace($feature.name, "Saint-", "St-")
创建缩写字典
要创建缩写字典,请完成以下步骤:
- 请确保已启用 Maplex 标注引擎。
- 在标注选项卡的地图组中,单击 更多 > 缩写字典。
- 单击新建并为字典指定名称。
将缩写添加到字典
要将单词添加到缩写字典中,先向字典表添加一行,在关键字列中输入单词,输入一个或多个以空格分隔的缩写,然后指定其字典条目类型 - 转换、关键字或结尾。 多个单词的缩写必须括在引号内。 例如,双单词字符串 Post Office 可缩写为 "P O"。
提示:
- 一个单词可拥有多个缩写;以空格分隔条目:"Str" "St"。
- 如果想要在缩写中含有空格,应将字符串括在双引号内:"P。 O."
- 在标注选项卡的地图组中,单击 更多 > 缩写字典。
- 创建缩写字典或加载现有字典。
- 单击添加行将条目添加到字典表。
- 输入要缩写的单词。
- 输入单词的缩写。 当可能存在多个缩写时,请使用空格分隔这些条目并用引号将其括起来。
首先尝试处理第一个缩写条目,然后是下一个,依此类推。 只要放置了字符串,就不必尝试其他缩写条目了。
- 从下拉列表中选择要使用的缩写类型:转换、关键字或结尾。
- 可以使用箭头对条目进行重新排序。 缩写区分大小写。 如果不要求大小写完全匹配,则会使用第一个不区分大小写的匹配项。
- 可以通过右键单击列标题并选择升序排列或降序排列来对行进行排序。 选择清除排序即可返回到之前的顺序。 编辑条目后,无论是对缩写、关键字或类型进行了编辑,还是使用箭头对条目进行了重新排序,都不能再清除排序。
保存缩写字典
可将缩写字典保存至字典文件和数据库表。 要保存缩写字典,单击缩写字典对话框上的选项箭头,然后选择保存至文件或保存至数据库表。
加载缩写字典
先前保存的缩写字典文件和表可从缩写字典对话框加载到新工程中。 单击选项箭头,然后选择从文件打开或从数据库表打开。
追加至现有缩写字典
加载先前保存的缩写字典时,可选择将其追加至现有字典。 从缩写字典对话框上的所选缩写字典下拉列表中选择要追加的字典,然后单击选项箭头。 选择从文件追加或从数据库表追加。
缩写字典文件格式
以星号 (*) 开头的行为注释行。 缩写条目的格式遵循此模式:
<Word> <Option1> <Option2> <OptionN> <Type>
缩写文件示例
* Maplex Label Engine Dictionary File -
v1.0
* Format: TEXT ABBREVIATION(S) TYPE
* where TYPE=[Translation|Keyword|Ending]
"Street" "Str" "St" Ending
"Road" "Rd" Ending
"Post Office" "Post Off." "PO" Keyword
* [end]
缩写表格式
缩写表由三个字段组成:关键字、缩写和行类型。 关键字和缩写字段遵循将缩写添加到字典部分中所概述的格式,而“行类型”字段对应三种缩写字典条目分别为三个整数值:
- 0 - 转换
- 1 - 关键字
- 2 - 结尾
使用缩写字典
缩写字典创建完成后,可将其分配到要使用缩写的标注分类中。 可通过将缩写字典保存并加载至新工程来重新使用缩写字典。 字典可保存到字典文件,也可保存为表。 字典文件为带格式的文本文件,并使用文件扩展名 .dic 进行保存,而字典表则可存储在数据库中或以单独形式存在(如 .dbf 表)。
- 请确保已启用 Maplex 标注引擎。
- 确保按标注列出是显示内容窗格的活动方式。 单击按标注列出选项卡 。
- 在内容窗格中选择标注分类,然后单击标注选项卡。
- 在标注选项卡的标注放置组中,单击标注放置属性 。
- 在标注窗格中,单击位置,然后单击自适应策略选项卡 。
- 展开缩写。
- 选中使用缩写策略复选框。
- 在字典下拉列表中指定要使用的缩写字典。
截断标注
如果必须放置标注,则可使用截断移除字符并设置字符标记结束标注,以缩短标注中的单词。 Maplex 标注引擎 先从标注中最长的单词开始,移除非首字母的特定字母。 如果标注没有截断到足够短,则接下来将移除元音,然后移除已截断标注的末尾字符,直到标注已放置或决定取消放置。
注:
带有一个或多个元音字母(a、e、i、o、u)的两个或三个字母的单词不会被截断。 这将对一些标注的截断形成限制,例如将 Boulevard de Nantes 截断为 B. de N 等。
单词结尾处的尾随元音仅需一步即可移除,而无需逐字符进行移除。
已匹配的括号将不会被移除。
在下图中,教堂标注 Ascension Episcopal Church (Historical Site) 已被截断为 Asn.E.C..(H.Sit.)。 已截断标注的每个部分的末尾处都添加了一个句点。
- 请确保已启用 Maplex 标注引擎。
- 确保按标注列出是显示内容窗格的活动方式。 单击按标注列出选项卡 。
- 在内容窗格中选择标注分类,然后单击标注选项卡。
- 在标注选项卡的标注放置组中,单击标注放置属性 。
- 在标注窗格中,单击位置,然后单击自适应策略选项卡 。
- 展开缩写。
- 选中使用缩写策略复选框。
- 选中截断复选框。
- 也可为最小文字长度、标记字符指定值(以终止已截断标注),并指定首先移除的字符和从不移除的字符。