最新地理信息系统原理(高勇15 gis软件精品课件.ppt
《最新地理信息系统原理(高勇15 gis软件精品课件.ppt》由会员分享,可在线阅读,更多相关《最新地理信息系统原理(高勇15 gis软件精品课件.ppt(32页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、GIS软件的发展软件的发展l七十年代以前lGIS软件只是简单的由一系列计算机例程组成,有经验的程序员可以利用它们构建一个可运行的GIS系统l每个GIS系统在功能上互不相同,需要大量资源创建一个可工作的系统 l七十年代末和八十年代初 l命令行:用户依靠输入指令与GIS软件交互,完成制图和查询统计等工作 lGIS软件包实际上是空间操作算子或命令的工具箱,应用到一个数据集上产生另一个数据集 l八十年代末 l图形用户界面与软件定制能力应用于GISl基于窗体的菜单驱动的GIS,并具备可定制能力 l为特定领域的最终用户构建专用的应用系统l二十一世纪 lWeb服务与分布式GISl当前GIS软件的基本特征l菜
2、单驱动l可定制能力l可以在Web上分布构建构建GIS软件系统软件系统 lGIS软件体系结构的核心部分l用户界面、工具、数据管理器、数据模型和定制环境l现代的GIS软件系统的软件组件构成l终端用户应用l一组菜单驱动的用户界面,实现主要的系统功能(数据定位、地图生成、地址编码等)l空间分析工具l构成软件主要功能和性能的核心引擎l编辑、转换、显示、分析、输出和定制 l数据访问组件l相对底层的组件,存储和管理对空间数据的访问GIS应用软件的开发方式应用软件的开发方式 l通过购买相应的GIS软件或系统,在本地区或本领域内部署实施l购买GIS平台软件进行二次开发、购买完整的软件产品、购买完整的GIS系统、
3、购买GIS服务 l请软件开发商来开发l承包开发、合作开发 l由组织内部人员自己开发 实施方案完全自主开发购买二次开发平台开发购买完整软件购买完整系统购买服务承包开发合作开发对提供者依赖性低低高很高很高很高中开发周期长长-中长短很短很短长-中长长-中长初始费用低中等中等高高高中等人力费用高中等低低很低低中等风险和不确定性高较低低低中等高中等灵活性完全可以完全可以中等中等不定高完全可以对用户技术要求很高高中等中等很低中等高现有资源的利用高高中等低很低低中等-高GIS软件定制软件定制 lGIS软件定制l是为创建面向特定目的应用而修改GIS软件的过程l从GUI中删除不需要的控件,如菜单选项或按钮l为核
4、心软件添加支持分析、制图、管理等复杂功能l要实现定制需要满足的条件lGIS软件必须提供其数据模型的总体描述l并暴露接口来使用、修改和补充现有的功能 l使用开放的、符合工业标准的可视化开发环境支持软件定制 lGIS厂商必须暴露其软件包的对象模型和函数的细节 l可以通过创建并编写一系列应用编程接口(API)来实现l这些接口允许GIS软件的功能函数可以在一个可视化开发环境的程序设计工具中被调用 l组件对象模型lComponent Object Model (COM);.Net组件lJava Bean;EJBl公共对象请求代理体系结构lCommon Object Request Broker Arch
5、itecture,CORBAGIS二次开发二次开发lGIS应用系统的两个核心,决定了GIS应用软件开发方式的选择l通用GIS功能l领域定制l利用GIS二次开发平台进行应用系统的二次开发 l二次开发平台(组件或应用编程接口)提供了通用GIS功能的支持,可以在应用系统中直接使用 l二次开发平台可以嵌入到其他系统中,具有更好的可复用性、扩展性和灵活性,具有较高的定制能力 lGIS二次开发方法,特别是基于GIS组件的二次开发方法,成为GIS应用开发的主流方式 lGIS二次开发的主要途径l宏语言方式l脚本语言方式l函数调用方式l组件方式GIS二次开发二次开发宏语言方式宏语言方式(1) l宏l宏是一种解释
6、性编程语言l宏程序是一连串的指令或函数的组合,可以让使用者将一些常用的功能自动化 lGIS宏的优点l它是服务于特定的GIS软件系统,可以直接使用GIS软件系统内部指令和函数,完成空间信息和属性信息的综合管理 lArcInfo AML宏语言lAML(Arc Macro Language)是内嵌于ArcInfo内部的解释型宏语言,适用于任何ArcInfo环境(Unix或Windows等) lAML命令:将单一功能的ArcInfo命令组织成解决复杂问题的程序lAML菜单:将AML命令集成到简单易用的用户图形界面 lAML文件一般包括5个部分:ArcInfo命令、指示符、函数、变量和注释 GIS二次开
7、发二次开发宏语言方式宏语言方式(2)l基于VBA的GIS二次开发lVBAlVisual Basic for Applications,可以认为是Visual Basic的子集l它是一种通用的自动化语言,可以使常用的程序自动化l利用它生成嵌入在应用程序内的宏,可以创建自定义的解决方案lArcMap中的VBA开发l在ArcMap中编写VB宏,将VB函数和ArcMap扩展对象库集成l可以扩展ArcMap的菜单、工具条等,并完成用户的特定需求 l两种方法直接编写VBA宏创建UIControl并在其事件中编写代码 GIS二次开发二次开发脚本语言方式脚本语言方式(1)l脚本语言l脚本一种纯文本保存的程序,
8、脚本程序是确定的一系列控制计算机进行运算操作动作的组合,在其中可以实现一定的逻辑分支等l脚本语言相对一般程序开发来说比较接近自然语言,可以不经编译而是解释执行,利于快速开发或一些轻量的控制lGIS中的脚本语言l一些GIS系统中,也提供了嵌入的脚本语言,通过编写脚本,完成用户定制的功能,实现二次开发 l利用这些脚本语言,以原GIS 工具软件为开发平台,开发出自己的针对不同应用对象的应用程序 l省时省力,系统的稳定性和可靠性高 l但难以开发复杂的应用模型,且系统结构松散、系统显得有些臃肿,操作效率和系统功能利用效率较低 lGIS中代表性的脚本语言lMapInfo的MapBasiclArcView的
9、AvenuelArcGIS9中的VBScript、JavaScript和PythonGIS二次开发二次开发脚本语言方式脚本语言方式(2)l MapInfo的MapBasiclMapBasic一种类Basic语言,能够扩展MapInfo功能,并与其他应用软件集成 lMapBasic编辑出的程序可以在MapInfo Professional或MapInfo Runtime上运行 l ArcView的AvenuelAvenue是ArcView内置的面向对象的专用程序设计脚本语言 l包括了ArcView系统中所有可操作的文档和其它要素 l几乎所有的ArcView操作都可以通过Avenue脚本语言来实现
10、 lWindows环境下的ArcView的Avenue还提供了通过DLL调用Windows API函数,增强了ArcView应用的二次开发的深度。VB和Avenue成为开发ArcView应用的最佳组合lArcGIS 9中的Pythonl支持Python、VBScript、Java Script和PERL等多种脚本语言lPython是一种面向对象的解释性语言,能够提供基本的构建块,也可以用C、C+、Java进行扩展,因此可以用它开发任何类型的程序 lPython支持AML和Avenue提供的所有功能 lESRI使用Python作为文档和支持的主要的脚本语言,目前也成为ESRI大力推广的应用于Ar
11、cGIS9.0以上版本的主要的二次开发脚本语言 GIS二次开发二次开发函数调用方式函数调用方式l基于函数调用的GIS二次开发l将各种GIS功能,包装成函数的形式,生成可以被多种程序设计语言共享调研的二进制程序块l在应用系统建设时,加载这些二进制程序模块,调用其中的函数,实现相应的GIS功能l基于函数调用的GIS二次开发主要使用动态链接库(DLL)技术l动态链接库独立在应用系统之外,只在系统运行到适当的位置时才动态加载,使用完后即可释放,因此通过这种方法开发的系统负担较小,独立性好l动态链接库可以被多个不同的系统使用,可以方便的嵌入到应用系统中,提高了GIS软件的可复用性l应用系统可以独立于原G
12、IS库,其扩展性和集成性都明显优于宏、脚本语言等二次开发方式 l广泛使用的各种程序设计语言或集成开发环境(如Visual C+、Visual Basic、Delphi等)都可以很好的支持动态链接库的使用 l典型的基于函数调用的GIS二次开发lMapGIS以API函数的形式提供了一系列的GIS二次开发库,可以全面支持GIS应用系统的二次开发 GIS二次开发二次开发组件方式组件方式(1)l组件技术 lCOM/DCOM、.Net组件、CORBA、JavaBean、EJBlActiveX控件lCOM物理实现的一种方式l提供一种面向对象、与操作系统无关、与机器平台无关、可以在应用程序之间互相访问对象地机
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新地理信息系统原理高勇15 gis软件精品课件 最新 地理信息系统 原理 15 gis 软件 精品 课件
限制150内