Archive for the ‘GIS’ Category

Web地图服务搜索引擎的工作原理和体系结构

Posted on 11月 16th, 2007 in GIS | 4 Comments »

OGC WMS规范定义了三个接口,分别是GetCapabilities、GetMap和GetFeatureInfo。其中前两个接口是必须实现的。GetCapabilities接口用来获取服务器元数据,它是计算机和人都可以理解的、关于WMS的信息内容和可以接受的请求参数的描述。当向一个WMS服务器发送GetCapabilities 请求时,返回服务级元数据的XML文档,是对服务信息内容和可接受请求参数的一种描述。这些文档是根据Web地图服务规范所规定的DTD的格式编写的,同时,文档中各图层都是以相同的方式进行描述的。这样,我们就可以对服务器返回的信息做统一的处理。

基于上述分析,在理论上,我们可以让一个高效的网络蜘蛛程序对互联网中所有的URL发送GetCapabilities请求。通过对响应信息的分析来判断对方是否是符合OGC WMS规范的网络地图服务器。这样,我们就可以提取出整个互联网中几乎所有的WMS服务器信息。Web地图服务搜索引擎主要有如下两个步骤:

(1) 从互联网上发现、搜集有用URL信息,利用高性能的Spider程序去自动地在互联网中搜索信息。“网络蜘蛛”工作的方式,是查看一个页面,并从中提取出相关URL详细,然后它再从该页面的所有URL中出发,爬行到相关页面,重复这过程,直到把爬过的所有URL信息都收集回来。

(2) 对收集回来的所有URL地址都发送一个符合GetCapabilities规范的HTTP请求,收集所有的请求响应文档。对响应文档进行解析,再以结构化的形式将其存储到本地数据库中供用户检索。

上面简述了Web地图服务搜索引擎的工作原理,从这里不难看出Web地图服务搜索引擎的基本构成是URL搜索器(Web Spider)、WMS响应文档解析与存储器和用于结构化存储WMS服务器元数据信息的Capabilities数据库。Web

地图服务搜索引擎体系结构如图3-1所示。

clip_image001

图3-1 Web地图服务搜索引擎体系结构图

URL搜索器主要负责从互联网中搜索到所有可以搜索到的URL链接地址,并将其储存到临时数据库中。URL搜索器主要以一个网络蜘蛛为基础,周期性的对整个互联网进行全面的爬行。

WMS响应文档解析与存储器主要负责对临时数据库中的URL发送符合GetCapabilities规范的HTTP请求,判断出有效的WMS链接,再对WMS响应文档进行解析,并提取出相关的信息存储于Capabilities数据库中。

Capabilities数据库负责以结构化的形式储存和管理WMS原数据信息。

WEB地图服务搜索引擎的主要工作流程是:首先从网络蜘蛛开始,Spider程序每隔一定的时间自动启动并读取网页URL服务器上的URL列表,抓取各URL所指定的网页,解析出该网页中的URL地址,并将当前页上的所有超链接存入到URL服务器中。在进行网页抓取的同时,对当前URL地址发送GetCapabilities请求,再由WMS响应文档解析储存器对响应文档进行解析然后将解析结构以结构化的形式存入数据库。

其中URL搜索器、WMS响应文档解析器、Capabilities数据库是实现WMS搜索的关键,下面进行详细分析。

Web服务发现技术综述

Posted on 11月 14th, 2007 in GIS | No Comments »

Web服务发现与传统的信息检索有很多相似之处,但前者具有更高的复杂性和实现技术的不成熟性,将有更广阔的应用领域。目前web服务发现技术的结构有以下几种:

Ø 直接搜索

形式最简单的服务发现是向服务提供者索要服务描述的副本。服务提供者接收到请求后,只要把服务描述作为附件用电子邮件发送给服务请求者,或者将其放在可传递介质(例如磁盘)上提供给服务请求者。这类服务发现虽然简单,但其效率却不很高,因为它需要先知道Web服务以及服务提供者的联系信息。服务请求者可以从以下几个方式得到服务描述:

1. 本地文件

2. FTP站点

3. Web站点

Ø 集中式架构搜索

集中式架构提供一个中心目录,服务提供者在其中注册服务,发布服务公告及引用。典型的架构是UDDI。UDDI作为Web服务体系中的元服务(Meta Service),为Web服务体系提供基本的商业Web服务的注册和发现机制。UDDI规范利用了W3C和IETF的很多标准作为实现基础,比如扩展标注语言(XML)、HTTP等。另外,在跨平台的设计特性中,UDDI采用了SOAP规范,也就是说UDDI相对其他Web服务技术有其独特性,UDDI是一种服务,这种服务的具体实施形式就是Web服务。一般我们称这种提供Web服务注册发现服务的Web服务为UDDI Registry。

目前公共的UDDI注册库,Microsoft、IBM、SAP和NTT分别提供了一个兼容2.0规范的UDDI注册库,它们之间每天进行数据同步。在各大公司的开发平台上(诸如.NET、WebSphere等)都提供了供开发用的UDDI注册库开发使用。JUDDI(Judy)是UDDI注册库的一个开放源代码实现,底层使用Oracle存储注册数据,而UDDI4J则是UDDI客户端的开放源代码实现,用于在J2EE平台中访问UDDI注册库 。一般而言,我们可以通过UDDI客户端查询UDDI注册库,发现我们需要的Web服务及其描述WSDL文档,然后我们就可以通过SOAP来访问这些Web服务了。UDDI虽然提供了较高级的功能,但是服务提供者必须是在UDDI注册中心注册了,我们才能检索到该服务。这样就大大减小了我们的搜索范围,减低了搜索效率。

Ø 分布式架构搜索

分布式服务发现方法,提供对服务提供者提供点处的服务描述的引用。通过指定检查Web站点获得可用Web服务的方法,Web服务检查语言提供了这种分布式发现方法。

WS-Inspection提供此类分布式方法的方式,是通过指定如何探察Web服务提供站点来获得可用的Web服务技术信息。WS-Inspection规范定义了如何在Web服务提供站点上查找Web服务技术描述的位置。

WS-Inspection依赖全分布式模型提供与服务相关的信息,可以把服务描述存在任何位置,通常情况下直接想提供该服务的实体提出检索信息的请求。WS-Inspection文档是非常轻量级的,易于构造,易于维护。WS-Inspection机制通过提供利用现有的协议,直接从服务提供点传播服务的相关信息的能力,从而实现对当个目标执行有重点的发现。但是,由于其分散性本质,如果通信伙伴未知的话,WS-Inspection规范无法提供良好的机制执行有重点的发现。

这些搜索方式之间并不时相互独立的,相反,他们之间的关系是互补的。施友松针对基于UDDI服务发现机制中的缺陷,提出了对服务发现操作的改进策略 。张超等将Web服务的发现问题转换为基于语义的推理过程,利用知识管理领域的成果有效的发现web服务,实现了web服务发现、执行和组合过程的自动化。丁长明等通过改进Chord的环状结构并且结合了本体而实现了一个P2P的Web服务发现结构。其结构设计的主要特点是将服务节点基于服务概念本体分类,使得在Web服务的发现中可以根据服务的语义查询相应的Web服务。从而减轻了整个网络的负担,提高了服务发现的效率 。

与一般的Web服务相比,网络地图服务是Web Service在GIS专业领域的应用。OGC WMS规范定义了网络地图服务必须实现的操作以及这些操作的一系列参数。这样就不存在了困扰一般Web服务发现中的语法的问题。从而,使网络地图服自动化的搜索成为可能。

OGC Web地图服务简介

Posted on 11月 12th, 2007 in GIS | No Comments »

目前,很多GIS组织和开发商都提供了基于互联网的在线地图服务,但这些服务都是些私有的系统,其结果导致服务提供的“孤立”,使得服务之间的互操作异常困难。为了解决Web地图服务互操作的困难,实现互操作接口机制的开放性和标准型,作为全球最主要的地理信息互操作规范的制订者和提倡者,OGC开发了一系列的基于公共接口、编码和模式的Web地图方法。如基于Web地图服务的互操作规范WMS,基于Web要素服务的互操作规范WFS,基于Web层服务的互操作规范WCS等。

Web地图服务(Web Map Service,简称WMS)可以动态地利用地理信息中的空间数据绘制地图。国际上的标准把地图定义为描写地理信息的数字图像文件,该文件适合在计算机屏幕上显示。地图本身并不是地理数据,而是数据的表现形式。Web地图服务所产生的地图一般是PNG, GIF或JPEG格式的,但偶尔也产生矢量格式的地图如:SVG或WebCGM格式的地图。根据OGC规范,地图服务是专门提供共享地图数据的服务,负责根据客户程序的请求,提供地图图像、指定坐标点的要素信息、以及地图服务的功能说明信息。

OGC的WMS(Web Map Service)规范定义了三个接口操作,这些接口操作是:GetCapabilities、GetMap、GetFeatureInfo,其中前两个是必须的,最后一个是可选的 。

目前,OGC的Web地图服务的实现需要利用HTTP和XML,对于传统的分布式计算技术,如CORBA、COM/DCOM和JavaBean等则不支持。相对于传统的分布式计算,HTTP和XML具有更强的适应性。在OGC地图服务中,利用HTTP的GET和POST两种方法实现客户端和Web Server的通信,在通信过程中主要依赖URL的参数配对来实现请求和响应的交互。

1. GetCapabilities 接口描述

GetCapabilities 接口用于向客户端提供当前地图服务器可以提供的空间信息类型和范围、具体的图层信息和显示样式、支持的查询方式、没有查询结果时(异常)的缺省返回信息格式等服务描述信息。GetCapabilities的具体请求参数如表2-1。

表 2-1 WMS的GetCapabilities请求参数描述

ogc-1

2. GetMap 接口描述

GetMap 接口的目的在于请求服务器生成一幅具有确定地理位置坐标范围的地图图像。但按照WMS规范,这个操作需要明确地指定出操作本身遵循的

WMS规范的版本号以及需要显示的具体图层、对应的坐标范围、返回图像的大小和格式等。GetMap的请求参数描述如表2-2所示。

表 2-2 WMS的GetMap请求参数描述

ogc-2

3. GetFeatureInfo接口描述

GetFeatureInfo是一个可选操作。该操作向WMS的客户端程序提供了进一步查询特定空间实体信息的能力。这种操作往往是由客户程序在WMS服务器先前返回的地图上指定了一个空间实体,进而提交查询而形成。支持GetFeatureInfo操作的仅仅是那些定义或继承了属性queryable=“1”的层。对于其它层,客户端不能发送GetFeatureInfo请求。如果一个WMS不支持该请求而遇到了它,则应该应答一个适当格式的服务异常。

基于GML的空间数据集成

Posted on 11月 9th, 2007 in GIS | No Comments »

GML是严格的按照被广泛采用的XML标准制定的,这就确保了GML数据可以被广泛的商业或者免费工具所浏览、编辑、转换,从而真正地实现开放的空间信息。英国Leeds大学用Java开发了一个工具GeoTools(Project: GeoTools),基于Web对符合GML1.0规范的空间数据做了显示试验,它使用Xerces-J Parser解析GML数据和相应的DTD元数据,再使用GeoTools对解析后的数据做处理,实现地图的显示。目前,大家已经认识到:GML将在未来的Web数据交换标准中起到一个重要的作用(Lake,1999;Clements,2002; Murray and Chow,2002;Smith et al,2002;Meneghello,2001)。常见的空间数据转换成GML的方法主要有:一是应用ToWKT工具,该工具是由GeoClient项目开发的ArcView的一个扩展,能将shape file数据转换成GML;二是一个Java开源应用-Geotools,将shape file转换成GML或SVG,这个可以看成是第一种的一个替代,上述两种仅仅支持将Shape文件格式转换成GML文件,可以免费得到源码。三是应用FME软件加上一些自定义的开发代码将空间数据转换成GML数据,其支持的格式比较多,但无法免费得到。

国内外众多学者对基于GML的数据集成和互操作进行了大量的研究。Rancourt M.等(2001)将GML与先前所定义的空间标准进行比较,得出GML能有效的满足空间数据交换标准的要求的结论,并预测GML将在行业应用中占据主导地位。Jianting Zhang等(2002)提出了一种基于GML 的开放结构框架,以便在Internet 上建立地理信息搜索引擎。Chuanrong Zhang等(2003)在网络环境下以GML的作为异构空间数据库交换共享空间数据的格式,成功实现数据的互操作。崔希民等(2003)提出了GIS数据集成和互操作的系统架构,并在该架构中采用GML 作为多源异构GIS数据的统一描述格式,在数据层次上实现 GIS 数据的集成和互操作。张霞等(2003)提出一种基于GML构造WebGIS的框架结构,给出实现框架技术,其中采用GML作为空间数据集成格式。王新闯等(2004)对GML用于分布式地理信息集成的可行性进行了分析,构建了利用GML及相关的模块对分布式地理信息集成模式进行数据综合分析的体系结构。朱前飞等(2004)认为空间数据共享是建设国家空间信息基础设施、建立空间数据库、进行数据挖掘的重要前提,分析了空间数据共享现有的解决方案的不足,提出了一种新的基于GML的数据共享解决方案,并初步探讨了方案的实施步骤。王继周等(2004)在总结上述三种异构系统间的数据交换的基础上,设计了基于GML的网络GIS空间数据交互传输方案,为实现异构系统间的信息交换提供了一条可行的解决之道。罗英伟等(2002)、杨志鹏等(2003)提出了基于一个GML的WebGIS设计方案,并运用Java Applet开发了一个简单的GIS应用程序,这个Java Applet(GML Java Applet)由三部分组成:GML UnZIP组件、GML Parser和GIS功能组件。朱前飞等(2005)设计了以GML为框架的WebGIS数据融合系统,系统包括分布式异构空间数据源、WebGIS元数据服务、GML数据服务和WebGIS数据融合管理的功能,并给出了WebGIS数据融合的工作流程。为解决WebGIS 数据融合的难题提供了一条可行之道,对促进 WebGIS 的发展具有积极的意义。

作为应用于网络环境下的地理空间数据的通用接口,GML遵循数据互操作模式,有利于多源数据的交换、传输与集成。正是因为GML是一种容易理解的空间信息交换格式并已经被普遍接受,因此,以GML数据为基础的大众化的WebGIS应用系统可以帮助人们轻松地获得GIS应用,基于GML的大众化WebGIS应用将具有很大的实用价值和广泛的市场前景。

基于网格的空间数据组织

Posted on 11月 8th, 2007 in GIS | No Comments »

如同许多重要的概念和技术一样,网格概念的出现是为了解决科学与工程中所面临的基本原理问题。网格概念的基本思想起源于20世纪60年代,20世纪90年代网格研究的先驱者给出了网格的具体形式。所谓网格是把整个Internet整合成一台巨大的超级计算机,实现计算资源、存储资源、数据资源、信息资源、知识资源、专家资源的全面共享(李国杰,2001)。

学术界和企业界历经10多年的研究和开发,使得网格技术开始成型,并延续至今继续发展。如图 1‑1所示,可以将网格技术的发展过程区分为几个不同的阶段。在此期间,科学界一直领导着网格技术的发展,利用这些技术来创建计算和管理数据的基础设施。并将对21世纪科学与社会的发展起到关键的推动作用。如今,网格计算已受到信息科学界专家的密切关注(陈述彭,2002),其应用与解决方案都集中在基于开放式技术的、面向服务的以及水平式的方案。

clip_image002

图 1‑1 网格技术的发展

Fig 1-1 Development of GRID

网格作为Internet的第三次浪潮,在世界各国引起了前所未有的关注和重视。美国、欧洲、日本等都启动了大型网格研究计划,并得到了产业界的支持,我国已通过863计划的高性能计算专项和软件专项等重大科研项目,在“十五”期间支持网格的研究和应用工作。目前,对网格的研究工作主要集中在:计算网格、信息网格和知识网格等三个层次(李国杰,2002)。计算网格是网格的系统层,它为应用层提供系统基础设施,通过网络连接地理上分布的各类计算机(包括机群)、数据库、各类设备和存储设备等,形成对用户相对透明的高性能计算环境,它的应用包括分布式计算、高吞吐量计算、协同工程和数据查询等许多功能。网格计算被定义为一个广域范围的“无缝集成和协同计算环境”。信息网格是要利用现有的网络基础设施、协议规范、Web和数据库技术,研制一体化的智能信息处理平台,消除信息孤岛,使得用户能方便地发布、处理和获取信息。信息网格追求的最终目标是能够做到服务点播(Service on Demand)和一步到位服务(One Click is Enough)。知识网格研制一体化的智能知识处理平台,消除知识孤岛,使得用户能方便地发布、处理和获取知识。

国际上对数据网格进行了比较深入的研究(Chervenak A et al, 2002; Stockinger H etal, 2002),提出和建立了基于文件的数据网格和基于数据库的数据网格。基于文件的数据共享方式,其代表性研究项目有欧盟的数据网格计划Data Grid。旨在访问隶属于不同机构的地域上分布的计算能力和存储工具,将为不同学科的科学实验的海量数据处理提供所需的资源,这个计划包括三个数据密集型计算应用领域:高能物理(High Energy Physics),生物和医学图像处理(Biology and Medical Image Processing)和地球观测(Earth Observation)。Data Grid是一个为e-Science提供数据解决方案的系统框架。对数据库相关的网格研究刚刚起步,代表性项目有:欧盟的数据网格Work Package 2和全球网格论坛(GGF)下属的DAIS研究组。数据网格work package2是数据网格(Data Grid)的后续工作,主要目标是为关系型DBMS提供包括数据发现、副本管理、工作流优化在内的网格应用服务接口,将其并入数据网格。SpitFires是该项目开发的一个演示系统,提供了一个DBMS的网格服务,该服务能够将网格应用客户端发送的HTTP查询请求转换成JDBC请求传递给关系型DBMS,然后将表单查询结果以XML的形式输出到客户端。DAIS研究组的全称为Data Access and Integration Service Research Group。DIAS研究将网格上的数据资源(包括文件系统和各种类型数据库)用一层统一的虚拟服务进行封装,在资源抽象成服务的基础上提供各种协同功能服务,包括发现服务、模式管理、副本管理等。

我国科技界自20世纪90年代中后期。就开始密切关注国外相关领域的动向,并及时开展跟踪研究。国防科技大学计算机学院基于元计算和网格计算技术的研究,提出了集成网络上各种信息资源、计算资源和仪器设备等的网络聚合计算环境,为用户提供有效便捷的信息服务、计算服务和决策支持服务。中科院计算所的织女星(VEGA)网格计划强调“服务网格”的思想,其不仅面向科学计算,还提供消息、邮件、内容、交易、计算等服务。织女星信息网格(Vega Information Grid, Vega-IG)是织女星网格研究计划的一个组成部分。它的目的是在数据库技术、因特网技术、网格技术、万维网服务等技术的基础上,研究信息网格的机制和体系结构,进而指导信息网格系统及应用的开发。王意洁等(2002)从应用需求出发,分析了数据网格的基本目标:命名透明性、定位透明性、协议透明性和时间的透明性,以及数据网格提供的基本服务:目录服务、注册与发布、信息发现、存储资源代理服务、身份认证服务与访问控制、调度和方法执行等,深入研究了数据网格的关键技术:元数据目录和存储资源代理,介绍了一个海量信息处理系统的设计。徐志伟等(2002)认为利用网格技术实现信息共享、管理和服务的系统通称为信息网格,与信息网格相关的研究包括数据网格和企业信息平台等;并描述了织女星信息网格的设计思想、框架和体系结构、提出了信息网格面向行为的时空模型以及构成该模型的4个正交概念和相关的推导概念;阐述了如何利用这些技术解决信息的表示、组织、获取、显示、管理和处理中遇到的关键问题。H. Zhuge等(2002)建立了一个服务网格模型,使用户能在网络上组织和准确识别服务。该服务网格模型是一个三维的服务空间(服务目录、服务等级和服务位置),其中前2个定义了服务的区域,第3个定义了存储服务的地方。服务目录是服务功能的分类,服务等级从低到高分别是系统级,中间件级,应用界面(API)级和应用级。

网格的根本特征并不是它的规模,而是资源共享,消除资源孤岛。这种开放透明地共享资源模式决定了网格与地理信息系统结合的必然性(李德仁等,2003; 夏曙东,2002;孙九林,2002)。不同的学者主要是从不同的侧面来探讨网格技术在地理信息领域中的应用。

陈述彭等(2002)认为要重新认识网格地图,抓住网格计算的发展机遇,开拓地理信息的应用新领域,加强空间分析与知识发现的能力。骆剑承等(2002)采用中间件技术,提出了网格GIS的完整组织体系与结构设计,并分别根据空间数据组织、空间信息处理与分析以及空间交融等3个方面的技术实现进行了相应的论述。方金云等(2002)提出网格GIS体系结构模型,包括数据服务器、数据中间件、应用服务器、应用桥、客户端,各层都具有完整独立的应用逻辑,并通过标准接口实现相邻层次之间的数据交换。王铮等(2003)提出的网格GIS体系架构模型,包括网格GIS基础设施、安全机制、核心GIS中间件、GIS用户层次中间件、网格GIS发展环境与工具和网格GIS应用等6个层次。任建武(2003)研究并设计了基于中间件的GRID GIS框架体系结构。李德仁等(2003)针对网格对GIS提出的挑战,提出了一种既能适合网格计算环境又充分考虑到地球空间的自然特征和社会属性的差异性及社会经济发展不平衡的特点的空间信息表示方法——空间信息多级网格(Spatial Information Multi-Grid:SIMG)。

网格环境下空间数据组织与管理的研究重点不在于如何提高GIS空间数据库本身的性能或功能问题,而在于如何基于现有的GIS空间数据库,将GIS空间数据库作为基本的数据管理单元并入网格计算环境,形成空间数据网格与空间信息网格,使其能够被网格应用有序地访问和协同地调用,即如何建立GIS空间数据库资源在网格上的共享规则。

空间数据网格是利用网格技术、空间信息基础设施、空间信息网络协议规范,形成一个虚拟的空间信息管理与处理环境,将地理上分布、异构的各种设备与系统进行集成,是实现空间信息和资源共享,为用户提供一体化的空间信息服务的智能化信息平台(陈广学等,2005)。它是实现空间数据资源有机集聚与全面连通的核心与基础。空间数据网格与“分布式空间数据库”不是一个概念,空间数据网格的数据库虽然也具有地理上分布以及跨平台等特点,但它们要么具有一致的开放结构(语义、数据结构与存储格式),要么具有标准的网格接口。不像传统的分布式数据库,具有异构、异态、自封闭甚至异质等致命缺点,它们必须经过面向网格的改造与整合,建立标准的网格接口才能成为空间数据网格的结点。空间数据网格为GIS所需要的海量数据的存储、管理、共享与应用提供了方便与可能。

空间信息网格是一种汇集和共享空间信息资源,进行一体化组织与处理,具有按需服务能力的空间信息基础设施,它提供一体化的空间信息获取、处理与应用服务的基本技术框架,以及智能化的空间信息处理平台和应用环境,从而为解决信息资源的全面共享和实现空间信息的按需服务提供了技术支撑(刘经南等,2004)。空间信息网格的研究重点是如何消除信息孤岛和知识孤岛,实现信息资源和知识资源透明地共享。这种共享不是一般的文件交换与信息浏览,而是要把所有的地理信息系统连接成一个虚拟的社会组织(virtual organization),实现在动态变化环境中灵活控制的协作式信息资源共享。空间信息网格与WebGIS最大的区别是一体化,即用户看到的不是数不清的门类繁多的网站,而是单一的入口和单一系统映像。一个用户需要查询某一方面的地理信息数据,不必知道有哪些数据供应商或数据生产者,只需通过空间信息网格提供的元数据信息库进行最简单的查询,即可找到用户需要的地理信息数据。数据的查询检索对用户是透明的,只要查询请求的格式符合系统要求,经过网格计算,就可从空间信息网格中轻松获取所需要的数据。

基于GML的空间数据组织与管理

Posted on 11月 6th, 2007 in GIS | No Comments »

GML技术作为W3C组织的国际标准具有很强的生命力,已经逐步成为网络应用中空间数据传输、交换的新标准。它对网络空间数据组织管理产生的影响主要有以下几个方面:

(1)对空间数据的结构化编码。目前,由W3C制定的SVG、VML、X3D标准草案,定义了如何在Web上显示二维、三维矢量图形。如果采用这个标准来生成地图的矢量数据,客户端的浏览器就可以直接显示。XML带来的优点是文档本身包含了对地理实体的结构化描述信息。这样,客户端就可以自动地提取其中的数据并按照要求处理。从而简化了处理的复杂性。

(2)空间数据的显示样式编码。参照XSL,可以制定专用于地图显示的样式单(Map Style Sheet),根据它来形成最终地图的显示效果,这样就把空间数据本身和对空间数据的表现分开来处理,从而简化考虑问题的复杂性。

(3)不同空间数据库中相关数据的动态和多重链接。XLink支持的多重链接和动态链接,可以在不同的空间数据库之间维护相关空间数据的动态变化。这样,在一个拥有全球数据的小比例尺空间数据库和另一个拥有较大比例尺的区域数据库之间,可以维护动态的相互链接。从而,建立动态、分布的地理数据集。

目前,已经有了很多的地理信息编码标准包括COGIF、MDIFF、SAIF、DLG、GDF、SDTS等等,从某些方面来讲,GML和它们没有什么差别。GML是一个简单的基于文本的地理特征编码标准,是基于OGC创建的公共地理模型(OGC抽象规范)基础上的,已经被大多数的GIS开发商所接受并得到进一步的开发。最重要的是,GML可以与其它语言如Java、C++结合在一起有效地进行地理行为(geographic behavior)的传送,通过XSLT或者其它任何开发语言(VB, VBScript, Java, C++, JavaScript)等等,可以很容易的将GML从一种形式转换为另一种形式(Chuangrong Zhang,2003)。

周文生等(2004)从地理空间数据实体的分类和地理空间数据的组织两个方面对Web环境下地理空间数据模型进行研究。考虑Web环境下地理空间数据表达的需要,将空间实体根据其几何形态划分为5种类型,即点状实体、线状实体、面状实体、注记体和栅格体,并认为GML是对地理要素进行表达的最理想的方法。同时考虑到Web环境的特殊性,地理空间数据组织应采用简单的数据结构,同时现有的地理空间数据采用的多是分层模式,因此提出了采用分区、分层的数据组织、管理模式。但是由于GML只有对地理特征的表达,而没有图层的概念,因此在GML的基础上增加了图层元素,以便对分布式异构地理数据采用GML来进行表达以及分区分层组织。

对于GML数据的组织,目前绝大多数系统都是以GML文档的形式进行(傅大勇,2002;余旭,2003;周文生,2004;袁梅,2004;Zhong-Ren Peng et al,2004)。现在越来越多数据库提供了对GML的支持,未来的主流数据库可以直接存储与交互查询GML数据(王继周等2004)。对GML空间数据的存储管理研究较少。Corcoles等(2001,2002)对GML空间数据在三种关系数据库中的存储和查询性能进行了比较,提出了基于SQL 的GML空间查询语言。Vatsavai等(2002)比较了几种XML查询语言,并提出了对XQuery语言进行扩展以支持GML查询的设想,但文中并没有涉及如何实现等更深层次的问题。兰小机等 (2005年)提出了利用本原XML 数据库技术来存储管理GML 空间数据。

基于空间数据库的空间数据管理

Posted on 11月 6th, 2007 in GIS | No Comments »

GIS空间数据管理已经走出了文件管理的模式(龚健雅,2004)。最初的GIS 软件一般采用文件方法管理矢量图形数据,利用关系数据库管理系统管理属性数据。目前主要的GIS软件都采用了商用关系数据库管理系统同时管理图形和属性数据。如SuperMAP、MapGIS、Geostar 、ArcGIS、Geomedia等。利用商用关系数据库管理系统管理空间数据存在两种模式,一种是GIS软件商在纯关系数据库管理系统基础上,开发一个空间数据管理的引擎,利用关系数据库提供的Blob字段存贮二进制的坐标数据,一个空间对象存为一条记录,一部分是定长字段存贮属性数据,一部分是变长字段Blob存贮矢量图形数据。存贮Blob字段的二进制坐标数据是一个黑箱,具体的数据结构和解释由各GIS软件解决。这样不同的GIS软件虽然都采用同一个关系数据库管理系统管理图形和属性数据,但是,不同软件之间数据还是不能进行共享和互操作(龚健雅,2004)。利用关系数据库管理系统管理空间数据的另一种模式是直接采用关系数据库厂商提供的空间数据管理引擎。如Oracle、DB2、Informix、Ingres等都有自己的空间数据管理模块,它的基本原理与前面类似。用Blob字段存贮空间目标的坐标,用四叉树或R树建立空间索引。关系数据库厂商开发了空间数据管理的插件,无疑给GIS软件商带来了福音。GIS软件可直接调用空间数据管理函数进行数据管理,这样一方面减少了开发工作量,保证了系统的稳定性和空间数据的共享性,不同的GIS软件采用同一个空间数据库管理系统原理上说可以进行实时共享和互操作;另一个方面,数据库厂商技术实力雄厚,开发的空间数据管理模块效率高,而且能跟随数据库主流技术同步发展。目前,矢量图形数据与属性数据的管理问题已基本得到解决(龚健雅,2004)。

近些年来,随着计算机软硬件技术、数据库技术、网络技术、多媒体技术、客户/服务器技术的迅速发展,以及GIS的深入推广应用,空间数据管理的矛盾已经不仅仅是在空间数据管理采用何种方式上,更重要的是空间数据库之间的协作问题。由于地理数据的分布性特点,给数据的统一应用和协同管理带来了一定的问题。因此分布式空间数据库,联邦数据库(李俊等,2001;Gong jianya et al,2004)和空间数据仓库等策略和技术纷纷提出,用以解决与此相关的问题。

李宏伟等(2003)认为采用C/S和B/S的混合体系结构对地理空间信息进行一体化存储和管理是一个明智的选择。通过C/S实现地理信息的分布式存储和管理,建立一个逻辑数据库,统一协调和管理各个不同地域的物理数据库。胡金星等(2003)基于面向实体及其关系的数据模型,参照OpenGIS规范,对空间数据按照简单对象集、拓扑对象集、复合对象集、域对象集进行数据组织。在对关系型、对象关系型空间数据库的实现技术进行深入剖析的基础上,应用各种数据库的专用开发接口技术,基于元数据管理实现对多源、异构、分布式空间数据库的集成管理。陆锋等(2002)认为在空间数据组织上,面向实体空间数据模型是数据模型发展的必然趋势;在空间数据存储上:现在的GIS软件朝集成结构的空间数据库技术方向发展,将空间数据和属性数据全部存在数据库中。宋海朝等(2004)设计了一个分布式空间数据库的体系结构,提出了一个两级空间数据查询描述规范,并对分布式查询进行了设计,该设计与GIS应用和空间数据的特点相结合,具有较高的可靠性和效率。叶圣涛等(2005)提出了基于三层构架的分布式空间数据库体系结构。这三层分别是:本地空间数据模型层、统一的空间元数据模型层和统一的全局空间数据模型层。把这种体系结构用于广东省水资源规划信息管理系统,用于管理分布式的水资源规划信息。杜小平等(2004)提出了基于Oracle复制的分布式空间数据存储和管理的体系结构及其实现方法,可以将异地配置的若干个空间数据存储站点链接起来,实现不同站点之间空间数据库的透明连接,很好地解决了多源数据综合管理技术、数据服务器之间空间数据的动态同步、空间数据备份与故障恢复等一系列技术问题,有效地减轻了海量空间数据对网络的压力,更好地满足多用户应用复杂的要求。王启明等(2001)对可持续发展信息网络体系结构、多元异构数据库的集成、可持续发展信息多站点综合分析与分布式计算等信息共享关键技术进行深入研究。龚健雅等(2004)提出的邦联数据库(Federated Database)的概念有别于分布式数据库和数据仓库。除了包含分布式的概念以外,它还指异构数据库和空间数据的多比例尺数据库。

Web Service的定义

Posted on 11月 6th, 2007 in GIS | No Comments »

Web服务(Web Service)是近年内兴起的另一种基于Internet的技术,在近几年受到了极大的关注(陈博等,2002;岳小婷等,2003;Ambroszkiewicz, S. et al,2002;Werner Vogels,2003)。有些文献甚至认为该技术的出现标志着人类已经迈入应用程序开发技术的新纪元,它使得Internet不仅是传输数据的平台,也变成了传递服务的平台。

简单的说,一个Web服务(图 2‑4)就是一个能够使用XML消息通过网络来访问的接口,这个接口描述了一组可访问的操作。一个Web服务的特征是:由SOAP和WSDL包装的对象;适应松散耦合的网络环境,可通过Web服务,手段是SOAP消息;服务的行为、输入、输出都可以使用WSDL描述。

clip_image002

图 2‑4 Web服务示意图

Fig 2-4 the Sketch Map of Web Service

Web 服务可以从多个角度来描述。从技术方面讲,一个Web Services是可以被URI识别的应用软件,其接口和绑定由XML描述和发现,并可与其他基于XML消息的应用程序交互(Castro,2004;杨涛等,2004);Web 服务是基于XML的、采用SOAP 协议的一种软件互操作的基础设施(廖军等,2004)。从功能角度讲,Web Service是一种新型的Web应用程序,具有自包含、自描述以及模块化的特点,可以通过Web发布、查找和调用实现网络调用(Tsalgatidou etal, 2002;杨涛等,2004)。Web服务是基于TCP/IP、HTTP、XML等规范而定义,具备如下功能:Web上链接文档的浏览、事务的自动调用、服务的动态发现和发布(TSur S,2001)。从应用的层面来说,Web服务是用于集成应用的,将原有的面向对象、面向组件的软件系统改造为基于消息面向服务的松散耦合系统或者构建新的松散耦合系统的一种协作设施(廖军等,2004)。从组成框架及实现目标的角度讲,Web服务作为一种网络操作,能够利用标准的Web协议及接口进行应用间的交互(W3C,2002)。从网格计算(grid computing)的角度看,Web服务能用于Web上的资源发现、数据管理及网格计算平台上异构系统的协同设计,提出了网格服务的新概念(Globus OGSA)。

目前,对Web Service的概念并没有一个严格的定义,不同的组织和部门对Web Service的定义都有微小的差异。

关于Web Service 的定义,有几种不同的描述:

  • 国际标准化组织W3C :Web Service 是一个通过URL 识别的软件应用程序,其界面及绑定能用XML 文档来定义、描述和发现,使用基于Internet 协议上的消息传递方式与其他应用程序进行直接交互。
  • Microsoft :Web Service 是为其它应用提供数据和服务的应用逻辑单元,应用程序通过标准的Web 协议和数据格式获得Web Service,如HTTP 、XML 和SOAP 等,每个Web Service 的实现是完全独立的。Web Service 具有基于组件的开发和Web 开发两者的优点,是Microsoft 的.Net 程序设计模式的核心。
  • IBM认为,Web服务是一种自包含、自解释、模块化的应用程序,能够被发布、定位、并且从Web上的任何位置进行调用。Web服务可以执行从简单的请求到错综复杂的商业处理过程的任何功能。理论上来讲,一旦对Web服务进行了部署,其它Web服务应用程序就可以发现并调用已部署的服务。
  • 市场研究公司Forrester以一种更加开放的方法将Web Service定义为人、系统和应用之间的自动连接,这种连接能够实现将业务功能元素转变为软件服务,并且创造新的业务价值。Web Services是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。
  • Gartner将Web Service定义为:松散耦合的软件组件,这些组件动态地通过标准的网络技术与另一个组件进行交互。
  • UDDI规范中提到:所谓Web服务,它是指由企业发布的完成其特别商务需求的在线应用服务,其它公司或应用软件能够通过Internet来访问并使用这项应用服务。
  • Web Service的另外一个概念就是:所有东西都是服务,这些服务发布一个API供网络中的其它服务使用,并且封装了实现细节。

总之,Web服务是在互联网上的一种服务协议,采用XML作为基本的标记语言,SOAP(Simple Object Access Protocol)作为互操作协议,WSDL(Web Service Description Language)作为服务描述语言,通过UDDI(Universal Description Discovery & Integration)可以把服务注册到互联网以便搜索,为更多的用户使用其服务。可以看出,这些定义各有侧重,但有几点是一致的。首先,它是由企业驱动和应用驱动而产生的;其次,它具有分布性、松散藕合、可复用性、开放性以及可交互性等特性。

空间信息Web服务集成概述

Posted on 11月 5th, 2007 in GIS | No Comments »

在空间信息Web服务集成方面,国内外的研究者已提出了多种框架。黄裕霞等(2000)基于面向对象的思想,提出了三层客户/服务器结构的空间信息共享框架 。挪威测绘局等单位的DISGIS(Distributed Geographic Information Systems)提出的集成框架为空间应用开发者和空间信息提供者提供一系列模型、方法、原则和工具来定义、设计、开发空间应用系统,采用ODP标准及CORBA+COM/OLE技术实现(Gronno R. et al, 2002) 。法国Bourgonge的ISIS(Interoperable Spatial Information System)提出的基于Agent的集成框架有一个语义协调器用于支持GIS语义的互操作,能动态地解决语义冲突,使之具有透明性、灵活性和可扩充性。此外还有德国Bremen大学的BUSTER框架(Visser U.,et al,2002) 、OpenGIS的共享框架(Buehler K. , et al,1998)等。

Read the rest of this entry »

空间信息Web服务概述

Posted on 11月 4th, 2007 in GIS | No Comments »

分布式计算技术的发展,特别是Web 服务的出现,为地理信息服务的广泛共享提供了技术支撑。GIS经历从封闭、孤立式单机GIS到网络化的地理信息共享,并进一步迈向空间信息Web服务。空间信息Web服务或称地理信息服务指的是基于地理空间定位属性描述的Web服务。简单地讲, 空间信息Web服务就是处理空间信息的服务, 是空间数据服务和空间处理服务的统称 。GIS的功能与分布式计算功能联系起来,就产生了Web制图和WebGIS,进而与Web Service体系结构结合,就产生了基于Web的地理信息服务。

作为全球最大的空间信息、互操作规范的制订者和倡议者,开放式GIS协会(OGC)已经认识到在地理信息领域中引入Web 服务技术的重要性和紧迫性,对地理信息服务制定了一系列的规范,主要有矢量数据服务(Web Feature Service,WFS)、栅格数据服务(Web Coverage Service,WCS)、地图服务(Web Map Service,WMS)、发布注册服务(Web Register Service)等地理信息服务的相关规范。以上这些规范既可以作为Web 服务的空间数据服务规范,又可以作为空间数据的互操作实现规范。只要某一个GIS 软件支持这个接口,部署在本地服务器上,其他GIS 软件就可以通过这个接口得到所需要的数据。国际标准化组织ISO/TC211技术委员会在ISO 19119草案中也对地理信息服务的相关概念、标准做了规定。在ISO/TC211技术委员会和OGC组织制定地理信息服务的内涵和标准的基础上,越来越多的学者投入到地理信息Web服务研究中。

在服务模型方面,邬伦(2003)研究了一种基于Web Service分布式互操作的GIS框架,用于解决分布式GIS各系统之间的互操作问题 。罗英伟等(2003)设计了一个基于Web Service技术的、可实现城市空间信息服务集成与互操作的框架-π系统框架,系统由6个层次组成:应用层、WWW服务层、Web空间应用集成层、空间应用集成服务层、元数据服务和空间信息服务层以及空间信息库层,系统给城市空间信息应用的开发者提供了一个二次开发的平台和应用系统的基础框架,屏蔽了城市空间信息应用的分布性和GIS平台的异构性,整个系统贯穿Web Service的概念,使系统具有良好的开放性,为支持其它GIS平台和空间信息服务提供基础 。韩立森等(2004)阐述了Web服务技术,研究了OGC的空间信息Web服务框架和ESRI提出了的全新的GIS体系结构g.net模式,提出了基于Web服务的GIS开发模式,并结合实例给出了在客户端进行Web服务功能函数的调用过程 。Nadine S. Alameh(2003)认为GIS技术已经从传统的单机系统模型演变成一个基于独立提供的、特定的、互操作GIS Web服务的分布式模型,针对传统GIS模型不能满足Internet环境下人们对分布的地理信息数据共享及互操作的需求,一个典型的GIS应用需要集成多个GIS和非GIS的Web服务,提出一种可扩展的GIS模型,将分布的地理信息服务动态构建成服务链以满足用户需求 。

在服务应用方面,Liping Di(2001)基于OGC提出的WCS开发IPODAS(Interoperable,Personalized,On-demand Geospatial Data Access and Services)系统,实现了多源遥感数据的互操作 。马林兵(2003)提出了一个基于可重用Web Service技术在全球范围内解决GIS数据集成和共享问题的新方法,并应用于城市交通管理信息系统中 。2001年10月,芬兰启动NAVI项目,旨在管理基于位置服务的活动,提高国内个人导航服务的水平。其中芬兰测绘局采用OGC制定的标准地理信息服务规范开发了一个空间数据和地图服务系统-NAVImap,成功实现了网络管理分布在各个定位服务上的信息(Lassi Lehto,2002) 。目前,我国适应全球信息化建设的发展趋势,也启动一系列的以“数字省”、“数字城市”为核心和目标的信息化工程。国家科技部于2002年做出了加强科技基础条件平台建设的战略部署,推动实施了“科学数据共享”项目,旨在形成国家科学数据共享服务体系,实现跨地区、跨学科、跨部门的分布式科学数据共享,避免国家在数据资源建设方面投资的巨大浪费,为提升我国科技创新能力发挥重大的作用。