【VC++开源代码栏目提醒】:网学会员在VC++开源代码频道为大家收集整理了“基于MapX的东海电缆管线地理信息系统开发 - 计算机教材“提供大家参考,希望对大家有所帮助!
基于MapX的东海电缆管线地理信息系统开发 谢文辉 上海东海海洋工程勘察设计研究院200090 摘要 从ActiveX技术出发说明了组件式GIS开发技术的源起通用GIS的开发框架以东海电缆管线地理信息系统为例介绍了利用MapX控件进行GIS应用软件的组织与开发过程实现了对空间数据与属性数据的可视化、信息化实现了对地理信息的查询、编辑、分析、管理等基本功能。
关键词: ActiveX/ MapX控件地理信息系统GISVB 中图分类号: TP311TP391.41 作者简介: 谢文辉男1974年生硕士主要研究方向: GIS开发与集成应用. 1 ActiveX 技术与系统开发 11组件技术的兴起 ActiveX技术是Microsoft公司于1996年推出来的ActiveX技术已得到了许多软件公司的支持和响应并纷纷在其产品中融入ActiveX技术。
ActiveX是一种技术集它的基础是OLE对象链接与嵌入技术直接使用对象是COMComponent Object Model。
而COM的核心是IDLInterfaceDefineLanguage语言是一种与平台无关的语言而且是二进制兼容的使用者可以直接调用执行模块来获得对象提供的服务它们间的关系如图1所示。
ActiveX技术具有如下特点 1与具体的编程语言无关被广泛应用于WEB服务器以及客户端的各个方面。
同时也被用于方便地创建普通的桌面应用程序。
2是一段可重复使用的编程
代码和数据它是由用 ActiveX 技术创建的一个或多个对象所组成通过使用 ActiveX 部件技术可以实现将现已存在的、完善的应用程序片断连在一起组装到自己的应用
程序中去。
12 ActiveX控件与组件技术 ActiveX控件是充分利用OLE和ActiveX技术的自定义控件运行于32位的环境是基于与应用程序无关的思想而设计的其目标是提供一种面向对象、与操作系统无关、与机器平台无关、可以在应用程序之间互相访问对象地机制。
其效果如同使用Windows通用控件一样。
如在
VC中开发的ActiveX控件不作任何修改即可应用于
VB中。
由此可见通过使用ActiveX控件即可实现快速小型的组件重用、实现
代码共享从而提高编程效率。
ActiveX控件因而广泛地受到开发者的欢迎。
493组件技术实际上是一种开发理念。
它把整个软件系统可以被视为相互协同
工作的对象集合其中每个对象都会提供特定的服务发出特定的消息并且以标准形式公布出来以便其他对象了解和调用。
早期的类库提供的是原
代码级的重用只适用于比较小规模的开发形式。
组件技术以前所未有的方式提高了软件产业的生产效率这一点已逐步成为软件开发人员的共识。
传统的C/S结构、群件、中间件等大型软件系统的构成形式都将在组件的基础上重新构造。
由于组件技术的出现软件产业的形式也随之发生了很大的变化。
大量组件生产商涌现出来并推出各具特色的组件产品软件集成商则利用适当的组件快速生产出用户需要的某些应用系统大而全的通用产品逐步减少很多相对较为专业但用途广泛的软件如GIS、语音识别系统等都以组件的形式组装和扩散到一般的软件产品中。
图1 ActiveX技术发展过程组件技术 ActiveX/ ActivexX Ocx OLE/OLE Ocx Com/Dcom 是一种基于部件/控件群的系统开发理念与模式。
不同的部件完成不同的功能不同的部件/控件可以自由组合。
封装得更加彻底更易于使用可以在各种开发语言、环境中使用。
组件技术使近二十年来兴起的面向对象技术进入到成熟的实用化阶段。
ActiveX是Microsoft在OLE技术的基础上提出的一组使用COM使得软件部件可以交互的技术集。
ActiveX控件是充分利用OLE和ActiveX技术的自定义控件是众多ActiveX技术中的一种基础是OLE控件。
OLE的目的在于增强
软件间的互操作。
OLE控件OCX是OLE自动化的扩展是众多OLE中的一种有事件驱动、有宿主可视化、有自已的属性页可编程控制. 它的核心是IDL语言。
与机器无关、与语言平台无关。
4942GIS开发与ActiveX控件 21 GIS
常用开发方式 从系统开发的组成结构来讲GIS的开发可分为三种情况1集成式GIS指集合各种功能的大型GIS软件包。
ESRI公司的Arc/InfoGenasys公司的GenaMap等都是集成式的GIS开发工具。
集成式GIS优点是各项功能已形成独立完整系统缺点是系统复杂、庞大、成本较高难于与其他应用系统集成。
2模块化GIS按功能划分成一系统模块运行于统一的平台上。
Intergraph公司的MGE就是一个有代表性的模块化GIS系统。
模块化GIS具有较强的工程针对性便于开发和应用。
3组件式GIS是近年来发展起来的代表GIS系统的发展潮流。
最主要的组件GIS大多采用Microsoft的COM。
基于COMMicrosoft推出了ActiveX控件技术。
新一代的组件式GIS大多采用ActiveX控件来实现的。
如InterGraph的GeoMediaESRI的MapObjectMapInfo的MapXArcGIS的ArcObject等还有一些国产的GIS软件也大多采用这种形式这是目前应用型GIS的主要开发方式。
22 组件式GIS系统 组件式GIS的基本思想是把GIS的各大功能模块划分为几个控件每个控件完成不同的功能。
各个GIS控件之间以及GIS控件与其它非GIS控件之间可以方便地通过可视化的软件开发工具集成起来形成最终的GIS应用。
控件如同一堆各式各样的积木他们分别实现不同的功能包括GIS和非GIS功能根据需要把实现各种功能的 “积木”搭建起来就构成应用系统GIS控件是组件式GIS开发中最基础的控件。
利用组件进行GIS开发肯有以下优点 1功能全、性价比高各板块功能紧密集中新的GIS组件都是基于32位系统平台的采用InProc直接调用形式所以无论是管理大数据的能力还是处理速度方面均不比传统GIS软件逊色。
小小的GIS组件完全能提供拼接、裁剪、叠合、缓冲区等空间处理能力和丰富的空间查询与分析能力。
可以选取/开发各种控件。
组件化GIS平台具备空间数据管理能力可与众多数据库系统连接。
在保证功能的前提下系统小巧灵活。
性价比高最大限度地降低了用户的经济负担。
2兼容性好、易于开发 GIS控件具有很强的空间分析与处理功能可与MIS系统充分结合既实现了GIS的功能扩展、市场的开拓也可以使MIS系统更加完善。
别外它可以使用通用的可视化语言开发不必掌握额外的GIS开发语言开发者只需熟悉基于Windows平台的通用集成开发环境以及GIS各个控件的属性、方法和事件就可以完成应用
系统的开发和集成。
目前可供选择的开发环境很多如Visual C、Visual Basic、Visual FoxPro、Borland C、
Delphi、C Builder以及Power Builder等都可直接成为GIS或GMIS的优秀开发工具它们各自的优点都能够得到充分发挥。
这与传统GIS专门性开发环境相比是一种质的飞跃。
495 3更加大众化 组件式技术已经成为业界标准用户可以象使用其他ActiveX控件一样使用GIS控件使非专业的普通用户也能够开发和集成GIS应用系统推动了GIS大众化进程。
组件式GIS 的出现使GIS不仅是专家们的专业分析工具同时也成为普通用户对地理相关数据进行管理的的可视化工具。
23 Mapx介绍 MapX是MapInfo公司向用户提供的具有强大地图分析功能的ActiveX控件产品。
由于它是一种基于Windows操作系统的标准控件因而能支持绝大多数标准的可视化开发环境。
编程人员在开发过程中可以选用自己最熟悉的开发语言轻松地将地图功能嵌入到应用中并且可以脱离MapInfo的软件平台运行。
空间数据结构是GIS的基石GIS就是通过这种地理空间拓扑结构建立地理图形的空间数据模型并定义各空间数据之间的关系从而实现地理图形和数据库的结合。
从横向分析MapX采取的空间数据结构是基于空间实体和空间索引相结合的一种结构。
空间实体是地理图形的抽象模型主要包括点、线、面三种类型。
任何点、线、面实体都可以用直角坐标点x、y来表示。
点可以表示成一组坐标xy对于线和面则均被表示成多组坐标x1y1x2y2xnyn。
空间索引是查询空间实体的一种机制通过空间索引就能够以尽量快的速度查询到给定坐标范围内的空间实体及其所对应的数据。
从纵向分析MapX的空间数据结构是一种分层存放的结构。
用户可以通过图形分层技术根据自己的需求或一定的标准对各种空间实体进行分层组合将一张地图分成不同图层。
采用这种分层存放的结构可以提高图形的
搜索速度便于各种不同数据的灵活调用、更新和管理。
3 东海管线地理信息系统构建 3.1软件体系结构 为更好查阅与管理东海区管线资料建成一个适用、先进、高效、可靠的东海管线资源信息化、现代化的平台系统开发遵循以下原则 适用性与先进性并重原则 系统的运行要求稳定与通用、同时考虑技术的先近性、控件功能的完备性。
开放性原则 信息系统建设是分阶段逐步实施的很多功能待完善与优化本系统采用开放式结构在软硬件方面保证具有良好的扩展性以便今后系统不断地升级完善。
经济性原则 系统的硬件建设、系统开发与集成等均将采通用方法。
有国家、行业标准或规范的都496将严格执行没有标准或规范的采用通用做法。
易学易用易维护原则 系统最终是为用户服务的。
设计友好的系统界面使其操作直观、简便易维护。
3.2系统功能 功能结构本系统功能主要考虑管理的需要设置了五项基本功能即数据输入、图形数据编辑、数据存贮与管理、空间查询与空间分析、可视化表达与输出功能结构如图2所示。
图2 东海电缆管线地理信息系统的基本功能桔构图 系统的编写采用VB平台系统的模块既相对独立又相互补充构成完整的系统实现对东海区管线的全面管理。
运行基本界面如图3所示基本上实现了分层管理、属性查询与更改、对象的编辑、节点吸附、漫游与缩放、自定义标注、自动标注、多边形选择、距离与面积的量算、打印输出、栅格输出、文件输出、缓冲区分析还有鹰眼图、所选对象坐标的
查询与提取、所选对象的存贮与输出、投影变换、视图比例查询与更改、专题图制作等特色功能。
空间数据键盘输入 扫描数字化 手扶数字化 格式转化 属性数据编号/
注册号 所有人 管线长度 用途 辅设方式 。
。
。
。
。
。
。
。
。
基础数据点、线、面、文本结构功能设计 开发
方案比选 查询请求 输出形式 显示器 打印机 栅格矢量图文件输出 查询存贮功能分析编辑功能输出功能其它基本功能索引编辑请求 分析请求 497 图3 系统运行的主界面图 4 结束语 该信息系统针对东海管道电缆资源的各个层面实现资源的统一平台管理。
结合地理信息系统技术为管理部门提供决策的便利。
本地理系统的开发和应用为海洋资源管理提供了一种全新思路和优质高效的管理手段。
在横向上可以类似的开发出海域使用GIS、海洋灾害GIS、海洋工程GIS等在纵向上在此基础上可以集成与扩展各种功能使它变为地理信息管理信息系统和DSS系统。
软件的组件化已成为软件技术发展的潮流。
基于COM/DCOM的ActiveX构件实现已成为软件工业的一种标准。
伴随着未来其它非Windows平台对ActiveX的支持基于ActiveX构件化的GIS软件系统将对GIS的体系结构和GIS将来的应用前景产生深远影响。
当前位置显示栏 查询距离显示栏当前所选图层显示栏所选取物属性查询视图比工具栏 菜单与工具栏等属性更新鹰眼图图层控制498