标注是将描述性文本放置在地图中的要素上或要素旁的过程。

本文整理了ArcGIS中的各种标注方法、可能遇到的问题和细节,内容比较杂,想到哪写到哪。


一、正常标注某一字段值的内容

右键点击【属性】,在【标注】选项卡下勾选【标注此图层中的的要素】,在【文本字符串】栏中选择要标注的字段即可。

标注结果如下:

二、更复杂一点的标注

如果要标注的内容包含多个字段,或者需要输入字符,可以采用表达式。点击【表达式】,在输入框中输入:

u'编号:'+[OBJECTID] +u'代码:'+ [中类]

注意解析程序中选择【Python】(当然也可以选择其它方式,个人感觉还是python好用)。

标注结果如下:

三、多分式标注

上面的例子中标注的内容都在同一行上,而多分式标注的重点在于需要换行,并在新行中输入一定长度的横线。表达式内容如下:

def FindLabel ( [OBJECTID] , [中类] ):a=len([OBJECTID] )b=len([中类])if a>b:s=aelse:s=bp=[OBJECTID]+'\n'+('-'*s)+'\n'+ [中类] return p

标注结果如下:

再复杂一些的多分式,例如在中间的横线左右加上更多字段值的内容,可以在表达式内增加输入参数:

def FindLabel ( [OBJECTID] , [中类], [大类] , [小类]):a=len([OBJECTID] )b=len([中类])c=len( [大类] )d=len( [小类] )if a>b:s=aelse:s=bp=[OBJECTID]+'\n'+ ' '*d+[大类] +'-'*s+ [小类]+ ' '*c +'\n'+ [中类]return p

标注结果如下:

这里大家可能会注意到,中间的横线是由多段短线组成的,并不是真正的横线,也不美观。这里可以做一个修正,控制字符间距以达到取消空隙的功能。修改表达式如下:

def FindLabel ( [OBJECTID] , [中类], [大类] , [小类]):a=len([OBJECTID] )b=len([中类])c=len( [大类] )d=len( [小类] )if a>b:s=aelse:s=bp=[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:设置为固定比例在某些场景也不合适,这个看个人需求,按需要调整。

Arcgis小技巧【12】——ArcGIS标注的各种用法和示例相关推荐

  1. winform在表格中输入一个完整的时间字段_【ArcGIS小技巧视频教程】(5):在ArcGIS中挂接其他数据...

    ​我们在制图的过程中可能会遇到这样的问题:我们在拿到一幅地图和一些表格数据,我们想把表格数据附属到地图上,并进行渲染显示.今天我们就分享一下如何将一些外接的表格数据,挂接到已有地图的属性表上,文末附视 ...

  2. 科研小技巧 | 用ArcGIS绘制研究区地图

    目录 01 地图的导入 02 设置十段线小图框 03 设置研究区示意图 04 添加细节04添加细节 05 添加省份名称 06 对研究区额外上色 论文用图对准确性和美观度有一定要求,而ArcGIS具有强 ...

  3. Arcgis小技巧【1】——地理配准

    我们下载的google影像如果是无偏移影像,在Arcgis中可以直接使用.但如果不是无偏移影像,坐标系不正确或者没有坐标系,就需要进行地理配准方可使用. 数据准备 [1]下载好的无坐标系的google ...

  4. Arcgis小技巧【10】——字段计算器的简单用法和示例

    在某些情况下,为了设置字段值,可能要对单条记录甚至是所有记录执行数学计算.可以对所有记录或选中记录执行简单计算和高级计算. 计算可以通过Python或VBScript执行.建议使用Python,字段计 ...

  5. 【ArcGIS小技巧视频教程】(1):GIS数据来源下载攻略

    无论是制图还是分析,我们都离不开数据,今天我们就为大家分享一些免费下载数据的网址及下载数据的方法,文末附视频教程. 这里我们为大家提供了一些免费获取数据的网站: (1)GIS数据下载网址大全:收集了常 ...

  6. Arcgis小技巧【4】——【空间连接】工具如何连接炸开的文字

    问题说明 这是我在做建筑分析时遇到的一个问题.如下图左边的面,有些地形图因为时间久远或是测绘质量等问题,本来应该是连在一起的文字被打碎了.正常用[空间连接]工具的话,只会把第一顺位的单个文字连接到建筑 ...

  7. 帮你店铺日销千单的20个淘宝小技巧

    今天我们不讲鸡汤,也不讲什么理论大道理.下面的20个小技巧,都是各种前辈们总结出来的,各位可以看着自取. 淘宝小技巧1.不要刻意去做某些关键词,你给我展现什么词,我就养什么词,借力打力. 淘宝小技巧2 ...

  8. arcgis多个图共用一个图例_ArcGIS制图技巧,一个小技巧使图例与之匹配!

    2.符号系统 符号系统是ArcGIS展示数据的最基本的方式.符号系统提供了最传统的点线面符号渲染方式,用户可以在这里设置图层要素的符号.颜色等.通过简单的设置就可以实现诸如唯一值.等级.图表等渲染等高 ...

  9. ArcGIS制图及出图小技巧——以土地利用图为例

    欢迎大家关注我的公众号,最新内容先在公众号发布.点击这里查看近期文章合集. 文章目录 一.关于地图配色 1.使用取色器 2.批量修改符号 二.关于出图 1.快速调整数据框以适应纸张大小 2.使用导入符 ...

最新文章

  1. R语言可视化包ggplot2包移除可视化图形的轴标签(刻度及其对应数值)实战(Remove Axis Labels)
  2. VTK:PolyData之ConnectivityFilter_SpecifiedRegion
  3. ssm使用全注解实现增删改查案例——EmpServiceImpl
  4. shell 脚本 自动化
  5. 软件架构阅读笔记(引)
  6. python socket 大文件_python:socket传输大文件示例
  7. mysql 换服务器_更换MYSQL后数据库连接问题
  8. BZOJ2081 [Poi2010]Beads
  9. 操作系统原理 —— 操作系统概述
  10. 7 面阿里,终获 Offer《原力计划【第二季】》第 9周周榜揭晓!!!
  11. iOS下微信语音播放之切换听筒和扬声器的方法解决方案
  12. xp系统整个计算机非常慢,xp系统电脑运行慢太卡了怎么办|xp系统运行卡顿的解决方法...
  13. SIP协议详解(二)
  14. 为什么说跳槽加薪低于30%,等于在“降薪”?
  15. Android 中关于Environment类的总结
  16. 验证(Verification) 确认(Validation)鉴定( Qualification) 的区别
  17. 刷算法第五天——P5594 模拟赛
  18. 调侃c语言的图片,c语言能显示图片吗
  19. 1404 数根(函数专题)
  20. 计算机网络应用层报告,计算机网络实验报告应用层

热门文章

  1. ThingJS粒子特效一键实现雨雪效果
  2. 解决桌游模拟器Tabletop Simulator(TTS)的卡顿、高延迟999ms的方法
  3. STM32 电机教程 9 - BLDC电机基础
  4. sqlmap 检索 DBMS 信息
  5. win7计算机没有光驱图标不见了,怎么解决win7光驱图标不见了电脑光驱图标不见了解决方法...
  6. 大数据框架-默认的端口号
  7. 一款超好用的截图软件Snipaste
  8. php 二维数组中去重,[转]PHP二维数组去重数组去重
  9. 单链表实现约瑟夫环问题
  10. python导入数据画直方图加正态曲线_Python数据分析入门 - 正态分布