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

news2025/2/24 21:13:58

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

本文整理了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:设置为固定比例在某些场景也不合适,这个看个人需求,按需要调整。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/427796.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

pr 是什么——可以做什么

个人简介&#xff1a;云计算网络运维专业人员&#xff0c;了解运维知识&#xff0c;掌握TCP/IP协议&#xff0c;每天分享网络运维知识与技能。座右铭&#xff1a;海不辞水&#xff0c;故能成其大&#xff1b;山不辞石&#xff0c;故能成其高。个人主页&#xff1a;小李会科技的…

Boosting算法预测银行客户流失率

Boosting算法预测银行客户流失率 描述 为了防止银行的客户流失&#xff0c;通过数据分析&#xff0c;识别并可视化哪些因素导致了客户流失&#xff0c;并通过建立一个预测模型&#xff0c;识别客户是否会流失&#xff0c;流失的概率有多大。以便银行的客户服务部门更加有针对…

TS+Axios的封装(vue3.x环境)

1. 创建axios实例 # 项目src下新建utils/request.ts # npm i axios 是必须滴 import axios from axiosconst baseURL https://ilovesh.com // 基地址 const instance axios.create({baseURL,timeout: 3000 // 请求超时时间 (3秒超时) })export { baseURL, instance } 2. 添加…

龙蜥社区理事长马涛当选开放原子开源基金会 TOC 副主席

近日&#xff0c;开放原子开源基金会举办了技术监督委员会&#xff08;以下简称“TOC”&#xff09;第六十九次全体会议&#xff0c;会上针对新一届 TOC 成员改选进行了公正公平的投票&#xff0c;龙蜥社区理事长马涛当选开放原子开源基金会 TOC 副主席。 &#xff08;图左二/龙…

(排序8)归并排序(非递归实现),归并排序的外部排序应用(文件排序)的简单了解

归并排序递归版本 void _MergeSort(int* arr, int left , int right, int* tmp) {if (left > right){return;}int mid (left right) / 2;_MergeSort(arr, left, mid, tmp);_MergeSort(arr, mid 1, right, tmp);int begin1 left;int end1 mid;int begin2 mid 1;int e…

一文掌握 Python、Anaconda、PyCharm 的安装和使用

本文将介绍一个较为全面的 Python 开发环境的搭建与基本使用&#xff0c;包括 Python 解释器的安装使用、PyCharm 编辑器的安装使用、Anaconda 的安装使用和库管理工具 pip 的使用。 PyCharm Anaconda 是一个很完备的 Python 开发环境&#xff0c;也是绝大多数开发者使用的开发…

E6410安装PVE直通显卡安装LibreELEC系统

文章目录查看cpu是否支持直通音频笔记本关盖设定BIOS设定启动内核IOMMU支持添加驱动黑名单绑定核显到vfio模块然后新建一个虚拟机安装LibreELEC注意事项重启 VM 时 GPU 直通失败如果直通后遇到问题了&#xff0c;开机出现各种问题&#xff0c;进不去系统&#xff0c;或者网页进…

【MySQL数据库原理】数据库批量导入美团NLP分类数据集Meituan-Dianping/asap

目录 数据集简单介绍完整代码实现参考资料数据集简单介绍 美团点评数据集 (Meituan-Dianping/asap) 是一个中文自然语言处理 (NLP) 数据集,由美团点评公司收集和发布。该数据集用于评估和开发中文文本分类和情感分析模型,包括情感极性分类、食物安全文本分类和自定义分类等任…

【分布式应用】Zabbix——安装

目录 第一章zabbix概述 1.1.什么是监控概念 1.2.zabbix概述 1.3.zabbix 主要特点 1.4.zabbix主要功能 1.5.zabbix运行机制 1.6.zabbix 监控原理 1.7zabbix的架构&#xff0c;数据流向以及原理在图中做总结 1.8.数据采集模式 1.9.zabbix监控模式 第二章.安装 部署 za…

Hyper-v下安装CentOS-Stream-9

1、我不想要动态扩展的硬盘&#xff0c;固定大小硬盘性能更高&#xff0c;所以这里我先创建一个固定硬盘&#xff08;如果你想用动态扩展的硬盘&#xff0c;那么可以省略前面几步&#xff0c;直接从第7步开始&#xff0c;并在第12步选择创建可动态扩展的虚拟硬盘&#xff09;&a…

JAVA开发(神乎其神的区块链概念和技术)

由于我最近需要做一个关于区块链的项目&#xff0c;所以想写篇博文记录一下自己的一些疑惑。区块链技术最火爆的时间应该是2016年和2017年。它产生的背景是B特币兴起&#xff0c;一时间说虚拟货币将取代所有实物货币炒的沸沸扬扬。它的主要思想思想是去中心化。网络上给了很多概…

ubuntu虚拟机下搭建zookeeper集群,安装jdk压缩包,搭建Hadoop集群与spark集群的搭建【上篇】

系列文章目录 在vmbox里面安装Ubuntu16.04并且配置jdk以及Hadoop配置的教程【附带操作步骤】 虚拟机vmware下安装Ubuntu16.04修改屏幕尺寸与更新源&#xff0c;以及对应的安装vim和vim常见的操作 Hadoop与主机连接以及20版本的Hadoop配置网络的问题_hadoop连不上网 Hadoop升…

英文文档翻译软件-汉语文章翻译成英语

免费文章翻译软件的主要优点包括&#xff1a; 方便快捷&#xff1a;在线免费文章翻译软件使得翻译变得更加方便和快速&#xff0c;只需要将需要翻译的文本复制粘贴到输入框中&#xff0c;即可获取翻译结果。 费用低廉或免费&#xff1a;相对于一些专业的翻译服务或软件&#x…

AcWing语法基础班 1.1 变量、输入输出、表达式和顺序语句

预备知识 首先先来了解一下最简单的C代码。 本文的所有代码操作均在AcWing的AC Editor中 #include <iostream>using namespace std;int main(){cout << "Hello World" << endl;return 0; }然后使用编译&#xff08;点击调试&#xff0c;再点击运…

(3)基础强化:静态类静态成员,静态构造函数,抽象类抽象成员,值类型和引用类型,Ref

一、静态成员 1、方法重写注意事项 1&#xff09;子类重写父类方法时&#xff0c;必须与父类保持一致的方法签名与返回值类型。即: 方 法名、返回值类型、参数列表都必须保持一致。[访问修饰符也得一致] 2&#xff09;“方法签名”:一般是指…

Authing 新增 Gitee 、Github、抖音、快手、华为、小米、Gitlab、Oppo、Amazon、Slack、Line 等多种身份源

Authing 身份源新增&#xff1a; 移动端&#xff1a;Gitee 、Github、抖音、快手、华为、小米、Gitlab、Oppo、Amazon、Slack、LineWeb 端&#xff1a;Amazon 身份源提供商&#xff08;Identity Providers&#xff0c;简称 IdP&#xff09; 是一种身份认证服务&#xff0c;其主…

干货分享!提高项目执行力的六大方法

在当今竞争激烈的商业环境中&#xff0c;企业成功的关键在于实施高效的项目管理。项目执行力是一个企业能否在规定时间内交付高质量成果的重要因素。为了确保项目最终交付&#xff0c;企业需要采取以下措施提高项目执行力。 1、明确项目目标和时间表 首先&#xff0c;企业需要…

理解C语言中的空指针和野指针

在C语言中&#xff0c;指针是一个非常重要的概念&#xff0c;可以用于操作变量和数据结构。但是&#xff0c;指针也是很容易出错的地方。其中包括两种可能的错误&#xff1a;空指针和野指针。 空指针 空指针指代无效的地址&#xff0c;表示指针不指向内存中的任何一个合法对象…

[oeasy]python0133_变量名_标识符_identifier_id_locals

变量名 回忆上次内容 上次讲了 什么是变量变量变量 能变的量 就是变量 各种系统、游戏就是由变量所组成的 声明了变量 并且 定义了变量 声明就是 declaration 把标识符 和 具体值 联系起来标识符就是 变量的标记符具体值 就是 赋给变量的值 过程就是 赋值 就是 assignment 可…

【id:35】【20分】E. Stack(类与构造)

题目描述 上面是栈类的定义&#xff0c;栈是一种具有先进后出特点的线性表&#xff0c;请根据注释&#xff0c;完成类中所有方法的实现&#xff0c;并在主函数中测试之。 堆栈类的说明如下&#xff1a; 1. 堆栈的数据实际上是保存在数组a中&#xff0c;而a开始是一个指针&…