第三章 Google地图服务技术——KML

Slides:



Advertisements
Similar presentations
第五节 函数的微分 一、微分的定义 二、微分的几何意义 三、基本初等函数的微分公式与微分运算 法则 四、微分形式不变性 五、微分在近似计算中的应用 六、小结.
Advertisements

练一练: 在数轴上画出表示下列各数的点, 并指出这些点相互间的关系: -6 , 6 , -3 , 3 , -1.5, 1.5.
第六 章数据库访问页 6.1 数据访问页视图 6.2 创建数据访问页 6.3 编辑数据访问页 6.4 查看数据访问页 退出.
计算机网络课程总结 一、计算机网络基础 计算机网络定义和功能、基本组成 OSI/RM参考模型(各层的功能,相关概念, 模型中数据传输 等)
第3章 Google地图服务技术 尹章才.
第三章 数据类型和数据操作 对海量数据进行有效的处理、存储和管理 3.1 数据类型 数据源 数据量 数据结构
UI(用户界面)集训班 Illustrator 高级班.
PRESENTED BY OfficePLUS
Oracle数据库 Oracle 子程序.
在PHP和MYSQL中实现完美的中文显示
Overview of Python Visualization Tools
武汉纺织大学传媒学院 cm.wtu.edu.cn
SVN的基本概念 柳峰
第二讲 搭建Java Web开发环境 主讲人:孙娜
R in Enterprise Environment 企业环境中的R
管理信息结构SMI.
走进编程 程序的顺序结构(二).
辅导课程六.
网络常用常用命令 课件制作人:谢希仁.
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
POWERPOINT TEMPLATE Design by Richasy
以ISI平台为例,为您演示一下如何在Endnote文献中查看该文献的References
第17章 网站发布.
2019/1/12 GDP设计协同 超级管理员操作手册 GDP项目组.
PaPaPa项目架构 By:Listen 我在这.
利用Google Earth輔助石岡國中地理教學成效之研究
POWERPOINT TEMPLATE HI.
任务1-3 使用Dreamweaver创建ASP网页
程序设计工具实习 Software Program Tool
SOA – Experiment 2: Query Classification Web Service
编程作业3:网页正文抽取 (10分).
C语言程序设计 主讲教师:陆幼利.
学习目标 1、什么是字符集 2、字符集四个级别 3、如何选择字符集.
電子郵件簡介.
产品推广 PRODUCT PROMOTION PRESENTED BY OfficePLUS.
顺序表的删除.
论文答辩PPT模板 答辩学生:橘子皮 指导老师:PPT工作室.
第四章 团队音乐会序幕: 团队协作平台的快速创建
2019/4/20 关注NE官方微信,获取更多服务.
2019/4/16 关注NE官方微信,获取更多服务.
VisComposer 2019/4/17.
姚金宇 MIT SCHEME 使用说明 姚金宇
2019/4/ /4/25 学习科研好助手 NoteExpress文献管理与检索系统 北京爱琴海乐之技术有限公司.
2019/4/26 关注NE官方微信,获取更多服务.
实验七 安全FTP服务器实验 2019/4/28.
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
项目二:HTML语言基础.
本节内容 Win32 API中的宽字符 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第4章 Excel电子表格制作软件 4.4 函数(一).
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
iSIGHT 基本培训 使用 Excel的栅栏问题
常见的网络交流方式 QQ、MSN 电子邮件 BBS类(电子公告栏) 聊天室类 网络电话 博客 ……
魏新宇 MATLAB/Simulink 与控制系统仿真 魏新宇
海报题目 简介: 介绍此项仿真工作的目标和需要解决的问题。 可以添加合适的图片。
GIS基本功能 数据存储 与管理 数据采集 数据处理 与编辑 空间查询 空间查询 GIS能做什么? 与分析 叠加分析 缓冲区分析 网络分析
Python 环境搭建 基于Anaconda和VSCode.
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
基于列存储的RDF数据管理 朱敏
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
第8章 创建与使用图块 将一个或多个单一的实体对象整合为一个对象,这个对象就是图块。图块中的各实体可以具有各自的图层、线性、颜色等特征。在应用时,图块作为一个独立的、完整的对象进行操作,可以根据需要按一定比例和角度将图块插入到需要的位置。 2019/6/30.
第三节 数量积 向量积 混合积 一、向量的数量积 二、向量的向量积 三、向量的混合积 四、小结 思考题.
使用ADO访问数据库 李宝智 BonizLee 课程 10564A
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
创建、启动和关闭Activity 本讲大纲: 1、创建Activity 2、配置Activity 3、启动和关闭Activity
使用Fragment 本讲大纲: 1、创建Fragment 2、在Activity中添加Fragment
§4.5 最大公因式的矩阵求法( Ⅱ ).
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
第三章 图形的平移与旋转.
学习目标 1、什么是列类型 2、列类型之数值类型.
海报题目 简介: 介绍此项仿真工作的目标和需要解决的问题。 可以添加合适的图片。
Presentation transcript:

第三章 Google地图服务技术——KML 尹章才

3.2 KML 描述性标记语言大量应用于空间数据的存储、传输、交换和表达,其中有代表性的有GML、SVG、KML,从本质上看,它们都与将空间要素的非拓扑几何结构和属性信息存储在数据集中的shapefile文件差不多,仅仅是不同的地理数据文件格式而已。

这三种描述语言之间并非简单的取代关系,GML主要是为了描述地理信息,不负责地理信息的表示;KML除了能够描述地理信息,还能很好地表示地理信息。 但是由于GML和SVG在兼容方面没有得到很好的支持,所以它们始终没有真正流行起来,而KML在GE上运用却取得了比较大的成功,并也成为国际规范(杜英俊 2010)。

KML,是 Keyhole 标记语言(Keyhole Markup Language)的缩写,是一种采用 XML 语法与格式的语言,用于描述和保存地理信息(如点、线、图像、多边形和模型等),可以被 Google Earth 和 Google Maps 识别并显示 因而,可以使用 KML 来与其他 Google Earth 或 Google Maps 用户分享地标与信息

Google Earth 和 Google Maps 处理 KML 文件的方式与网页浏览器处理 HTML和 XML 文件的方式类似。 像 HTML一样,KML使用包含名称、属性的标签来确定显示方式。 因此,可将 Google Earth 和 Google Maps 视为 KML 文件浏览器。2008年,KML在被OGC宣布为国际标准。

Keyhole是一家卫星图像公司,总部位于美国加州山景城(Mountain View),成立于2001年,从事数字地图测绘等业务,它提供的Keyhole软件允许网络用户浏览通过卫星及飞机拍摄的地理图像,这一技术依赖于数以TB计的海量卫星影像信息数据库--而这正是GE的前身。

2004年10月27日Google宣布收购了Keyhole公司,并于05年6月推出了GE系列软件。在GE上,大量的地理信息通过地标的形式集成,采用这种技术,客户端和服务器之间不是直接传输空间数据,而是影像图片和KML文档(杜英俊 2010)。

3.2.1 KML基础 KML是一种文件格式,用于在地球浏览器(例如 Google 地球、Google 地图和谷歌手机地图)中显示地理数据。 KML 使用含有嵌套的元素和属性的基于标记的结构,并符合 XML 标准。

所有标记都区分大小写,而且完全如 KML 参考中列出的那样显示。 该参考指出了哪些标记是可选的。在指定元素内,标记必须按照参考中显示的顺序显示。

一、创建和共享 KML 文件 你可以使用 Google 地球用户界面创建 KML 文件,也可以使用 XML 或简单的文本编辑器从头输入“原始”KML。 可以使用 ZIP 格式将 KML 文件及其相关图像(如果有)压缩成 KMZ 档案。

要共享 KML 和 KMZ 文件,可以通过电子邮件发送这些文件,可以在本地托管以在专有互联网内共享,也可以在 Web 服务器上公开托管。 正确配置服务器并共享您的 KML 文件的网址(地址)后,安装了 Google 地球的所有用户均可查看公共网络服务器上托管的 KML 文件。

许多应用程序都可显示 KML,包括 Google 地球、Google 地图、谷歌手机地图、NASA WorldWind、ESRI ArcGIS Explorer、Adobe PhotoShop、AutoCAD 和 Yahoo! Pipe。

二、基本 KML 文档 最简单的 KML 文档类型就是可直接在 Google 地球中编写的文档,也就是说您无需在文本编辑器中编辑或创建任何 KML。Placemark、GroundOverlay、Path 和 Polygon 都可以直接在 Google 地球中编写。

1)地标 地标是 Google 地球中最常用的地图项之一。它使用黄色图钉作为图标,在地球表面标记出位置。最简单的地标只包含一个 <Point> 元素,它指定地标的位置。 你可以指定地标的名称和自定义图标,还可以为地标添加其他几何元素。

简单地标的 KML 代码如下:

该文件的结构分解如下: XML 标头。这是每个 KML 文件的第 1 行。该行前面不能有空格或其他字符。 KML 名称空间声明。这是每个 KML 2.2 文件的第 2 行。 包含以下元素的地标对象: (1)用于标识地标的“名称” (2)附着到地标的“气泡框”中显示的“说明” (3)指定地标在地球表面位置的“点”、“经度”、“纬度”及“高度”

用户通常认为的 Google 地球中的“地标”,实际上是 KML 中的 <Placemark> 元素,包含一个 <Point> 子元素。 在 KML 中,<Placemark> 可包含一个或多个几何元素,例如 LineString、Polygon 或 Model。但只有具有点的 <Placemark> 可以有图标和标签。点用于放置图标,但点本身并无图形表示。

2)地标中的描述性 HTML 在地标中可以添加链接、字体大小、样式和颜色,并指定文本对齐方式和表。

3)地面叠加层 通过地面叠加层,可在 Google 地球的地形上“叠加”图像。 <Icon> 元素包含了指向叠加图像“.jpg”文件的链接。地面叠加层的定位由 <LatLonBox> 标签控制。边框值以南纬、北纬和东经、西经形式给出。

4)路径 在 Google 地球中可以创建多种不同类型的路径,并且可轻松地利用你的数据充分发挥创造力。在 KML 中,路径是用 <LineString> 元素创建的。

5)多边形 你可以使用多边形来创建简单的建筑物及其他形状。

三、高级 KML 文档 本部分介绍了某些必须用文本编辑器编写的 KML 元素,如几何图形的共享样式、地标的突出显示图标和屏幕叠加层。

1)几何图形样式 如果在 KML 文档开头定义了样式,并定义了它的 ID,就可以在文档其他地方定义的几何图形、地标和叠加层中使用该样式。 因为可有多个元素使用同一个样式,因此以这种方式定义和使用的样式称为“共享样式”。只需定义指定样式一次,即可用<styleUrl>元素多次引用它。

2)突出显示图标的样式,如光标移动到图标上时显示 3)屏幕叠加层 屏幕叠加层无法直接在 Google 地球中编写,因此比地面叠加层更难以创建。 叠加层的定位是通过将 <overlayXY> 指定的图像中的点映射到 <screenXY> 指定的屏幕上的点来控制的。 在这种情况下,图像左上角 (0,1) 与屏幕上的这一点重合。

3.2.2 KML应用 GE与ArcGIS、MapGIS、MapInfo等专业的GIS软件相比,在功能和数据图形处理上有很多不足,但其海量的数据和全球范围的网络数据发布平台却是一些专业GIS所望尘莫及的(王莲玉 2009)。

一、KML与GIS数据格式的转换策略 目前主流的GIS软件,如MapInfo,AutoCAD和ArcGIS等,都有将对应格式的矢量数据转换为KML的模块。 这些模块采用的转换方法的基本原理相同,包括三部分(刘祥磊 2009):

1)空间信息的转换 空间信息的转换从本质上讲就是坐标数据的转换,将非WGS-84的坐标系统下的坐标数据直接转换为WGS-84坐标系统(GE采用WGS-84)下的坐标数据,然后再将坐标数据信息写入KML文件。

2)样式的控制 GE没有自带的符号库,对点、线、面的显示样式的控制是通过KML的标签实现的,由于涉及的标签众多,难以控制。

3)属性信息的转换 属性信息的转换是指将GIS的属性信息用KML的各种标签通过多种表达方式显现。

上述的转换方法存在一定的缺陷,主要包括两个方面(刘祥磊 2009):

1)精度不够 这主要是针对中国而言,在我国矢量数据通常采用的是北京54坐标系或西安80坐标系,二者向WGS 84坐标系转换的七参数(七参数布尔莎模型:X平移,Y平移,Z平移,X旋转(WX),Y旋转(WY),Z旋转(WY),尺度变化(DM))尚未对外公开,所以利用上述模块转换后的KML数据叠加到Google Earth上都存在几十米的偏移。

2)KML中点、线、面的表现形式混乱 对KML中的点、线、面的控制没有统一的标准,所以同一矢量数据进行多次转换,得到的KML数据的显示样式是不相同的。

二、KML与GIS格式转换的实例 MapInfo的MIF外部数据交换格式与KML格式均有各自的特定样式,故不可能完全一一对应(表3.1.1),且对应格式也不一定完全匹配(王莲玉 2009)。

2)与ArcGIS数据格式的转换 ESRI Shapefile(shp),或简称shapefile,是ESRI开发的一种空间数据开放格式。 Shapefile在九十年代初的ArcView GIS的第二个版本被首次应用。

Geodatabase是ArcInfo 8引入的一个全新的空间数据模型,是建立在DBMS之上的统一的、智能化的空间数据库。 Geodatabase要素类虽然将空间对象划分为7类,即点、线、多边形、注记、维度、多点和Multipatches,但可以归为KML的5种基本空间对象模型:点、线、面、复合体和对象属性。

其中:点类型和多点类型划为点对象; 线类型划为线对象; 多边形类型划为面对象; Multipatches类型和以上3个类型的组合几何体划分为复合几何体; 注记类型和维度类型划分为对象属性。 另外,Geodatabase的属性表可划为对象属性(杜钢虎 2010)。

这意味着,基于点、线、面、复合体和对象属性这5种类型,可以建立起KML与Geodatabase的映射关系(图3.1.1)。

KML有存储格式简单明了,利于网络传输的优点,Geodatabase则在管理海量数据、维护数据完整、建立空间关系上有很大优势。 将二者结合起来进行商业开发具有很强的现实意义。 在实际应用当中,应结合项目环境,发挥两者优点,才能做到事半功倍(杜钢虎 2010)。

三、KML与GML的转换 作为XML格式的标记语言,KML拥有XML的所有优点和特性。 与GML专注于地理信息的结构与内容不同,KML关注于地理信息的显示和表达。 KML是以位置为中心的,而GML是以要素为中心的;GML应用模式中定义的要素对象可以没有几何属性,而KML则必须有。

KML是一种面向客户端设计的数据形式,它以超文本的方式标记属性数据,更便于客户端的表现(王志红 2010),而GML将属性数据存储为Element,便于数据的存储、建模、传输和交换。

这意味着,GML与KML两者各有所长,一方面KML不能取代GML的地位,另一方面KML在GE和很多地图应用上远强于GML(曾建刚 2009)。

在GML与KML的集成应用中,GML与KML之间的数据转换意义显著:GML作为数据源,需将其转换为KML并在Google Earth等客户端软件中显示;客户端更新后的KML数据需要转换为GML在服务器端进行存储。 鉴于GML、KML都是基于XML的标记语言,采用XSLT可有效而直接地实现二者之间的转换(王志红 2010)。

四、与WMS的集成 若在 GE中加载显示 WMS,需要以 KML 文件作为桥梁。 KML中有一种“地面贴图”(GroundOverlay)的节点类型,只要为该节点指定地图来源 (如一张地图的网络地址)和该地图的地理范围 (Bounding Box),就可以将该地图渲染到 GE的准确位置上。

因此,只需将地图网络地址替换成 WMS服务器的GetMap的请求字符串,同时将地理范围的4个值替换成请求字符串中相应的坐标值,就可以在GE中显示GetMap请求所得的地图。

问 题?