ArcGIS地图符号表达拓展功能的设计与实现

时间:2022-10-29 05:46:01

ArcGIS地图符号表达拓展功能的设计与实现

摘要:分析了主流GIS软件在地图制图方面的不足,利用ArcObject二次开发组件以及自行研制的MapSymbol地图符号化组件对ArcMap进行扩展,设计开发了基于基础地理空间数据模型的、并运行在ArcMap环境下的自动地图符号化扩展组件,重点讨论了该扩展组件的设计思想、设计目标、结构和功能,该扩展组件能够稳定的运行在ArcMap下,实现了对ArcMap在地图符号表达功能方面的拓展,为ArcGIS环境下实现制图自动化提供了参考。

关键词:扩展组件;ArcGIS;制图自动化;地图符号库

Abstract: the author analyzes the mainstream GIS software in mapping and the lack of use ArcObject second development component and developed by MapSymbol map symbol to expand ArcMap components, designing and developing the geographical spatial data model based on the basis of, and run in the ArcMap environment map automatically symbolic extensions, and discusses the design thought of the extensions, design goal, the structure and function, the expansion of the component can stable operation in the ArcMap, realize the ArcMap in map symbol expression function expansion, to realize the automatic drawing ArcGIS environment provides the reference.

Keywords: extensions; ArcGIS; Drawing automation; Map symbol library

中图分类号:S611文献标识码:A 文章编号:

1、引言

数字地图制图是计算机技术和自动化技术在地图制图学领域渗透发展的产物,其任务是采用数字化技术进行地图生产和制作,为地理信息系统提供基础地理信息。而地图符号化又是数字地图制图中非常重要的部分。对于像ArcGIS、AutoCAD这样的专业GIS软件,功能多倾向于地理信息分析,制图过程较为繁琐;而对于CorelDraw、Illustrator这样的图形图像处理软件,需要制图人员有丰富的制图经验,并且制图时间更长。

国家已经建成的1:100万、1:25万及1:5万基础地理信息数据库,迫切需要从空间数据转化为制图数据,实现地理信息的可视化表达,地图制图的自动化就显得尤为重要。ArcGIS本身进行地理信息数据管理是十分优秀的,ArcGIS的功能又是可以定制和扩展的,那么设计一个在ArcGIS环境下运行的自动制图扩展组件就可以有效改善其制图过程繁琐的问题。

2、系统平台介绍

GIS组件平台-ArcObject

ArcObject是美国ESRI(Environmental Systems Research lnstitute,Inc。)公司提供的一个GIS技术框架。它是基于Microsoft的COM技术开发的一套COM组件对象集,这个组件集提供了几乎全部的底层GIS功能,就连ArcGIS软件本身都是使用ArcObject的组件开发出来的。由于ESRI开放了这个组件库的APIs,因此普通程序员也可以使用ArcObject开发自己的GIS应用程序。

MapSymbol组件简介

地图符号化组件(以下简称MapSymbol组件)是由武汉大学资源与环境科学学院佳图实验室开发的,解决了现有符号库的符号设计机制各不相同,符号数据在符号库之间不能共享的问题。在对现有地图符号库研究以及相关标准的基础上,提出了地图符号的基本图元参数模型,并且针对复杂符号的特点对模型进行了扩展。由于该组件是基于Microsoft的COM技术开发的,遵循COM接口规范,并且接口简单易于使用,可以作为地理信息可视化的功能模块应用到许多GIS软件系统中去。

(这里说明一下ArcGIS的可定制和可扩展)

系统结构设计

组件可分为数据转换输入模块、地图符号化模块、数据转换输出模块

1)国家基础地理信息数据库

国家基础地理信息数据库是存储和管理全国范围多种比例尺、地貌、水系、居民地、交通、地名等基础地理信息,包括栅格地图数据库、矢量地形要素数据库、数字高程模型数据库、地名数据库和正射影像数据库等。

地形数据库是空间型的GIS数据库。它是将国家基本比例尺地形图上各类要素包括水系、境界、交通、居民地、地形、植被等按照一定的规则分层、按照标准分类编码,对各要素的空间位置、属性信息及相互间空间关系等数据进行采集、编辑、处理建成的数据库。根据国家基础地理信息系统总体设计,国家级地形数据库的比例尺分为1:100万、1:25万和1:5万三级。省级地形数据库的比例尺分为1:25万、1:5万和1:1万三级。要素分类与编码按照《基础地理信息要素数据分类与代码》标准执行。

2)数据转换输入

运行过程中,将待符号化的要素的地理几何数据转换为浮点型坐标序列,以备符号化组件模块进行符号化时调用。

3)地图符号化

此部分功能主要由MapSymbol地图符号化组件来完成,

.读取XML符号配置文件

XML符号配置文件的读取由类SymbolDBClass来完成,文件导入完成后,将获得所有XML符号配置文件中描述的符号配置样式。每个符号都有一个唯一的编码SymbolCode。类SymbolDBClass有相应的方法通过SymbolCode来获取对应的符号。

.读取地图符号配置规则

通过对现有数据进行分析,我们建立了相应的符号配置规则表,主要包括序号、符号代码和国标码。系统中现有符号配置过程主要是将现有的图层以国标码为依据划分为若干子图层,在符号配置规则表中按序号找出与该国标码对应的符号代码,依据符号代码从符号库中提出相应的符号配置给予图层。地图自动符号化中符号的自动选择就是依靠这个符号配置规则表来完成的。

字段 说明

GB 地理要素的GB码

SymbolCode 对应符号的符号代码

SymbolType 对应符号的符号类型

SymbolName 对应符号的符号名称

.对于需要符号化的地理要素,按照符号化规则,选择相应的符号进行符号化过程,并返回符号化结果。

对于每一个地理要素,根据其属性数据中“GB”字段的值,以及符号配置规则表,找出与其相对应的符号代码来。再由符号代码SymbolCode找到对应的符号。然后进行符号化过程。

每一个(点状、线状或面状)地理要素符号化完成后,MapSymbol都会返回一个或多个Path,每个Path中存储有Path的类型、样式和坐标序列。Path的类型有三种:椭圆,线和多边形,Path的样式存储着绘制此Path的画笔和画刷的各项属性(记录的其实就是GDI中画笔画刷的属性),Path的坐标序列决定着Path的形状。

上一篇:电动机试运行过程中的常见问题及处理方法 下一篇:浅议加强道路桥梁施工质量管理