无聊的应用~~~
近期工作中遇到了个问题,需要将一份矢量数据,根据其不同字段值,标注不同内容(例如,当A字段值等于0时,标注B、C字段的值,当A字段值等于1时,标注B、D字段的值,当A字段值等于2时,标注C、D字段的值)
感觉在ArcMap就能实现自动判断,然后自动标注,所以查了官方的帮助文档,试了几次居然真让我整出来了
官方文档
构建标注表达式—ArcMap | 文档 (arcgis.com)
具体操作
随便编了一份数据,具体属性表内容如下
想要达到的标注效果为【当A字段值等于0时,标注B、C字段的值,当A字段值等于1时,标注B、D字段的值,当A字段值等于2时,标注C、D字段的值】
打开【标注】选卡,点击【表达式】,勾选【高级】,在添加如下表达式即可
Function FindLabel ( [A], [B] , [C] , [D] )
if ([A]= "0") then
FindLabel = [B] &" "& [C]
elseif([A]= "1") then
FindLabel = [B] &" "& [D]
else
FindLabel =[C] &" "& [D]
end if
End Function
注意本表达式使用的解析程序是【VBScript】
如果需要增加判断条件在【if】后的括号中添加就可以
写好的表达式可以保存为.lxp文件,方便下次调用