地理信息系统原理(高勇)15gis软件课件.ppt

上传人(卖家):三亚风情 文档编号:3565974 上传时间:2022-09-18 格式:PPT 页数:31 大小:3.19MB
下载 相关 举报
地理信息系统原理(高勇)15gis软件课件.ppt_第1页
第1页 / 共31页
地理信息系统原理(高勇)15gis软件课件.ppt_第2页
第2页 / 共31页
地理信息系统原理(高勇)15gis软件课件.ppt_第3页
第3页 / 共31页
地理信息系统原理(高勇)15gis软件课件.ppt_第4页
第4页 / 共31页
地理信息系统原理(高勇)15gis软件课件.ppt_第5页
第5页 / 共31页
点击查看更多>>
资源描述

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

15、e提供的所有功能 lESRI使用Python作为文档和支持的主要的脚本语言,目前也成为ESRI大力推广的应用于ArcGIS9.0以上版本的主要的二次开发脚本语言 GIS二次开发二次开发函数调用方式函数调用方式l基于函数调用的GIS二次开发l将各种GIS功能,包装成函数的形式,生成可以被多种程序设计语言共享调研的二进制程序块l在应用系统建设时,加载这些二进制程序模块,调用其中的函数,实现相应的GIS功能l基于函数调用的GIS二次开发主要使用动态链接库(DLL)技术l动态链接库独立在应用系统之外,只在系统运行到适当的位置时才动态加载,使用完后即可释放,因此通过这种方法开发的系统负担较小,独立性好l

16、动态链接库可以被多个不同的系统使用,可以方便的嵌入到应用系统中,提高了GIS软件的可复用性l应用系统可以独立于原GIS库,其扩展性和集成性都明显优于宏、脚本语言等二次开发方式 l广泛使用的各种程序设计语言或集成开发环境(如Visual C+、Visual Basic、Delphi等)都可以很好的支持动态链接库的使用 l典型的基于函数调用的GIS二次开发lMapGIS以API函数的形式提供了一系列的GIS二次开发库,可以全面支持GIS应用系统的二次开发 GIS二次开发二次开发组件方式组件方式(1)l组件技术 lCOM/DCOM、.Net组件、CORBA、JavaBean、EJBlActiveX控

17、件lCOM物理实现的一种方式l提供一种面向对象、与操作系统无关、与机器平台无关、可以在应用程序之间互相访问对象地机制 lActiveX控件开发端和使用端是完全独立的,可以用于不同语言、不同开发平台、不同的系统环境中l.Net组件lGIS组件l把GIS的功能适当抽象,以组件形式供开发者使用 l独立灵活,成本低 l可扩展、可集成程度高 l同样强大的GIS功能 l开发简捷 l基于组件的二次开发是应用最广泛,功能最强大的GIS二次开发方法l比较具有代表性的GIS组件lESRI ArcObject,MapObject,ArcEnginelMapInfo MapXlGeoMedialSuperMap Ob

18、ject GIS二次开发二次开发组件方式组件方式(2)lArcObjectl简称AO,是ESRI公司构建的一系列COM组件集,可以利用ArcObject提供的组件对象来进行应用开发 l是ArcGIS中的ArcMap、ArcCatalog和 ArcScene的开发平台l通过ArcObject可完成以下甚至更多的GIS功能l空间数据的显示、查询检索、编辑和分析l创建各种专题图和统计报表l高级的制图和输出功能l空间数据管理和维护lArcObject包含若干个ActiveX控件lMapControl控件提供了类似ArcMap中的数据视图的窗口lPageLayoutControl控件提供了类似ArcMa

19、p中的版面视图的窗口 ArcObject对象图对象图GIS二次开发二次开发组件方式组件方式(3)lArcEnginelArcGIS 9中新的开发产品,从核心ArcObject中构建l可以创建独立的应用程序或者集成到第三方的软件系统中l功能l读取所有支持的ESRI数据格式l地图制作lArcGIS级别的绘图l查询和分析l地理编码l简单编辑l开发控件lMapControllPageLayoutControllToolbarControllTOCCControllReaderControllSceneControllGlobleControll若干命令和工具GIS二次开发二次开发组件方式组件方式(4)

20、lMapObject(MO)l由ESRI提供的一个ActiveX组件l主要功能l可完成许多基础的地图管理、操作、查询、制图和输出功能l但不能执行某些高级功能,如拓扑编辑、高质量地图输出、表面模型或网络分析等高级空间分析l包含一个Map控件和46个对象l地图显示对象用符号或专题表达显示一张地图,也可加入图像做为背景,在地图上显示动态数据l数据访问对象可以建立与地图数据的联系,修改属性数据,并从地图元素上获取其属性信息l几何图形对象支持获取图层中选择元素的几何信息,向图层添加几何要素,在地图中画几何目标而不更新图层l地址匹配对象支持获取图层上的某个地址,该地址具有街道和地址范围并返回一个位置,也可

21、以查找十字路口的位置和地名l投影对象支持空间参考坐标系、设置投影参数并进行投影变化等操作 GIS二次开发二次开发组件方式组件方式(5)lMapXlMapInfo公司提供的具有地图分析功能的ActiveX控件产品 l可以实现MapInfo Professional的绝大部分地图编辑和空间分析功能 lSuperMap Objectsl是SuperMap GIS系列软件中的组件式GIS开发平台l提供的功能l地图基本操作、编辑与捕捉功能、专题地图制作、拓扑处理与分析、空间分析功能、三维建模与分析、布局排版等 l由六组可拆分的组件群组成l核心组件、三维组件、拓扑组件、布局组件、分析组件、辅助开发组件 W

22、ebGISl概念lWebGIS是利用互联网技术(Internet),为地理信息和空间分析知识的存取、处理和传播提供便利的系统 l大多数的客户端应用采用了WWW 协议l基本思想是在互联网上提供地理信息,让用户通过网络可以获得远端地理信息系统中的数据和功能服务 l特点l更广泛的客户访问范围l客户端平台独立性l更简单的操作 l良好的可扩展性l发展 l浏览型服务:B/Sl数据分布:分布式多数据源l服务分布:WebServicel新的发展趋势:无线、三维WebGIS的体系结构的体系结构 l三层B/S体系结构l客户端一般为Web浏览器,服务器包括Web服务器,Map服务器,GIS服务器,空间数据库 lWe

23、b浏览器是用户和WebGIS的交互接口,用来显示地图和实现客户端的在线查询和分析功能lWeb服务器响应来自Web浏览器的请求,通过CGI、Servlet等将请求传递给Map服务器,并从Map服务器得到请求结果发还给浏览器lMap服务器将用户请求分配给相应的GIS服务器或空间数据库,并能够实现网络的负载平衡lGIS服务器提供了空间数据的存取、查询、分析、处理等功能l空间数据库是用来存储和管理空间数据 WebGIS的实现技术的实现技术(1)lCGI方式lCGI是一个用于Web服务器和客户端浏览器之间的特定标准,它允许网页用户通过网页的命令来启动一个存在于网页服务器主机的程序(称为CGI程序),并且

24、接收到这个程序的输出结果 l利用CGI可以生成图像,然后传递到客户端浏览器 l用CGI启动后端的批处理制图软件 lCGI启动后端GIS软件,使用进程间通讯实现lServer API方式 lServer API类似于CGI,但依附于特定的Web服务器l如Microsoft ISAPI依附于IISlServer API启动后会一直处于运行状态,其速度较CGI快 l插件方式 l浏览器插件是指能够同浏览器交换信息的软件,通过开发插件以使浏览器支持其特定格式的数据文件 l利用浏览器插件,可以将一部分服务器的功能转移到客户端,可以处理和传输矢量格式空间数据l需要在客户端先安装,然后才能使用,给使用造成了不

25、方便WebGIS的实现技术的实现技术(2)lJava Applet方式 lJava Applet能嵌入HTML文件中,被浏览器解释执行l运行时,Applet从服务器下载,不需要进行软件安装l可以实现Applet与服务器程序的直接连接,从而使数据处理操作既可以在服务器上实现,又可以在客户端实现,以实现两端负载的平衡 lAxtiveX方式 l其基础是DCOM,可以嵌入到HTML文件中,在因特网上运行 l只能运行于MS-Windows平台上,并且由于可以进行磁盘操作,其安全性较差 l执行速度快,可以用多种语言实现,可以复用原有GIS软件的源代码,提高了软件开发效率lWebService方式 l一种基

26、于对象/组件模型的分布式计算技术l基础是XML及基于其上的SOAPl客户端和服务端把请求和数据结果以XML 的形式进行SOAP 包装,以HTTP 等形式进行传送,从而实现相应交互l三种基本角色:服务的提供者、服务的请求者、服务中介(服务注册库)l采用WebService的方式实现的WebGIS有时也称为GeoService WebGIS数据传输格式数据传输格式 l基于栅格的数据格式lWebGIS现在采用最多的是基于栅格的传输方式l一般是用JPG、GIF、BMP等图像文件格式来传输GIS数据 l简单、直观,形象,而且不需要客户端配备任何的特殊插件和程序,浏览器就能够将GIS数据显示给用户 l从数

27、据中重新提取地理信息就比较困难 l每次操作需要重新生成并传输数据l基于矢量的数据格式l需要对客户端进行一定的配置才能将GIS信息重新转换成能够显示的地图 l传输的数据量要比栅格方式传输的数据量少l在客户端插件的支持下,可以不经过服务器对数据进行选取和查询 l对客户端要求较高,只有经过特定配置的客户端才能显示特定服务器的GIS数据 l基于XML的数据格式l标准、规范、结构化、自解释,容易理解、编辑、检查和转换lSVG:Scalable Vector Graphics lGML:Geography Markup Language,用于地理信息的表达、传输和存储的XML编码lEsri公司的ArcXM

28、L,Microsoft公司的VML 主要的主要的WebGIS应用开发平台应用开发平台(1)lESRI ArcIMSl是一个可伸缩的网络地图软件l通过Web浏览器,借助ArcIMS内含的HTML或Java应用程序来访问GIS服务l功能l可以给每个视图快照并以栅格图像的方式发送给ArcIMS客户端l以流的方式向客户端发送矢量数据,使客户端完成一些高级GIS任务l数据查询、数据提取下载l地理编码l元数据目录服务主要的主要的WebGIS应用开发平台应用开发平台(2)lMapinfo MapXtremel基于Internet/Intranet的地图应用服务器 lMapXtreme for WindowslMapXtreme Java Edition l核心是MapX控件l功能l查找l图层控制l空间选择l图象输出主要的主要的WebGIS应用开发平台应用开发平台(3)lESRI ArcGIS Server

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(地理信息系统原理(高勇)15gis软件课件.ppt)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|