地理信息系统原理(高勇)15gis软件课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《地理信息系统原理(高勇)15gis软件课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 地理信息系统 原理 15 gis 软件 课件
- 资源描述:
-
1、北京大学遥感与地理信息系统研究所GIS软件软件GIS软件体系结构桌面GIS网络GISGIS软件二次开发方法WebGISGIS软件的发展软件的发展l七十年代以前lGIS软件只是简单的由一系列计算机例程组成,有经验的程序员可以利用它们构建一个可运行的GIS系统l每个GIS系统在功能上互不相同,需要大量资源创建一个可工作的系统 l七十年代末和八十年代初 l命令行:用户依靠输入指令与GIS软件交互,完成制图和查询统计等工作 lGIS软件包实际上是空间操作算子或命令的工具箱,应用到一个数据集上产生另一个数据集 l八十年代末 l图形用户界面与软件定制能力应用于GISl基于窗体的菜单驱动的GIS,并具备可定
2、制能力 l为特定领域的最终用户构建专用的应用系统l二十一世纪 lWeb服务与分布式GISl当前GIS软件的基本特征l菜单驱动l可定制能力l可以在Web上分布GIS软件体系结构软件体系结构l三层结构l用户界面表现层 l用户与图形用户界面(GUI)交互lGUI是集成的菜单、工具条及其它控件的集合,它提供了对GIS工具的操作 lGIS工具集业务逻辑层l定义了GIS软件用于处理数据的功能和函数 l数据管理系统数据服务层 l数据存储在由数据管理软件维护的文件或数据库中l实现模式ldesktop GISlclient-server GISlcentralized desktop GISlcentraliz
3、ed server GIS用户界面GIS工具集数据管理数据表现层表现层业务逻辑层业务逻辑层数据服务层数据服务层Destop GIS体系结构体系结构l最简单的模式l单用户l三个软件层以桌面GIS软件包的形式安装在一台PC上l变种l数据文件由集中式文件服务器(PC)管理l但数据服务功能仍然是桌面GIS的一部分l所有文件访问通过LAN网络实现文件文件PC文件文件PC文件服务器文件服务器PCLANClient-Server GIS体系结构体系结构l多用户l三个软件层可以安装在不同的计算机上,提高灵活性和性能l用户与桌面GIS系统交互l桌面系统实现所有业务逻辑l数据和数据管理软件安装在另一台通过网络连接
4、的计算机上lThick Client数据服务器数据服务器PCDBMS桌面桌面GIS客户端客户端LAN/WANCentralized Desktop GIS体系结构体系结构lGUI和业务逻辑部署在中心服务器上,称为应用服务器层或中间层l应用服务层由桌面GIS包实现l应用服务层需要同时安装应用服务器软件l数据由数据服务器管理l用户在远程PC上通过LAN或WAN访问lThin Client数据服务器数据服务器PCDBMS瘦客户瘦客户LAN/WAN应用服务平台应用服务平台GIS桌面桌面GIS应用服务器应用服务器Centralized Server GIS体系结构体系结构l业务逻辑部署在真正的应用服务层
5、,作为中间层l客户端可以是基于PC、浏览器或特定设备的胖客户或瘦客户l客户端与应用服务层通过LAN、WAN或Internet连接数据服务器数据服务器PCDBMS客户端客户端LAN,WANor WebGISServerBrowserDevice应用服务器应用服务器Desktop和和Internet GIS 特征特征Desktop GISInternet GIS客户端规模客户端规模胖瘦客户端平台客户端平台应用程序浏览器服务器尺寸服务器尺寸瘦/胖胖服务器平台服务器平台Windows/UnixWindows/Unix组件标准组件标准COM为主Java为主网络网络局域网/广域网Internet桌面软件桌
6、面软件GIS工具集工具集数据服务器数据服务器数据数据Desktop GIS浏览器浏览器应用服务器应用服务器数据服务器数据服务器数据数据Internet GIS构建构建GIS软件系统软件系统 lGIS软件体系结构的核心部分l用户界面、工具、数据管理器、数据模型和定制环境l现代的GIS软件系统的软件组件构成l终端用户应用l一组菜单驱动的用户界面,实现主要的系统功能(数据定位、地图生成、地址编码等)l空间分析工具l构成软件主要功能和性能的核心引擎l编辑、转换、显示、分析、输出和定制 l数据访问组件l相对底层的组件,存储和管理对空间数据的访问GIS应用软件的开发方式应用软件的开发方式 l通过购买相应的
7、GIS软件或系统,在本地区或本领域内部署实施l购买GIS平台软件进行二次开发、购买完整的软件产品、购买完整的GIS系统、购买GIS服务 l请软件开发商来开发l承包开发、合作开发 l由组织内部人员自己开发 实施方案完全自主开发购买二次开发平台开发购买完整软件购买完整系统购买服务承包开发合作开发对提供者依赖性低低高很高很高很高中开发周期长长-中长短很短很短长-中长长-中长初始费用低中等中等高高高中等人力费用高中等低低很低低中等风险和不确定性高较低低低中等高中等灵活性完全可以完全可以中等中等不定高完全可以对用户技术要求很高高中等中等很低中等高现有资源的利用高高中等低很低低中等-高GIS软件定制软件定
8、制 lGIS软件定制l是为创建面向特定目的应用而修改GIS软件的过程l从GUI中删除不需要的控件,如菜单选项或按钮l为核心软件添加支持分析、制图、管理等复杂功能l要实现定制需要满足的条件lGIS软件必须提供其数据模型的总体描述l并暴露接口来使用、修改和补充现有的功能 l使用开放的、符合工业标准的可视化开发环境支持软件定制 lGIS厂商必须暴露其软件包的对象模型和函数的细节 l可以通过创建并编写一系列应用编程接口(API)来实现l这些接口允许GIS软件的功能函数可以在一个可视化开发环境的程序设计工具中被调用 l组件对象模型lComponent Object Model(COM);.Net组件lJ
9、ava Bean;EJBl公共对象请求代理体系结构lCommon Object Request Broker Architecture,CORBAGIS二次开发二次开发lGIS应用系统的两个核心,决定了GIS应用软件开发方式的选择l通用GIS功能l领域定制l利用GIS二次开发平台进行应用系统的二次开发 l二次开发平台(组件或应用编程接口)提供了通用GIS功能的支持,可以在应用系统中直接使用 l二次开发平台可以嵌入到其他系统中,具有更好的可复用性、扩展性和灵活性,具有较高的定制能力 lGIS二次开发方法,特别是基于GIS组件的二次开发方法,成为GIS应用开发的主流方式 lGIS二次开发的主要途径
10、l宏语言方式l脚本语言方式l函数调用方式l组件方式GIS二次开发二次开发宏语言方式宏语言方式(1)l宏l宏是一种解释性编程语言l宏程序是一连串的指令或函数的组合,可以让使用者将一些常用的功能自动化 lGIS宏的优点l它是服务于特定的GIS软件系统,可以直接使用GIS软件系统内部指令和函数,完成空间信息和属性信息的综合管理 lArcInfo AML宏语言lAML(Arc Macro Language)是内嵌于ArcInfo内部的解释型宏语言,适用于任何ArcInfo环境(Unix或Windows等)lAML命令:将单一功能的ArcInfo命令组织成解决复杂问题的程序lAML菜单:将AML命令集成
11、到简单易用的用户图形界面 lAML文件一般包括5个部分:ArcInfo命令、指示符、函数、变量和注释 GIS二次开发二次开发宏语言方式宏语言方式(2)l基于VBA的GIS二次开发lVBAlVisual Basic for Applications,可以认为是Visual Basic的子集l它是一种通用的自动化语言,可以使常用的程序自动化l利用它生成嵌入在应用程序内的宏,可以创建自定义的解决方案lArcMap中的VBA开发l在ArcMap中编写VB宏,将VB函数和ArcMap扩展对象库集成l可以扩展ArcMap的菜单、工具条等,并完成用户的特定需求 l两种方法直接编写VBA宏创建UIContro
12、l并在其事件中编写代码 GIS二次开发二次开发脚本语言方式脚本语言方式(1)l脚本语言l脚本一种纯文本保存的程序,脚本程序是确定的一系列控制计算机进行运算操作动作的组合,在其中可以实现一定的逻辑分支等l脚本语言相对一般程序开发来说比较接近自然语言,可以不经编译而是解释执行,利于快速开发或一些轻量的控制lGIS中的脚本语言l一些GIS系统中,也提供了嵌入的脚本语言,通过编写脚本,完成用户定制的功能,实现二次开发 l利用这些脚本语言,以原GIS 工具软件为开发平台,开发出自己的针对不同应用对象的应用程序 l省时省力,系统的稳定性和可靠性高 l但难以开发复杂的应用模型,且系统结构松散、系统显得有些臃
13、肿,操作效率和系统功能利用效率较低 lGIS中代表性的脚本语言lMapInfo的MapBasiclArcView的AvenuelArcGIS9中的VBScript、JavaScript和PythonGIS二次开发二次开发脚本语言方式脚本语言方式(2)l MapInfo的MapBasiclMapBasic一种类Basic语言,能够扩展MapInfo功能,并与其他应用软件集成 lMapBasic编辑出的程序可以在MapInfo Professional或MapInfo Runtime上运行 l ArcView的AvenuelAvenue是ArcView内置的面向对象的专用程序设计脚本语言 l包括了
14、ArcView系统中所有可操作的文档和其它要素 l几乎所有的ArcView操作都可以通过Avenue脚本语言来实现 lWindows环境下的ArcView的Avenue还提供了通过DLL调用Windows API函数,增强了ArcView应用的二次开发的深度。VB和Avenue成为开发ArcView应用的最佳组合lArcGIS 9中的Pythonl支持Python、VBScript、Java Script和PERL等多种脚本语言lPython是一种面向对象的解释性语言,能够提供基本的构建块,也可以用C、C+、Java进行扩展,因此可以用它开发任何类型的程序 lPython支持AML和Avenu
展开阅读全文