自动化成图的研究与实践

2010-11-21 08:52王亚卿吴官盛徐旭平
自然保护地 2010年4期
关键词:分布图调用制图

王亚卿 吴官盛 徐旭平

(1国家林业局华东林业调查规划院 浙江金华 321000;2亚太林业漳州公司 福建漳州 363300)

1 背景与问题

众所周知,从事林业生产及林业资源调查的内业都有大批量数据需要处理,最后要出统计报表并生成相应的资源分布图和相关报告。随着我国林业发展和资源调查技术规程的不断完善,林业调查的最终成果是由一系列格式统一的报表、风格一致的资源分布图和报告组成。如一类清查、二类调查都要提交一系列的统计表和资源分布图。笔者是长期从事林业数据统计和计算机制图的工作人员。对于统计报表,笔者一般通过数据库及相关的统计软件来实现,在数据完善的情况下,统计报表可以自动生成。对于资源分布图,通过相关的制图软件进行手工制作,有很多重复性劳动,效率较低。由于资源分布图的风格一致,因此笔者探索一种批量成图的技术。

2 自动化的成图原理

自动化成图原理是以数据库应用、制图标准化、程序开发技术为基础加以综合。一幅完整的资源分布图包括图形、标题、比例尺、指北针、图例等要素,对于这一系列的要素,可以从两个方面进行考虑,一种为存储方式,另一种为表现形式。存储方式采用数据库存储,便于程序调用,表现形式则应有统一的风格。能够实现要素存储与风格分离的制图工具,首选GIS工具。GIS工具可以通过空间数据库存储图形数据及其属性,又可以为图形定制不同的表现风格。成图过程是在统一的制图模版中,通过程序控制更改数据源,填写必要要素,最终成图。最终结果可以直接打印也可以生成图片文件。

3 自动化成图的实现

自动化成图的实现前提是,数据已经经过处理包括拓扑关系、逻辑关系的检查,数据正确无误。成图包括要素数据库设计、制图模版设计、程序设计、运行程序出图等几个流程,如图1。

图1

3.1 数据库设计

现在比较常用的数据库有Access、Excel、foxpro、MySql、Oracle、Sqlserver等等,空间数据库中比较常用的是 Access、Oracle、SQLSERVER.,一般用Access作后台数据库居多。数据库设计是在原有的数据库表中增加一些属性字段,如标题、制图人员、调查日期等等,这些数据用于成图过程中被程序读取,标注到图中。如要出一批二类小班分村分布图,图中要有标题、面积、调查时间、调查人员、制图人员、制图人员等要素,那么在数据库表中就要有相应的要素。资源表的名称为data,这张表可设计成如下:

字段名称说明标题作为出图标题,更多是由程序将几个字段动态生成小班面积数值类型调查时间时间类型调查人员文本类型制图时间时间类型制图人员文本类型该字段的内容输入数字。如标题的“位置”字段位置内容可设置为1,在制图模版的标1的位置,在程序运行过程则被标题的内容替换

3.2 制图模版设计

现在比较常用的 GIS软件有 ArcGIS、MapInfo、MapGIS等等。ArcGis功能齐全,较为常用。数据库模版设计包括图的外观,整体布局的设计和要素风格的定义。图的外观和布局的设计诸如标题、图例、指北针、比例尺的位置。要素的风格定义包括图形中,点、线、面的颜色、线型、字体的大小等等。一般每个行业都有自己的一套标准,制图过程的图形要素要尽量采用标准符号。布局和风格定义完成后,基本上完成了制图模版的设计。

3.3 制图程序设计

现在比较常用的 GIS软件都具有二次开发的功能。如ArcGIS、MapInf、MapGIS等软件。如选用 ArcGIS作为制图模版就可以用VBA进行二次开发。以ArcGIS为例,用VBA进行二次开发主要是调用AO提供的接口。AO是 ESRI公司 ArcGIS™ 家族中应用程序ArcMap™、ArcCatalog™ 和 ArcScene™的开发平台,它是基于Microsoft® COM技术所构建的一系列COM组件集。应该澄清的是到目前为止,AO还不是一个独立的应用产品, 是依附于ArcGIS DeskTop产品中的软件开发包。也就是说,购买了ArcGIS Desktop的任何一个产品,不管是ArcView还是ArcInfo,就有了这套强大的AO组件集,利用AO提供的组件对象来进行应用开发。自动制图程序的设计思路是在制图模版中加载成图的要素,并设置好出图风格。加载的要素包括成图的数据(事实上是一些由点、线、面组成的图层),光栅集(用于程序在运行过程中动态的加载地形图,并由程序对地形风图格进行动态设置)。程序设计包括与用户交户的界面设计、数据库调用、制图、出图等功能模块。程序设计的思路:通过从用户界面获取的信息,构成检索条件,再由数据库调用模块去检索空间数据库中的相应内容;由制图模块在检索到内容的基础上制图;最后由出图模块将成图结果输出或者打印。程序的实现过程中使用的AO接口比较多,在此只对较重要的几个进行简单介绍。

接 口 功 能IFeatureClass Interface 该接口主要是实现从数据库中获取制图要素的信息。IRasterClassifyColorRa mpRenderer Interface该接口主要是用于设置地形图的风格IRelationalOperator Interface该接口用于空间查询时,记录要素间的空间关系。主要是用于从成图数据和接图表中检索出相关的地形图。IDisplayTransformation Interface该接口主要实现成设备坐标与逻辑坐标的转化,主要是将成图要素平移到界面的中心位置时调用。IElement Interface 该接口用于获取在制图模版上的要素。IExport Interface 该接口主要用于生成各种文件类型的图。

3.4 制图程序运行及结果

制图程序运行是个批量处理成图过程,无需要人工干预。启动程序之后,直到完成所有制图任务,自动制图程序会将制图成果保存在事先定义好文件夹中,用户可以在该文件夹中浏览最终的结果。

4 实践与应用

自动批量制图技术在理论上和实际的应用中证明是可行的。笔者和同事将此理论付诸于实践,利用ArcGIS二次开发,开发出了自动批量制图程序并很好的应用于某造林公司的林业资源管理,从某种程度上节约了人力资源。该公司的制图模版如(图2)。程序运行时,能自动填写图中的要素,并最后生成pdf文件。从图2可以看到该图是1∶10000的GPS测量图。在程序运行时,可以看到如下图3的对话框选择图层是用于定义数据库,办事处是根据公司的情况,选择办事处,选择种植年份作为过滤条件。路径是用于保存成图结果。程序能够根据办事处编号自动调用数据库中小班图和林道,并且将其居中,并标上四至表注,然后到指定路径调用地形图。同时根据成图的要求把数据库的信息填到右侧的表中,如面积、调查人员、日期、合同信息等等。程序的另一个功能是识别林班大小,调用A4或者是 A3的模版。并将最终结果生成pdf文件存到指定文件夹中。

图2

图3

5 结 论

自动批量制图技术有其广泛的应用领域,包括林业制图、土地测量制图等。笔者的程序现在只局限于林业生产领域,笔者将不断完善该模型和扩展该程序。总之,凡是成图要素可由数据库中的属性来体现的、成图要素有统一的风格、成图量较多的,都可采用这个模型。

[1] 祝国瑞. 地图学. 武汉大学出版社,2004.01.

[2] 赵杰,杨丽丽,陈雷. 数据库原理与应用. 人民邮电出版社,2002.01.

[3]《ArcGIS Desktop Help for VB6 Developer

猜你喜欢
分布图调用制图
无声手枪如何消音?
习近平的战疫日志
核电项目物项调用管理的应用研究
贵州十大地质公园分布图
系统虚拟化环境下客户机系统调用信息捕获与分析①
中国癌症分布图
浙江省第一批省级特色小镇分布图
明天我们将生活在怎样的城市?
人生真相
工程制图课程教学改革探析