首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ArcGIS标注和注记,分式标注

内容来自《ArcGIS从0到1》

ArcGIS中地图文字信息有两种表达方式:

标注(Label)和注记(Annotation)。

标注是主要用于将要素图层的属性字段内容显示在地图上。标注是动态的,即每次重绘地图时(例如,平移和缩放地图时)都会重新计算标注显示的内容和位置。标注不是所有对象都标注,如果地块太小,可能无法标注。

标注的特点如下:

有字段属性动态标注出来;

字体大小不随比例尺的变化;

标注位置,会随地图位置,比例尺的改变而移动位置;

设置后必须以MXD方式保存标注;

标注永远不能覆盖(下面图层的标注永远可见)。

注记是存放地理数据库中( SHP文件不支持注记)。与其他要素类一样,注记要素类中的所有要素均具有地理位置和属性,可以位于要素数据集内或独立的要素类内。每个文本注记要素都具有符号系统,其中包括字体、大小、颜色以及其他任何文本符号属性。注记通常为文本,但也可能包括需要其他类型符号系统的图形形状(例如方框、箭头、直线和点)。

注记特点如下:

注记是一个实实在在的要素,其物理存在于一个注记类图层;

字体大小跟着比例尺的变化而变化,比例尺小时字体就小,比例大时字体变大;

注记位置是固定的;

总结:由于标注和注记特点不一样,作用也不一样,标注主要用于地图的浏览,而注记主要用于地图打印;反之标注一般不用于地图打印,注记不用于浏览。CAD中只有注记,没有标注,ArcGIS中标注不能直接转CAD,需要把标注转为注记,注记只能放在数据库中。

二分式标注在我们实际工作常用,分式注记的内容主要有分子、分母和分数线三部分内容,使用VBScript语法时,有如下三种方式:

1.  ""& [分子字段]  &""&vbcrlf & [分母字段] ;

2.  ""& [分子字段]  & ""&vbnewline& [分母字段];

3.  ""& [分子字段]  &""& chr(13)& chr(10)& [分母字段] ;

说明:换行有三种方式,使用vbcrlf或者vbnewline,也可是使用chr(13) & chr(10)。其中chr(13)是硬回车,chr(10)是软回车;而""表示开始下划线,""表示结束下划线。字段名前后使用中括号,“&”是字段串连接符,VB语言不区分大小写,引号是半角的双引号。

Python的表达式:"" +[分子字段] +""  + "\n" + [分母字段];

测试数据请参看“chp7\分式.mxd”,第一个标准为普通二分式,效果如图所示:

可以看到,当前标注已基本实现分式,缺陷是分式线的长度取分子字符的长度,理论上应该取分子和分母中字符最长一个,要达到该效果,只能编写高级的代码实现,具体的处理代码如下:

'调用时,在需要修改的地方,请输入如下代码:

把其中字段,修改成自己拟标注的字段,其中字段1为分子字段;字段2为分母字段。也可以是更多字段的二分式,如:

要查看这个高级代码,处理后的分式标注效果,在ArcMap下打开“chp7\分式.mxd”文档,单击“DLTB高级二分式”右击图层属性,如图7-105所示。在界面中,先选中“高级”选项,然后在“解析程序”选项中选择“VBScript”,然后在表达式编辑框中复制上述程序代码。这个代码换成自己数据时,一定要字段修改成自己的字段。

在表达式编辑框内输入完上述函数代码后,单击“确定”后显示的标准效果如下:

如果需要修改标注分子、分母的数据内容,就重新编写FindLabel函数中代码内容。如果需要调用三个字段,修改的具体代码类似如下:

该标注格式的样例数据,具体见“chp7\分式.mxd”文档下“DLTB高级二分式三字段”数据,按照上述函数定义,输入到对应的表达式编辑框中,按“确定”后,效果如下(分子为:图斑的地类代码+图斑面积,分母为图斑的地类名称):

- END -

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20220322A04GJD00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券