您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > Web-GIS的基本实现方式
3.2WebGIS的基本实现方式3.2.1基于CGI方式1.CGI原理通用网关接口(CommonGatewayInterface,CGI)是Web服务器调用外部程序的标准接口,是最早用于增强Web动态性和交换性的一种方法。一般来说,一个CGI接口的功能就是在超文本文件和服务器主机应用程序间传递信息。任何一种语言,只要能在服务器主机上利用CGI接口来编写应用程序,都可以叫做CGI程序语言,如C、Shell、VB、Fortran。CGI程序一般是个可执行程序。编译好的CGI程序一般要集中放在一个目录下。具体存放的位置随操作系统的不同而不同。例如,UNIX操作系统下放在cgi-bin子目录下,Windows操作系统下以IIS作为Web服务器,CGI程序都放在cgi-win子目录下。2.基于CGI方式的WebGIS工作原理用户通过浏览器发出URL及GIS数据操作请求;Web服务器接受请求,并通过CGI脚本,将用户的请求传送给GIS服务器;GIS服务器接受请求,进行GIS数据处理,如放大、缩小、漫游等,将操作结构形成GIF或JPEG图像;最后服务器将GIF或JPEG图像,通过CGI脚本、Web服务器返回给Web浏览器显示,达到根据用户在客户端的操作,动态地显示地图的效果,工作流程如图3.5所示。(HTTP)服务器CGIScriptGIS服务器URL及GIS数据请求返回结果客户机Internet图3.5CGI方式工作原理3.基于CGI方式的WebGIS特点优点:⑴.“瘦”客户端,即不需要在客户端安装任何软件,在客户端使用的是支持标准HTML的Web浏览器,操作结果以静态的GIF或JPEG图像的形式表现,客户端与平台无关。⑵.CGI方式被多种操作系统的Web服务器支持,因此,CGI模式在服务器端具有跨平台的能力。缺点:⑴.增加了网络传输的负担。用户的每一步操作,都需要将请求通过网络传送给GIS服务器;GIS服务器将操作结果形成图像,通过网络返回给用户。因而网络的传输量大大增加了。⑵.服务器的负担重。所有的操作都必须由GIS服务器解释执行,因而服务器的负担加重。⑶.同步请求问题多。由于CGI脚本处理所有来自Web浏览器的输入和解释GIS服务器的所有输出。当有多用户同时发出请求时,系统的功能将受到影响。⑷.静态图像,在浏览器上显示的静态图像,用户既不能直接在客户端进行放大、缩小操作,又不能通过几何图形如点、线、面来选择显示其关心的地物。⑸.用户界面的功能受Web浏览器的限制,影响GIS资源的有效使用。基于CGI模式的比较典型的WebGIS产品有:MapObject和ProServer等。3.2.2基于ServerAPI方式ServerAPI方式是为了克服CGI方式的低效率问题而研制的,基本原理类似于CGI,不同之处在于CGI程序是单独可以运行的程序,而ServerAPI往往依附于特定的Web服务器,如MicrosoftISAPI依附于IIS,只能在Windows平台上运行,其可移植性较差。在ISAPI下建立的应用程序是以动态连接库的形式存在;而CGI的应用程序一般都是可执行程序。基于ServerAPI的动态连接模块启动后会一直处于运行状态,而CGI每次都要重新启动,其速度较CGI快得多。工作流程如图3.6所示。(HTTP)服务器ISAPIURL及GIS数据请求返回结果客户机Internet图3.6ServerAPI方式工作原理其缺点是ServerAPI没有统一的标准,在通用性方面有缺陷,并且依附于特定的服务器和计算机平台(Windows系列),可移植性差。3.2.3基于Plug-in方式1.Plug-in原理Plug-in是由NetScape提出的标准,是一种接入浏览器程序的动态链接库(DLL),它采用了DLL方式,可以很好地解决与浏览器程序间的相互调用问题。Plug-in作为网络能力的一种扩展,将大部分负荷加在浏览器程序上,这样就能正确地浏览很多数据类型,在浏览器端完成矢量信息的显示。浏览器插件是指能够同浏览器交互信息的软件,第三方软件开发商可以开发插件以使浏览器支持其特定格式的数据文件。利用浏览器插件,可以将一部分服务器的功能转移到客户端。2.基于Plug-in方式的WebGIS工作原理Web浏览器发出GIS数据浏览操作请求,Web服务器接受到用户的请求,进行处理,并将用户所要的GIS数据传送给Web浏览器;客户机端接受到Web服务器传送来的GIS数据,并对GIS数据类型进行理解;在本地系统查找与GIS数据相关的Plug-in,如果找到了相应的GISPlug-in,用它来显示GIS数据,如果没有找到,则需要安装和加载相应的GISPlug-in来显示GIS数据。GIS的操作如放大、缩小、漫游、查询、分析都直接由运行于浏览器中的GISPlug-in来完成。其体系结构如图3.7所示。服务器客户机GIS数据请求Web浏览器GIS数据类型理解查询plug-in程序Plug-in显示GIS数据显示-in模式的WebGIS体系结构3.基于Plug-in的WebGIS特点优点:⑴.无缝支持与GIS数据的连接。由于对每一种数据源,都需要有相应的GISPlug-in;因而GISPlug-in能无缝支持与GIS数据的连接。⑵.GIS操作速度快。所有的GIS操作都是在本地由GISPlug-in完成,因此运行的速度快。⑶.服务器和网络传输的负担轻。服务器仅需提供GIS数据服务,网络只需将GIS数据一次性传输。服务器的任务很少,网络传输的负担轻。缺点:⑴.GISPlug-in与平台相关。对同一GIS数据,不同的操作系统需要不同的GISPlug-in。如UNIX,Windows,Macintosh而言,需要有各自的GISPlug-in在其上使用。对于不同的Web浏览器,同样需要用相对应的GISPlug-in。⑵.GISPlug-in与GIS数据类型相关。对GIS用户而言,使用的GIS数据类型是多种多样的,如ArcInfo,MapInfo等GIS数据格式。对于不同的GIS数据类型,需要有相应的GISPlug-in来支持。⑶.需要事先安装。用户如想使用,必须下载安装GISPlug-in程序。如果用户准备使用多种GIS数据类型,必须安装多个GISPlug-in程序。GISPlug-in程序在客户机上的数量增多,势必对管理带来压力。同时GISPlug-in程序占有客户机磁盘空间。⑷.更新困难。当GISPlug-in程序提供者已经将GISPlug-in升级了,须通告用户进行软件升级。升级时,需要重新下载安装。⑸.使用已有的GIS操作分析资源的能力弱,处理大型的GIS分析能力有限。基于Plug-in方式的WebGIS地理信息系统有AutoDesk公司的MapGuide。3.2.4基于ActiveX方式1.ActiveX的原理ActiveX是Microsoft为适应互联网而发展的标准。ActiveX是建立在OLE(ObjectLinkingandEmbedding)标准之上,为扩展MicrosoftWeb浏览器InternetExplorer的功能而提供的公共框架,是用于完成具体任务和信息通讯的软件模块。ActiveX控件和Plug-in非常相似,是为了扩展Web浏览器的动态模块。所不同的是,ActiveX能被支持OLE标准的任何程序语言或应用系统所使用。IE浏览器可以作为容器,任何符合ActiveX的控件都可以嵌入到网页中,在浏览器中显示。相反,Plug-in只能在某一具体的浏览器中使用。在网上第一次浏览含有控件的网页时,浏览器会自动下载该控件,在本机安装;以后浏览含有该控件的网页时,就不用下载了。ActiveX控件安装的前提是必须经过用户的同意及确认。2.基于ActiveX方式的WebGIS工作原理基于GISActiveX控件的互联网地理信息系统是依赖GISActiveX来完成GIS数据的处理和显示。GISActiveX控件与Web浏览器灵活无缝结合在一起。在通常情况下,GISActiveX控件包容在HTML代码中,并通过OBJECT参考标签来定位和获取。例如:在网页中有:ObjectID=87ABED-4589-FE23-DC12-78981290/ABCDCODEBASE=/ObjectWeb浏览器发出GIS数据显示请求;Web服务器接受到用户的请求,进行处理,并将用户所要的GIS数据和GISActiveX控件(第一次)传送给Web浏览器;GISActiveX控件负责向Web服务器请求数据,并对GIS数据进行处理,完成GIS操作。GIS数据对象请求客户机服务器ActiveX控件和GIS数据对象的请求和响应GISActiveX控件GIS操作数据显示Web服务器Web浏览器图3.8基于GISActiveX方式的WebGIS体系结构3.基于ActiveX方式的WebGIS的特点基于GISActiveX方式的WebGIS的优势是:具有GISPlug-in模式的所有优点。同时,ActiveX能被支持OLE标准的任何程序语言或应用系统使用,比GISPlug-in模式更灵活,使用更方便。缺点:⑴.需要下载。占用客户端机器的磁盘空间。⑵.与平台无关。对不同的平台,必须提供不同的GISActiveX控件。⑶.与浏览器无关。GISActiveX控件最初只适用于MicrosoftWeb浏览器。在其他浏览器使用时,须增加特殊的Pulg-in予以支持。⑷.使用已有的GIS操作分析资源的能力弱,处理大型的GIS分析能力有限。⑸.存在信息安全隐患。ActiveX具有访问客户端本地文件系统的能力,使得ActiveX可以具有强大的功能,但存在信息安全隐患。基于GISActiveX控件的WebGIS产品主要有Intergraph公司的GeoMediaWebMap。3.2.5基于JavaApplet方式1.JavaApplet的原理Applet是小型的Java应用程序,是专门为建立动态Web网页而设计的。Applet每次随网页一起被加载到客户端,然后,浏览器调用Java虚拟机执行Applet程序;在网页设计中,通过Applet来标记Java的小应用程序,例如:appletcode=”SimpleClickclass”width=500height=20/appletApplet仅仅是被加载到客户端的内存中,用户退出Applet页面,Applet就被收回,Applet虽然是“胖客户”端,但不占用客户端磁盘空间。由于Java虚拟机对Applet做了限制,使得Applet不能访问本地文件系统,保证了系统安全,但限制了Applet的一些功能。2.基于JavaApplet方式的WebGIS工作原理GISJavaApplet是在程序运行时,从服务器下载到客户机端运行的可执行代码。GISJavaApplet是由面向对象程序设计语言Java创建的。与Web浏览器紧密结合,以扩展Web浏览器的功能,完成GIS数据操作和GIS处理。基于GISJavaApplet模式的WebGIS的体系结构如图3.9所示。GIS数据对象请求客户机服务器JavaApplet和GIS数据对象的请求和响应GISJavaApplet控件GIS操作数据显示Web服务器Web浏览器图3.9基于GISJavaApplet模式的WebGIS体系结构Web浏览器发出GIS数据显示操作请求,Web服务器接受用户的请求,进行处理,并将用户所要的GIS数据对象和GISJavaApplet传送给Web浏览器;客户端接收到Web服务器传来的GIS数据和GISJavaApplet,启动GISJavaApplet,对GIS数据进行处理,完成GIS操作。GISJav
本文标题:Web-GIS的基本实现方式
链接地址:https://www.777doc.com/doc-4787188 .html