总结一下最近碰巧遇到的标注的问题,翻了说明文档和相关资料看到的一些方式,还可补充
一、arcgis标注标签简单使用(标注模式在常规中选择maplex引擎的引线标注)
1、五颜六色的标注方式
原标注样式
修改后标注方式
采用的的是arcgis文本格式化标签:
"<CLR red = '255' blue=0 green=0 >" + "Text"+ "</CLR>",解析方式为Python
在表达式高级中贴上解析码:
def FindLabel ( [name], [面积] ):
return "<CLR red = '255'>" + [name]+ "</CLR>"+u"面积:"+"<CLR blue = '255'>" +[面积]+"</CLR>"+u"亩"
备注:[name], [面积] 分别为输入字段,u"面积:"和u"亩"为输入文本,文本必须在前面加u解码
2、换行标注1
采用下划线标签
"<UND>" + "Text" + "</UND>"以及换行符"\n"进行换行
标注效果
解析码:"<UND> " + [name] + "</UND> "+"\n"+ [面积] +u'亩'
换行标注2
采用字符标注
[OBJECTID]+u"—"+ [mj]+"hm^2" +'\n'+u"—————————————————"+'\n' + [地类_1] +u"—"+ [蓄积] +u"—"+ [使用林地_]
换行标注3-----使用牵引线标注
具体步骤见动图---重点:解析方式选择Python,添加换行符:'\n'
记得偏移牵引线到换行的位置处,可能根据字体大小设置不同的偏移量
3、给标注添加条件语句
判断地块面积条件是否大于10,分别标注不同的颜色
标注效果
解析码:
def FindLabel ( [面积], [name] ):
if float( [面积] )>10:
return "<CLR red = '255'>" + [name]+ "</CLR>"+u"面积:"+"<CLR red = '255'>" +[面积]+"</CLR>"+u"亩"
else:
return "<CLR blue = '255'>" + [name]+ "</CLR>"+u"面积:"+"<CLR blue= '255'>" +[面积]+"</CLR>"+u"亩"
自定函数没过多参数,只是为了方便实用,欢迎加我微信18010664941