浅谈WEBGIS王婷婷.docx
《浅谈WEBGIS王婷婷.docx》由会员分享,可在线阅读,更多相关《浅谈WEBGIS王婷婷.docx(16页珍藏版)》请在冰豆网上搜索。
浅谈WEBGIS王婷婷
浅谈WEBGIS
学生王婷婷
班号114051—17
学号20051003675
指导教师罗显刚
关键词地理信息系统网络特点发展现状构造方法
组成结构构造模型设计与开发
人类活动中约75-80%的信息与地理空间位置有关,地理信息系统(GeographicalInformationSystem,GIS)是一种采集、处理、存贮、管理、分析、输出地理空间数据及其属性信息的计算机信息系统。
自20世纪60年代诞生以来,GIS发展迅速,应用也日趋深化和广泛,逐步融入信息技术(IT)的主流,正在成为信息产业新的增长点,是发展潜力巨大的地理信息产业的主要组成部分之一。
如今GIS的应用已经成为我国国民经济和社会信息化建设的亮点,日益深入到各个专业领域和百姓日常生活中。
随着计算机技术、网络技术、数据库技术等的发展以及应用的不断深化,GIS技术的发展呈现出新的特点和趋势,基于互联网的WebGIS就是其中之一。
WebGIS除了应用于传统的国土、资源、环境等政府管理领域外,也正在促进与老百姓生活息息相关的车载导航、移动位置服务、智能交通、抢险救灾、城市设施管理、现代物流等产业的迅速发展。
什么是WEBGIS
WebGIS是Internet技术应用于WEBGIS开发的产物。
WebGIS,即互联网地理信息系统,以互联网为环境,以Web页面作为GIS软件的用户界面,把Internet和GIS技术结合在一起,为各种地理信息应用提供GIS功能。
GIS通过Web功能得以扩展,通过Web发布地图、浏览空间数据,制作专题图,例如大家熟悉的Go2Map、GoogleMap、MapBar等等。
[使用的技术:
GIS基本开发、.netRemoting、ASP.net开发和控件开发、设计模式]
WebGIS的特点
WebGIS是Internet技术应用于GIS开发的产物。
由于国际互联网(Internet)的迅速崛起,使得Web技术成为高效的全球信息发布技术。
因此,利用Internet技术在Web上发布地理信息,就能从WWW的任意一个节点浏览WebGIS站点中的地理信息,并进行各种信息检索和处理,这就为地理信息的开放和共享性提供了切实可行的技术。
总的来说,基于Internet的WebGIS具有以下几个方面的特点:
A.较低的开发和应用管理成本
WebGIS是利用通用的浏览器进行地理信息的发布,并使用通常是免费的插件ActiveX或JavaApplet,从而大大地降低了终端客户的培训成本和技术负担。
而且利用组件式技术,用户可以根据实际需要选择需要的控件,这也最大限度地降低了用户的经济负担。
B.真正的信息共享
WebGIS可以通过通用的浏览器进行信息发布的特点,使得不仅是专业人员,而且普通用户也能方便地获取所需的信息;此外,由于Internet的迅猛发展,Web服务正在渗入千家万户,在全球范围内任意一个WWW站点的Internet用户都可以获得WebGIS服务器提供的服务,真正实现了GIS的大众化。
C.巨大的扩展空间
Internet技术基于的标准是开放的、非专用的,是经过标准化组织IETF和W3C为Internet制定的,这就为WebGIS的进一步扩展提供了极大的发挥空间,使得WebGIS很容易与Web中的其他信息服务进行无缝集成,建立功能丰富的具体GIS应用。
D.扩平台特性
传统的GIS软件都是针对不同操作系统的,对不同的操作系统,分别要使用相应的GIS应用软件。
而利用Java技术的WebGIS则能做到“一次编成,到处运行”,真正发挥跨平台的技术优势。
WEBGIS发展现状
1、平台软件
WebGIS是当今GIS的热点,已成为各大厂商激烈竞争的焦点。
几个重要的国外GIS厂商争相发布各自的WebGIS产品,如MapInfo公司的MapInfoProServer、Intergraph公司的GeoMediaWebMap、ESRI的InternetMapServer(IMS),著名的CAD厂商Autodesk公司也推出了MapGuide。
这些产品大多发布于1996-1997年。
最近Bently公司和MapInfo公司又相继推出了ModelServer/Discovery和MapXtreme。
现就几个主要WebGIS产品的技术特征进行比较,列表如表1。
表1 主要WebGIS产品的技术特征
WebGIS产品
MapXtremeJavaEdition
GeoMediaWebMap
InternetMapServer(IMS)
MapGuide
GeoBeans
服务器端操作系统
WindowsNTUNIX
WindowsNT
WindowsNT
WindowsNT
WindowsNT/UNIX
Web服务器
Netscape,Apache,MicrosoftIIS
MicrosoftIIS
MicrosoftIIS/
Netscape
支持CGI的WebServer
MicrosoftIIS
应用服务
MapJ、JDBC
ODBC
ArcView或者MapObjects应用、ODBC
ODBC
ODBCJDBCMapServer
服务器端运行模式
CGI、NSAPI或ISAPI
CGI
CGI
CGI或ISAPI
客户端浏览器
支持HTML的任意浏览器
IE/Netscape
支持HTML的任意浏览器
IE/Netscape
IE/Netscape
客户端运行模式
可下载Java小程序
ActiveCGM插件
JavaAppletActiveX控件
需要安装MapGuideViewer插件
Java Applet或者ActiveX控件
客户端地理信息格式
栅格
栅格/矢量
栅格
矢量
栅格/矢量
从与数据库的动态连接性能看,GeoMediaWebMap和MapGuide比较突出。
在服务器端方面,IMS、MapInfoProServer和ModelServer/Discovery有较强的空间查询功能,因为这几个软件在服务器端都运行着相应的桌面GIS软件,客户端可以通过Internet直接向服务器端发送其桌面软件支持的空间查询命令。
在客户端方面,MapInfoProServer和IMS在客户端支持多种平台,而GeoMediaWebMap和MapGuide仅仅支持使用Windows系列操作系统的浏览者。
如果用于建立Intranet应用,选择传递矢量图形的GeoMediaWebMap、ModelServer/Discovery和MapGuide较好,因为它们所需要的插件和ActiveX控件可以统一分发,预先安装,客户端具有较强的交互性和较快的响应速度。
另外,国内万维网地理信息系统软件技术及产品也取得了长足的进步。
在2000年度国产GIS软件测评中,受到表彰的WebGIS产品主要有以下四个:
武汉奥发科技工程有限公司开发的AFInternetGIS、国家遥感应用工程技术研究中心网络与运行工程部独立开发的地网GeoBeans、武汉吉奥信息工程技术有限公司的GeoSurf。
其中GeoBeans以其使用简单、维护方便、支持二次开发、丰富的客户端功能、跨平台、矢栅合成、兼容多种矢量格式数据、完善的空间分析功能、并发多用户访问、可移植性等良好特性而得到用户的认可。
GeoSurf由Java开发,基于矢量格式,具有严格的平台无关性,支持多数据源及分布式数据管理,矢量数据格式精确、精细,也可进行二次开发,用途广泛,具有较好的应用前景。
2、应用系统
目前,互联网上已经出现了许多万维网地理信息系统应用实例,如数字地球网站[3]提供网络地理信息系统在土地、环保、农业、人口统计等领域的应用实例。
网络地理信息技术应用范围非常广泛,可以应用于农业、林业、水利、地矿、交通、通讯、新闻媒体、城市建设,教育、资源(土地、森林、水、矿物、海洋等)、环境、人口、海洋以及军事等几十个领域,如旅游、统计分析、房地产、油气管理、土地和地籍管理、水资源管理、环境监测、资源合理利用、智能交通管理、跟踪污染和疾病的传播区域、商业选址、市场调查、移动通讯、民用工程、城市管道管理、在线政府公共信息服务等。
WEBGIS主要构造方法
1、CGI(CommonGatewayInterface)方法
CGI是Web服务器调用外部应用程序的接口。
它允许网页用户通过网页的命令来启动一个存在于网页服务器主机的程序(称为CGI程序),并且接收这个程序的输出结果。
当用户发送一个请求到Web服务器,Web服务器通过CGI把该请求转发给后端运行的GIS服务程序,由GIS服务程序生成结果交给Web服务器,Web服务器再把结果传递到用户端显示。
CGI是最早实现动态网页的技术,它使用户可以通过浏览器进行交互操作,并得到相应的操作结果。
这种方法的缺点是,对于每一个客户机的请求,都要重新启动一个新的服务进程,当有多用户同时发出请求时,服务器的负担重。
同时由于网络传递的图形为栅格图,因而导致地图缩放、漫游、选择等操作不能在本地进行,需要传递到服务器进行处理,在服务器端生成新的栅格图再传递到客户端显示,不能直接在客户端进行复杂的空间分析。
2、服务器应用程序接口(ServerAPI)方法
ServerAPI类似于CGI,不同之处在于CGI程序是单独可以运行的程序,而ServerAPI往往依附于特定的Web服务器,如MicrosoftISAPI依附于IIS(InternetInformationServer),只能在Windows平台上运行,其可移植性较差。
但是基于ServerAPI的动态连接模块启动后会一直处于运行状态,而不像CGI那样每次都要重新启动,其速度较CGI快得多。
这种方法的缺陷在于它依附于特定的服务器和计算机平台。
3、插件(Plug-ins)法
GISPlug-in是在浏览器上扩充Web浏览器的可执行的GIS软件。
GISPlug-in的主要作用是使Web浏览器支持处理特定格式的GIS数据,并为Web浏览器与GIS服务程序之间的通讯提供条件。
GISPlug-in直接处理来自服务器的GIS矢量数据。
同时,GISPlug-in可以生成自己的数据,以供Web浏览器或其它Plug-in显示使用。
利用CGI或者ServerAPI,虽然增强了客户端的交互性,但是仅提供给用客户端有限的功能,传给用户的信息依然是静态的。
而且用户不能操作单个地理实体以及快速缩放地图,因为在客户端,整个地图是一个实体,任何GIS操作,如放大、缩小、漫游等都需要由服务器来完成并将结果返回。
浏览器插件很好的解决了这个问题。
对WebGIS而言,GIS插件不但可以增加网络浏览器处理地理空间数据的能力使人们更容易获取地理数据,而且插件处理和传输的是矢量格式空间数据,其数据量小,网络也只需将GIS数据一次性传输,这样就加快了用户操作的反应速度,减少网络服务器的信息流量从而使服务器更有效地为更多的用户服务。
但GISPlug-in与运行平台,操作系统,与GIS数据类型又是相关的,即对于不同的GIS数据,不同的操作系统,不同的浏览器需要有各自不同的GISPlug-in支持;插件需要先下载安装再使用,如果用户准备使用多种GIS数据类型,还必须安装多个GISPlug-in程序;还存在插件程序的版本升级问题等。
4、ActiveX方法
ActiveX是建立在OLE技术之上发展起来的因特网新技术,其基础是COM(ComponentObjectModel),是为扩展MicrosoftWeb浏览器IE功能而提供的公共框架。
ActiveX控件和Plug-in非常相似,是为了扩展Web浏览器的动态模块。
所不同的是,ActiveX能被支持OLE标准的任何程序语言或应用系统所使用。
相反,Plug-in只能在某一具体的浏览器中使用。
基于GISActiveX控件的万维网地理信息系统是依赖GISActiveX来完成GIS数据的处理和显示。
ActiveX控件目前只有IE全面支持,在Netscape中则必须有特制的plug-in才能运行,兼容性较差;并且只能运行与MS-Windows平台上;需要下载;占有客户机端机器的磁盘空间;由于可以进行磁盘操作,其安全性较差。
其优点是:
执行速度快;由于ActiveX可以用多种语言实现,这样就可以复用原有GIS软件的源代码,提高了软件开发效率。
表2WebGIS多种实现技术的优缺点对比
技术类型
优点
缺陷
CGI
客户端小;处理大型GIS操作分析的功能强;充分利用服务器现有资源。
网络传输和服务器的负担重;同步多请求问题;作为静态图像,JPEG和GIF是客户端操作的唯一形式。
ServerAPI
不像CGI那样每次都要重新启动,其速度较CGI快得多。
需要依附于特定的Web服务器和计算机平台。
Plug-in
服务器和网络传输的负担轻;可直接操作GIS数据,速度快。
需要先下载安装到客户机上;与平台和操作系统相关;对于不同的GIS数据类型,需要有相应的GISPlug-in来支持
ActiveXControl
执行速度快;
具有动态可重用代码模块。
与操作系统相关;需要下载、安装,占用存储空间;安全性较差;对于不同的GIS数据类型,需要有相应的GISActiveX控件来支持。
JavaApplet
与平台和操作系统无关;实时下载运行,无需预先安装;GIS操作速度快;服务器和网络传输的负担轻。
GIS数据的保存、分析结果的存储和网络资源的使用能力有限;处理较大的GIS分析任务的能力有限。
5、JavaApplet方法
Java语言具有跨平台特性、简单、动态性强、运行稳定、分布式、安全、容易移植等特点,因而是因特网上重要的编程语言。
任何系统平台只要支持Java虚拟机就可以解释执行Java程序,而与程序在何种系统下开发和编译无关。
JavaApplet(小应用程序),嵌入在HTML文件中,在网络浏览器下载该HTML文件时,Java程序的执行代码也同时被下载到用户端的机器上,由浏览器解释执行。
GISJavaApplet最初为驻留在Web服务器端的可执行代码。
它能完成GIS数据解释和GIS分析功能,具有以下优点:
体系结构中立,与平台和操作系统无关。
在具有Java虚拟机的Web浏览器上运行。
写一次,可到处运行。
动态运行,无须在用户端预先安装。
由于GISJavaApplet是在运行时从Web服务器动态下载的,所以当服务器端的GISJavaApplet更新后,客户机端总是可以使用最新的版本。
服务器和网络传输的负担轻,服务器仅需提供GIS数据服务,网络也只需将GIS数据一次性传输。
所有的GIS操作都是在本地由GISJavaApplet完成服务器的负担很小,网络传输的负担轻。
不足之处是:
使用已有的GIS操作分析资源的能力弱,处理大型的GIS分析能力(叠置、资源分配等)的能力有限,无法与CGI模式相比;GIS数据的保存、分析结果的存储和网络资源的使用能力受到限制。
表2列出了这几种WebGIS实现技术的优缺点比较。
WebGIS的组成结构
为追随WebGIS这一发展趋势,近期各大GIS软件厂家纷纷推出通过Web提供交互式成图功能的工具。
ESRI公司最近推出了InternetMapServerforArcView,而MapInfo也已增强和重新打包了它的Web服务器,称之为MapXtreme。
在应用系统方面,国外著名的GIS软件公司的网站上已大都使用了WebGIS技术,如、等。
国内如中国经济信息网公众信息部与国家信息中心数据库部联合开发的《中经网地图信息服务系统》(网址),可为用户提供地理位置检索、信息分类查询和模糊检索等服务内容。
综观这些WebGIS系统,从实现形式上可分为以下两类:
1.动态(dynamic)的WebGIS
这类GIS系统是目前WebGIS实现的主要形式。
实际上,最早的WebGIS出现时,是简单地将固定的地图图片链接到网页上,对于所有的用户查询,系统返回的是预先制成的相同的地形文件和数据。
这种方案的局限性是显而易见的,随后的改进方案是在服务器端使用CGI(CommonGatewayInterface)技术,由CGI程序负责处理用户输入,将用户的操作指令传递到运行在后台的GIS服务器,然后将服务器返回的结果反馈给用户。
这种动态操纵空间数据库生成查询结果图形和数据的方式,我们称为动态的WebGIS。
其中CGI可以用任何一种能运行在服务器上的语言如C、C++,VB甚至是Perl、ShellScript等解释型语言写成。
近期许多网站开始用ASP(ActiveServerPages)来代替CGI,它们的原理不同,但所起的作用是一致的,都起到了管理和传递输入输出的作用。
动态的WebGIS的特点是:
(1)基本不用改变原有的GIS服务器端的调用函数,构造Web时较为简便迅速,开发效率高。
(2)针对不同的用户操作完成相应的响应,能完成GIS的大多数功能。
(3)对服务器要求较高。
由于用户发出的所有指令最终都由GISServer来完成,用户端实际上是起了一个图形终端的作用,致使服务器端负担过重,要求服务器端的硬件速度快,内存容量大。
当用户数量多时,容易在服务器端形成瓶颈,进而影响整个系统的效率。
(4)由于回传用户的地图是在服务器生成的图像数据,因此网络数据流量较大,在慢速的网络上用户的等待现象十分突出。
2.主动(active)的WebGIS
主动的WebGIS方式不是由服务器包办处理用户的一切请求,而是通过服务器向客户端发送一段运行在本地机上的客户程序。
这个程序可以与用户相交互,处理用户的一些简单请求,如地图的开窗、放大等,所需的矢量地形数据直接向服务器申请。
当客户发出一些较复杂、高级的操作要求而客户程序不能处理时,才请求WebGIS服务器处理,其处理结果也以矢量数据的形式发还给客户端。
目前有许多种方法可以建立主动的WebGIS,而Java是开发主动的WebGIS的主流技术。
采用主动的WebGIS的优点在于:
(1)这种方法传送给用户的是矢量的地理元素实体,而不只是一幅由服务器处理好的静态图像,给予了用户更大的操作自由度,可以自由地处理每个元素,不但可以查询地图数据,还可以分析和更新数据。
(2)嵌入浏览器中运行的Java程序直接在用户机器上执行,无须安装,也不会产生复杂的软硬件兼容性问题,简便可靠。
(3)在网上传输的是各类矢量图形数据和属性数据,较之图像数据流量大大降低,同时由于程序是在用户端执行的,许多简单操作无须通过网络传交服务器处理,也减少了用户和服务器之间的数据流量,从而提高了整个网络的运行效率,加快了响应速度。
(4)服务器的处理负载降低,使之可以响应更多的请求。
(5)需要开发Java客户端程序,制定一套完整的C/S信息交换扩展协议并修改原有的GIS服务器软件,使之接受信息交换协议,在软件上需投入的工作量较大,周期较长。
WEBGIS主要构造模型
WebGIS服务器
WWW服务器
GIS应用服务器
地理数据库
浏览器1
浏览器n
图3webGIS计算模型
1、WebGIS的B/S三层结构
常见的WebGIS的结构体系是由数据库、应用服务器和客户端组成的三层结构体系(见图3)。
它把数据库和地理信息系统的应用逻辑分开,相对于最初的两层结构,数据库的改变对应用的影响减少了。
客户向Web服务器通过HTTP协议请求数据服务,服务器返回HTML方式书写的服务页面。
按照浏览器和服务器端功能多少,可以划分为胖客户器/瘦服务器和瘦客户器/胖服务器两种。
但随着应用的复杂度增加,客户对应用服务器的访问频率增加,单一服务器和复杂的应用程序无法快速处理大量的地理信息服务需求。
中间件技术的出现改进了传统模式的B/S体系。
2、基于中间件的B/S多层结构
如果webGIS应用是建立在分布式数据库上,为了增强服务器端的处理能力和速度,服务器端的GIS应用也要求是分布式的。
中间件技术是解决这一难题的有效途径。
下图(图2)是一个基于中间件技术的WebGIS系统的模型[4],用户的请求由中间件处理。
GIS应用服务器不是一个进程,而是由多个中间件组成的分布式的多个进程。
中间件相互调用,一个进程是另外的进程的客户的同时又是别的进程的服务,调用关系比较复杂。
进程所访问的地理数据库也不在是单个的数据库,可能是一个分布式的异质数据库。
目前分布式计算的主要的中间件技术有CORBA,DCOM和EJB等。
其中,CORBA体系是最有前途的一种,它实现了异构平台的互操作;与此对应的是,DCOM模型一统Windows平台,已经成为Windows平台的市场标准;而SUN公司大力提倡的EJB体系,也在逐渐的发展。
对于分布式的异质地理数据库如何实现异构数据源应用级交互以及分布式地理数据的一致性、地理数据的存储与获取是webGIS面临的新课题。
运行于web的GIS应变成一个多客户浏览器/多服务器的复杂系统,通过Internet将相对独立的部件用网络连接并实现网络范围内的处理。
系统各中间件的组织通过既定的接口实现,而用户的调用是动态的,即只有当部件接口接受到用户请求时才动态装载并处理地理信息,这样浏览器与服务器之间的负载是动态的,需要实现动态的负载平衡。
3、WebGIS的互操作模型
各种WebGIS系统如雨后春笋般地出现,在推动空间数据被广泛应用的同时,也带来了问题。
因为这些系统都是为某一种特定的GIS数据及其应用而设计,如果用户想在使用一个WebGIS系统浏览一个地理信息系统中的数据时,需要查看其它系统的空间数据库中的数据,甚至想把这些数据整合起来,都是非常困难的,甚至几乎是不可能的;因为这些WebGIS系统采用的空间数据技术决定了它们的封闭性。
不管是三层结构还是多层结构,都无法实现互操作。
图4WebGIS的黑箱模型
黑箱WebGIS系统
浏览器显示
空间数据源
WebGIS系统对空间数据本身的处理却保持着完全封闭的状态。
正是这些WebGIS系统对空间数据库中数据处理技术的封闭性决定了它们的封闭性,使它们彼此无法共享数据和处理过程。
这种类型的WebGIS系统对数据源中的空间数据的处理过程对外界是透明的。
我们把这种对空间数据的处理模型称为“黑箱模型”,如图4WebGIS的黑箱模型。
这种缺乏开放性的WebGIS空间数据模型带来的直接后果就是用户非常困难,甚至于无法从异构系统中取得相关的空间数据,并把它们融合为一个完整的万维网空间数据应用系统。
目前FGDC、NSDI、GSDID等组织和数字地球的构想和实施必须建立在互操作的空间数据模型之上。
为了解决WebGIS之间的互操作问题,开放地理信息系统协会(OpenGISConsortium,简称OGC)于1998年倡导了“网络地图试验环境”(WebMappingTestbed,简称WMT)来推动具有互操作性和可移植性的万维网制图技术的发展。
“在网络这样一个单一的运作环境和单一的工作流程下,OpenGIS的目标是实现这样的一种技术,它使得一个应用系统开发者能够从网上透明地获取任何地理数据和任何地理数据处理功能或方法,而