arcgis学习笔记
arcgis的概念
arcgis的应用场景
arcgis的发展历史
arcgis的cc工具箱
arcgis操作四十四个技巧
arcigspro中的动态文本技巧
ARCgis的图斑对比操作实操
arcgis如何汇总统计
arcgis如何布满布局操作
arcgis如何在dem栅格中提取水文线
arcgispro中如何创建空图层-最快办法
arcgismap过渡到PRO的操作细节
arcgisPRO如何画建筑阴影
arcgis的模型构建器-减轻重复劳动利器
如果在ArcGIS Pro的地图系列中插入动态统计表
arcgis土地利用转移矩阵
ArcGIS中的【OBJECTID_1】字段是什么鬼?如何还原成【OBJECTID】
arcgis四十个操作技巧-提高工作效率
ArcGIS 批量导出 MXD 地图,高效不加班
arcgis获取四至坐标
ArcGIS 强行修改字段类型工具
在ArcGIS中生成界址点的方法——基于arcpy脚本的实践指南
【ArcGIS 小技巧】为国空用地字段设置属性域,快速填充属性值并减少出错
arcgis导出csv格式
arcgis小技巧
数据分享2024年5月全国行政区划
arcgis计算子段的表达式
ArcGIS_空间连接_工具详解
ArcMap的那些功能在ArcGIS Pro里都去哪儿了?
【平面面积、椭球面积】计算方法全收录
解锁 ArcGIS 字段计算器!
ArcGIS【汇总统计】方法详解
解决你的所有 ArcGIS 标注问题:二分式、三分式、上下标、牵引线……
ArcGIS 模型构建器(ModelBuilder)_知识要点汇总
一篇文章学会 ArcGIS 模型构建器(ModelBuilder)
ArcGIS 筛选工具:19 段 SQL 代码,所有需求一网打尽
ArcGIS 模型构建器 Pro 版_更多花活演示
ArcGIS Pro 属性规则:数据自动化神器
【模型构建器高级技巧】迭代要素选择实现带属性的线面转换
【超级干货】26 段 python 代码,解锁 ArcGIS 字段计算器!
一文搞定 ArcGIS Pro 布局中的动态文本
本文档使用 MrDoc 发布
-
+
首页
解决你的所有 ArcGIS 标注问题:二分式、三分式、上下标、牵引线……
* 标注是将描述性文本放置在地图中的要素上或要素旁的过程。 本文整理了 ArcGIS 中的各种标注方法、可能遇到的问题和细节,内容比较杂,想到哪写到哪。   **一、正常标注某一字段值的内容** 右键点击【属性】,在【标注】选项卡下勾选【标注此图层中的的要素】,在【文本字符串】栏中选择要标注的字段即可。 标注结果如下:    **二、更复杂一点的标注** 如果要标注的内容包含多个字段,或者需要输入字符,可以采用表达式。点击【表达式】,在输入框中输入: ``` u'编号:'+[OBJECTID] +u'代码:'+ [中类] ``` 注意解析程序中选择【Python】(当然也可以选择其它方式,个人感觉还是 python 好用)。 标注结果如下:    **三、多分式标注** 上面的例子中标注的内容都在同一行上,而多分式标注的重点在于需要换行,并在新行中输入一定长度的横线。表达式内容如下: ``` def FindLabel ( [OBJECTID] , [中类] ): a=len([OBJECTID] ) b=len([中类]) if a>b: s=a else: s=b p=[OBJECTID]+'\n'+('-'*s)+'\n'+ [中类] return p ``` 标注结果如下:  再复杂一些的多分式,例如在中间的横线左右加上更多字段值的内容,可以在表达式内增加输入参数: ``` def FindLabel ( [OBJECTID] , [中类], [大类] , [小类]): a=len([OBJECTID] ) b=len([中类]) c=len( [大类] ) d=len( [小类] ) if a>b: s=a else: s=b p=[OBJECTID]+'\n'+ ' '*d+[大类] +'-'*s+ [小类]+ ' '*c +'\n'+ [中类] return p ``` 标注结果如下:  这里大家可能会注意到,中间的横线是由多段短线组成的,并不是真正的横线,也不美观。这里可以做一个修正,控制字符间距以达到取消空隙的功能。修改表达式如下: ``` def FindLabel ( [OBJECTID] , [中类], [大类] , [小类]): a=len([OBJECTID] ) b=len([中类]) c=len( [大类] ) d=len( [小类] ) if a>b: s=a else: s=b p=[OBJECTID]+'\n'+ ' '*d+[大类] + "<CHR spacing = '-20'>" + '-'*s*2 + "</CHR>"+ [小类]+ ' '*c +'\n'+ [中类] return p ``` 这里表达式中的几个参数可以自己慢慢调整。(spacing = '-20'是字符间距,'-'*s*2 是中间横线长度,关于字符间距在后面也会再说到。) 标注结果如下:    **四、只标注符合条件的要素** 在【方法】栏中选择【定义要素类并且为每个类加不同的标注】,点击【SQL 查询】,在弹出的框中输入 SQL 筛选语句,这里以【面积 >10000 平方米】为例,只标注面积大于 10000 平方米的要素,面积小于 10000 平方米的就不标注。 标注结果如下:    **五、按条件分类标注** 上面的例子只定义了一个默认类。如果想用不同的方式标注同一个要素类,需要增加自定义类。 例如:要素类有某一个属性,用了 3 个字段来描述,就需要分类来标注,如下图:  新建三个自定义类,对每个自定义类设置【SQL 查询】条件和文本样式,如下图:    标注结果如下:    **六、用表达式来实现条件分类标注** 其实用表达式也可以实现条件分类标注,只是表达式要稍微复杂一些,一般人不太爱用这种方式。例如我想实现面积大于 10000 平方米的要素用大红字显示,小于 10000 平方米则用小黑字显示,可以在表达式中输入: ``` def FindLabel ( [中类] , [Shape_Area]): if float([Shape_Area]) > 10000: return "<CLR red='255'><FNT size = '20'>" + [中类] + "</FNT></CLR>" else: return [中类] ``` 标注结果如下:    **七、标注表达式的格式化标签** 上面的例子中出现了【"<CLR red='255'><FNT size = '20'>" + [中类] + "</FNT></CLR>"】这样的语句,这是 ArcGIS 在标注中的一种格式化标签,用来定义字符的格式,包括文字字体大小,颜色等等。 更多的标签如下: **1、加粗:** "<BOL>" + [中类] + "</BOL>" **2、下划线:** "<UND>" + [中类] + "</UND>" **3、字体:** "<FNT name='Arial'>" + [中类] + "</FNT>" **4、文字大小:** "<FNT size='18'>" + [中类] + "</FNT>" **5、字体和文字大小组合:** "<FNT name='Arial' size='18'>" + [中类] + "</FNT>" **6、上标:** "E = mc" + "<SUP>" + "2" + "</SUP>" **7、下标:** "H" + "<SUB>" + "2" + "</SUB>" + "O" **8、如果在一行标注字段中,只想改变部分文字的样式,** 同样也可以做到: ``` u"这部分不改变样式。" + "<FNT size='18'>" + [中类] + "</FNT>" ``` 标注结果如下:  **9、字符间距:** "<CHR spacing = '200'>" + [中类] + "</CHR>",这部分在多分式标注中也有提到。 **10、行间距:** "<LIN leading = '25'>" + [中类] + "</LIN>"   **八、带牵引线的标注** 带牵引线的标注一般用于引出标注,或者标注坐标点等场景。牵引线是通过字符符号来设置的,系统就自带了这种样式。 点击符号,拉到默认符号的底部,选择【项目符号牵引线】,点击【编辑符号】,设置 x,y 偏移即可。  再配合上面说过的多分式表达式,就可以做出类似坐标标注的效果了:    **九、在地图视图中固定标注文字的大小** 在地图视图中,当我们缩放地图里,标注的文字会随着变化,有时候会造成文字遮挡等问题。  这其实是因为文字大小随着地图比例的缩放而变化,将地图比例设置为固定值即可解决问题。右键点击地图框,点击【属性】,在【常规】选项卡找到【参考比例】栏,将比例设置为固定比例即可。  PS:设置为固定比例在某些场景也不合适,这个看个人需求,按需要调整。
睡觉的骆驼
2024年8月15日 20:32
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码