什么是GML? GML:地理信息管理的飞跃
GML是XML在地理空间信息领域的应用。利用GML可以存储和发布各种特征的地理信息,并控制地理信息在Web浏览器中的显示。
地理空间互联网络作为全球信息基础架构的一部分,已成为Internet上技术 追踪的热点。许多公司和相关研究机构通过Web将众多的地理信息源集成在一起,向用户提供各种层次的应用服务,同时支持本地数据的开发和管理。GML可以 在地理空间Web领域完成了同样的任务。GML技术的出现是地理空间数据管理方法的一次飞跃。
GML的由来
GML (Geography Markup Language)即地理标识语言,它由OGC(开放式地理信息系统协会)于1999年提出,并得到了许多公司的大力支持,如Oracle、 Galdos、MapInfo、CubeWerx等。GML能够表示地理空间对象的空间数据和非空间属性数据。
2000年5月,OGC推出了基于XML DTD (Document Type Definitions,文档类型定义)和RDF(Resource Description Frameworks,资源描述框架)的GML 1.0版。2001年2月,OGC又推出了完全基于XML Schema 的GML 2.0版。2003年2月,GML 3.0版正式发布。
OGC推出GML的目的如下:
◆ 提供适用于Internet环境的空间信息编码方式,用于数据传输和存储;
◆ 能够扩展,用以支持对空间信息的多样化需求,不管是用于对空间信息的单纯描述,还是进行更深层次的分析使用;
◆ 以一种可扩展和标准化的方式为基于Web的GIS建立良好的基础;
◆ 允许对地理空间数据进行高效率编码;
◆ 提供了一种容易理解的空间信息和空间关联的编码方式;
◆ 实现空间和非空间数据的内容和表现形式的分离;
◆ 易于将空间信息和非空间信息进行整合;
◆ 易于将空间几何元素与其它空间或非空间元素连结起来;
◆ 提供一系列公共地理建模对象,从而使各自独立开发的应用之间互操作成为可能。
GML为网络时代的地理空间Web领域提供了一种“开放式”的标准,它的出发点是空间数据编码,包括分布式空间数据的编码。
GML的组成
在介绍GML组成之前,首先需要说明一下什么是地理空间特征 (Geographic Feature)。地理空间特征是对真实世界现象的一种抽象,当这种抽象与某一地理位置相关时,就表现为地理空间特征。现实世界的数字化表示构成了一个特 征集,特征由其属性说明,属性由一个三元组(属性名、属性类型、属性值)表示,特征的定义给出了属性的个数和每个属性的名字和类型。概括地讲,地理空间特 征就是拥有地理空间位置属性的特征。多种特征合并在一起形成一个“特征集”(Feature Collection),特征集也可以当作单个特征使用,并且也有自己的属性。
GML目前已推出了三个版本,其中1.0版和2.0版的组成和实现方式存在较大差异,而3.0版几乎完全和2.0版兼容。下面将对这三个版本进行粗略比较。
◆ GML 1.0
GML 1.0版是基于XML DTD和RDF,这是一种虽然笨拙但很有用的结合。DTD历史悠久并被广泛采用,但是不支持类型继承、基本语义模型和名字空间。RDF则较少使用,却支持名字空间、分布式Schema的综合、类型继承和一个简单的语义模型。
GML 1.0版以下面三个Profile的形式发布。
Profile 1:适用于单纯基于DTD的解决方案,而不准备开发自己的应用DTD,或期望获得的数据依赖于已有的DTD集的情况。Profile 1需要用到GML特征和GML几何DTD。
Profile 2:适用于单纯基于DTD的解决方案,但准备开发自己的应用DTD,或期望获得用参考DTD编码的数据情况。Profile 2要求使用者利用GML的几何DTD创建一个专用的特征DTD。
Profile 3:适用于那些准备使用RDF和RDF Schema的开发者。这些开发者需要对地理空间类型结构有更强控制。Profile 3要求使用者利用GML RDF Schema的定义创建一个专用的RDF Schema说明,同时也允许用户使用以某种方式从RDF Schema导出的DTD或DTD元素。
◆ GML 2.0
GML 2.0版本则完全基于XML Schema,较之1.0版是一个很大的进步。近年来,XML Schema已发展得非常成熟,它同时支持名字空间、分布式Schema的综合、类型继承,并已出现大量支持XML Schema的工具和解译器。因此,GML 2.0版能够享受Schema带来的好处,使GML技术更加灵活,越来越多的用户已开始使用GML 2.0版。
GML 2.0提供了以下三个基本XML Schema,任何基于GML的应用都在这三个Schema的基础上进行扩展。
geometry.xsd提供了详细的基本空间几何组件定义。GML的Geometry Schema既包含了用于抽象几何元素和具体点、线、多边形空间几何元素的类型定义,也包含了用于基础地物类型的复杂类型定义。
feature.xsd定义了基本的地物特征/属性模型。GML以地物特征(Ferture)为描述空间地理数据的基本单位,而地物特征又由非空间属性和空间属性组成。
xlinks.xsd提供了用于实现链接功能的XLink属性。该Schema中定义了前两个基本Schema中要用到的链接属性。通过这些链接属性,GML能够将位于不同数据源的地物特征,通过链接的方式组织在一个文件中。
上述三个Schema文档并不适于单独使用。它们互相配合,为GML的扩展应用提供了基本类型和结构。其中geometry.xsd和feature.xsd都属于GML名字空间,xlinks.xsd则属于XLink名字空间。
GML的三个基础Schema实际上提供了一套基础类。通过它们,用户可以声明或定义自己的类型,用以命名和区分重要的地物特征和地物集合特征。
◆ GML 3.0
GML 3.0版是对GML 2.0版的扩充,并且向后兼容。Schema集合的组织具有了模块化特点,即用户能够有选择地使用所需部分,减化和缩小了执行的尺寸,提供了面向WEB应 用、基于对象的地理数据描述语言。此外,3.0版增加了对复杂的几何实体、拓扑、空间参照系统、元数据、时间特征和动态数据等的支持,使其更加适合描述现 实世界问题,如基于位置服务的行程安排和高速公路设计等。
GML 3.0版新增的主要特性包括:
◆ 增加了复杂的空间几何元素,如曲线、表面、实体等,允许使用几何元素集合;
◆ 支持拓扑的存储,可表示定向的节点、边、面和三维实体;
◆ 引入了空间参照系统,给出了描述空间系统的框架,并预定义很多公用方案;
◆ 提供建立元数据与特征(属性)间联系的易于扩充的框架机制;
◆ 增加了时间特征和描述移动物体的能力,具有标准的年、月、日、时、分、秒模式和位置、速度、方位、加速度等动态特征。
◆ GML的扩展机制
GML作为一个“开放的”标准,并没有强制采用它的用户使用确定的XML标识, 而是提供了一套基本的几何对象tag、公共的数据模型,以及采用自建和共享应用Schema的机制。所有兼容GML的系统,必须使用GML提供的几何地物 tag来表示地物特征的几何属性,但可以通过限制、扩展等机制来创建自己的应用Schema。
目前,越来越多的公司和研究机构开始采用GML语言开发它们的地理空间信息应 用。GML语言本身也在不断发展和完善中,最新推出的GML 3.0版本在空间数据编码和传输、地理对象描述等方面做出了诸多改进。相信在GML等技术的推动下,地理空间Web将日臻成熟,继而在全球推广开来。
相关链接
关于可扩展标识语言XML及前面提到的相关的概念,如DTD、Schema、XSL等,请参见我刊于2003年12月15日出版的第47期中《技术导航》栏目刊登的文章《XML:下一代网络的基石》。
OGC (OpenGIS Consortium,开放式地理信息系统协会)是由240多个公司、政府机构和大学组成的国际行业协会。它的目标和任务是增强空间信息和位置技术的互操 作性,制定空间界面规范。OpenGIS,意即“开放式地理信息系统”。OpenGIS的目的是提供一套具有开放界面规范的通用组件,开发者根据这些规范 开发出交互式组件,这些组件可以实现不同种类地理数据和地理处理方法间的透明访问。
评论
查看更多