最新第5.1讲 组件式GIS二次开发关键技术讲学课件
- 格式:ppt
- 大小:4.69 MB
- 文档页数:230
文章编号:1000-582x(2000)06-0121-03基于组件式地理信息系统的二次开发Ξ宋 扬,李见为,曾 航,钟 建(重庆大学光电工程学院,重庆 400044) 摘 要:组件式地理信息系统是符合软件组件化潮流的新一代地理信息系统。
笔者阐述了组件式地理信息系统的基本概念和技术基础,并以G eomdaei平台为例讨论了基于组件式地理信息系统的二次开发。
关键词:地理信息系统;组件式软件;二次开发;G eomedia 中图分类号:TP315;TP311 文献标识码:A1 Com GIS(Components GIS,简称Com GIS)1.1 Com GIS的基本概念自从微软提出OL E/ActiveX控件规范以来,组件式软件技术已经成为当今软件发展的潮流之一。
在面向对象的编程技术发挥了它的全部潜力之后,它已经成为一群对象的孤岛,这些对象不能穿越应用程序的边界这一海洋,因而不能以一种有意义的方式彼此交流信息。
而组件式设计思想的关键点在于:程序代码片段可直接使用,无需重新编译;开发人员不需程序源码;组件不限于一种编程语言,即所谓“二进制重用”。
地理信息系统(G eographic Information System)技术本身正处于一个重要的发展时期,计算机技术和In2 ternet的飞速发展,对GIS产生了巨大的冲击, Com GIS和万维网GIS(Web GIS)等新技术应运而生。
GIS软件象其它软件一样,已经或正在发生着革命性的变化,即由过去厂家提供了全部系统或者具有二次开发功能的软件,过渡到提供组件由用户自己再开发的方向上来。
Com GIS基于标准的组件式平台,各个组件之间不仅可以进行自由、灵活的重组,而且具有可视化的界面和符合ActiveX控件’96规范的标准接口。
系统集成的本质就在于对已有的软件系统功能进行再利用,以满足当前的需要。
可见控件技术的出现为系统集成在编程上提供了巨大的支持,考虑到GIS对控件功能的特殊要求,已有GIS专用的所谓空间ActiveX控件(Spatial ActiveX Component Object)出现。
MAPGIS二次开发讲义成熟实用的地理信息系统(GIS)的重要标志就是它提供给用户的二次开发能力。
MAPGIS提供完整的二次开发函数库。
用户完全可以在MAPGIS平台上开发面向各自领域的应用系统。
操作系统、MAPGIS开发库及MAPGIS应用程序的相互关系如下图所示:MAPGISMAPGIS应用程序空间分析窗口操作…图库操作图形、图象I/O开发库工作区管理MAPGIS二次开发函数库包括下表所列部分,这些库函数都支持Window3.某,Window95和NT操作系统。
MAPGIS二次开发函数库支持的语言包括Borlandc++,Viualc++,Viualbaic等高级语言程序设计环境。
函数库名称动态库文件32位函数库(支持Window95,NT)c,c++连接文件工作区基础函数图形显示输出工作区管理函数图形窗口操作空间分析函数地图库读取显示图形编辑函数ba32.dllMapdp32.dllw32_area.dllW32_oper.dllW32_anly.dllD32_view. dllMaped32.dllBa32.libMapdp32.libW32_area.libW32_oper.libW32_anl y.libD32_view.libMaped32.lib表1MAPGIS函数库c,c++说明文件Win_area.hMap_out.hWin_area.hWin_oper.hSpc_anly.hDb_view.hMapedi t.hvb说明文件W32_area.baMapdp32.baW32_area.baW32_oper.baW32_anly.baMaped32.ba Window3.某、Window95、WindowNT基于MAPGIS平台的应用程序MAPGIS二次开发函数采用匈牙利命名法,即动宾结构命名法,并且所有函数都以下横线开始,以便和Window函数以及其他语言函数明显区别开来,如_GetLin表示取线实体;在ViualBaic环境下,由于ViualBaic语言不能识别以下横线开始的函数名,所以库函数都以字母b开始,如bGetLin表示取线实体。
1 gis软件技术经理了五个阶段:集成式GIS、模块式GIS、核心式GIS、组件式GIS、万维网GIS2 gis由4个要素组成:硬件、软件、数据、人员3 gis分为工具性软件(GIS二次开发平台、am/fm专用开发平台软件、其他工具性软件)应用型软件(制图软件、资源调查、信息管理、空间分析与预测)4 gis用户分为:最终用户、GIS专业人员、GIS开发商/系统集成商5 gis自身的特点:(1)GIS处理的是空间数据,具有数据量庞大、实体种类繁多、实体间的关联复杂等特点(2)GIS设计以空间数据为驱动(3)GIS工程投资大、周期长、风险大、涉及部门繁多6 gisS设计的理论思想:GIS工程学思想7GIS工程学体系主要由任务(运用系统论的理论和方法实现GIS工程的最优设计、最优管理和最有运行,以求得到系统总体的最优化)、基础理论(系统学、地理信息科学、系统工程学)和方法论组成8地理信息科学是研究地球信息的本质和运动规律的一门学科,其研究对象是地理信息。
他通过对地理信息技术中的一般性问题和规律性问题进行研究,对GIS工程学提供指导。
9 地理信息科学体系划分为三个层次:;理论地理信息科学、市局地理信息科学和应用地理信息科学10gis设计与一般信息系统设计的差异:设计重心(GIS处理的是海量空间数据,数据库设计在GIS设计中尤其重要,一般系统设计的中心是软件功能)数据库建设(gis不仅要进行属性数据库的设计,更要进行空间数据库的设计,包括空间数据结构、存储方式、管理机制。
而一般的只需要建立属性数据库)设计方法(GIS以业务需求为导向、异空间数据为驱动进行系统设计,而一般的以业务需求为导向,以功能为驱动进行系统设计)11gis设计包括软件设计和数据库设计12 实现地理信息资源共享,必须具备:(啊)数据资源储备(2)有技术支撑系统的保障(3)共享规则的制定,被广泛采纳和遵循13标准化是空间信息共享和系统集成的重要前提,也是GIS产业化和社会化的必经之路。
中图分类号:TP311.52文献标识码:A文章编号:1009-2552(2008)08-0065-03GIS二次开发方法与实现杨宏鹏,王阿川,王妍玮(东北林业大学信息与计算机工程学院,哈尔滨150040)摘要:介绍了地理信息系统二次开发的三种方法:独立二次开发、单纯二次开发和集成二次开发。
随后比较各自的优缺点。
采用ESRI公司提供的ArcObjects组件库和M apControl控件以及Scene View er C ontrol控件。
用VisualC++6.0在ArcGIS8.3环境下进行了G IS的二次开发。
关键词:地理信息系统;ArcO bjects;二次开发Method and implementation of GIS secondary developmentYA NG Hong2peng,WA NG A2chuan,W AN G Yan2w ei(School of Information and Computer Engineer ing,Nor theast For estr y University,Harbin150040,China) Abstract:The paper introduces three methods of GIS sec ondary development,they are independent secondary development,simple secondary development and integrated secondary development.Then it c ompares the advantages and disadvantages of each ing A rcO bjects component library and M apControl controls and Scene View er Control controls provided by ESRI company,this paper makes secondary development of GIS under ArcGIS8.3environment based on VisualC++6.0.Key w or ds:GI S;ArcObjects;secondary development20世纪中叶以后,伴随着计算机科学、现代数学、计算机图形学和虚拟现实技术的发展,地理信息系统(GIS)应运而生,该技术将数字地图和地理分析功能以及数据库操作集合在一起,可对地理信息进行综合分析和处理。
M A P G I S 二次开发培教程前言MAPGIS是武汉中地信息工程有限公司研制的具有自主版权的大型基础地理信息系统平台。
它是一个集当代最先进的图形、图像、地质、地理、遥感、测绘、人工智能、计算机科学于一体的大型智能软件系统,是集数字制图、数据库管理及空间分析为一体的空间信息系统,是进行现代化管理和决策的先进工具。
MAPGIS连续四年在全国GIS测评中名列第一,并成为唯一连续四年获得国家科技部向社会推荐的国产GIS软件平台。
中地软件丛书之MAPGIS二次开发培训教程是根据最新推出的MAPGIS软件平台编写而成,主要介绍进行MAPGIS二次开发必须具备的基础知识、主流开发工具以及MAPGIS系统的基本概念、结构体系和操作方法。
该教程分为三个部分,共十一讲。
其中:第一部分(即第一讲的内容):介绍Windows编程的概念。
包括类与数据封装、继承、重载、虚拟函数与多态性以及内存管理。
该部分为可视化编程的基础,有可视化编程经验的读者可以略过此讲,直接进入下一部分的学习。
第二部分(即第二讲的内容):编程工具VC。
对于在VC这样一个编程环境中开发应用程序所应熟悉的概念,术语和最基本的框架、构件实现过程等知识做了一个简明扼要的介绍。
已掌握一定VC编程基础知识的读者可以略过该部分。
第三部分(即第三讲至第十一讲的内容):详细讲述了地理信息系统的基本概念(包括GIS原理概述、空间数据类型、空间数据库、空间数据结构与数据管理等内容);MAPGIS 的基本概念和体系结构(简要描述了MAPGIS二次开发的基本概念、术语、工作区、空间实体及其数据、C++类组织和开发环境介绍的内容);MAPGIS空间数据存取和属性编辑(包括工作区、空间实体和属性的操作及其网络介绍);图形显示输出及窗口操作、图形编辑、类库和控件开发;矢量空间分析和属性查询;投影变换、图框生成和工程管理;图库管理和查询系统(包括基于图库的应用程序开发、MAPGIS图库介绍、开发的一般步骤以及结合图库显示说明图库主要函数的功能等方面的内容)以及图象分析与处理。