华北水利水电大学资环学院论文专业:WebGIS班级:2013011学号:201301125姓名:彭程_______指导教师:李名勇GML与KML区别与联系摘要:空间数据库是当前GIS技术的一个热点,GML已经成为空间数据编码、传输、存储、发布的国际标准,而KML也已经成为一个OGC标准。以GML/KML为基础构架空间数据库,解决了传统GIS空间数据库存在的诸多问题。通过比较空间数据库管理模式,分析采用GML/KML技术建立空间数据库的优点,着重探讨GML/KML技术构建空间数据库的框架。最后通过“数字九寨沟”实例进行验证,得出结论GML和KML是进行空间数据库设计的理想技术。关键词:空间数据库GMLKMLG/S模式googleearthGoogleEarth诞生于2005年,它将地球表面的卫星图像和航拍图片结合在一起,形成全景三维的世界地图。该软件一经推出,便引起了极大的反响。GoogleEarth的主要优点是提供了全球范围的地理影像数据库,尤其是不少地区拥有了0.6m以上精度的高清影像。GoogleEarth在全球有着越来越大的影响力,但是它并没有提供足够强大的接口进行二次开发,只提供了基于XML语法格式的KML语言,通过KML将矢量数据和标记添加到GoogleEarth客户端进行显示。GML(GeographyMarkupLanguage),即地理标识语言,它由OGC于1999年提出,并得到了许多公司的大力支持,如Oracle、Galdos、MapInfo和CubeWerx等。GML能够表示地理空间对象的空间数据和非空间属性数据,可以在地理空间Web领域完成同样的任务。GML技术的出现是地理空间数据管理方法的一次飞跃。作为XML格式的标记语言,KML拥有XML的所有优点和特性。与GML专注于地理信息的结构与内容不同,KML关注于地理信息的显示和表达。KML是以位置为中心的,而GML是以要素为中心的;GML应用模式中定义的要素对象可以没有几何属性,而KML则必须有。KML是一种面向客户端设计的数据形式,它以超文本的方式标记属性数据,更便于客户端的表现。1.KML与GML1.1KML简介GoogleEarth的出现给传统GIS带来了巨大的冲击,它具有全球高清地理影像数据和较快的影像网络传输速度等优势,并且已经开始渗透到人们日常生活的许多方面,人们对GoogleEarth的关注和使用程度也越来越高,基于GoogleEarth客户端平台进行相关研究和应用的探索也越来越多。GoogleEarth提供的KML是一种基于XML语法格式的文件,通过KML文件可以用来描述和保存地理信息如点、线、图片、折线,并在GoogleEarth客户端显示。KML的全称是KeyholeMarkupLanguage,KML2.0提供以下功能:1)指定一个地点的图标和标注来区分每一个地点;2)为每一个视图指定明确的视角来创建不同的特写镜头;3)使用指定到屏幕或地理位置的图片标注;4)为特定种类的标注定义显示样式;5)为标注指定基于简单HTML语法的描述,支持超级链接和图片的显示;6)使用目录(folders)对标注进行树形的分类管理;7)基于时间戳记的标注可以用来进行动态播放;8)从本地或远程的网络地址动态地加载KML文件;9)当GoogleEarth客户端视图变化时,自动将视图信息发送给指定的源服务器并从服务器获取相关的标注信息。KML被GoogleEarth客户端显示的过程和HTML网页被网络浏览器显示的过程类似,与HTML相似,KML也使用一种基于标签(名称和属性)的语法格式来描述地理标注信息,可以说,GoogleEarthViewer是一个KML文件浏览器。1.2�GML简介GML是基于XML的地理信息的传输、存储编码,它包括空间的和非空间的地理特征和地理范畴。OGC在2000年推出了GML1.0版本的规范,目前的版本为3.2.1。GML通过特征集合(FeatureColletcion)来表示基本的地理要素,它们可以相互嵌套来表示异常丰富的空间信息。它具有如下特征:1)GML跟XML一样,它的数据和表示分离。GML使用者只需考虑使用GML描述空间数据和数据的存储、提取。2)GML可以实现空间数据的分布式存储。通过XLink和Xpointer,可以实现分布式存储。3)GML可以集成非空间数据。GML使用纯文本描述空间数据,使用XLink技术,可以方便地与使用XML描述的非空间数据集成。2�GML标记语言规范2.1GML核心模式GML最新版本3.2.1核心模式有29种,下面介绍GML的几个主要核心模式。2.1.1要素模式(FeatureSchema)要素模式用来对现实世界的基本实体进行建模,比如一条河流、一栋建筑。它包含地理实体的空间属性和非空间属性。要素模式主要通过fea-ture.xsd描述,它通过include引入了geometryBa-sic2d.xsd模式和tempora.lxsd模式。它定义了一些复杂类型(ComplexType),如FeatureArrayProperty-Type、AbstractFeatureCollectionType等。通过这些,它为创建GML要素和要素集合提供了一个框架。2.1.2几何模式(GeometrySchema)GML3.1的几何模式支持基本的点(Point)、多边形(Polygon)等几何基元及它们对应的三维几何模型,它还包括聚合类型(如MultiPoint)和复合类型(如CompositeCure)。用户在定义自己的几何类型时,一般都从这些基本类型导出。GML几何模块分为以下5个文件模块:geometryAggregates.xsd、geometryBasic0d1d.xsd、geometryBasic2d�xsd、geometry-Complexes�xsd和geometryPrimitives.xsd。2.1.3坐标参考系统模式(CoordinateReferenceSystemSchema)坐标参考系统模式定义了子类型gm:l_Refer-enceSystem和用来构造特定坐标参考系统的元素。它通过include引入了coordinateSystems.xsd、da-tums.xsd和coordinateOperations.xsd,这些模式定义了ISO19111定义的空间参考系统。2.1.4时态模式(TemporalSchema)时态模式是描述地理数据时态特征的元素,其目的是使GML能对具有运动属性的实体进行建模。它通过TimeInstant和TimePeriod这2个时态基元来描述实体的时态特征,通过DynamicFeatureType和DynamicFeatureCollectionType来定义动态实体和动态实体集。2.1.5Coverage模式(CoverageSchema)Coverage模式支持从时空领域到属性领域的地图绘制。GML3.1中的Coverage模式包括Coverage和Grids2种机制。2.2�GML应用模式建模规则使用GML模型及其模式组件,用户可以在自己的应用模式中定义其问题领域中的地理要素。用户在应用模式开发过程中,除了要遵循GML语义模型和句法规则外,还要考虑一些技术性问题。2.2.1模式的引用用户在开发自己的应用模式时,需要引用核心模式,有时需要引用已有的应用模式,为此提供了2个元素来实现模式之间的引用。当引用相同命名空间的模式时,使用include元素;当引用不同命名空间的模式时,使用import元素。2.2.2要素集的定义及元素声明应用模式的所有地理要素集必须在该模式中被声明为全局元素,即这些地理要素必须是XML模式schema元素的直接子元素。这样的全局元素的内容模型必须直接或间接地从gm:lAbstractFea-tureType(gm:lAbstractFeatureCollectionType)派生。2.2.3几何类型定义定义新的几何类型时,必须为全局XML元素,可以从基础几何类型或gm:lAbstractGeometryType导出。建议避免从gm:lAbstractGeometryType直接导出,因为这样做只能提供非常有限的信息给GML处理软件,应尽可能选择最具体的几何类型。-6结语按照平台框架设计,在项目中实现了“数字九寨沟”空间数据库系统平台的开发。系统运行环境为GoogleEarth地学浏览器,客户端空间数据管理支持矢量、栅格数据等多种类型,后台数据库系统采用Oracle9i,建立统一的数据服务器,中间层数据传递采用GML技术,平台实现了空间数据信息的整合处理,提高了旅游数据的管理效率。GML和KML都是以XML技术为基础,GML为空间数据共享提供了存储、建模、传输和交换的工具和手段,同时基于KML的GoogleEarth平台为空间数据读取显示提供了新的应用模式和解决方案。因此,GML和KML是进行空间数据库设计的理想技术。实践表明,GML在空间数据共享、互操作及空间信息集成领域有着广阔的发展前景。参考文献:[1]张志涌,徐彦琴.Matlab教程—基于6.x版本[M].北京:北京航空航天大学出版社,2001[2]刘瑞祯,谭铁牛.数字图像水印研究综述[J].通信学报,2000,21(8):39~48[3]孙圣和,陆哲明.数字水印处理技术[J].电子学报,2000,28(8):85~90[4]汪小帆,戴跃伟,茅耀辉.信息隐藏技术[M].北京:机械工业出版社,2001