APP下载

用MapX与C#开发地理信息系统

2011-10-27马春雨蒲渝媛

中国科技信息 2011年18期
关键词:电子地图数据结构控件

马春雨 蒲渝媛

长庆油田第五采油厂

用MapX与C#开发地理信息系统

马春雨 蒲渝媛

长庆油田第五采油厂

随着地理信息系统(GIS)的发展与完善,它的设计开发工具也日臻成熟, MapInfo公司顺应这一发展潮流,开发了一种地图控件——Mapx,它是广受欢迎的ActiveX控件,能实现Mapinfo的绝大部分功能。本文主要论述了Mapx的特征,以及用相关的计算机语言C#提供一种高效的、脱离一般平台的电子地图的制作方法。

地理信息系统;控件;C# 地图分析;Mapinfo

电子地图技术是集地理信息系统技术、数字制图技术、多媒体技术和虚拟现实技术等多项现代技术为一体的综合技术。电子地图是一种以可视化的数字地图为背景,用文本、照片、图表、声音、动画、视频等多媒体为表现手段的展示城市、企业、旅游景点等区域综合面貌的现代信息产品,它可存贮于计算机外存,以只读光盘、网络等形式传播,以桌面计算机或触摸屏计算机等形式提供大众使用。由于电子地图产品结合了数字制图技术的可视化功能、GIS技术的数据查询与分析功能以及多媒体技术和虚拟现实技术的信息表现手段,加上现代电子传播技术的作用,它一出现就赢得了社会的广泛兴趣,尤其是政府部门、企业管理部门以及大众,故有“大众GIS”之称。

一般而言,区域地形数据的更新步伐受社会经济的影响很大,区域发展越快,它的更新周期就越短,反之亦然。 长庆油田这几年的发展日新月异,生产区域不断扩大,因此,及时地利用我们现有的数据资源,借助油田各种GIS平台的应用,从而服务社会、服务油田、产生良好的经济效益,已变成了当务之急。

数据利用只是数据挖掘中的一个重要环节,也是最具灵活性的一环,它是数据挖掘的终点,也是数据市场化的一个开端。 本文主要讨论了利用GPS终端生成的轨迹数据制作道路电子地图的方案与可行度,并开发出高效的道路图生成软件,以供参考和借鉴。

一、ActiveX控件的概念

A c t i v e X控件是充分利用O L E和ActiveX技术的自定义控件,是基于与应用程序无关的思想而设计的,其目标是提供一种面向对象、与操作系统无关、与机器平台无关、可以在应用程序之间互相访问对象的机制。

ActiveX控件是建立在COM标准上的独立的软件元件,提供给用户应用接口,发送相应的事件,开发者则可以截取这些事件,执行相应的功能。ActiveX控件开发端和使用端是完全独立的,可以用Delphi、VB、VC等各种语言来开发,又可以用于不同语言、不同开发平台、不同的系统环境中。

1、组件技术与GIS的发展

组件式软件技术已经成为当今软件技术的潮流之一,为了适应这种技术潮流,GIS软件像其他软件一样,已经或正在发生着革命性的变化,即由过去厂家提供了全部系统或者具有二次开发功能的软件,过渡到提供组件由用户自己再开发的方向上来。组件式GIS技术无疑将给整个GIS技术体系和应用模式带来巨大影响。

GIS技术的发展,在软件模式上经历了功能模块、包式软件、核心式软件,从而发展到组件式GIS和WebGIS的过程。传统GIS虽然在功能上已经比较成熟,但是由于这些系统多是基于十多年前的软件技术开发的,属于独立封闭的系统。同时,GIS软件变得日益庞大,用户难以掌握,费用昂贵,阻碍了GIS的普及和应用。组件式GIS的出现为传统GIS面临的多种问题提供了全新的解决思路。

组件式GIS的基本思想是把GIS的各大功能模块划分为几个控件,每个控件完成不同的功能。各个GIS控件之间, 以及GIS控件与其他非GIS控件之间可以方便地通过可视化的软件开发工具集成起来,形成最终的GIS应用。控件如同一堆各式各样的积木,他们分别实现不同的功能(包括GIS和非GIS功能),根据需要把实现各种功能的“积木” 搭建起来,就构成应用系统。

2、组件式GIS系统的特点

把GIS的功能适当抽象,以组件形式供开发者使用,将带来许多传统GIS工具无法比拟的优点,主要有:

(1)小巧灵活、价格便宜;

(2)无须专门GIS开发语言,直接嵌入MIS开发工具;

(3)强大的GIS功能;

(4)开发简捷;

(5)更加大众化。

总而言之,组件式GIS肯定是未来GIS发展的主流。鉴于此,本软件的核心技术就是以MapX为基础来研究的。

二、 MapX的空间数据结构

空间数据结构,是GIS的基石。GIS就是通过这种地理空间拓扑结构建立地理图形的空间数据模型并定义各空间数据之间的关系,从而实现地理图形和数据库的结合。从横向分析,MapX采取的空间数据结构是基于空间实体和空间索引相结合的一种结构。

空间实体是地理图形的抽象模型,主要包括点、线、面三种类型。任何点、线、面实体都可以用直角坐标点x、y来表示。点可以表示成一组坐标(x,y),对于线和面,则均被表示成多组坐标(x1,y1;x2,y2;......;xn,yn)。空间索引是查询空间实体的一种机制,通过空间索引,就能够以尽量快的速度查询到给定坐标范围内的空间实体及其所对应的数据。

从纵向分析,MapX的空间数据结构是一种分层存放的结构。用户可以通过图形分层技术,根据自己的需求或一定的标准对各种空间实体进行分层组合,将一张地图分成不同图层。采用这种分层存放的结构,可以提高图形的搜索速度,便于各种不同数据的灵活调用、更新和管理。

三、电子地图制作步骤

以Mapx控件为基础,利用C# 作为开发语言,生成电子地图的主要步骤如下:

1、将现场采集或来自GPS平台历史记录的轨迹数据保存为文本(.log、.txt)或电子表格(.xls)格式文件;

2、分析轨迹文件数据结构及所用的坐标系标准,并将制图所需的轨迹点数据转换成平面坐标点,生成一个点集;

3、创建一个线图层;

4、在创建好的图层上将线画出来,生成Mapinfo道路图层(.tab)文件。

四、程序关键源代码

五、界面效果

随着长庆油田GPS平台投入正常运营,在油田生产建设快速发展的过程中,油区道路电子地图需要不断地更新,本文所描述的软件为道路地图的低成本和高效制作带来了可能。在此基础上加入GPS平台车辆历史轨迹数据的智能提取和融合就可以更进一步提高制图效率和准确性,这也是下一步的研究方向。

[1]Mapinfo中国总代理.MapX 培训教程.方正数码Mapinfo事业部.2001年

[2]童瑞华.利用MapX开发Mapinfo.国防科技大学论文.1999年

[3]齐超,何新华,蔡红柳,苏晓燕.利用MapX控件构建地图应用.装甲兵工程学院信息工程系网络教研室论文.1998年

[4]戴国忠.基于GIS组件MapX的机载辅助导航系统的设计与实现. 北京:中国科学院软件研究所论文.1999年

[5]管志杰,赵政.使用MapX开发地理信息系统.微型电脑应用.1999年

[6]齐超,何新华.基于MapX控件的电子地图控制.计算机应用.2000年12月

[7]Christian Nagel,Bill Evjen,Jay Glynn,等著;李敏波,等译.C#高级编程(第4版).清华大学出版社.2006年10月

10.3969/j.issn.1001-8972.2011.18.028

马春雨,助理工程师,研究方向:计算机技术 工作单位:西安石油大学。

蒲渝媛,助理工程师,研究方向:计算机技术。

猜你喜欢

电子地图数据结构控件
数据结构线上线下混合教学模式探讨
基于.net的用户定义验证控件的应用分析
基于灵活编组的互联互通车载电子地图设计及动态加载
浅谈电子地图在高中地理教学中的应用
为什么会有“数据结构”?
基于GIS平台的江西省公路基础数据与电子地图综合展示系统
关于.net控件数组的探讨
高职高专数据结构教学改革探讨
CDIO模式在民办院校数据结构课程实践教学中的应用
电子地图在初中地理教学中的应用实践