webGIS实现技术.ppt

上传人:wj 文档编号:18074617 上传时间:2023-08-12 格式:PPT 页数:75 大小:1.43MB
下载 相关 举报
webGIS实现技术.ppt_第1页
第1页 / 共75页
webGIS实现技术.ppt_第2页
第2页 / 共75页
webGIS实现技术.ppt_第3页
第3页 / 共75页
webGIS实现技术.ppt_第4页
第4页 / 共75页
webGIS实现技术.ppt_第5页
第5页 / 共75页
webGIS实现技术.ppt_第6页
第6页 / 共75页
webGIS实现技术.ppt_第7页
第7页 / 共75页
webGIS实现技术.ppt_第8页
第8页 / 共75页
webGIS实现技术.ppt_第9页
第9页 / 共75页
webGIS实现技术.ppt_第10页
第10页 / 共75页
webGIS实现技术.ppt_第11页
第11页 / 共75页
webGIS实现技术.ppt_第12页
第12页 / 共75页
webGIS实现技术.ppt_第13页
第13页 / 共75页
webGIS实现技术.ppt_第14页
第14页 / 共75页
webGIS实现技术.ppt_第15页
第15页 / 共75页
webGIS实现技术.ppt_第16页
第16页 / 共75页
webGIS实现技术.ppt_第17页
第17页 / 共75页
webGIS实现技术.ppt_第18页
第18页 / 共75页
webGIS实现技术.ppt_第19页
第19页 / 共75页
webGIS实现技术.ppt_第20页
第20页 / 共75页
亲,该文档总共75页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

webGIS实现技术.ppt

《webGIS实现技术.ppt》由会员分享,可在线阅读,更多相关《webGIS实现技术.ppt(75页珍藏版)》请在冰点文库上搜索。

webGIS实现技术.ppt

WebGIS的实现技术,Web的基本知识-Web服务器,Web服务器是指驻留于因特网上某种类型计算机的程序。

当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件发送到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。

服务器使用HTTP(超文本传输协议)进行信息交流,这就是人们常把它们称为HTTP服务器的原因。

Web的主要功能是信息发布,Web服务器-工作模式,阻塞模式(Blockingmodel)当服务器正在响应一个客户机的请求时,其他客户机请求均不被响应,只能等待当前客户机的请求结束多路复用模式(Multiplexingmodel)采用分时策略,允许同时处理多个用户的请求。

如果同时有N个用户要求服务,服务器会先为第一个用户做一点工作,再为第二个用户做一点,再为第N个用户服务后,再为第一个用户服务,依此类推,派生模式(Forkingmodel)在接到用户请求后,服务器就派生一个与自己一样的进程去响应用户的请求进程池(Processpool)当进程池服务器启动时,会创建一组子进程去帮助它响应用户的请求。

与派生模式相比,这种模式的优势在于不必派生出多个副本,只需创建一些小巧的子进程去快速地处理特定的工作,这样可以大大减少对内存的需求,并提高服务器的运行效率。

Web服务器-工作模式,Web服务器-常用软件,NCSAServer(httpd)NetscapeCommunicationsServerNetscapeEnterpriseServerApacheServerInternetinformationserverTomcatweblogic(服务器比较请参考),Web扩展,一些问题某些数据格式浏览器不支持静态网页和动态网页问题用户交互问题解决的方法客户端扩展插件、ActiveX、JavaApplet、脚本语言服务器端扩展CGI、类CGI、ASP.NET、JSP+Servlet+Bean,扩展web客户机-MIME助理应用程序,MIME(MultipurposeInternetMailExtensions,多用途Internet邮件扩展)是创建用于电子邮件交换,网络文档,及企业网和Internet上的其他应用程序中的文件格式的规范每个MIME格式包含一个MIME内容类型(“MIMEtype”)和指示存储在这个文件中的数据的子类型。

MIME类型和子类型一般以类型/子类型的形式列出,其中有7个顶层类型,如text,image,video,application例如,一个MPEG视频文件将会以video/mpeg的形式列出。

MIME类型/子类型列表包括可接受的文件名扩展名。

例如,列出一个MPEG文件的MIME信息的表格可能包含如下的一个MPEG条目:

video/mpeg.mpe,.mpeg,.mpgApplication/msword,Browser,WebServer,HTTP,HelperApplication,HelperApplication-工作原理,HelperApplication-工作步骤,例如,你可以将一个MPEG文件连接到一个网页上。

当用户浏览这个网页单击这个MPEG文件连接时,当下载这个MPEG文件到这个浏览器显示时,WebServer和浏览器执行下面的事件序列:

连同这个文件,服务器将MIME类型和子类型(video/mpeg,video/mpe,或video/mpg)发送到这个浏览器如果对MPEGMIME格式的支持是固有的,这个浏览器就会显示这个文件如果这浏览器不包含对MIME格式的固有支持,这个浏览器在它的MIME助理应用程序(MIMEhelperapplication)的数据库中查找这个文件名扩展名。

然后,它或者选择相应的助理应用程序显示这个文件或者返回一个错误信息,扩展web客户机-插件(plug-in),为了在HTML页面中实现音频、视频等更为复杂的多媒体应用,1996年的Netscape2.0成功地引入了对QuickTime插件的支持,插件这种开发方式也迅速风靡了浏览器的世界。

1999年,Realplayer插件先后在Netscape和IE浏览器中取得了成功,与此同时,Microsoft自己的媒体播放插件MediaPlayer也被预装到了各种Windows版本之中。

1990年代初期,JonathanGay在FutureWave公司开发了一种名为FutureSplashAnimator的二维矢量动画展示工具,1996年,Macromedia公司收购了FutureWave,并将JonathanGay的发明改名为我们熟悉的Flash。

插件-作用,利用插件(Plug-Ins),程序员可以方便地为浏览器增加新的功能,用户只需要下载一些代码这些代码的作用是告诉浏览器,“从现在开始,你有了新的功能”插件遵循一定的规范,可以用多种语言编写插件的编写不是一个简单的任务,插件-工作原理,Browser,WebServer,HTTP,plug-in,这是一个FLASH插件,插件-embed元素,扩展web客户机-ActiveX,在Windows平台上,Microsoft将客户端应用集成的赌注押到了1990年代中期刚刚问世的COM和ActiveX身上。

1996年,IE3.0正式支持在HTML页面中插入ActiveX控件的功能,这为其他厂商扩展Web客户端的信息展现方式开辟了一条自由之路。

从1997年的IE4.0开始,Microsoft为开发者提供了WebBrowser控件和其他相关的COM接口,允许程序员在自己的程序中直接嵌入浏览器窗口,或调用各种浏览器的功能,如分析或编辑HTML页面等。

ActiveX-工作原理,Browser,WebServer,HTTP,ActiveX,ActiveX-object元素,插件-常用插件,插件是一种遵循一定规范的应用程序接口编写出来的程序;插件的作用是处理特定类型的文件以扩展浏览器功能;插件的存在形式一般是动态连接库(dll);插件有三种工作模式:

嵌入、全屏幕和隐藏;IE浏览器常见的插件例如:

Flash插件、RealPlayer插件、MSMediaPlayer插件、MIDI五线谱插件,ActiveX插件等等。

扩展web客户机-Java历史,Java是一种跨平台,适合于分布式计算环境的面向对象的的编程语言Java的历史1991年,SUNMicroSystem公司的JameGosling等人,为在电视、控制烤面包箱等家用消费类电子产品上进行交互式操作而开发了一个名为Oak的软件1994年下半年,Internet的迅猛发展,环球信息网WWW的快速增长,促进了Java语言研制的进展,使得它逐渐成为Internet上受欢迎的开发与编程语言,JAVA-Java的历史,1995年,JavaBeta1通过SUN公司的Web站点发布1996年,Java1.0正式发布,Netscape浏览器在其2.0版中增加了对JavaApplet和JavaScript的支持Microsoft的IE3.0也在这一年开始支持Java技术现在,喜欢动画、喜欢交互操作、喜欢客户端应用的开发人员可以用Java语言随心所欲地丰富HTML页面的功能了,JAVA-Java的特点,

(1)简单性,Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序

(2)面向对象的语言,结构化程序:

程序=算法+数据结构;面向对象:

程序=对象+消息(3)平台无关性(虚拟机结构中立),Java编译器生成与体系结构无关的字节码指令,只要安装了Java运行时系统,Java程序就可在任意的处理器上运行。

这些字节码指令对应于Java虚拟机中的表示,Java解释器得到字节码后,对它进行转换,使之能够在不同的平台运行。

JAVA-Java的特点,(4)多线程,多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作(5)可靠性,Java虽然源于C+,但它消除了许多C+不可靠因素,可以防止许多编程错误。

Java是强类型的语言,要求显式的方法声明,这保证了编译器可以发现方法调用错误,保证程序更加可靠Java不支持指针,这杜绝了内存的非法访问Java的自动单元收集防止了内存丢失等动态内存分配导致的问题Java解释器运行时实施检查,可以发现数组和字符串访问的越界最后,Java提供了异常处理机制,JAVA-Java的特点,(6)安全性,如果没有安全保证,用户从网络下载程序执行就非常危险。

Java通过自己的安全机制防止了病毒程序的产生和下载程序对本地系统的威胁破坏。

当Java字节码进入解释器时,首先必须经过字节码校验器的检查,然后,Java解释器将决定程序中类的内存布局,随后,类装载器负责把来自网络的类装载到单独的内存区域,避免应用程序之间相互干扰破坏。

最后,客户端用户还可以限制从网络上装载的类只能访问某些文件系统。

上述几种机制结合起来,使得Java成为安全的编程语言(7)分布性,Java是面向网络的语言。

通过它提供的类库可以处理TCPIP协议,用户可以通过URL地址在网络上很方便地访问其它对象(8)可移植性,与平台无关的特性使Java程序可以方便地被移植到网络上的不同机器。

同时,Java的类库中也实现了与不同平台的接口,使这些类库可以移植。

另外,Java编译器是由Java语言实现的,Java运行时系统由标准C实现,这使得Java系统本身也具有可移植性,JAVA-Java的特点,(9)解释性,Java解释器直接对Java字节码进行解释执行。

字节码本身携带了许多编译时信息,使得连接过程更加简单(10)高性能,和其它解释执行的语言如BASIC、TCL不同,Java字节码的设计使之能很容易地直接转换成对应于特定CPU的机器码,从而得到较高的性能(11)动态,Java的设计使它适合于一个不断发展的环境。

在类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行。

并且Java通过接口来支持多重继承,使之比严格的类继承具有更灵活的方式和扩展性,JAVA-JDK和Java应用种类,JDK是整个Java的核心,包括了Java运行环境,一堆Java工具和Java基础类库JAVA三个版本:

J2EE、J2SE、J2MEJAVA应用种类JavaScriptJavaApplicationJavaAppletJSPJavaServletJavaBeans,Applet是一种非常小的程序,只能在Web浏览器中运行。

作为Web页的一部分,Applet会自动下载(和Web页上的图片差不多)激活Applet后,它会执行一段程序优点Java是一种全功能的编程语言,所以在客户端可以完成许多工作,例如输入数据的校验Applet自动下载,自动更新升级版本Java是跨平台的,所以Applet可以在大多数安转Java虚拟机的浏览器上运行和脚本语言相比,1)速度快;2)代码安全,JAVA-Applet,JavaApplet-工作原理,Browser,WebServer,HTTP,JavaApplet,JavaApplet-JavaApplet元素,alt=Yourbrowserunderstandsthetag!

扩展web客户机-JavaScript,BScript,通过脚本语言,可将用于客户端程序的源码直接插入HTML中,对脚本语言进行解释会在HTML显示的时候自动激活脚本语言简单,它是HTML的一部分下载快,能够解决客户端编程中80%的问题脚本语言缺点:

1)不能作复杂的事情;2)代码公开最常见的两种脚本语言JavaScript和VBSrcipt,JavaScript,VBScript-工作原理,Browser,WebServer,HTTP,JavaScript,在考虑其它更复杂的方案之前(例如ActiveX、Applet),首先考虑一下脚本语言是否可行,扩展web服务器-CGI,CGI的定义CGI(CommonGatewayInterface通用网关接口)是定义标准数据结构和方法的规范,是外部应用程序与Web服务器之间的接口标准CGI的功能绝大多数的CGI程序被用来解释处理传自表单的输入信息,并在服务器产生相应的处理,或将相应的信息反馈给浏览器。

CGI程序使网页具有交互和动态功能,CGI-工作原理,Browser,WebServer,HTTP,ApplicationExtension,CGI,PerlC/C+VisualBasicShellScript,http:

/.tw/cgi-bin/x_list?

BOARD=tw.bbs.soc.politicshttp:

/.tw/cgi-bin/x_list?

BOARD=tw.bbs.soc.politics&DISPLEN=15&NO=30&SORTBY=0&VAL=184975648&PAGE=2,例:

在浏览器上显示用户输入的用户名和年龄/*nameage.cgi.c*/#include#include“cgi-lib.h”intmain()listinput;read_cgi_input(,CGI-CGI处理步骤,通过Internet把用户请求送到服务器服务器接收用户请求并交给CGI程序处理CGI程序把处理结果传送给服务器服务器把结果送回到用户,WebBrowser,WebServer,C/PerlProgram,Name=Sana,Name=Sana,Hello,Sana!

Hello,Sana!

CGI-CGI的特点,优点:

CGI提供了一种独立于平台、独立于各种Web服务器、独立于各种编程语言的,简明的、标准的动态Web页面开发办法缺点:

瓶颈之一是浏览器和web服务器不能处理超过一定长度的URL,通常是4KB瓶颈之二是性能问题,为了创建进程以及连接状态等等,要消耗掉大量的资源瓶颈之三是开发问题,CGI接口根本谈不上“面向对象”等等高级编程技术,它是一种非常底层的API,开发困难另外,如何在多次请求之间维护状态信息、Transaction、开发更强的动态交互的Web站点等等,用CGI实现起来都是非常的困难,甚至是根本不可能实现的,扩展web服务器-服务器API,ServerAPI应用程序是Web服务器应用程序的扩展,它的基本思想是基于动态链接库(DLL),使得服务器程序运行速度提高并且减轻了系统的负载。

从而改进了CGI技术,消除了启动和关闭每一个单独应用程序所需的开销,改善了Web服务的响应性能常见的ServerAPI有Netscape的NSAPI和Microsoft的ISAPI,SAPI-工作模式,Browser,WebServer,HTTP,ApplicationExtension,SAPI,PHP,http:

/,服务器API-服务器API的缺点,Netscape的NSAPI、微软的ISAPI等等服务器API接口技术,确实解决了许多标准的CGI技术难以解决的问题。

但是这些服务器API接口技术带来的严重问题是,他们完全依赖于特定的Web服务器、依赖于特定的编程语言;并且,利用这些API开发程序必须得特别小心,一个程序中的小错误就极有可能导致整个系统死机。

WEBGIS内容,WEBGIS,系统分类,基于服务器的应用系统(Server-side)基于客户机的应用系统(Client-side),将现有的WEBGIS应用系统主要分为两类:

任务比较,基于服务器的应用系统,基于服务器的WebGIS依赖服务器上的GIS系统完成GIS分析和产生输出工作。

Web浏览器充当前端的对用户友好的接口。

用户在客户机端Web浏览器上初始化URL请求(一个GIS操作),此请求通过互联网送给服务器。

服务器接受此请求,处理请求,并将处理结果返回客户端。

基于服务器的应用系统,基于CGI的WebGIS是基于HTML的扩展,需要在后台运行GIS服务器。

GIS服务器和Web服务器通过CGI连接。

其优点是所有的操作、分析由服务器完成,因而客户端很小;同时,有利于充分利用服务器的资源,发挥服务器的最大潜力。

但是客户端的功能受到互联网浏览器和HTML的限制,JPEG和GIF是客户端操作的唯一形式。

而且,它增加了互联网和服务器的负担,工作效率受到影响。

基于客户端的应用系统,基于客户机端的WebGIS允许GIS分析和GIS数据处理在客户机端执行。

这些GIS分析工具和GIS数据最初驻留在服务器上。

用户通过浏览器向服务器发出需要GIS数据和GIS处理工具的请求;服务器将所需要的GIS数据和GIS处理工具传送给客户机端。

客户机端接受所需要的GIS数据和GIS处理工具,按照用户的操作,进行GIS数据处理和分析;此时无须服务器的参与。

由于所需要的GIS数据和GIS处理工具已经到客户机端,因而具有操作方便、灵活、速度快等优势。

基于客户机端的互联网地理信息系统工作方式有GISPlugin,GISActiveX和GISJavaApplet等。

构造模式分析,服务器端的互联网地理信息系统的构造模式是由CGI模式,ServerAPI构造的;基于客户机端的互联网地理信息系统的构造模式有Plug-in模式、GISJavaApplet、GISActiveX控件等。

CGI模式,基于CGI的WebGIS是基于HTML的一种扩展,需要有GIS服务器在后台运行。

通过CGI脚本,将GIS服务器和Web服务器连接。

基于CGI的互联网地理信息系统的体系结构如图所示。

客户端的所有GIS操作和分析,都是在GIS在服务器是完成的。

服务器端有两个服务进程WebServer和GISServer,这两者是通过TCP/IP协议进行通讯的,所以既可以运行在一台主机上也可以分别运行在两台计算机上。

CGI模式,CGI是连接应用软件和Web服务器的标准技术,它是HTML的功能扩展。

是网络服务器上的可执行程序,基本上所有的计算机语言都可以用来发展CGI程序,最常用的几种包括(C/C+)、Perl和VisualBasic)。

Web一出现,CGI技术很快被用于构造能生产动态地图的Web网站。

HTML产生的对象基本上都是静态的而不是动态的,比如一个作为图像嵌入HTML文本中的地图就可以在用户端的浏览器中显示出来。

这种图像是一种静态图像,用户并不能放大、缩小或查询这种影像地图。

CGI模式,CGI提供了一个在浏览器和服务器之间,以及服务器和服务器上其他软件之间的一个接口。

它允许网页用户通过网页的命令来启动一个存在于网页服务器主机的程序(称为CGI程序),并且接受到这个程序的输出结果。

CGI是最早实现动态网页的技术,它使用户可以通过浏览器进行交互操作,并得到相应的操作结果。

客户端浏览器使用HTML将客户的请求传给Web服务器,Web服务器通过专用的CGI访问GIS服务器(后端的GIS软件),GIS服务器承担所有的查询、计算工作,并将结果(数字图像)构建成一个HTML文档反馈给Web服务器,然后再传递给客户端浏览器。

CGI模式,CGI模式工作原理,Web浏览器用户发出URL及GIS数据操作请求;Web服务器接受请求,并通过CGI脚本,将用户的请求传送给GIS服务器;GIS服务器接受请求,进行GIS数据处理如放大、缩小、漫游、查询、分析等,将操作结果形成GIF或JPEG图像;最后GIS服务器将GIF或JPEG图像,通过CGI脚本、Web服务器返回给Web浏览器显示。

基于CGI的WEBGIS系统的优势:

由于所有的GIS操作都是由GIS服务器完成的,具有客户端小、处理大型GIS操作分析的功能强、充分利用现有的GIS操作分析资源等优势;由于在客户机端使用的是支持标准HTML的Web浏览器,操作结果是以静态的GIF或JPEG图像的形式表现,因而客户机端与平台无关。

增加了网络传输的负担。

由于用户的每一步操作,都需要将请求通过网络传给GIS服务器;GIS服务器将操作结果形成新的栅格图像,再通过网络返回给用户。

因而网络的传输量大大增加了。

服务器的负担重。

所有的操作都必须由GIS服务器解释执行,服务器的负担很重;信息(用户的请求和GIS服务器返回的图像)通过CGI脚本在浏览器和GIS服务器之间传输,势必影响信息的传输速度。

基于CGI的WEBGIS系统的劣势:

同步多请求问题。

由于CGI脚本处理所有来自Web浏览器的输入和解释GIS服务器的所有输出。

对于每一个客户机的请求,都要重新启动一个新的服务进程。

当有多用户同时发出请求时,系统的功能将受到影响。

静态图像。

在浏览器上显示的是静态图像,因而用户即不能漫游、缩放,又不能通过几何图形如点、线、面来选择显示其关心的地物。

用户界面的功能受Web浏览器的限制,影响GIS资源的有效使用。

基于CGI的WEBGIS系统的劣势:

服务器应用程序接口方法(ServerAPI),ServerAPI类似于CGI,不同之处在于CGI程序是单独可以运行的程序,而ServerAPI往往依附于特定的Web服务器,如MicrosoftISAPI依附于IIS(InternetInformationServer),只能在Windows平台上运行,其可移植性较差。

在ISAPI下建立的应用程序是以动态连接库的形式存在;而CGI的应用程序一般都是可执行程序。

但是基于ServerAPI的动态连接模块启动后会一直处于运行状态,而不像CGI那样每次都要重新启动,其速度较CGI快得多。

服务器应用程序接口方法(ServerAPI)模式,ServerAPI应用程序是Web服务器应用程序的扩展,它的基本思想是基于动态链接库(DLL),使得服务器程序运行速度提高并且减轻了系统的负载。

从而改进了CGI技术,消除了启动和关闭每一个单独应用程序所需的开销,改善了Web服务的响应性能,Plug-in模式,GISPlug-in是在浏览器上扩充Web浏览器的可执行的GIS软件。

GISPlug-in的主要作用是使Web浏览器支持处理无缝GIS数据,并为Web浏览器与GIS数据之间的通讯提供条件。

GISPlug-in直接处理来自服务器的GIS矢量数据。

同时,GISPlug-in可以生成自己的数据,以供Web浏览器或其它Plug-in显示使用。

Plug-in必须安装在客户机,然后才能使用。

其体系结构如图所示:

Plug-in模式,浏览器插件法(plug-ins),1.CGI系统仅提供给用户端(client)有限的功能,传给用户的信息都是静态的而且用户的GIS操作都需要由服务器来处理。

解决这个问题的方法之一是把一部分服务器上的功能移到用户端上,这样不仅加快了用户操作的反应速度,而且也减少了交互网上的流量。

2.标准浏览器只提供一些最基本的浏览和导航功能,而缺乏空间数据的处理能力。

一种方法是安装额外能和网络浏览器交换信息的专门GIS软件。

这种增加网络浏览器功能的方法就叫“插入法”(Plug-ins),为了便于其他软件厂商发展插入型软件,Netscape公司专门提供了一套应用程序接口(API)。

这种插入软件不但可以增加网络浏览器处理地理空间数据的能力,使人们更容易获取地理数据,而且可以减少网络服务器的信息流量从而使服务器更有效地为更多的用户服务。

因为大多数用户的数据处理功能可以由网络浏览器插入软件来完成。

浏览器插件法(plug-ins),3.和传统的应用软件浏览器类似,插入软件也需要先安装再使用,因而传统软件不同版本之间的不兼容性及版本管理问题仍然存在。

4.尽管插件可以和浏览器一起有效处理空间数据,但这将导致用户端负担过重(FatClient)。

这显然不符合标准网络浏览器便宜简单(ThinClient)的设计思想。

5.其次,众多插入软件的管理会成为信息技术部门的一个大问题,因为任何人只要可以联上交互网都可以接受最新的插入软件。

浏览器插件法(plug-ins),Plug-in模式的工作原理:

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

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2