ArcGIS中各种 标注
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ArcGIS中标注之——上下标、分数等特殊形式标注
分数形式标注要素:
首先将分母和分子的内容分别放在两个字段中,然后在标注的时候,标注内容选择用表达式标注,在表达式的输入框中输入”〈UND〉” & [分子的字段]&”〈/UND〉" &vbNewLine &[分母的字段],即可实现分数形式的标注。
上下角标形式标注要素:
将标注的主体内容、上角标内容和下角标内容分别用三个字段保存。
假设这三个字段分别是:text、super_text和sub_text。
步骤如下:
1.在被标注的图层的属性里,点击“expr ession(表达式)”。
2。
在弹出的“表达式”窗口中书写表达式如下
[text]&"〈sup〉" & [super_text] &"</sup〉" &”<sub>" &[sub_text] & "</sub〉"
其中:
"<sup〉" & [super_text] & "</sup>"表示将super_text字段里的内容作为上角标
”〈sub〉" &[sub_text] & ”</sub〉"表示将sub_text字段里的内容作为下角标
补充1:
比如在:对BlockName和Company进行标注时候,使用下面语句实现BlockName红色显示,而Company黑色显示
”〈CLR red=’255’ green=’0' blue=’0’>" &[BlockName]&”〈/CLR>" & VbNewLine &[Company]
今天发现了一个小问题,如果BlockName或者Company中有特殊字符如&或者>等,会出现将这些特殊字符作为Script语句一部分处理情况,导致无法正常显示标注内容(无法解析VBScript语法)。
这个和网页编程时候非常类似,于是参考网页编程方法对代码做了一下修改,用"&”替代”&"
Function FindLabel ([BlockName], [Company] )
strBlockName = Replace([BlockName],”&",”&")
strCompany= Replace([Company],”&”,”&”)
FindLabel = ”〈CLR red='255' green='0' blue='0'〉” &strBlockName &"</CLR>" &VbNewLine & strCompany
End Function
补充2:
以前用ArcGIS Label一般也就在图层的Properties里面定义一下Label字体大小和粗细。
这两天遇到一个问题,需要在Label中显示多个字段的内容,比如BlockName和CompanyName.其实这个本来不是很难的问题,因为Label中支持VBScript,使用[BlockName]&VbNewLine & [CompanyName].就可以实现标注中第一行显示BlockName,第二行显示CompanyName.
现在问题出来了,出图时候希望突出BlockName效果,希望加粗显示,而CompanyName使用一般字体。
考虑了很长时间终于从ArcGIS帮助中找到了相关的内容,原来Label的VBScript里面支持类似于Html 的VBScript标签,比如加粗就是用<BOL>,上面问题就可以使用下面语句解决:
”<BOL>" & [BlockName] & "</BOL〉” &VbNewLine & [CompanyName]
除了加粗,ArcGIS中还支持下面的文本格式标签:
Font:
”〈F NT name=’Arial' size=’18’>” & [LABELFIELD] &”〈/FNT〉”
Color:
”〈CLR red='255' green=’255’ blue=’255'>" & [LABELFIELD]& ”〈/CLR>"
"<CLR cyan='100’ magenta =’100’ yellow='100' black=’100’〉" &[LABELFIELD]& ”〈/CLR〉” Bold:
"<BOL>” & [LABELFIELD]& ”〈/BOL>"
Italic:
”<ITA〉" &[LABELFIELD] & ”</ITA>"
Underline:
”<UND>” &[LABELFIELD] &"〈/UND〉"
All caps:
”〈ACP〉" &[LABELFIELD]&”</ACP〉"
Small caps:
”<SCP〉" & [LABELFIELD] & "</SCP>"
Superscript
”<SUP>” & [LABELFIELD]& "</SUP>”
Subscript:
"<SUB〉” & [LABELFIELD]&"</SUB>"
Character spacing (%):
”〈CHR spacing='25'〉" & [LABELFIELD] &”</CHR〉"
Word spacing (%):
"〈WRD spacing=’150’〉” & [LABELFIELD]&"</WRD〉”
Leading (pts):
”<LIN leading='12’>" &[LABELFIELD]&"〈/LIN
需要注意的是,使用这些标签后,生成的Label语句在Verify按钮中是不生效的,只对最终的显示结果生效
有很多种表达方式,无非就是加下划线,换行之类的,给你说一个:"〈und〉"& ” " &[小班号] & " ” &”〈/und>” &vbcrlf & [树种]。