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的目的是提供一套具有开放界面规范的通用组件,开发者根据这些规范开发出交互式组件,这些组件可以实现不同种类地理数据和地理处理方法间的透明访问。

<script type="text/javascript"> google_ad_client = "pub-8112432724706407"; google_ad_width = 728; google_ad_height = 90; google_ad_format = "728x90_as"; google_ad_type = "text_image"; google_ad_channel = ""; </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

GML:地理信息管理的飞跃相关推荐

  1. 地理信息系统专业考研 GIS专业考研 名词解释大全[转]

    转载:http://www.cnblogs.com/sunliming/archive/2010/05/28/1746047.html 地理信息系统专业考研 GIS专业考研 名词解释大全 1.    ...

  2. 地理信息系统专业考研 GIS专业考研 名词解释大全

    地理信息系统专业考研 GIS专业考研 名词解释大全(自己考研时候搜集的..晒出来) 1.    地理信息系统(南大95.南大96.南大03.中科院03.中科院04.华东师00.中南03.浙大99)GI ...

  3. GIS是个什么鬼,真的开眼了。感谢好学生的奉献。

    1.      地理信息系统(南大95.南大96.南大03.中科院03.中科院04.华东师00.中南03.浙大99)GIS作为信息技术的一种,是以计算机技术为依托,以具有空间内涵的地理数据为处理对象, ...

  4. 转载中国地理信息产业现状、问题与出路分析

    转载他人观点,不代表本人看法.文中确有切中时弊之处.业内人士可以一观. 中国地理信息产业现状.问题与出路分析 2015-06-27 panda 地理信息产业信息咨询 0.引言 仅仅还在十几年前,如果你 ...

  5. 关于地理信息系统(GIS)的几个问题

    进入21 世纪以后,地理信息系统主要的基础理论和技术研究热点有了新的变化, 代表了地理信息系统研究的新进展,主要归纳如下: 3.1 稳定.快速的GIS 数据采集和数据更新体系    GIS 数据的来源 ...

  6. Android之解析GML并显示

    本例主要实现在APP中解析GML数据并显示 GML,地理标记语言(外语全称:Geography MarkupLanguage.外语缩写:GML),它由开放式地理信息系统协会(外语缩写:OGC)于199 ...

  7. Geography Markup Language (GML)

    3. Geography Markup Language (GML) 地理注记 GML (http://www.opengeospatial.org/standards/gml) 是一种 XML 语法 ...

  8. 联合国世界地理大会的莫干山宣言

    转载自http://news.hangzhou.com.cn/zjnews/content/2018-11/22/content_7102275.htm 浙江在线德清11月21日讯(浙江在线记者 黄云 ...

  9. 智能网联汽车高精地图白皮书(2020)

    1. 前言 高精地图的发展与智慧交通.智能网联汽车紧密相关,从智能网联汽车上路伊始,高精地图产业就应势而生并飞速发展.相对于以往的导航地图,高精地图是智能网联汽车交通的共性基础技术,其服务的对象并非仅 ...

最新文章

  1. mysql 5.6.29编译安装_MySQL-5.6.29源码编译安装记录
  2. mysql 断电 启动不了 start: Job failed to start
  3. 全球及中国氮肥产业营销趋势与十四五消费规模研究报告2022版
  4. 解决ORA-15097 Cannot shutdown ASM if OCR is Located in ASM
  5. python计算余弦距离_在Python中计算余弦距离的优化方法
  6. HDOJ1166 敌兵布阵【线段树】
  7. MOS管及MOS管的驱动电路设计
  8. 集成学习(一)——随机森林以及GBDT
  9. 终止正在运行的VBS脚本
  10. CSS3实现轮播图效果
  11. NVIDIA英伟达控制面板打不开解决办法win10
  12. 秩和比RSR法算法C语言,秩和比法
  13. maya藤蔓插件_教你如何用Maya制作藤蔓生长路径动画
  14. 【JavaScript】为什么是script error.
  15. 长度标注神器----MarkMan
  16. 2022爱分析・智慧园区厂商全景报告 | 爱分析报告
  17. “语象观察”-爬取人民日报并统计词频
  18. 45、优惠券秒杀(实现一人一单)
  19. iPhone 13 不带 Touch ID、搭载 M1X 的 Mac mini 将发布?2021 苹果秋季发布会预测
  20. coreldraw凹槽_Coreldraw教程:打造逼真静物写生

热门文章

  1. 浅析highchart
  2. 武汉星起航:第二季度亚马逊美国市场鞋类销售额达107亿美元
  3. 【毕业设计/课程设计】基于android的安卓景点旅游助手app设计与实现(源码+文章)
  4. python自然语言
  5. web-harvest 采集腾讯读书“ 小说
  6. Win10 开机输入密码后登入桌面就黑屏,只有鼠标可以移动, 打不开任务管理器,不用重装系统怎么修复?(已解决)十四个解决参考方案
  7. 计算机相关本科专业汇总,计算机专业本科毕业论文汇总.doc
  8. 基于redis 5的redis cluster 部署
  9. Python控制语句
  10. python 对二维数组赋值