在ArcGIS Pro中,如果遇上过长的文字,或者需要分段的情况,换行标注就变得很有必要:
这里介绍几种常用的换行方法。
01
固定长度分行
最简单的就是固定长度,即第一行固定字数。
例如第一行固定3个字即换行。
在标注表达式右侧勾选【高级】,输入:
def FindLabel ([XZQMC]):return [XZQMC][:3] + "\n" + [XZQMC][3:]
显示结果:
02
合适比例换行
有时候文本长度不一,你不知道具体应该在第几个字开始换行才合适。
这时候可以采用动态换行,即根据文本的实际长度来判断换行的位置。
在标注表达式中输入:
def FindLabel ( [企业名称] ):len_total = len([企业名称])len_1 = int(len_total/2)return [企业名称][:len_1] + "\n" + [企业名称][len_1:]
生成结果:
在文本长度一半的位置,就开始换行。
03
在固定文字处换行
有时候需要根据文本的规律,在出现指定文字的地方换行。
例如,在出现文字【镇】的地方换行。
在标注表达式中输入:
def FindLabel ([XZQMC]):index = [XZQMC].find("镇")+1return [XZQMC][:index] + "\n" + [XZQMC][index:]
生成结果:
在有出现【镇】的地方换行成功。
但有时候不单是某一个字,如上图所示,还需要在【乡、街道】等地方换行。
这种需要多种文字适配的情况,可修改表达式:
def FindLabel ([XZQMC]):index = 0str_list = ["镇", "乡", "街道"]for str in str_list:if str in [XZQMC]:index = [XZQMC].find(str)+len(str)breakreturn [XZQMC][:index] + "\n" + [XZQMC][index:]
生成结果:
完美适配。
- END -




