WebGIS(万维网地理信息系统)-程序员宅基地

技术标签: java  操作系统  数据库  


一、万维网地理信息系统定义与特点

万维网地理信息系统是在Internet或Intranet网络环境下的一种兼容、存储、处理、分析和显示与应用地理信息的计算机信息系统[1]。地理信息是描述地球表面的空间位置和空间关系的信息。空间数据包括带有空间位置特征的图像、图形数据和与此相关的文本数据。国际学术界把类似于万维网地理信息系统称之为WebGIS(万维网地理信息系统),这主要是由于大多数的客户端应用采用了WWW协议。它的基本思想就是在互联网上提供地理信息,让用户通过浏览器浏览和获得一个地理信息系统中的数据和功能服务。

与传统的地理信息系统比较,万维网地理信息系统它具有四个特点:

更广泛的客户访问范围 客户可以同时访问多个位于不同地方的服务器上的最新数据,而这一Internet/Intranet所特有的优势大大扩展了GIS的数据管理能力,增强了对空间数据管理的时效性。

客户端平台独立性 无论客户机是何种操作系统,只要支持通用的Web浏览器,用户就可以访问WebGIS数据。

更简单的操作 要推广GIS,使GIS系统为广大的普通用户所接受,而不仅仅局限于少数受过专业培训的专业用户,就要降低对系统的操作难度。通用的Web浏览器无疑是降低操作复杂度的最好选择。

平衡高效的计算负载 传统的GIS大都使用文件服务器结构的处理方式,其处理能力完全依赖于客户端,,效率较低。而当今一些高级的WebGIS能充分利用网络资源,,将复杂的处理交由服务器执行,,而对简单的操作则由客户端直接完成。这种计算模式能灵活在服务器端和客户端之间合理分配处理任务,从而提高网络计算资源的利用效率。

万维网地理信息系统涉及到在网络(Internet/Intranet)环境下,地理信息(图像、图形和与此相关的文本数据)的模型、传输、管理、分析、应用的理论与技术。作为地理信息系统的一种新形式,Web GIS无论是在理论研究,还是在应用方面都还处于发展阶段。开放的Internet为Web GIS提供了广阔的社会应用前景。万维网地理信息技术是非常重要的一个新兴的前沿研究方向。

 

二  、万维网地理信息系统发展现状

1、 平台软件

WebGIS是当今GIS的热点,已成为各大厂商激烈竞争的焦点。几个重要的国外GIS厂商争相发布各自的WebGIS产品,如MapInfo公司的MapInfo ProServer 、Intergraph公司的GeoMedia Web Map、ESRI的Internet Map Server(IMS),著名的CAD厂商Autodesk公司也推出了MapGuide。这些产品大多发布于1996-1997年。最近Bently公司和MapInfo公司又相继推出了ModelServer/Discovery和MapXtreme。现就几个主要WebGIS产品的技术特征进行比较,列表如表1。

 

 

 

 

表1  主要WebGIS产品的技术特征

 

 

 

WebGIS产品


 

MapXtreme Java Edition


 

GeoMedia Web Map


 

Internet Map Server(IMS)


 

MapGuide


 

GeoBeans


 

 

服务器端操作系统


 

Windows NT UNIX


 

Windows NT


 

Windows NT


 

Windows NT


 

Windows NT/UNIX


 

 

Web服务器


 

Netscape, Apache, Microsoft IIS


 

Microsoft IIS


 

Microsoft IIS/

 

Netscape

 


支持CGI的Web Server
 

Microsoft IIS


 

 

应用服务


 

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插件


 

Java Applet ActiveX控件


 

需要安装MapGuide  Viewer插件


 

Java  Applet或者ActiveX控件


 

 

客户端地理信息格式


 

栅格


 

栅格/矢量


 

栅格


 

矢量


 

栅格/矢量


 

从与数据库的动态连接性能看, GeoMedia Web Map和MapGuide比较突出。在服务器端方面,IMS、MapInfo ProServer和ModelServer/Discovery有较强的空间查询功能,因为这几个软件在服务器端都运行着相应的桌面GIS软件,客户端可以通过Internet直接向服务器端发送其桌面软件支持的空间查询命令。在客户端方面,MapInfo ProServer和IMS在客户端支持多种平台,而GeoMedia Web Map和MapGuide仅仅支持使用Windows系列操作系统的浏览者。如果用于建立Intranet应用,选择传递矢量图形的GeoMedia Web Map、ModelServer/Discovery和MapGuide较好,因为它们所需要的插件和ActiveX控件可以统一分发,预先安装,客户端具有较强的交互性和较快的响应速度。

另外,国内万维网地理信息系统软件技术及产品也取得了长足的进步。在2000年度国产GIS软件测评中,受到表彰的WebGIS产品主要有以下四个:武汉奥发科技工程有限公司开发的AFInternet GIS、国家遥感应用工程技术研究中心网络与运行工程部独立开发的地网GeoBeans、武汉吉奥信息工程技术有限公司的GeoSurf。其中GeoBeans以其使用简单、维护方便、支持二次开发、丰富的客户端功能、跨平台、矢栅合成、兼容多种矢量格式数据、完善的空间分析功能、并发多用户访问、可移植性等良好特性而得到用户的认可。GeoSurf由Java开发,基于矢量格式,具有严格的平台无关性,支持多数据源及分布式数据管理,矢量数据格式精确、精细,也可进行二次开发,用途广泛,具有较好的应用前景。

2、  应用系统

目前,互联网上已经出现了许多万维网地理信息系统应用实例,如数字地球网站[3]提供网络地理信息系统在土地、环保、农业、人口统计等领域的应用实例。网络地理信息技术应用范围非常广泛,可以应用于农业、林业、水利、地矿、交通、通讯、新闻媒体、城市建设,教育、资源(土地、森林、水、矿物、海洋等)、环境、人口、海洋以及军事等几十个领域,如旅游、统计分析、房地产、油气管理、土地和地籍管理、水资源管理、环境监测、资源合理利用、智能交通管理、跟踪污染和疾病的传播区域、商业选址、市场调查、移动通讯、民用工程、城市管道管理、在线政府公共信息服务等。

三 、万维网地理信息系统主要构造方法

1、 CGI(Common Gateway Interface)方法

CGI是Web服务器调用外部应用程序的接口。它允许网页用户通过网页的命令来启动一个存在于网页服务器主机的程序(称为CGI程序),并且接收这个程序的输出结果。当用户发送一个请求到Web服务器,Web服务器通过CGI把该请求转发给后端运行的GIS服务程序,由GIS服务程序生成结果交给Web服务器,Web服务器再把结果传递到用户端显示。CGI是最早实现动态网页的技术,它使用户可以通过浏览器进行交互操作,并得到相应的操作结果。这种方法的缺点是,对于每一个客户机的请求,都要重新启动一个新的服务进程,当有多用户同时发出请求时,服务器的负担重。同时由于网络传递的图形为栅格图,因而导致地图缩放、漫游、选择等操作不能在本地进行,需要传递到服务器进行处理,在服务器端生成新的栅格图再传递到客户端显示,不能直接在客户端进行复杂的空间分析。

 

 

2、 服务器应用程序接口(Server API)方法

Server API类似于CGI,,不同之处在于CGI程序是单独可以运行的程序,而Server API往往依附于特定的Web服务器,如Microsoft ISAPI依附于IIS(Internet Information Server),只能在Windows平台上运行,其可移植性较差。但是基于Server API的动态连接模块启动后会一直处于运行状态,而不像CGI那样每次都要重新启动,其速度较CGI快得多。这种方法的缺陷在于它依附于特定的服务器和计算机平台。

 

3、 插件(Plug-ins)法

GIS Plug-in是在浏览器上扩充Web浏览器的可执行的GIS软件。GIS Plug-in的主要作用是使Web浏览器支持处理特定格式的GIS数据,并为Web浏览器与GIS服务程序之间的通讯提供条件。GIS Plug-in直接处理来自服务器的GIS矢量数据。同时,GIS Plug-in可以生成自己的数据,以供Web浏览器或其它Plug-in显示使用。

利用CGI或者Server API,,虽然增强了客户端的交互性,但是仅提供给用客户端有限的功能,传给用户的信息依然是静态的。而且用户不能操作单个地理实体以及快速缩放地图,因为在客户端,整个地图是一个实体,任何GIS操作,如放大、缩小、漫游等都需要由服务器来完成并将结果返回。浏览器插件很好的解决了这个问题。对WebGIS而言, GIS插件不但可以增加网络浏览器处理地理空间数据的能力使人们更容易获取地理数据,而且插件处理和传输的是矢量格式空间数据,其数据量小,网络也只需将GIS数据一次性传输,这样就加快了用户操作的反应速度,减少网络服务器的信息流量从而使服务器更有效地为更多的用户服务。

但GIS  Plug-in与运行平台,操作系统,与GIS数据类型又是相关的,即对于不同的 GIS数据,不同的操作系统,不同的浏览器需要有各自不同的GIS Plug-in支持;插件需要先下载安装再使用,如果用户准备使用多种GIS数据类型,还必须安装多个GIS Plug-in程序;还存在插件程序的版本升级问题等。

4、ActiveX方法 

ActiveX是建立在OLE技术之上发展起来的因特网新技术,其基础是COM(Component Object Model),是为扩展Microsoft Web浏览器I E功能而提供的公共框架。ActiveX控件和Plug-in非常相似,是为了扩展Web浏览器的动态模块。所不同的是,ActiveX能被支持OLE标准的任何程序语言或应用系统所使用。相反,Plug-in只能在某一具体的浏览器中使用。基于GIS ActiveX控件的万维网地理信息系统是依赖GIS ActiveX来完成GIS数据的处理和显示。

ActiveX控件目前只有IE全面支持,在Netscape中则必须有特制的plug-in才能运行,兼容性较差;并且只能运行与MS-Windows平台上;需要下载,;占有客户机端机器的磁盘空间;由于可以进行磁盘操作,其安全性较差。其优点是:执行速度快;由于ActiveX可以用多种语言实现,这样就可以复用原有GIS软件的源代码,提高了软件开发效率。

 

 

表2 WebGIS多种实现技术的优缺点对比

 

 


技术类型


 

优点


 

缺陷


 

 

CGI
 

客户端小;处理大型GIS操作分析的功能强;充分利用服务器现有资源。
 

网络传输和服务器的负担重;;同步多请求问题;;作为静态图像,JPEG和GIF是客户端操作的唯一形式。
 

 

Server API
 

不像CGI那样每次都要重新启动,其速度较CGI快得多。
 

需要依附于特定的Web服务器和计算机平台。
 

 

Plug-in
 

服务器和网络传输的负担轻;;可直接操作GIS数据,速度快。
 

需要先下载安装到客户机上;与平台和操作系统相关;对于不同的GIS数据类型,需要有相应的GIS Plug-in来支持
 

 

ActiveX Control
 

执行速度快;;

具有动态可重用代码模块。
 

与操作系统相关;需要下载、安装,占用存储空间;安全性较差;;对于不同的GIS数据类型,需要有相应的GIS ActiveX控件来支持。
 

 

Java Applet
 

与平台和操作系统无关;;实时下载运行,,无需预先安装;;GIS操作速度快;;服务器和网络传输的负担轻。
 

GIS数据的保存、分析结果的存储和网络资源的使用能力有限;;处理较大的GIS分析任务的能力有限 。
 

5、 Java Applet 方法

Java语言具有跨平台特性,、简单、动态性强、运行稳定、分布式、安全、容易移植等特点,因而是因特网上重要的编程语言。任何系统平台只要支持Java虚拟机就可以解释执行Java程序,而与程

 

序在何种系统下开发和编译无关。Java Applet(小应用程序),嵌入在HTML文件中,在网络浏览器下载该HTML文件时,Java程序的执行代码也同时被下载到用户端的机器上,由浏览器解释执行。

GIS Java Applet最初为驻留在Web服务器端的可执行代码。它能完成GIS数据解释和GIS分析功能,具有以下优点:

体系结构中立,与平台和操作系统无关。在具有Java虚拟机的Web浏览器上运行。写一次,可到处运行。动态运行,无须在用户端预先安装。由于GIS Java Applet是在运行时从Web服务器动态下载的,所以当服务器端的GIS Java Applet更新后,客户机端总是可以使用最新的版本。服务器和网络传输的负担轻,服务器仅需提供GIS数据服务,网络也只需将GIS数据一次性传输。所有的GIS操作都是在本地由GIS Java Applet完成服务器的负担很小,网络传输的负担轻。不足之处是:使用已有的GIS操作分析资源的能力弱,处理大型的GIS分析能力 (叠置、资源分配等)的能力有限,无法与CGI模式相比;GIS数据的保存、分析结果的存储和网络资源的使用能力受到限制。表2列出了这几种WebGIS实现技术的优缺点比较。

四  、万维网地理信息系统主要构造模型


图3 web GIS 计算模型

 

1、Web GIS的B/S三层结构

常见的WebGIS的结构体系是由数据库、应用服务器和客户端组成的三层结构体系(见图3)。它把数据库和地理信息系统的应用逻辑分开,相对于最初的两层结构,数据库的改变对应用的影响减少了。客户向Web服务器通过HTTP协议请求数据服务,服务器返回HTML方式书写的服务页面。按照浏览器和服务器端功能多少,可以划分为胖客户器/瘦服务器和瘦客户器/胖服务器两种。但随着应用的复杂度增加,客户对应用服务器的访问频率增加,单一服务器和复杂的应用程序无法快速处理大量的地理信息服务需求。中间件技术的出现改进了传统模式的B/S体系。

2、基于中间件的B/S多层结构

如果web GIS应用是建立在分布式数据库上,为了增强服务器端的处理能力和速度,服务器端的GIS应用也要求是分布式的。中间件技术是解决这一难题的有效途径。下图(图2)是一个基于中间件技术的Web GIS系统的模型[4],用户的请求由中间件处理。GIS应用服务器不是一个进程,而是由多个中间件组成的分布式的多个进程。中间件相互调用,一个进程是另外的进程的客户的同时又是别的进程的服务,调用关系比较复杂。进程所访问的地理数据库也不在是单个的数据库,可能是一个分布式的异质数据库。

目前分布式计算的主要的中间件技术有CORBA,DCOM和EJB等。其中,CORBA体系是最有前途的一种,它实现了异构平台的互操作;与此对应的是,DCOM模型一统Windows平台,已经成为Windows平台的市场标准;而SUN公司大力提倡的EJB体系,也在逐渐的发展。对于分布式的异质地理数据库如何实现异构数据源应用级交互以及分布式地理数据的一致性、地理数据的存储与获取是web GIS面临的新课题。运行于web的GIS应变成一个多客户浏览器/多服务器的复杂系统,通过Internet将相对独立的部件用网络连接并实现网络范围内的处理。系统各中间件的组织通过既定的接口实现,而用户的调用是动态的,即只有当部件接口接受到用户请求时才动态装载并处理地理地理信息,这样浏览器与服务器之间的负载是动态的,需要实现动态的负载平衡。

3、WebGIS的互操作模型

各种WebGIS系统如雨后春笋般地出现,在推动空间数据被广泛应用的同时,也带来了问题。因为这些系统都是为某一种特定的GIS数据及其应用而设计,如果用户想在使用一个WebGIS系统浏览一个地理信息系统中的数据时,需要查看其它系统的空间数据库中的数据,甚至想把这些数据整合起来,都是非常困难的,甚至几乎是不可能的;因为这些WebGIS系统采用的空间数据技术决定了它们的封闭性。不管是三层结构还是多层结构,都无法实现互操作。

 

空间数据源
 
WebGIS系统对空间数据本身的处理却保持着完全封闭的状态。正是这些WebGIS系统对空间数据库中数据处理技术的封闭性决定了它们的封闭性,使它们彼此无法共享数据和处理过程。这种类型的WebGIS系统对数据源中的空间数据的处理过程对外界是透明的。我们把这种对空间数据的处理模型称为“黑箱模型”,如图4 WebGIS的黑箱模型。这种缺乏开放性的WebGIS空间数据模型带来的直接后果就是用户非常困难,甚至于无法从异构系统中取得相关的空间数据,并把它们融合为一个完整的万维网空间数据应用系统。目前FGDC、NSDI、GSDID等组织和数字地球的构想和实施必须建立在互操作的空间数据模型之上。


为了解决WebGIS之间的互操作问题,开放地理信息系统协会(Open GIS Consortium,简称OGC)于1998年倡导了“网络地图试验环境”(Web Mapping Testbed,简称WMT)来推动具有互操作性和可移植性的万维网制图技术的发展。 “在网络这样一个单一的运作环境和单一的工作流程下,Open GIS的目标是实现这样的一种技术,它使得一个应用系统开发者能够从网上透明地获取任何地理数据和任何地理数据处理功能或方法,而不管它的数据格式和数据模型。应用于GIS领域,侧重于改变当前GIS模型中特定的应用系统及其功能与它内部数据模型及数据格式紧密捆绑的现状。”OGIS不仅有助于GIS系统个体间的信息交换,而且能够与其他系统如统计分析、影像处理、文档管理交换信息。它得到了众多GIS和WebGIS研究、开发机构以及厂商的支持。从OGC的WMT文献、以及NSDI、GSDI和数字地球的描述中,可以看到WMT所倡导的,能够作为NSDI、GSDI和数字地球地理信息传输、应用的WebGIS系统至少应具有以下四个特征:

(1) 互操作性:允许数据在不同的WebGIS系统之间无缝传输;一个应用系统中的应用可以调用另一个应用系统中的应用,来完成逻辑上统一的任务。

(2) 可扩展性:要求尽可能利用已有空间数据设施,不做或少做改动;并且能够容纳以后新出现的GIS系统所生产的空间数据。

(3) 分布式特征:包括数据分布和应用分布。

(4) 良好的交互性:作为用户对万维网空间数据应用的需求,应当允许合法用户对已有的空间数据进行更新和删节。

可以看到,目前基于黑箱数据模型的WebGIS系统只能实现用户交互性和部分的可扩展、分布能力,而没有实现NSDI、GSDI和数字地球对空间数据基础设施所要求的根本特征――互操作。

OGIS体系允许开发商和用户去区分、评估、利用地理资源,这些地理资源包括空间数据集、地理数据处理工具、不受不同数据组织和异构环境限制的模型和操作。这将使传统GIS不包含的领域(如环境和处理模型)能与地理数据及地理数据处理服务互操作,并将有助于GIS用户获取更广泛的模型功能。Allan Doyle提出了在因特网上访问空间数据源的分步骤服务模型。


4、 万维网空间数据处理的服务模型

首先,空间数据的显示(或可视化)要经过这样的四个处理过程(见图5):

四个步骤分别是:选择空间数据、生成显示序列、地图成形和地图显示。

(1) 从空间数据源中选择出要显示的地理实体的数据。

(2) 把选择出来的地理实体数据组合生成一个显示元素的序列。

(3) 将显示元素系列生成最终要显示的地图结果。

(4) 将准备好地图送往显示设备进行最终显示。

把上述地学空间数据可视化的过程看作相对独立的步骤,每一个步骤都接受某一特定形式的空间数据作输入,并输出某种形式的中间结果,每一个上面步骤的顺利执行都要先执行其下相邻的步骤,并用下面步骤提供的输出结果,就是说,上面步骤要调用下面步骤为其服务,下面步骤要为上面步骤提供服务。其中最下面的一个步骤从空间数据源中得到满足条件的空间数据,最上面一个步骤显

 

示最终结果。分步骤服务模型没有限制相邻两个步骤的执行必须要在一台机器上,当其中某两个相邻步骤被因特网分开时,就得到了三种可能的WebGIS系统体系结构。

(1) 客户端请求地图图像的方式。在这种结构下,作为客户端的浏览器只进行图像的显示,而把选择空间数据、生成显示元素序列和地图图像的步骤放在服务器端。浏览器通过服务器的CGI接口以JPEG或GIF图像格式请求地图图像。

(2) 客户端请求图形元素的方式。客户端由地图生成和显示两部分组成,通过Java Applet、ActiveX来实现,由它们向服务器请求要显示的图形元素或地图图像。随着SVG(Scalable Vector Graphics)和(WebCGM)成为万维网协会(World Wide Web Consortium,简称W3C)的标准,如果用它们来编码矢量空间数据,则浏览器就可以直接显示。

(3) 客户端请求空间数据的方式。服务器端只执行查询,从空间数据源中得到需要的空间数据,然后把数据发送到客户方。由浏览器上的Java Applet、ActiveX或浏览器插件完成进行后面的工作。浏览器生成最终结果时,还会向服务器请求必要的显示符号信息。

WebGIS的这三种体系结构各有特点,可以满足万维网对不同的客户端和服务器端应用要求。按照客户端功能的多少划分出客户端的类型。瘦客户端只提供显示功能,中等客户端提供显示和提取服务功能,胖客户端提供显示、提取服务和DEG服务。但不论采用哪种结构,由于它们都是基于空间数据可视化的分步骤服务模型的,就保证了它们对空间数据处理的一致性。采用这种空间数据模型的WebGIS系统,就可以保证每个系统的上面一个步骤可以调用其它WebGIS系统的相应下面步骤的服务。从这个角度来看,不同的客户—服务器结构,仅仅是让那两个处理步骤之间的服务调用跨越因特网而已,不会影响整个系统集成多个异构系统中空间数据的能力。

我们看到,分步骤服务模型为万维网空间数据处理带来了开放性,采用这种模型实现的web空间数据应用系统之间可以允许较好的互操作。为了能允许一个系统的上面处理步骤充分享用另一个系统相应下面步骤的服务,还必须定义共同的地图服务器接口。

五  WebGIS的主要发展趋势及前沿应用

地理信息系统技术经过近三十年的发展,已经逐步进入了计算机技术主流,从而能够在更广泛的领域为更多的用户提供空间信息服务。WebGIS新的发展趋势是GIS技术和Internet技术新的发展方向的体现,因而分析总结的WebGIS新的发展趋势具有重要意义。

1、 地理标记语言-网络环境下开放的空间数据交换格式

空间数据具有多源性、多语义性、多时空性、多尺度和获取数据手段的复杂性等特点,这就决定了空间数据表达的复杂性。尤其是在网络环境下如何对空间数据采用规范化的编码使得分布在网络下的所有用户都可以无缝地获取、访问、浏览空间数据还存在着很大的技术问题。

超文本链接标示语言(HTML)是目前Web上通用的标记语言。但是标准HTML语言在可扩展性、结构和有效性等方面存在严重不足。HTML语言对复杂的空间数据的描述也仅仅局限于文本,对于图形数据就无能为力了。

为解决上述问题,1998年2月10日,W3C组织正式批准公布了应用于Web上的语言“可扩展标识语言(Extensible Markup Language)XML。它是一种元语言,是用来定义其他语言的语言。XML语言可以让信息提供者根据需要,自行定义标记及属性名,也可以包含描述法,从而使XML文件的结构可以复杂到任意程度。XML是基于文本编码的,具有跨平台、开放性、可扩展性、高度结构化等特点。

目前,还缺乏能够广泛采用的对空间对象统一的描述方法,从而使得不同国家、组织机构、部门采用不同的数据模型描述空间对象如:COGIF, MDIFF, SAIF, DLG, SDTS等等。从80年代开始,世界上一些发达国家美国、加拿大、欧共体国家及联合国等已开始了空间信息编码标准化和规范化的研究工作。目前从事空间数据标准化研究的机构主要有:国际标准化组织(ISO)的TC211小组;欧洲标准化组织CEN/TC287;美国联邦地理数据委员会FGDC;Open GIS联盟(OGC)等。

由于空间数据格式的不同,给信息共享和数据的访问带来了极大的不便,解决多源数据的访问近年来一直是WebGIS,当然也是地理信息系统开发中需要解决的重要问题。其中,OGC是为了发展开放式地理数据互操作规范而成立的一个非盈利组织。它制定了一套空间数据表达及操作模型,并鼓励软件开发商和系统集成者采用OGC的标准,以最大限度地共享资源及信息交互。

地理标记语言(Geography Markup Language)GML是由Open GIS联盟制定的基于XML的对地理信息(包括地理特征的几何和属性)的传输和存储的编码规范[1]。2000年4月正式推出GML1.0版本,2001年2月推出GML2.0版本规范。

GML是一个简单的基于文本的地理特征编码标准。GML是基于OGC创建的公共地理模型(OGC抽象规范)基础上的,已经被大多数的GIS开发商所接受并得到进一步的开发。

正如XML语言将Web页面的内容及其表现分离一样, GML也将在地理信息世界中将内容及其表现形式分离开来,GML所关注的是地理数据内容的表现。它用地理特征(Features)来描述世界。本质上讲特征只是一序列的属性和几何体。属性有其名称、类型、属性值的描述。几何体(Geometries)是由基本的几何建模体如:点、线、曲线、面、多边形等所组成。GML已经可以对很复杂的地理实体进行编码[2]。

XML已经在许多领域显示了它的应用潜力,除了GML之外,一些基于XML的描述矢量图形元素的规范已经制定出来,包括SVG(可伸缩的矢量图形)、VML(矢量标记语言)、X3D(扩展的3D建模语言,具有XML的语法和VRML的行为),这些规范在很多地方与GML相似,但是它们有着不同的目标。每一种都有自己不同的几何描述的方法。它们侧重于图形的表现,因此,包括属性、颜色、线型等元素。要浏览这些格式的数据文件,必须要有合适的图形浏览工具。

预计,随着越来越多的组织机构和软件开发商使用XML 作为空间数据表达、传输、存储的规范,空间数据编码的统一以及数据互操作和共享将最终成为现实,从而真正实现开放的空间信息访问。

2、开放式地理信息系统

WebGIS的发展现状及用户对WebGIS的要求,越来越表明WebGIS要想有广泛的发展和应用必须走开放的道路。开放是信息交流的趋势,传统GIS的体系结构是封闭的,而Web的本质特征就是其开放性,因此WebGIS的体系结构应该具备开放、互操作、可升级、可扩展性。它囊括了网络、通信、面向对象、数据库、分布式计算等众多技术,并随着这些技术的进步而改变。开放的WebGIS的首先应该包括数据的开放,即分布在异构数据库中的信息能共享,GML的出现已经提供了一个很好的解决方案。另外,还应该包括数据访问的开放,即不同的地理信息系统软件之间具有良好的互操作性。对WebGIS所提出的这些要求正是Open GIS联盟(OGC)所成立的目的。实际上Open GIS是随着GIS随着C/S、Internet的出现和发展的必然产物。

Open GIS联盟(OGC)是一个由一些政府机构、研究组织、软件开发商成立的,为了发展开放式地理数据规范、研究地学空间信息标准化以及处理方法的一个非盈利组织。它多年来致力于开放的地理信息规范的研究并且制定了一套空间数据表达的规范化模型。它鼓励软件开发商和系统集成者坚持OGC的标准,逐步地开发出一系列符合规范的工具、数据库及其他空间数据互操作的产品,以最大限度地共享资源及信息交互。Open GIS的目标是使得一个应用系统开发者能够从网上透明地获取任何空间数据和任何空间数据处理功能或方法,而不管它的数据格式和数据模型[3][6]。

Open GIS是通过OGC制定的一系列开放式地理空间数据互操作规范来实现的。它提供了地理数据和地理操作的交互性和开放性的软件开发规范。为软件开发者提供了一个框架,使他们能够开发一些让他们的用户方便地访问和处理各种来源的地理数据的软件。

与传统的GIS相比,OGIS建立起通用的技术基础以进行开放式的地理信息处理。其特点是[4]:

·互操作性:不同地理信息系统软件之间连接、信息交换没有障碍。

·可扩展性:硬件方面,可在不同软件、不同档次的计算机上运行,其性能和硬件平台的性能成正比;软件方面增加新的地学空间数据和地学数据处理功能。

·技术公开性:开放的思想主要是对用户公开,公开源代码及规范说明是重要的途径之一。

·可移植性:独立于软件、硬件及网络环境,不需修改便可在不同的计算机上运行。

除此之外,还有诸如兼容性、可实现性、协同性等特点。

Open GIS的这些规范对WebGIS的发展及空间数据共享、互操作有很好的促进作用,许多厂商已经开始推出支持OGC规范的WebGIS的产品。要使WebGIS真正符合Open GIS的规程,则不仅需要OGC努力,更需要众多GIS软件厂商放弃部分利益、通力合作。当然这是一个艰难的过程,但WebGIS遵循OGC的规范,是WebGIS发展的一个趋势。

3、 一体化的空间数据管理与分析

GIS的数据一般分为空间数据和属性数据两类,在通常的GIS系统中对于空间数据的管理可以分为以下几种类型:

·由关系型数据库(RDBMS)管理属性数据。地理空间数据以文件的形式存储,由空间数据管理软件包进行空间操作。地理空间数据文件和关系型数据库之间以指针或关键字建立联系。

·对关系型数据库进行完善,使其统一管理属性数据和地理空间数据。

·在关系型数据库中引入面向对象技术,建立对象关系型数据库(ORDB)或纯对象数据库(OODB),对象与底层表示分离,空间属性与非空间属性定位平等,实现了属性数据和空间数据一体化管理。

在上述三种类型里,第一种把属性数据和空间数据分开管理,不能保证数据的完整性、一致性,不适宜进行网络分布式处理。第二种虽然实现了统一管理,其在处理地理数据生成空间拓扑关系、进行空间分析方面存在缺陷。第三种既实现了一体化管理,同时以面向对象技术处理地理空间数据,提高了地理空间数据运算效率,是目前WebGIS的较为理想的数据库管理平台。

目前,GIS技术的瓶颈之一就是如何解决海量空间数据管理问题。对于一个中等城市级的GIS系统来讲,其数据量是极其巨大的,一般可以达到TB级数据量。传统的基于文件的管理已无法适应这一需要,利用面向对象的大型数据库技术是目前能够有效地解决这一问题的较好途径。

另外,在网络环境下对地理数据的操作和分析是WebGIS今后发展的重要方向之一。目前,桌面GIS中可以提供对数据的非常复杂的操作,包括对图形数据(点、线、面)和属性数据的增加、删除、修改等基本操作。另外,GIS的空间分析,是GIS得以广泛应用的重要原因之一。通过GIS提供的空间分析功能,用户可以从已知的地理数据中得出隐含的重要结论,这对于许多应用领域是至关重要的。但是,目前在网络环境下对数据的这些操作还无法实现,主要还是对于数据的查询、浏览。

值得注意的是,在目前很多大型的商业数据库系统中都加入了对空间数据库的支持,如Oracle Spatial、Informix、IBM DB2等等,从而使得海量地图、影像数据的使用和管理变得更加简单:只需建立单一图层,不必再进行分幅处理。如果用户原来的数据源是分幅的,可将其全部存储到一个图层中,数据库将自动对其进行拼接和索引处理,可形成一个完整的图层。应用时,在客户端只需极少量的编程(实际上只是指定数据源),就可实现对数据库里数据的动态显示。数据库会根据当前地图客户端的显示视野,自动将此范围内的图形检索出来,送到客户端显示。

更为重要的是在这些支持空间数据的大型数据库中已经内嵌了对空间数据分析功能,可以在数据库服务器端对空间数据直接进行分析,然后将结果提交前台客户端。用户可以通过扩展的SQL查询语句来获取所需要的信息,客户端负责的仅仅只是数据的显示而已。

因此,利用这种支持空间数据管理及数据分析的数据库,可建立一种真正的Client/Server结构的空间信息系统,不仅解决了海量数据的存储和管理等问题,也解决了多用户编辑、数据完整性和数据安全机制等许多问题,给GIS的应用带来更广阔的前景。

4、基于分布式计算的WebGIS

地球信息的特征是分布的,并具有基础性、共享性和综合性。目前出现的分布式计算技术可使地理信息的计算应用于社会各领域,成为信息基础设施的重要内容。数字化技术正飞速转向分布式计算模式。一个数据库的内容能被存储和维护在不同的地点,而远程用户则能够方便地并可应用网上特殊的处理方法对这个数据库进行操作。同样,决策者也能够通过计算机网络进行合作,或是通过因特网(Internet)传送大量文件。最近几年来在计算机硬件、软件和的宽带通讯技术的飞速发展已经能够提供这些服务。

GIS在计算结构上已经发生了几种变化,从较早的框架系统使用电话线和终端迅速地扩展到遥远的地方。70年代晚期的小型机被工作站和为了数据交换而不断联网的个人电脑所代替。80年代PC机和工作站的兴起,使得曾经是IBM主机执行的功能由PC机和工作站取代。计算模式的主流从主机转移到桌面。进入90年代,出现了客户机/服务器计算,使得主机和PC机达到某种平衡。随着网络时代的到来,分布式计算正在成为新的计算模式。

分布式计算目前的实现是客户机/服务器计算,它是实现完全的分布式计算的一个中间步骤。完全的分布式计算是一个非集中的,对等的(peer-to-peer)的协同计算。是下一个世纪的理想计算模式。目前分布式计算主要采用的技术有面向对象的构件技术、以文档为中心的软件体系结构、标准、以及终端的用户编程。与面向对象的技术相结合的分布式对象计算技术成为分布式计算的主流。其技术特点是:

    ·主要解决分布异构环境下的互操作问题。

    ·将客户机/服务器模式与面向对象技术结合在一起。

    ·提供面向对象的API

    ·建立集成框架或软件总线。

    ·实现应用软件的部件化开发。

目前分布式计算平台采用的体系结构或标准有对象管理组织(OMG)的共同对象请求代理体系结构(CORBA),微软(Microsoft)的分布式部件对象模型(DCOM)和分布式网络体系结构(DNA);分布式计算环境(DCE),以及SUN的JAVA。CORBA是世界著名组织对象管理集团的共同对象请求代理体系结构,己得到IBM,SUN等在内的700余家软硬件厂商的支持。

 

由于地理信息本质上是分布的,而用户又需要对分布的地理信息完成浏览、查询、分析等操作,这就要求WebGIS需要解决如何实现地理信息客观上分布与实际操作、应用中集中的问题。具体地说,在WebGIS的服务器端,不同地域、不同行业的数据生产部门对应专门的数据服务器。通过对每一个数据服务器数据的及时更新,实现整个WebGIS数据的更新与共享。从这方面说,地理信息必须是分布式存储的。而在用户端,通过图形界面完成对远程分布式地理数据的获取、显示、分析操作。必须认识到,WebGIS的数据共享、分析与处理不仅仅是用户端对单个图幅或单一数据源的操作,而是来自分布式数据源的地理信息在用户端几何、拓扑与属性的统一。从这方面说,分布式地理信息的处理又是集中统一的。因此,分布式WebGIS的产生和发展是地理信息获取和处理的必然结果。

分布式WebGIS应用从简单的已绘制好的地图在Web浏览器上显示,到基于Internet的GIS功能综合,远程的GIS用户可以共享普通的GIS数据,并与其他的GIS用户实现实时通讯。发展分布式Internet GIS应用技术,集中体现在服务器、客户机和网络通讯3个方面。服务器存储数据和应用程序;客户机使用数据和应用程序;网络通讯控制服务器与客户机之间的信息流[5]。

在集中式空间数据库中,从数据采集到纳入数据库,受时间和空间的限制,给数据的更新和信息的实时发布带来障碍,往往提供给用户的信息已失去了现势性,不能作为有效的判断和决策的依据。而分布式Internet GIS的兴起,改变了这一传统模式,使数据的获取与更新可以通过网络进行,合理划分了空间数据生产部门与终端用户之间的相互利益。

5、 网络虚拟地理环境

三维/虚拟现实技术正在成为下一个网络应用的技术热点,尽管在线三维还没有取得成功,但它对未来的影响已基本定型。随着Internet的飞速发展及三维技术的日益成熟,人们已经不满足Web页上二维空间的交互特性,而希望将WWW变成一个立体空间。

所谓“虚拟地理环境”,是指用计算机技术来生成一个逼真的三维视觉、听觉、触觉或嗅觉等感觉世界,让用户可以从自己的视点出发,利用自然的技能和某些设备对这一生成的虚拟世界客体进行浏览和交互考察。这一定义强调的是:逼真的感觉、自然的交互、个人的视点及迅速的响应。

 

VR技术提供的可视化,不只是一般几何型体的空间显示,而且也可对地理信息、噪声、温变、力变、磨损、振动等予以可视化,还可以把人的创新思维表述为可视化的虚拟实体,促进人的创造灵感进一步升华。

在地理信息系统中,结合三维可视化技术与虚拟现实技术(Virtual Reality),完全再现地理环境的真实情况,把所有管理对象都置于一个真实的三维世界里,真正做到了管理意义上的"所见即所得"。虚拟现实技术的应用将使工程人员能通过全球网或局域网按协作方式进行三维模型的设计、交流和发布,从而进一步提高生产效率并削减成本。

网络三维GIS的应用领域越来越多。目前的GIS大多提供了一些较为简单的三维显示和操作功能,但这与真三维表示和分析还有很大差距.真正的三维GIS必须支持真三维的矢量和栅格数据模型及以此为基础的三维空间数据库,解决了三维空间操作和分析问题。主要研究的方向包括:(1)三维数据结构的研究,主要包括数据的有效存储、数据状态的表示和数据的可视化;(2)三维数据的生成和管理;(3)地理数据的三维显示,主要包括三维数据的操作,表面处理,栅格图像、全息图像显示,层次处理等。

地理虚拟建模语言(GeoVRML)是由Web3D联盟下属的一个官方工作组所制定的一种地理虚拟建模语言,它是用虚拟建模语言(VRML)为基础来描述地理空间数据。其目的是让用户通过一个在Web浏览器安装的标准的VRML插件来浏览地理参考数据、地图、和三维地形模型。它的出现将为在网络环境下实现虚拟地理环境提供一个良好的数据规范平台,将大大促进网络虚拟地理环境的应用[7]。

目前,负责制定GeoVRML规范的工作组已经颁布了GeoVRML1.0规范推荐草案,通过对VRML的大量新的扩展来支持三维GIS应用。国外基于GeoVRML进行地理建模的应用已经出现,国内目前还鲜见。

6、移动通信技术扩展GIS应用

WAP/WML技术作为无线互联网领域的一个热点,已经显示了其巨大的应用前景和市场价值。目前,已经可以将天气预报、汇率、股票价格、标题新闻等信息提供给移动用户。WAP/WML技术与GIS技术的结合出现了移动GIS(Mobile GIS)应用和无线定位服务服务(LBS,Location-based Services)。

通过WAP/WML技术,移动用户近乎可以在任何地方、时间获得网络提供的服务。另外,他们所在的位置可以被跟踪,因此,可以提供与用户所在位置相关的信息。与用户登记的资料结合,可以给在复杂环境中(在外地某城市、在建筑物中)的用户提供指诸如交通导航的服务等等。与移动设备相关的服务经常需要将移动设备当前位置与GIS服务器进行交互。这种交互是需要实时的,否则移动设备就已经移动到很远的位置,而得到的却是初始时的位置输入后的结果。在WAP中,一个移动设备与GIS服务器的交互分为2步:首先,移动设备与WAP网关(9.6kbps)进行通讯,然后通过HTTP协议向网络上的任何服务器发送请求。在有限的通讯速率所限和最有效的通讯协议(HTTP)的情况下,任何双向实时的传送都是不可能。目前,通用移动通信系统(UMTS)提供了约2兆的带宽条件来更好的实现该服务。

当前用于地理信息交互的语言还不足以完成真正的“设备无关接口”的互操作。各种移动设备对于从GI(地理信息)服务器所获得的信息的表现方式是各不相同的,对于用户输入方式也不相同(例如,电话拨号,键盘输入,手写输入,语音输入)因此,对于不同的移动设备需要一种统一的标记语言。WML,由于某些局限并不是最好的答案。通用的XML或者由其派生的一种语言将成为各种GI移动设备的统一语言[8]。

据估计,无线定位产品和服务(LBS)的市场在未来的五年内将比传统的GIS市场价值大10倍,达到100亿美元。该市场主要包括三个领域[9]:

·定位需求:通过服务器来确定移动端设备的位置。该功能将成为移动电话服务的一部分。

·定位感知:客户端设备能够感知其位置所在,并根据其位置来获取相应的服务。

·个性服务:网络和服务供应商将客户需求和其位置在任何时间提供个性化服务。

无线定位服务将提供了一个机会使GIS突破其传统行业的角色而进入到主流的IT技术领域里。大多数的分析家都表明,到2010年,无线网络将成为全球数据传送的主要途径。GIS的未来将会由其机动性(mobility)所决定。

7、 结论

经过几年的发展,WebGIS已经积累了丰富的构造方法和构造的模型。单个WebGIS向增强空间分析功能、处理分布式的多源数据方向发展;多个WebGIS之间的互操作研究对于构建数字地球这样的伟大设想尤为重要。目前WebGIS正处在发生重大技术变革的前夕,开放的空间数据交换标准的出现将真正的实现空间数据的互操作和数据共享;数据库技术的发展和成熟将海量数据的管理和数据分析成为可能;分布式技术的成熟将分布式空间数据的访问、计算、存储成为现实;三维技术的发展将会通过互联网把人们带到一个虚拟的地理环境中;无线通信技术将GIS应用从室内带到室外,极大扩展了其应用,并使其成为主流的IT技术领域之一。可以说,万维网地理信息系统技术与应用方兴未艾,她给一切敢于迎接挑战的人们巨大的机会。


本文来自程序员宅基地,转载请标明出处:http://blog.csdn.net/panzan6734/archive/2005/07/20/429617.aspx

转载于:https://www.cnblogs.com/rebben/archive/2011/04/06/2006289.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30284355/article/details/94889623

智能推荐

python中文显示不出来_解决Python词云库wordcloud不显示中文的问题-程序员宅基地

文章浏览阅读2.6k次。解决Python词云库wordcloud不显示中文的问题2018-11-25背景:wordcloud是基于Python开发的词云生成库,功能强大使用简单。github地址:https://github.com/amueller/word_cloudwordcloud默认是不支持显示中文的,中文会被显示成方框。安装:安装命令:pip install wordcloud解决:经过测试发现不支持显示中文..._词云python代码无法输出文字

台式计算机cpu允许温度,玩游戏cpu温度多少正常(台式电脑夏季CPU一般温度多少)...-程序员宅基地

文章浏览阅读1.1w次。随着炎热夏季的到来,当玩游戏正爽的时候,电脑突然死机了,自动关机了,是不是有想给主机一脚的冲动呢?这个很大的原因是因为CPU温度过高导致的。很多新手玩家可能都有一个疑虑,cpu温度多少以下正常?有些说是60,有些说是70,到底多高CPU温度不会死机呢?首先我们先看看如何查看CPU的温度。下载鲁大师并安装,运行鲁大师软件,即可进入软件界面,并点击温度管理,即可看到电脑各个硬件的温度。鲁大师一般情况下..._台式机玩游戏温度多少正常

小白自学Python日记 Day2-打印打印打印!_puthon打印任务收获-程序员宅基地

文章浏览阅读243次。Day2-打印打印打印!我终于更新了!(哭腔)一、 最简单的打印最最简单的打印语句: print(“打印内容”)注意:python是全英的,符号记得是半角下面是我写的例子:然后进入power shell ,注意:你需要使用cd来进入你保存的例子的文件夹,保存时名字应该取为xxx.py我终于知道为什么文件夹取名都建议取英文了,因为进入的时候是真的很麻烦!如果你没有进入正确的文件夹..._puthon打印任务收获

Docker安装:Errors during downloading metadata for repository ‘appstream‘:_"cenerrors during download metadata for repository-程序员宅基地

文章浏览阅读1k次。centos8问题参考CentOS 8 EOL如何切换源? - 云服务器 ECS - 阿里云_"cenerrors during download metadata for repository \"appstream"

尚硅谷_谷粒学苑-微服务+全栈在线教育实战项目之旅_基于微服务的在线教育平台尚硅谷-程序员宅基地

文章浏览阅读2.7k次,点赞3次,收藏11次。SpringBoot+Maven+MabatisPlusmaven在新建springboot项目引入RELEASE版本出错maven在新建springboot项目引入RELEASE版本出错maven详解maven就是通过pom.xml中的配置,就能够从仓库获取到想要的jar包。仓库分为:本地仓库、第三方仓库(私服)、中央仓库springframework.boot:spring-boot-starter-parent:2.2.1.RELEASE’ not found若出现jar包下载不了只有两_基于微服务的在线教育平台尚硅谷

随便推点

网络学习第六天(路由器、VLAN)_路由和vlan-程序员宅基地

文章浏览阅读316次。路由的概念路由器它称之为网关设备。路由器就是用于连接不同网络的设备路由器是位于OSI模型的第三层。路由器通过路由决定数据的转发。网关的背景:当时每家计算机厂商,用于交换数据的通信程序(协议)和数据描述格式各不相同。因此,就把用于相互转换这些协议和格式的计算机称为网关。路由器与三层交换器的对比路由协议对比路由器的作用:1.路由寻址2.实现不同网络之间相连的功能3.通过路由决定数据的转发,转发策略称为 路由选择。VLAN相关技术什么是VLAN?中文名称叫:虚拟局域网。虚_路由和vlan

设置div背景颜色透明度,内部元素不透明_div设置透明度,里面的内容不透明-程序员宅基地

文章浏览阅读2.8w次,点赞6次,收藏22次。设置div背景颜色透明度,内部元素不透明:.demo{  background-color:rgba(255,255,255,0.15) } 错误方式:.demo{ background-color:#5CACEE;opacity:0.75;} 这样会导致div里面的元素内容和背景颜色一起变透明只针对谷歌浏览器的测试_div设置透明度,里面的内容不透明

Discuz!代码大全-程序员宅基地

文章浏览阅读563次。1.[ u]文字:在文字的位置可以任意加入您需要的字符,显示为下划线效果。2.[ align=center]文字:在文字的位置可以任意加入您需要的字符,center位置center表示居中,left表示居左,right表示居右。5.[ color=red]文字:输入您的颜色代码,在标签的中间插入文字可以实现文字颜色改变。6.[ SIZE=数字]文字:输入您的字体大小,在标签的中间插入文..._discuzcode 大全

iOS NSTimer定时器-程序员宅基地

文章浏览阅读2.6k次。iOS中定时器有三种,分别是NSTimer、CADisplayLink、dispatch_source,下面就分别对这三种计时器进行说明。一、NSTimerNSTimer这种定时器用的比较多,但是特别需要注意释放问题,如果处理不好很容易引起循环引用问题,造成内存泄漏。1.1 NSTimer的创建NSTimer有两种创建方法。方法一:这种方法虽然创建了NSTimer,但是定时器却没有起作用。这种方式创建的NSTimer,需要加入到NSRunLoop中,有NSRunLoop的驱动才会让定时器跑起来。_ios nstimer

Linux常用命令_ls-lmore-程序员宅基地

文章浏览阅读4.8k次,点赞17次,收藏51次。Linux的命令有几百个,对程序员来说,常用的并不多,考虑各位是初学者,先学习本章节前15个命令就可以了,其它的命令以后用到的时候再学习。1、开机 物理机服务器,按下电源开关,就像windows开机一样。 在VMware中点击“开启此虚拟机”。2、登录 启动完成后,输入用户名和密码,一般情况下,不要用root用户..._ls-lmore

MySQL基础命令_mysql -u user-程序员宅基地

文章浏览阅读4.1k次。1.登录MYSQL系统命令打开DOS命令框shengfen,以管理员的身份运行命令1:mysql -u usernae -p password命令2:mysql -u username -p password -h 需要连接的mysql主机名(localhost本地主机名)或是mysql的ip地址(默认为:127.0.0.1)-P 端口号(默认:3306端口)使用其中任意一个就OK,输入命令后DOS命令框得到mysql>就说明已经进入了mysql系统2. 查看mysql当中的._mysql -u user

推荐文章

热门文章

相关标签