【科研杂记_4】ArcGIS Pro通过标注表达式实现换行、保留小数位、分数标注

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的学习记录分享。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值