在arcmap配图出图过程中时常会遇到标注过长影响整个图幅的效果,这种时候我们就需要对标注进行换行显示,优化图幅整体效果,下面我总结了三种标注换行的方法以及各自优缺点,希望能帮到各位同学。
方法一:通过标注表达式vbnewline来换行
简单换行:右击需要换行的图层,选择属性——标注,选择“表达式”,在弹出标注表达式框的3位置输入以下表达式:left( [NAME],3) & vbnewline & mid([NAME],4,3),如下图所示:
最终效果如下:
方法二:利用计算器,超过一定的长度换行
代码换行:右击需要换行的图层,选择属性——标注,选择“表达式”,在弹出标注表达式框的4位置输入以下表达式:
Function FindLabel ( [NAME] )
if (len( [NAME] )) >3 then
FindLabel = left( [NAME] ,3) & chr(13) & right(,len([NAME] )-3)
else
FindLabel = [NAME]
end if
End Function
代码说明:
[Name]--标注的字段
if (len([Name])) >3 ---- //当标注的字段的字数大于3个
left( [Name],3)--第一行显示3个字
chr(13)--VB语法,表示换行
right([Name],len([Name])-3)--第二行显示剩下的字
如果想两行显示的字数一样,则将3改为len([Name])/2,即每行显示一半字数。
如下图所示:
最终效果如下:
方法三:通过分隔符来换行
1)单击“视图”,选择“数据框属性”在弹出的数据框属性中选择“常规”,在“常规”下的“标注引擎”下拉框选择“Maplex标注引擎”,最后点击“确定”,如下图;
2)右击该图层,开始编辑该图层,选中需要换行的记录数,在想换行的位置加入空格或逗号或自定义分隔符,如下图所示例子中用英文状态下的逗号做分隔符:
3)右击需要换行的图层,选择属性——标注,选择“放置属性”,在放置属性面板的“适应策略/fitting Strategies”中设置“堆叠标注”选项。在标注堆叠选项框中将“空格对应的分割之后复选框和逗号可见复选框去掉”,选择确定,标注根据一定的分隔符去换行,如下图所示:
这种方法并不是强制换行,是在需要换行的时候,进行换行。例如空间不足以整行显示的情况。
最终效果如下:
- Vbnewline
- 利用计算器,超过一定的长度换行;
- 通过分隔符来换行;
优缺点:前两种换行属于强制换行,有时一个词语会被强制断开;后一种较为灵活。