文档详情

KML及其在“数字校园”中的应用实践(1)

lizhe****0920
实名认证
店铺
PDF
418.27KB
约8页
文档ID:46949429
KML及其在“数字校园”中的应用实践(1)_第1页
1/8

KML 及其在“数字校园”中的应用实践 杨 雪 黄 坚 翁敬农 (北京航空航天大学 软件学院,北京海淀区学院路 37 号 100083,yangxuer@) 摘摘 要要:KML 是由 2004 年被 Google 收购的 Keyhole 公司最初采用 XML 开发的、类似于 GML 标准的、适用于 Google Earth/Google Maps 的标准文件格式,来描述和保存地理信息并在 Google Earth 客户端中显示,比 GML 更为简单实用本文从数据元素的逻辑组织、类型定 义、样式设计、时间表达和网络共享等 5 个方面讨论了 KML 在“数字校园”数据管理中的应 用,并给出具体的实现思路和案例 关键词关键词:KML,数字校园 0. 引言引言 随着地理信息技术与网络技术的不断发展与日益结合, 不同数据源、 不同格式的地理信息的共享和集成变得越来越重要1998 年,W3C(World Wide Web Consortium,万维网联盟)制定推出的扩展标记语言(eXtened Markup Language,简称 XML)作为数据交换和网络计算的基础,提供了异构系统之间共享数据的可能,通过利用 XML 来进行地理空间数据的表达,可以实现地理空间数据表达的开放性。

1999 年,由 OGC(Open GIS Consortium,开放式地理信息系统协会)推出的地理标记语言(Geography Markup Language,简称 GML)是基于 XML 模式的、用于地理信息建模、存储和传输的标准编码GML 继承了 XML 的可扩展性和自描述性特征,易于理解,并支持对地理信息的多样化需求,适用于网络环境下地理信息的描述和传输KML 是由 2004 年被 Google 收购的 Keyhole 公司最初采用 XML开发的、类似于 GML 标准的、适用于 Google Earth/Google Maps 的标准文件格式,来描述和保存地理信息并在 Google Earth 客户端中显示,比 GML 更为简单实用[1]XML、GML、KML 正在为越来越多的 GIS 相关软件制造商所支持其中,KML 借助 Google Earth 的快速发展和广泛应用,及其本身简单但强大的功能特点,显示出强大的优势 1. KML 概述概述 KML 基于 XML 语法和文件格式, 是一种用来在地球浏览器 (例如 Google Earth、 Google Map)中显示各种地理数据的文件格式。

与 HTML 很像,KML 也具有基于标签的结构,并带有用于特殊显示用途的名称和属性 Google Earth 和 Google Maps 对 KML 文件的处理方法与 Web 浏览器对 HTML(和 XML)的处理方法基本相同因此,对于 KML 文件来说,Google Earth 即扮演着浏览器的角色 KML 采用面向对象的思想在 KML 中,一些类起源于一个基类,继承了其基类的全部元素,并添加了一些其自身的特殊元素,如图 1 所示这是面向对象系统的常用技术随着应用的不断推动,KML 的发展很快截至目前,KML 已先后推出了 KML1.0、KML2.0、KML2.1 以及最新版本 KML2.2, 与之前版本相比, KMl2.2 的功能更加丰富, 性能更加完善 图 1 KML2.2 元素内部的继承关系图 (摘自 KML 的基本功能主要包括:指定图标和标签,以识别地球表面的特定地点;创建不同的照相机位置, 以为每个用户要素定义其独特的观察视角; 使用附在地面或屏幕上的图像叠加;定义样式以指定要素外观;编写要素的 HTML 描述,包括超链接和嵌入式图片;使用folders 实现要素的层次化分组; 从远程或本地网络地址动态获得和更新 KML 文件; 获得 3D视图中基于变化的 KML 数据;显示 COLLADA 组织结构的 3D 物体,等等[2]。

与 XML 的特点相同,KML 格式的文件比较大KMZ 文件是一种经过 ZIP 压缩过的KML 文件,KML 文件及其相关的图片文件、3D 模型文件等可以被压缩到一个 KMZ 文件中去 2. 基于基于 KML 的的“数字校园数字校园”应用应用 在 Google Earth 推出之前,我们也利用其它平台在“数字校园”数据管理方面做过类似尝试但受当时的技术限制,实践结果在数据的显示形式、表现效果、三维模型支持、用户操作等许多方面都存在一些不足随着 Google Earth 的推出及其所使用的核心语言 KML 的不断完善,现在,利用 KML 可以很好地解决以上问题 2.1. “数字校园数字校园”中的地理空间数据中的地理空间数据 “数字校园”建设可以涉及的内容很多很广,这里特指“数字校园”中地理空间数据的建设校园地理空间数据具有来源广、种类多、内容相对简单等特点,按照实际用途大致可分为如下种类: 基本地理空间要素包括:各种基础建筑(包括:教室、图书馆、实验室、办公楼、食堂餐厅、学生宿舍、家属社区等) 、道路、校门等基本要素;还有医院、商店、邮政局、银行、公共亭、旅店、水房、浴池等服务设施;以及各种地下管线、安防设施(消防栓、监控摄像头等) 、后勤保障设施(供电所、供暖所、供气所等)等基础设施。

此外,在校园人文建设过程中,还可能会有各种运动场所、绿化设施(花园、草坪等) 、观光景点等特色要素按照要素特点,可将其主要概括为校园文化类、2D 建筑类、3D 建筑类、校园道路类、基础设施类等 5 大类,并且,所有这些要素都可用点、线、面等多种单一几何图形或多种几何图形综合进行显示,或用 3D 模型实现更为逼真的显示效果;另外,校园影像图类可以作为背景层,以 Overlay 的形式显示,如图 2 所示 2D建筑类校园道路类校园文化类基础设施类点(Point)面(Polygon)线(Line)数据模型数据种类要素实例教室、图书馆、办公楼、⋯⋯景点、路灯、亭⋯⋯北路、中路、南路、⋯⋯消防栓、供暖线路、⋯⋯3D模型(Model)3D建筑类点(Point)或线(Line)校园影像图类叠加(Overlay)2000年校园影像图、 2006年校园影像图⋯⋯图 2 “数字校园”中的地理空间数据 下面,结合 KML 的主要特点,论述 KML 在“数字校园”各类要素的逻辑组织、类型定义、样式设计、时间表达和网络共享等 5 个方面的应用实践 2.2. 基于基于 KML 的元素的逻辑组织的元素的逻辑组织 校园信息种类繁多,为了方便用户浏览和查找,将各种地理要素分类、分专题、分层次地进行显示是一种清晰简洁的表现方式。

KML 中的容器元素包括和,可以非常容易地实现要素的层次化分组,便于数据的组织和管理 基于 KML 中数据的逻辑组织方式,以北京航空航天大学校园为例,结合校园中地理空间数据的实际情况,可将校园信息分为建筑(Buildings) 、绿化带和运动场(Greenbelt and Field) 、服务设施(Services)以及出入口和主要道路(Entrance and Roads)4 大类,每一大类又分为若干小类Buildings 分为教学楼(Teaching Buildings) 、图书馆(Library) 、实验室(Labs) 、学生宿舍(Student Dorms) 、家属社区(Community) 、食堂餐厅(Dining Hall)和校园周围建筑(Surrounding Buildings)等 7 类;Greenbelt and Field 分为绿地(Green Land) 、运动场所 (Sport Area) 和景点 (Sightseeing) 等 3 类; Entrance and Roads 分为出入口 (Entrances)和主要道路(Main Roads)等 2 类;Services 分为邮局(Post Office) 、银行(Bank) 、公共亭 (Phonebooth) 、 旅店 (Hotel) 、 医院 (Hospital) 、 公共汽车站 (Bus Stop) 、 商店 (Shop)以及其他服务设施 (Other Services) 等 8 类。

实现“数字北航校园”数据逻辑组织的部分 KML示例代码下所示,其在 Google Earth 中的树形显示效果如图 3 和图 4 所示 图 3 Google Earth 中 Beihang University.KML 的 1 级目录 图4 Google Earth中Beihang University.KML的2级目录示例 2.3. 基于基于 KML 的元素的类型定义的元素的类型定义 “数字校园”中的数据可能来源于外部不同 GIS 应用程序,且具有多种不同类型因此,要解决的一个问题就是:如何将不同数据源不同类型的数据方便地添加到 KML 中统一进行显示 KML 中的元素提供了 3 种将自定义数据添加到一个 KML 要素中的机制, 根据所要添加的数据种类和在 KML 显示中使用这些数据的方式, 选择不同的添加方式第一种,元素允许用户向用户数据中添加未定义类型(untyped)的 name/value 对,Building Teaching Building ⋯⋯ ⋯⋯ ⋯⋯ Library ⋯⋯ Srvices Post Office ⋯⋯ Bank ⋯⋯ ⋯⋯ 这是三者中最简单、最容易实现,也最强大的机制。

第二种,当用户拥有被外部应用程序使用的已定义类型 (typed) 数据, 可以使用和元素将其添加到要素中;此时,使用元素声明新类型,而使用创建新类型实例第三种,如果用户只是简单地需要用 KML 文件传递数据而不需要 Google Earth 处理数据时,可以使用任意 XML 数据要素,引用一个 XML 命名空间前缀并在当前 KML 内容中传递数据以上 3种机制可以在同一文件中结合使用[3] 2.4. 基于基于 KML 的元素的样式设计的元素的样式设计 GML 的目的是描述地理对象,而将地理显示的任务留给 SVG 等其它语法和 GML 相比,KML 是一个能够兼顾上述二者的工具,它不仅用于地理对象的描述,而且也用于对这些对象图形化表现的样式规则的表达[4]针对“数字校园”中地理空间数据具有的种类多、但内容较为简单的普遍特点,可以为不同种类地理对象设置不同样式,并使用同一 KML 文件描述这些地理对象及其样式 2.4.1. 样式的描述方式样式的描述方式 在 KML 中,通过使用元素来实现样式描述KML 提供了多种样式标签,以满足不同地理数据的多种显示需要等多种 Style 标签分别用于说明信息框、地标、标签、列表以及线、多边形等几何图形的描绘样式。

另外, 用于在不同情况下实现两种不同样式描述其最典型应用是用于为 Placemark 分别提供常规和高亮 2 种显示样式,实现当用户鼠标移动到其上时高亮显示的效果在 KML 中,用户可以一次性地定义一个 Style 并为其分配一个 ID; 用这种方式定义 Style 之后, 用户即可以使用元素在 KML 文件内部(或在其他 KML 文件内部)多次引用它用这种方法定义的样式将作为一个共享样式被应用在“数字校园”应用中,校园地理对象包含点(例如:景点、公共亭等) 、线(例如:主要道路等) 、面(例如:绿地、运动场等)等多种几何图形,同时,每种几何图形可能包括多种不同专题, 因此, 使用各种样式标签可以在数据显示时将各种专题信息分别突出显示出来 2.4.2. 样式模版的使用样式模版的使用 KML 中内部的元素支持实体替换即,对于每一个实体实例,其值可被替换除了已提供 Placemark 的名称、描述、地址、ID、及行驶方向等基本元素的标准可替换实体外,Goo。

下载提示
相似文档
正为您匹配相似的精品文档