APP下载

ArcGIS标注表达式在林业制图方面通用方法的研究

2021-01-18梁志强

林业勘查设计 2020年1期
关键词:图斑字段脚本

刘 陆,梁志强

(黑龙江省林业监测规划院 ,哈尔滨 150080)

1 ArcGIS林业制图标注方法分析

ArcGIS制图工具有很方便的制图功能,可以实现图斑属性标注、分类着色、指北针、图例、比例尺及公里网等功能,可以满足林业业务生产制图工作的需要,如森林抚育制图、营造林规划设计图、林业图斑现状分布图等图件的制作。

ArcGIS图斑属性标注方法是通过加载林业调查空间要素,右键单击矢量图层,查看属性,在标注选项中选择文本字符串确定标注字段或者通过标注表达式加载或输入标注脚本(VBScript、Python、JScript)内容,并直接定义标注式样(字体、字号、字形、颜色等)[1]实现图面信息的标注。文本字符串仅能简单标注一个字段的内容,而表达式可以进行复杂样式的多字段标注[2]。林业制图中为了在图纸上更多的显示数据信息,大多采用表达式形式的分式标注的方式,在成图效果上也更为美观。然而复杂标注表达式在ArcGIS中是使用脚本代码加载和解析的方式来实现,对于没有程序开发经验的人来说很难读懂和修改,尤其是林业常用的分式表达式格式形式多样,字段数不确定,只有真正理解了表达式的构成原理和编码规则才可以实现正确美观的标注脚本,但通用性很小,遇到新的情况就需要进行修改,操作复杂、效率低下,缺少通用性。

图1 ArcGIS标注操作界面Fig.1 ArcGIS Callout Operation Interface

2 通用标注方法的研究与实现

ArcGIS对标注表达式有详细的脚本帮助文档,对于没有程序研发经验的人来说很难理解,也很难写好标注脚本内容。

图2 标注表达式VBScript脚本代码Fig.2 Annotation Expression VBScript Script Code

2.1 VBScript脚本代码分析

ArcGIS注记表达式文件扩展名为lxp,本文中使用VBScript编码,采用的是Unicode编码方式的文本文件。在注记表达式VBScript中为了实现分式效果使用vbNewLine实现换行;使用控制行间距,为了美观可以将行间距设置为负值,缩小行间距。在实现过程中需要计算分析分子、分母、分式左侧、分式右侧字符串长度,并通过设置相应长度的空格控制分子、分母表达式位置。

2.2 通用生成工具设计与实现

采用C#进行编码,布局通用生成工具界面,根据相应林业业务工作的标注需要自行设置分式各区域字段列表,生成ArcGIS标注表达式lxp文件,在极大地提升绘图效率的基础上,也有力地保障了地图中各项数据信息的科学性和准确性[3]。

图3 ArcGIS标注表达式自动生成工具Fig.3 Automatic ArcGIS Label Expression Generation Tool

1)读取林业矢量数据表结构

选择林业矢量数据表,将数据表的字段内容读取到字段名称列表中,便于后续字段拖拽操作。

2)设置分式内容

鼠标左键选择字段名列表中的字段,使用拖拽方式,将相应字段拖拽到分式的相应区域列表中,每一部分可以拖拽多字段,但不允许拖拽字段重复至于多个分式区域,可双击分式区域的字段名称进行移除,系统会根据所添加分式区域字段列表,对标注表达式实例进行刷新重新组合样式。

3)设置字段间隔符号

单独区域如果为多字段,需要设置字段间隔符号,保证字段内容被隔开,如“林班-小班”样式等。

4)生成表达式lxp文件

lxp文件的生成采用C#读写文本文件的方式进行操作,编码方式必须采用Encoding.Unicode方式,否则在加载标注脚本时候,ArcGIS无法识别其数据格式。

图4 C#读写lxp文件部分代码Fig.4 C # Read and Write Lxp File Part of the Code

5)ArcGIS导入lxp文件

使用ArcGIS软件将林业图斑矢量加载至GIS中,按照属性标注方法,加载生成的图斑标注lxp文件,实现标注操作[4]。

3 林业制图标记图标注效果

图5 林业制图标注效果Fig.5 Forestry Icon Note Effect

结论

本文通过对ArcGIS制图功能在林业制图工作中使用的复杂标注方式进行分析总结,采用软件设计的方法研发通用标注表达式生成工具,使林业制图人员可以通过标注表达式生成工具针对具体制图业务的标注方式来设置标注字段和标注样式,并自动生成ArcGIS标注表达式lxp文件,制图人员无需了解脚本代码的知识就可以操作,降低了林业制图标注操作的复杂度,提高工作效率。

猜你喜欢

图斑字段脚本
酒驾
地理国情监测中异形图斑的处理方法
图书馆中文图书编目外包数据质量控制分析
基于C#编程的按位置及属性值自动合并图斑方法探究
安奇奇与小cool 龙(第二回)
土地利用图斑自动检测算法研究
快乐假期
小编的新年愿望
CNMARC304字段和314字段责任附注方式解析
无正题名文献著录方法评述