标注是显示在地图上的文字信息,它是出图中不可或缺的重要元素。标注的样式丰富,并且放置位置灵活,因此带来了对标注控制的难度。例如地质图里的上下标,或是一些分式的标注,就必须使用代码编程来实现。这篇文章就主要结合几个实例来讨论一下标注的使用技巧,以及在ArcGIS软件中的实现。

一、上下标

在地质图中经常会使用到上下标的文字,在ArcGIS帮助中可以查看到上下标的写法如下所示:

上标:"" & [上标字段] & ""

下标:"" & [下标字段] & ""

但是如果同时需要使用上下标的时候,就会出现这样的显示效果

 ,上下标不会对齐,如果想显示的美观一些,就需要使用到高级的标注技巧,让Maplex这个扩展模块来帮我们解决问题了。

关于Maplex:Maplex是桌面软件的一个扩展模块,ArcGIS的Maplex扩展模块在ArcMap中增加了高级的标注布局和冲突检测的方法。使用Maplex可以节约很多的时间。实验表明,在地图上标注,使用Maplex至少可以节约50%的时间。Maplex是GIS制图的一个重要工具,它提供了很好的文字渲染和具有打印质量的文字布局方式。

上下标的解决方案如下:

1. 在数据的表格中将上下标内容存储在一个字段中,用空格分开,例如“上标 下标”;

2. 在Data Frame(数据框)的属性对话框中把标注引擎调整为“ESRI Maplex Label Engine”;

3. 在标注的表达式里敲入以下代码

[标注字段]&"" & [上下标字段] & ""

这句代码仅仅采用了上标的关键字,它会把现在的上下标统一显示在上标的位置,下面还需要调整标注的放置属性;

4. 点击Placement Properties—Fitting Strategy—Stack Label—Option,进行如下设置

得到的效果图如下所示,因为上下标字符的长度不同,右对齐尚不能达到很完美的效果,但是还是改进了许多。

二、分式标注

分式标注是又一个难点,ArcGIS里并不能直接去构造分式,我们可以想办法把分子加下划线来表示,但对于分母的长度比分子长出很多的情况,显示效果就非常不理想。因此,最好能够动态的判断分子和分母的长度,按照最长的长度来确定分式横线的长度,代码如下所示(VBScript):

Function FindLabel ( [分子字段] , [分母字段] )

dim a,b,c

b=len ( [分子字段] )

c=len ( [分母字段]  )

if (b>c) then

a=b

else

a=c

end if

FindLabel =[分子字段] & vbnewline& string(a*0.5,"—") & vbnewline &  [分母字段]

End Function

对于代分数的话,也可以用类似的方法,只需再添加一个表示整数的字段,代码如下:

Function FindLabel ( [整数字段] , [分子字段] , [分母字段] )

dim a,b,c,d

a=len ( [整数字段] )

b=len ( [分子字段] )

c=len ( [分母字段] )

if (b>c) then

d=b

else

d=c

end if

FindLabel =[分子字段] & vbnewline& [整数字段] & string(d*0.5,"—") & vbnewline & space(a) & [分母字段]

End Function

需要说明的是,这段代码的效果还不能将标注调整到最好的显示效果,但如果你使用了Maplex标注引擎,就会发现效果的改善,如下图所示。

三、分类标注

分类标注适用于为同一图层中的不同要素设置不同的标注样式,例如高速公路和环路、普通道路的字体为不同的大小和颜色。而标注默认会应用于整个图层,这就需要我们为默认的标注增加一个分组,在图层属性对话框中设置标注的方法为“Define classes of features and label each class differently”,点击Add增加分组(需要几种不同的样式就设置几个分组),并且要为每个分组设置SQL语句进行过滤。然后为每个组设置不同的标注样式。

总结:由于标注是动态放置,且样式可以通过VBScript和JScript来设置,因而对标注的管理非常灵活。虽然经过标注技巧和Maplex的优化能够将大部分标注以最优的位置显示,但如果期望对某些单独修改,可以将标注(Label)转换为注记(Annotation)。

arcscene如何显示标注_ArcGIS中标注(label)的使用技巧相关推荐

  1. arcgis标注只显示部分_arcgis中设置标注时,标注不显示,只有设置了放置压盖才会显示,这是什么原理?...

    1.粗略理解(不知道是否正确哈哈哈) arcgis中通过设置标注缓冲区,可以确保在该缓冲区范围内不放置其他标注,隔开与其他标注的距离.与此原理类似,假想每个标注有一个外接矩形,由于标注经参数设置后不会 ...

  2. arcgis 圈选获取图层下点位_ArcGIS中62个常用应用技巧汇总【必须收藏】

    一.计算面积  ( 可以帮我们计算小班面积 ) 添加 AREA 字段,然后右键点击字段列,然后点击 CALCULATE VALUES; ---> 选择 ADVANCED -->把下面的代码 ...

  3. arcscene如何显示标注_CAD制图初学入门:CAD制图软件中如何添加多重标注?

    在绘制图纸的过程中,作为一名CAD制图初学入门者,如何对CAD图纸进行多重标注呢?接下来就和小编一起来看看添加多重标注的相关CAD制图初学入门教程吧! CAD制图软件中添加多重标注的操作步骤如下: 1 ...

  4. CAD图纸中标注显示成问号?

    我在CAD制图的时候有遇到过这种问题,CAD图纸字体显示不全,CAD图纸中标注显示成问号.这一问题非常的棘手,可能导致施工图纸无法进行下去.该如何解决呢? 我们需要排除的是使用的CAD制图软件是否有问 ...

  5. HTML的段落标记 标记P,HTML的段落标记中,标注文本以原样显示的是标记 P

    问题:HTML的段落标记中,标注文本以原样显示的是标记 P 答案:错 更多相关问题 在Excel中,工作表中单元格的选取只能是连续的区域. 群众路线是党的根本工作路线.( ) 门静脉高压症的病理变化中 ...

  6. 怎么让热图显示基因名_在热图中标注出特定基因名称

    原标题:在热图中标注出特定基因名称 对于基因的差异表达谱,常用热图作为展示.但有时差异基因可能非常的多,热图中不可能将所有基因的名称标注出来.那么此时不妨选择一些比较重要的基因(比方说p值最显著的那些 ...

  7. VOC格式数据集操作类构建-2.统计数据集各类别标签数目和剪裁图像中标注框并保存图片

    总目标:建立VOC格式数据集类以及操作内置函数 github项目地址(附有使用说明书): https://github.com/A-mockingbird/VOCtype-datasetOperati ...

  8. CAD图纸文件中标注的尺寸如何进行隐藏?

    CAD图纸文件中标注的尺寸如何进行隐藏?CAD图纸文件在打开进行查看的时候会由于工作的需要将其进行标注的操作是经常有的事情,那么具体我们应该怎么样进行此项操作,标注在图纸上面的尺寸应该怎么样进行隐藏, ...

  9. 如何在类图中标注设计模式(二)

    接文章<如何在类图中标注设计模式(一)>. 本文姗姗来迟,见谅!        5.  基于标记的模式标注 美国德克萨斯大学达拉斯分校的Jing Dong等人提出了一种基于标记的模式标注方 ...

最新文章

  1. C++模拟游戏中鼠标点击和键盘按键
  2. pycharm如何执行高级撤销操作回到历史
  3. 报错解决——uwsgi错误invalid request block size
  4. JPA入门简介与搭建HelloWorld(附代码下载)
  5. WWW 2020 开源论文 | 异构图Transformer
  6. [html] html6即将到来,你最期待的是什么特性呢?
  7. ajax 请求svg,jQuery append 到AJAX加载的SVG问题
  8. r语言调用python_python3调用R语言干货
  9. php堆栈溢出,php - 警告:php_eval() - 堆栈内存溢出
  10. 梭子鱼下一代防火墙在对比研究中名列榜首
  11. ASP.NET MVC 重点教程一周年版 第七回 UrlHelper
  12. Could not install from “tippy.js\dist\tippy.css“ as it does not contain a package.json file.
  13. 更改excel表格行数太多_Excel中显示行数太多的处理方法
  14. 百度爱番番数据分析体系的架构与实践
  15. Python学习之文件13
  16. Anaconda创建环境中途退出后重新创建出错
  17. 程序算法之逆推法(口算猴子摘桃问题正解、详解)
  18. Python接口自动化测试框架(练习篇)-- 数据类型及控制流程(一)
  19. 美国iPS细胞治疗癌症最新进展
  20. 手把手教Apereo CAS5.2.3 注册后自动登录

热门文章

  1. 删除Add-On表字段后不能激活
  2. WM-Tcode集合
  3. abap--关于异常的处理
  4. Leave List-Processing 新解
  5. 后版权时代——为什么我不看好网易云的音乐社区,而看好腾讯的长音频?
  6. pythonpostapi_python post接口测试第一个用例日记
  7. pythonsuper_python中的super()是什么意思呢
  8. bsp模型适用于图计算_CODE V微信简报:光束合成传播算法(BSP)
  9. linux系统更新字体,更换Linux下字体
  10. 全面讲解Python列表数组(一)创建,增删改查,萌新版,