张力耘++杜永军++贾晓敏
摘要:为满足电力工程项目的应用,提出一套基于ArcGIS符号制作方案,针对这一方案,运用组件ArcObjects开发了一个符号化功能模块,实现地形数据符号配置和可视化表达。
关键词:电力工程; 地物信息; 符号化
中图分类号: TP391
[献标志码:A
文章编号: 2095-2163(2016)06-0092-02
0引言
在计算机与信息科学技术飞速发展的今天,对于地球以及整个环境的理解描述,已然可以通过抽象方式来进行表达和交流。其中,位置就是一个重要而基础的单元概念。现在的地理学科研究已为有关“位置”的多种抽象表达提供了一种通用的框架,具体可以使用地图、图像、数字、文字、语音等多种方式来对其进行定义与表述。
在信息社会,地图作为一种可视化语言,具有信息传输、信息承载、地图模拟与地图认知等功能,并通过融科学、艺术于一体,演变发展至今即已成为地理信息表达以及为用户提供需求服务的一个主要的模式手段。
由于地图符号是人们认知地图、分析地图的重要可视化工具,因此,不论是常规的地图衍生功能,还是在工程建设电子地图系统应用中,地图符号库都是至关重要的基础组成部分。库中符号包含着地物的坐标、大小、形状、颜色和文字等属性,可通过这些属性来指定呈现地物的空间位置、大小、质量和数量等特征,并反映地物要素的分布范围及相互间的拓扑关系。高精质量的地图符号是丰富地图内容、提升可读性和完善地图出版规范的必要前提。
[JP2]而当具体涉及到电力工程项目中,纸质地图作为一种传统应用方式则始终发挥着必不可少的现实积极作用。但是由于信息技术的进步以及工程建设的需要,电子地图的应用也日趋普遍,[JP2]不论是工程项目中不同格式地图的转换,还是电力项目特有符号的表达,都在逻辑上使得地图符号化以及二次开发成为一个重点研究方向。本文即针对这一内容展开研究论述。[JP]
[BT4]1相关概念
地图符号是表示地表各种事物现象的线划图形、色彩、数学语言和注记的总和,也称地图的符号系统,实质上是以约定关系为基础,用一种视觉形象图形来代指事物现象的抽象概念。
地图符号通常是按照空间分布状态可以分为点状符号、线状符号、面状符号。其中,点状符号表达空间上一个点位的符号,具有定位特征,0维。线状符号表达空间上沿某个方向延伸的线状或带状现象的符号,具有定位特征,1维。面状符号表达空间上具有连续两维分布现象的符号,具有定位特征,2维。
在地图符号系统中,按点、线、面设计地图符号,强调了各种图元的编辑功能。在各种比例尺下,大部分符号都是规则的,可以分别运用点状符号、线状符号、面状符号综合设计实现,少部分相对特殊符号,则可以程序方式提供整体实现。
[BT4]2符号化实施
[BT5]2.1配置文件建立
配置文件是建立空间实体的用户标识与符号库中的符号标识之间一一对应关系的文件,当用户需要改变制图范围内某种地物的显示符号时,只需修改文件中该地物的用户标识与符号标识之间的对应关系。
配置文件包括2个部分:路径文件和编码表。其中,路径文件存放设计制作的符号库的路径,以及编码表的所在位置。编码表包括需要符号化的字段编码,及其所对应的名称。本次研究涉及的配置文件单独作为一个文件保存,包括Config.ini文件和Config.mdb文件。具体地,Config.ini文件为路径文件,其文件形式如下:
STYLEPATH = xx,其中xx表示符号库所在路径
MDBPATH = yy,其中yy表示配置库所在路径
另外的Config.mdb文件为编码表,其文件形式如下:
SYMBOL表:配置符号信息,以CODE字段符号化;
CODE:编码;
CAPTION:编码所对应的名称。
[BT5]2.2模块设计
符号化模块是专门针对图层展开重点设计的,从图层的属性表中提取某个字段对地图实行符号化。基本过程如图1所示。
过程中,首先构建符号库,定制各类电力设施符号并存入关联符号库,包括点状符号、线状符号和面状符号,本文主要以系统提供的符号设计器来开发生成优质符号;确定编码表,即配置符号信息及编码组合映射后可得的技术名称。利用符号化模块即可对相应图层进行符号化。在此,还需特别关注如下要点内容:
1)确定地图窗口中需要符号化的地物,即需要符号化的图层;
2)获取要符号化的地物的编码信息,在配置文件中找到对应的符号代码及属性信息;
3)根据符号代码到符号库中提取符号信息;
4)符号化功能模块根据地物的几何位置和符号信息对地物进行符号化。
[BT5]2.3符号化实施
[JP2]符号化模块基于ArcGIS,设计流程是在通用开发平台上应用基于COM技术的ArcObjects方式,最终则以动态链接库(Dll)来提供组织结构设计,并通过文件配置,实现地图符号化。[JP]
符号化模块通过程序处理已存在符号库中的信息块的方法完成符号绘制,对于特殊符号,单独对应绘图子程序。符号化模块的设计实现步骤具体如下:
1)指定当前地图窗口,并通过IMAP接口获取;
[CM(24]2)获取索引,即需要符号化图层,进而获取该图层的类[CM)][LL]
型(点、线或面);
3)获取地物属性表中需符号化字段的索引;
4)根据不同图层、不同类型(1为点图层、2为线图层、3为面图层)调用相应的符号库,根据地物编码和符号代码建立地物和相应子符号库中符号之间的一一对应关系;
5)以图层作为IFeatureLayer接口的对象值,并将符号参数传递给函数Renderer,对图层中的所有地物进行符号化,最终效果展示如图2所示。
3结束语
本文基于ArcGIS通过调用定制符号库,创建了地图符号库,并用符号化模块重点研究了地图符号化,不仅实现了地图规则符号的符号化,还实现了特殊符号如电力线符号的符号化。符号化后的地图能够整体满足时下要求,但也仍然存在不足之处,就是对于其它一些特殊的线状或面状符号仍需进一步研究。
参考文献:
[1]张俊岭,熊卫东,夏斌. 基于ArcGIS Engine的地图符号制作工具的设计实现[J]. 测绘信息与工程,2006, 31(5):43-44.
[2] 张园玉,李霖,龙毅,等. 地图符号系统的设计与实现[J]. 测绘信息与工程,2004,29(6):25-27.
[3] 欧阳霞辉. ArcGIS地理信息系统大全[M]. 北京:科学出版社, 2010.
[4] 祁华斌,艾廷华,胡珂. 基于ArcGIS的地图符号库建立及符号化实施[J]. 测绘通报,2003(1):14-17.
[5] 蔡国琳,李永树,冯德俊. 基于ArcGIS Engine地图符号化模块的设计与实现[J]. 计算机应用研究, 2006(12):268-270.
[6] 王哲. 在ArcGIS软件平台下基础地理信息數据库的地图符号化表达[D]. 长春:吉林大学,2006.[ZK)]