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的目的是提供一套具有开放界面规范的通用组件,开发者根据这些规范开发出交互式组件,这些组件可以实现不同种类地理数据和地理处理方法间的透明访问。
分享到:
相关推荐
在IT领域,特别是数据分析和经济效率评估中,GML指数(Global Malmquist-Luenberger Index)和ML指数(Malmquist-Luenberger Index)是常用的技术进步和生产效率变化的测量工具。这两个指数源于Malmquist指数,由...
GML(Granger-Morgenstern Likelihood)指数和ML(Maximum Likelihood)指数是经济学与金融学领域中用于衡量时间序列数据间关系强度的统计工具。这些指数主要用于检验两个或多个时间序列之间是否存在因果关系,是...
在IT领域,特别是数据分析和经济效率评估中,GML(Global Malmquist-Luenberger)指数和ML(Malmquist-Luenberger)指数是衡量生产效率变化的重要工具。这两个概念源于Malmquist指数,最初由瑞典经济学家Richard C. ...
标题中的"GML.rar_gml"表明这是一个关于GML(Geography Markup Language)的压缩文件,包含了一篇关于GML在空间数据压缩机制方面的研究文章。GML是一种基于XML的开放标准,用于描述地理空间信息,它允许用户以文本...
全套资料均为本人整理制作,包售后服务,有什么问题都可以CSDN私聊找我。 为了照顾不懂matlab的小白,本人还整理了详细的操作说明文档,从matlab安装到代码的使用步骤,均做了详细的图文说明,里面还有配套的示例...
全套资料均为本人整理制作,有什么问题都可以找我。为了照顾不懂matlab的小白,本人还整理了详细的操作说明文档,从matlab安装到代码的使用步骤,均做了详细的图文说明,里面还有配套的示例数据,可跟着说明整体跑一...
283个地级市绿色全要素生产率GTFP年度数据(2006-2019),采用了四种GML指数测算方法,分别是EBM-GML、SBM-GML 、GML-DDF 、SBM-DDF。并且均分解为了EC、TC。 说明:此数据均为本人整理并测算,是本人论文写作用到的...
《gml2pajek:gml到pajek网络格式转换详解》 在数据分析和网络可视化领域,数据格式的转换至关重要。本文将详细介绍一种工具——gml2pajek,它能将gml(Graph Modeling Language)格式的数据转换为pajek(一个流行...
GML,全称为Geography Markup Language,是一种基于XML(Extensible Markup Language)的标准,用于描述地理空间数据。在IT行业中,尤其是地理信息系统(GIS)领域,GML扮演着至关重要的角色,因为它允许开发者以...
根据提供的文件信息,我们可以深入探讨GML 3.0(Geography Markup Language)的相关知识点。 ### GML 3.0 概述 GML 3.0 是一种用于表示地理信息的标准格式,由国际标准化组织 (ISO) 和 Open Geospatial Consortium...
GML,全称为 Geography Markup Language,是一种用于地理信息系统的XML(eXtensible Markup Language)方言,主要用于描述地理空间数据。在本主题中,“gml显示地图数据”指的是如何使用GML来展示和处理地图信息。...
实现Shapefile格式数据到GML格式数据的转换过程可分为两个大步骤,一是依据Shapefile数据文档资料获取数据,二是依据GML标准构建GML格式数据。
标题 "GML样本数据 states" 指向的是一个与地理标记语言(Geography Markup Language,简称GML)相关的样本数据集,其中包含了名为 "states" 的地理信息。描述中的 "states.xml states.xsd" 表明这个样本数据集由两...
在GIS(地理信息系统)领域,数据的存储和交换经常涉及到各种不同的格式,其中GML(Geography Markup Language)是一种常见的矢量数据交换标准。GML是基于XML(Extensible Markup Language)的,允许复杂的空间数据...
标题:GML3.0 描述:GML3.0规范,地理信息系统的开发规范 在深入探讨GML3.0之前,我们首先需要理解GML(Geography Markup Language)的基本概念。GML是一种用于存储和传输地理空间数据的标准格式,它基于XML...
Chat GML,全称为Chat Game Markup Language,是一种专为游戏聊天和交互设计的标记语言。它允许开发者创建丰富、动态的对话系统,为玩家提供更真实、沉浸式的游戏体验。在游戏开发中,一个有效的Chat GML调用文件是...
根据给定文件的信息,我们可以深入探讨“GML3.0标准中文版”的核心知识点,这是一份由开放地理信息系统联盟(Open Geospatial Consortium, OGC)发布的文档,旨在规范地理标记语言(Geography Markup Language, GML...
GML(Geometric Modeling Language)C++相机标定源代码提供了一种实现这一过程的方法。在本篇中,我们将深入探讨相机标定的重要性、原理、GML C++实现的细节以及相关的技术背景。 相机标定的主要目标是建立摄像头的...
### GML2说明文档知识点概览 #### GML的基本概念 - **定义**:GML (Geography Markup Language),即地理标识语言,是由开放式地理信息系统协会(OGC)提出的一种XML编码标准,用于地理信息的传输与存储。GML不仅...