该“标注”系列博文的标注引擎使用“标准标注引擎(standard label engine)”,这个概念如不知道,可不理会,ArcGis默认标注引擎就是它。
ArcGis的标注表达式支持VBScript、Jscript、Python ,3种脚本语言进行语句解析。一般我们常用的是VB、Python。
普通标注这里不做讲述,先从一个简单的换行标注开始讲起。
两行标注
可以很简单的通过下面的VB语句来实现
[字段1] +VB换行符+ [字段2]
VB的换行符一般用vbnewline,它与vbcrlf是等价的,在ArcGis的字段计算器或者标注表达式中其实还可以用chr(10)、chr(13)、chr(10)+chr(13)来替代。
先了解一下chr函数,它是将ASCII码值返回对应的字符,这篇文章的读者应该会对这个概念比较陌生,有兴趣不妨自己去查一下chr函数与ASCII。
chr(10)—>vblf—>换行;
chr(13)—>vbcr—>回车;
chr(10)+chr(13)—>vbcrlf(vbnewline)—>换行回车
上面vb……的东西是VB语言中的预置常数,其值就是对应的chr函数返回值。
下面几种组合的结果是一样的
[PartCount] +vbnewline+ [BH]
[PartCount] +chr(10)+ [BH]
[PartCount] +vbcr+ [BH]
[PartCount] +chr(10)+chr(13)+ [BH]
这样的标注只能叫两行标注,它离分式标注还差一条分式横线。
分式标注
这样实现?
[PartCount] +vbnewline+"——"+vbcrlf +[BH]
其实换行两次成了3行,分子与分母距离较远,看起来效果挺差。
改进方法?有的。
这就要引入ArcGis的标注标签了,使用und(下划线)标签为分子字段加个下划线:
""+[PartCoun