地理信息系统原理(高勇)15gis软.ppt
《地理信息系统原理(高勇)15gis软.ppt》由会员分享,可在线阅读,更多相关《地理信息系统原理(高勇)15gis软.ppt(31页珍藏版)》请在三一办公上搜索。
1、GIS软件,GIS软件体系结构桌面GIS网络GISGIS软件二次开发方法WebGIS,GIS软件的发展,七十年代以前GIS软件只是简单的由一系列计算机例程组成,有经验的程序员可以利用它们构建一个可运行的GIS系统每个GIS系统在功能上互不相同,需要大量资源创建一个可工作的系统 七十年代末和八十年代初 命令行:用户依靠输入指令与GIS软件交互,完成制图和查询统计等工作 GIS软件包实际上是空间操作算子或命令的工具箱,应用到一个数据集上产生另一个数据集 八十年代末 图形用户界面与软件定制能力应用于GIS基于窗体的菜单驱动的GIS,并具备可定制能力 为特定领域的最终用户构建专用的应用系统二十一世纪
2、Web服务与分布式GIS当前GIS软件的基本特征菜单驱动可定制能力可以在Web上分布,GIS软件体系结构,三层结构用户界面表现层 用户与图形用户界面(GUI)交互GUI是集成的菜单、工具条及其它控件的集合,它提供了对GIS工具的操作 GIS工具集业务逻辑层定义了GIS软件用于处理数据的功能和函数 数据管理系统数据服务层 数据存储在由数据管理软件维护的文件或数据库中实现模式desktop GISclient-server GIScentralized desktop GIScentralized server GIS,Destop GIS体系结构,最简单的模式单用户三个软件层以桌面GIS软件包的
3、形式安装在一台PC上变种数据文件由集中式文件服务器(PC)管理但数据服务功能仍然是桌面GIS的一部分所有文件访问通过LAN网络实现,Client-Server GIS体系结构,多用户三个软件层可以安装在不同的计算机上,提高灵活性和性能用户与桌面GIS系统交互桌面系统实现所有业务逻辑数据和数据管理软件安装在另一台通过网络连接的计算机上Thick Client,Centralized Desktop GIS体系结构,GUI和业务逻辑部署在中心服务器上,称为应用服务器层或中间层应用服务层由桌面GIS包实现应用服务层需要同时安装应用服务器软件数据由数据服务器管理用户在远程PC上通过LAN或WAN访问T
4、hin Client,Centralized Server GIS体系结构,业务逻辑部署在真正的应用服务层,作为中间层客户端可以是基于PC、浏览器或特定设备的胖客户或瘦客户客户端与应用服务层通过LAN、WAN或Internet连接,Desktop和Internet GIS,构建GIS软件系统,GIS软件体系结构的核心部分用户界面、工具、数据管理器、数据模型和定制环境现代的GIS软件系统的软件组件构成终端用户应用一组菜单驱动的用户界面,实现主要的系统功能(数据定位、地图生成、地址编码等)空间分析工具构成软件主要功能和性能的核心引擎编辑、转换、显示、分析、输出和定制 数据访问组件相对底层的组件,存
5、储和管理对空间数据的访问,GIS应用软件的开发方式,通过购买相应的GIS软件或系统,在本地区或本领域内部署实施购买GIS平台软件进行二次开发、购买完整的软件产品、购买完整的GIS系统、购买GIS服务 请软件开发商来开发承包开发、合作开发 由组织内部人员自己开发,GIS软件定制,GIS软件定制是为创建面向特定目的应用而修改GIS软件的过程从GUI中删除不需要的控件,如菜单选项或按钮为核心软件添加支持分析、制图、管理等复杂功能要实现定制需要满足的条件GIS软件必须提供其数据模型的总体描述并暴露接口来使用、修改和补充现有的功能 使用开放的、符合工业标准的可视化开发环境支持软件定制 GIS厂商必须暴露
6、其软件包的对象模型和函数的细节 可以通过创建并编写一系列应用编程接口(API)来实现这些接口允许GIS软件的功能函数可以在一个可视化开发环境的程序设计工具中被调用 组件对象模型Component Object Model(COM);.Net组件Java Bean;EJB公共对象请求代理体系结构Common Object Request Broker Architecture,CORBA,GIS二次开发,GIS应用系统的两个核心,决定了GIS应用软件开发方式的选择通用GIS功能领域定制利用GIS二次开发平台进行应用系统的二次开发 二次开发平台(组件或应用编程接口)提供了通用GIS功能的支持,可以
7、在应用系统中直接使用 二次开发平台可以嵌入到其他系统中,具有更好的可复用性、扩展性和灵活性,具有较高的定制能力 GIS二次开发方法,特别是基于GIS组件的二次开发方法,成为GIS应用开发的主流方式 GIS二次开发的主要途径宏语言方式脚本语言方式函数调用方式组件方式,GIS二次开发宏语言方式(1),宏宏是一种解释性编程语言宏程序是一连串的指令或函数的组合,可以让使用者将一些常用的功能自动化 GIS宏的优点它是服务于特定的GIS软件系统,可以直接使用GIS软件系统内部指令和函数,完成空间信息和属性信息的综合管理 ArcInfo AML宏语言AML(Arc Macro Language)是内嵌于Ar
8、cInfo内部的解释型宏语言,适用于任何ArcInfo环境(Unix或Windows等)AML命令:将单一功能的ArcInfo命令组织成解决复杂问题的程序AML菜单:将AML命令集成到简单易用的用户图形界面 AML文件一般包括5个部分:ArcInfo命令、指示符、函数、变量和注释,GIS二次开发宏语言方式(2),基于VBA的GIS二次开发VBAVisual Basic for Applications,可以认为是Visual Basic的子集它是一种通用的自动化语言,可以使常用的程序自动化利用它生成嵌入在应用程序内的宏,可以创建自定义的解决方案ArcMap中的VBA开发在ArcMap中编写VB
9、宏,将VB函数和ArcMap扩展对象库集成可以扩展ArcMap的菜单、工具条等,并完成用户的特定需求 两种方法直接编写VBA宏创建UIControl并在其事件中编写代码,GIS二次开发脚本语言方式(1),脚本语言脚本一种纯文本保存的程序,脚本程序是确定的一系列控制计算机进行运算操作动作的组合,在其中可以实现一定的逻辑分支等脚本语言相对一般程序开发来说比较接近自然语言,可以不经编译而是解释执行,利于快速开发或一些轻量的控制GIS中的脚本语言一些GIS系统中,也提供了嵌入的脚本语言,通过编写脚本,完成用户定制的功能,实现二次开发 利用这些脚本语言,以原GIS 工具软件为开发平台,开发出自己的针对不
10、同应用对象的应用程序 省时省力,系统的稳定性和可靠性高 但难以开发复杂的应用模型,且系统结构松散、系统显得有些臃肿,操作效率和系统功能利用效率较低 GIS中代表性的脚本语言MapInfo的MapBasicArcView的AvenueArcGIS9中的VBScript、JavaScript和Python,GIS二次开发脚本语言方式(2),MapInfo的MapBasicMapBasic一种类Basic语言,能够扩展MapInfo功能,并与其他应用软件集成 MapBasic编辑出的程序可以在MapInfo Professional或MapInfo Runtime上运行 ArcView的Avenue
11、Avenue是ArcView内置的面向对象的专用程序设计脚本语言 包括了ArcView系统中所有可操作的文档和其它要素 几乎所有的ArcView操作都可以通过Avenue脚本语言来实现 Windows环境下的ArcView的Avenue还提供了通过DLL调用Windows API函数,增强了ArcView应用的二次开发的深度。VB和Avenue成为开发ArcView应用的最佳组合ArcGIS 9中的Python支持Python、VBScript、Java Script和PERL等多种脚本语言Python是一种面向对象的解释性语言,能够提供基本的构建块,也可以用C、C+、Java进行扩展,因此可
12、以用它开发任何类型的程序 Python支持AML和Avenue提供的所有功能 ESRI使用Python作为文档和支持的主要的脚本语言,目前也成为ESRI大力推广的应用于ArcGIS9.0以上版本的主要的二次开发脚本语言,GIS二次开发函数调用方式,基于函数调用的GIS二次开发将各种GIS功能,包装成函数的形式,生成可以被多种程序设计语言共享调研的二进制程序块在应用系统建设时,加载这些二进制程序模块,调用其中的函数,实现相应的GIS功能基于函数调用的GIS二次开发主要使用动态链接库(DLL)技术动态链接库独立在应用系统之外,只在系统运行到适当的位置时才动态加载,使用完后即可释放,因此通过这种方法
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 地理信息系统 原理 15 gis
链接地址:https://www.31ppt.com/p-5950623.html