在ArcMap地图标注一文中,简单分享了ArcMap中标注放置、分类、权重、表达式。接下来,补充下ArcGIS Pro中的标注表达式。
1、标注表达式支持的语言
标注文本内容基于属性字段,使用高级标注表达式,能够将任何 Arcade、Python、VBScript 或 Jscript 逻辑自定义使用,包括条件逻辑和循环等。其中,Arcade 表达式可在整个ArcGIS平台上使用,除了桌面产品外,可在 Runtime、Runtime SDK 等里运行,而其他语言则不能。
2、标注换行
标注换行有两种情况。
情况一:给两个字段标注,一个字段占用一行。
比如下面市级行政区划图层中,给所属地市、周长两个字段标注,一个字段占用一行。
表达式通过换行符'\n'实现:
$feature.所属地市 + '\n' + $feature.Shape_Length
标注结果:
情况二:给一个字段标注,一个字段分两行。
比如下面市级行政区划图层中,给周长这一个字段标注,一个字段占用两行。
表达式如下,Left([Shape_Length], 6) 获取Shape_Length 的前6个字符并显示为第一行。Mid([Shape_Length ], 6, 20) 获取 Shape_Length 从第6个字符开始的20个字符并显示为第二行。
Left($feature.Shape_Length, 6) + '\n' + Mid($feature.Shape_Length, 6, 20)
标注结果:
3、保留两位小数
表达式如下,Text() 是 Arcade中用于将数值转换为字符串,并应用格式化的函数。
#表示可选的数字位,如果该位置没有数字,则不显示。
•. 是小数点分隔符,"#.00" 保留两位小数,如果小数部分不足两位则用零补足,整数部分按实际值显示,但如果没有整数部分则可以省略。
Text($feature.Shape_Length, "#.00")
对该图层的Shape_Length的值保留两位小数:
标注结果:
4、分数标注
这里使用python表达式,借助长破折号实现。表达式如下。
var numerator = Floor($feature.Shape_Length) // 获取整数部分
var denominator = Round(($feature.Shape_Length - numerator) * 100, 0) // 获取小数部分并转化为分数
return Text(numerator) + "\n\u2014\n" + Text(denominator)// 使用长破折号(\u2014)来连接分子和分母
标注结果:
最后欢迎关注本公众号
这里有更多关于ArcGIS的学习记录分享。