WebGIS概述什么是WebGIS?为什么需要WebGIS?WebGIS具有什么特点?WebGIS能做什么?WebGIS的应用WebGIS的组成什么是WebGIS(定义)?定义1WebGIS是(1)基于Web的GIS,(2)不需要购买GIS软件。WebGIS=GIS+Web–GISSoftware定义2WebGIS指在Internet/Intranet网络环境下,基于TCP/IP和协议,以支持标准Html的浏览器为统一的客户端,通过WebServer向GisServer提出GIS服务请求的一种技术。定义3WebGIS是指支持在Internet上发布地理信息和服务,而用户可以随时随地获得分布的空间数据和服务的一种技术,它是Web技术和GIS技术相结合的产物。为什么需要WebGIS?扩展GIS应用范围,通过在Internet发布GIS数据和服务可以满足更广泛用户的GIS需求,GIS由专业系统转变为公众信息系统;从多个数据源集成数据,通过Internet可以集成各种异构数据源的数据,降低了数据散发成本,提高了地理数据共享程度;空间信息基础设施的需要,运用基于Web的GIS技术,通过Internet,可以构造跨地区、跨部门的地理信息服务网络。WebGIS具有什么特点?基于Web标准TCP,HTTP,Html,XML等平台无关通常,无论客户机是何种操作系统,只要支持通用的Web浏览器,用户就可以访问WebGIS数据和服务。分布式全球化的Client/Server,GIS数据和服务分布在Internet的不同服务器上,当需要时进行集成。互操作数据在不同的WebGIS之间无缝传输,一个应用系统可以调用另一个系统的功能,来完成逻辑上的统一的任务。WebGIS的特点-传统GISvs.WebGIS传统GIS的问题:共享性差系统成本高没有面向大众集中式软件操作复杂培训成本WebGIS的优点:访问范围广,面向大众资源共享发布速度快,范围广,维护方便数据来源丰富、分布存储分布式计算系统建设投资少操作简单跨平台WebGIS的特点-不足网络带宽限制(WebGIS最大的问题就是数据传输量)复杂地理信息的查询、分析和处理图形信息的表达困难总结:带宽问题,功能问题、可视化问题等WebGIS能做什么(功能)?WebGlS继承了大部分或者全部传统GIS软件所具有的功能;WebGIS侧重于空间数据和服务的共享。从Internet的任意节点,用户都可以浏览WebGIS站点中的空间数据、制作专题图、进行各种空间信息检索和空间分析;从应用趋势上看,WebGIS从在Internet上简单地发布地理信息发展到实现地理信息互操作和地理信息Web服务;发展现状和趋势是越来越多的GIS应用架构在Web上。WebGIS的应用WebGIS的用户可以分为:公众用户(外网)专业用户(内网)其它应用(服务平台)根据用户划分,我们将WebGIS应用分为:空间数据发布空间查询检索多用户数据编辑空间模型服务Web资源的组织GIS服务平台WebGIS的组成客户端:浏览器服务器端:Web服务器、Map服务器、GIS服务器和空间数据库图1:WebGIS的组成WebGIS的组成1.2.3.4.5.6.7.Web浏览器是用户和WebGIS的交互接口,用来显示地图和实现客户端的在线查询和分析功能;Web服务器响应来自Web浏览器的请求,通过CGI、Servlet将请求传递给Map服务器,并从Map服务器得到请求结果发还给浏览器;Map服务器是WebGIS的核心,它负责将Web服务器转发过来的用户请求分配给相应的GIS服务器或空间数据库,并能够实现网络的负载平衡;GIS服务器是WebGIS的底层GIS软件,它提供了空间数据的存取、查询、分析、处理等功能;空间数据库是用来存储和管理空间数据;浏览器和服务器之间是通过超文本传输协议HTTP来发送请求和结果数据,数据传输的格式有基于栅格的、基于矢量的和基于XML的;以上不同的服务器可以部署在不同的计算机上。3.2WebGIS的技术框架WebGIS的网络传输协议WebGIS的体系结构WebGIS的实现技术WebGIS的网络传输协议包括:WebServer定议WebGIS的网络传输协议客户端通过JavaApplet或插件和Map服务器直接建立一个TCP连接,客户端和服务器通过这个连接传输请求和响应;这种方式高效,但比较封闭,不能满足互操作的需求,并且需要采用专门的端口来实现,这种方式容易受到防火墙的阻隔。基于http协议浏览器和服务器之间通过超文本传输协议(HTTP)来发送请求和信息;开放性,例如OGC的WMS、WFS和WCS。HTTPJavaApplet请求/响应协议数据传输模型请求/响应协议的实现一般有两种方法自定义协议自义协BrowserCGIApplicationApplicationExtensionWMS命令实例-GetMap=WMS&Version=1.1.0&Request=GetMap&BBox=-20,-40,60,40&SRS=EPSG:4326&Width=400&Height=400&Layers=Countries,Borders,Coastlines&Format=image/gifWebGIS的网络传输协议数据传输模型,数据传输模型规定了WebGIS在Internet上传递数据的格式。目前,实际应用中主要有3种传输模型:基于栅格的数据传输模型基于矢量的数据传输模型基于XML的数据传输模型基于栅格的数据传输模型数据格式:raster栅格文件类型:一般是JPG或GIF客户端:浏览器服务器端:需要对WEB服务器进行扩展,工作流程一般为:①服务器响应客户端用户的请求,②调用底层GIS提供的功能,③最后动态生成地图栅格,返回给客户端。基于栅格的数据传输模型优点:①②③带宽要求不高客户端不需要安装任何额外软件,一般的浏览器都支持数据安全,原始数据保存在服务器上,客户只得到动态生成的地图栅格缺点:①②③和矢量格式相比,地图质量差客户端交互功能差,比如选择地物,移动地物,编辑地物客户端不作任何事情,服务器的负载大基于矢量的数据传输模型数据格式:vector矢量文件类型:自定义格式客户端:浏览器+插件或JavaApplet,可以进行本地操作服务器端:需要对WEB服务器进行扩展,工作的一般流程:①服务器响应客户端用户的请求,②调用底层GIS提供的功能,③将用户要求的数据以矢量的形式返回给客户端。基于矢量的数据传输模型优点:①②在地理数据不大的情况下,传输速度比栅格快矢量数据可以在本地进行处理,例如放大,缩小,漫游,选择地物,编辑地物等,不需要每一个操作都由服务器来完成,减少了服务器负载缺点:①②③④客户端需要安装任何额外软件在客户端编辑,存在数据一致性问题如果是海量数据,网络数据传输量大数据版权问题基于XML的数据传输模型栅格数据的应用具有局限性;矢量数据功能强,但是矢量格式一般采用自定义格式,封闭不开放,不利于数据共享和互操作;扩展标记语言(extensiblemarkuplanguage,XML)是一种可提供描述结构化资料的格式,详细来说,XML是一种用来描述数据的语言,它提供了一种独立的运行程序的方法来共享数据,它是用来自动描述信息的一种新的标准语言它已经在很多行业得到了应用,制定了各种与本行业有关的基于XML的规范;基于XML的数据传输模型广泛用于描述地理信息的XML编码主要有SVG和GML:SVG是一种基于XML的描述矢量图形的标记语言,它已经成为W3C的标准。用户可以下载插件(例如Adobe公司的SVGViewer),在浏览器中显示和操作SVG矢量数据。OGC的GML(GeographyMarkupLanguage)是一种用于地理信息(包括地理要素的几何和属性)的表达、传输和存储的XML编码。WebGIS的设计与开发开发中遵循的原则1通用网关接口最早实现动态网页的技术,它使用户可以通过浏览器进行交互操作,并得到相应的操作结果。CGI实现Web服务器对客户端的请求响应,通过Web服务器激发CGI程序,读取HTML文件,并将读取的数据信息或文件经由服务器和网络送往客户端。基于CGI的WebGIS是用外部CGI程序通过环境变量、命令行参数、标准输入、输出与Web服务器和GIS服务器进行通信,并传递有关参量和GIS处理结果。CGI程序有两种调用方式:一是直接通过URL来发送请求;另一种是通过主页的FORM表单发送请求进行调用。多使用后一种。表单是可以把浏览者输入的数据传送到服务器端的程序(比如ASP,PHP)的HTML元素,服务器端程序可以处理表单传过来的数据,从而进行一些动作。比如,bbs,的登陆系统等基于CGI模式的WebGIS体系结构基于CGI的WebGIS是基于HTML的一种扩展,需要有GIS服务器在后台运行。通过CGI脚本将GIS服务器和Web服务器连接,客户端的所有GIS操作和分析都在GIS服务器上完成。GIS服务器和Web服务器既可以是同一台主机,又可以是两台或多台计算机。工作流程:(1)Web浏览器的用户向Web服务器发出GIS相关功能的请求(2)Web服务器接受请求,并通过CGI脚本将请求传送GIS服务器(3)GIS服务器接受请求,进行相关的数据处理,图形数据以栅格结构表示(4)GIS服务器将处理结果通过CGI脚本、Web服务器返回给客户浏览器优点:(1)功能强、资源利用率高(2)跨平台性好缺点:(1)资源竞争激烈,效率低(2)网络负荷重(3)功能操作困难2动态网页技术动态网页是运行在Web服务器上的页面,该页面内嵌有程序代码。它必须在服务器端执行,由服务器把运行结果写入HTML文件流中,并返回给客户端的浏览器。常见技术:ASP、JSP、PHP等用户需与服务器交互以获取不同状态下的地图,而且需要动态查询的功能;用户要根据实际情况定制网页,在用户的浏览器中显示不同的内容,即根据需要动态地在客户端的浏览器显示内容。ASP是微软推出的服务器的的组件,与IIS协同使用,可以提供方便的服务器端开发接口和脚本开发环境。通过ASP能创建和运行动态、交互和高效页面组成的Web服务程序。ASP能调用服务器端的组件来实现各种功能并将结果返回给客户端。优点:3服务器应用程序接口模式(SeverAPI)服务器应用程序接口模式一般依附于特定的Web服务器,如微软ISAPI依附于IIS,且不能脱离Windows平台,因为SeverAPI不像CGI可以单独运行,它运行于Web服务器的进程中,一旦启动,会一直处于运行状态,不需要每次都重新启动,因此运行效率远高于CGI程序。ISAPI是微软用以扩充IIS/程序的接口,分为ISA和ISAPIFilter两部分。ISA(ISAPIDLL)可为程序开发人员提供一些扩展功能,通过在客户端URL中指定名称而激活,其功能与CGI程序的功能对应。ISAPIFilter用于构造能为服务器直接调用的模块,位于Web服务器和客户端之间。工作流程:(1)Web浏览器的用户向Web服务器发出URL请求,该请求经由ISAPIFilter传输到服务器端的ISAPIDLL上,ISAPIFilter将对请求进行预处理,例如用户身份验证等。(2)由ISAPIDLL与GIS服务器交互作用得到结果信息(3)结果信息经由Web服务器和ISAPIFilter传输到浏览器优点:(1)运行效率比CGI高(2)安全可靠传输缺点:(1)ISAPIDLL与服务器密切相关,程序可移植性差(2)受限于ISAPIDLL(3)系统维护复杂基于ISAPI模式的WebGIS体系结构4插件技术对浏览器功能进行扩展,使其支持空间数据处理是WebGIS的一种重要实现技术。这需要在普通的浏览器上安装与网络浏览器交换信息并执行的GIS软件。这种扩展Web浏览器功能的方法称为“插件技术”。WebGIS中的”插件技术“,称为“GISPlug-in”。可使Web浏览