中篇第三章Google地图开发技术KML_第1页
中篇第三章Google地图开发技术KML_第2页
中篇第三章Google地图开发技术KML_第3页
中篇第三章Google地图开发技术KML_第4页
中篇第三章Google地图开发技术KML_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中篇第三章Google地图开发技术KML中篇第三章Google地图开发技术KML中篇第三章Google地图开发技术KML3.1KML描述性标记语言大量应用于空间数据的存储、传输、交换和表达,其中有代表性的有GML、SVG、KML,从本质上看,它们都与将空间要素的非拓扑几何结构和属性信息存储在数据集中的shapefile文件差不多,仅仅是不同的地理数据文件格式而已。2由于本人工作能力和接触项目有限,希望借此机会将自己的体会与大家分享,更希望大家能提出更多更为深刻的意见!谢谢中篇第三章Google地图开发技术KML中篇第三章Googl3.1KML描述性标记语言大量应用于空间数据的存储、传输、交换和表达,其中有代表性的有GML、SVG、KML,从本质上看,它们都与将空间要素的非拓扑几何结构和属性信息存储在数据集中的shapefile文件差不多,仅仅是不同的地理数据文件格式而已。23.1KML描述性标记语言大量应用于空间数据的存储、传输、这三种描述语言之间并非简单的取代关系,GML主要是为了描述地理信息,不负责地理信息的表示;KML除了能够描述地理信息,还能很好地表示地理信息。在参考GML基础上,KML舍弃了地理模型中拓扑关系的描述,精简描述元素。但是由于GML和SVG在兼容方面没有得到很好的支持,所以它们始终没有真正流行起来,而KML在GE上运用却取得了比较大的成功,并也成为国际规范(杜英俊2010)。3这三种描述语言之间并非简单的取代关系,GML主要是为了描述地KML,是Keyhole标记语言(KeyholeMarkupLanguage)的缩写,是一种采用XML语法与格式的语言,用于描述和保存地理信息(如点、线、图像、多边形和模型等),可以被GoogleEarth和GoogleMaps识别并显示因而,可以使用KML来与其他GoogleEarth或GoogleMaps用户分享地标与信息4KML,是Keyhole标记语言(KeyholeMarGoogleEarth和GoogleMaps处理KML文件的方式与网页浏览器处理HTML和XML文件的方式类似。像HTML一样,KML使用包含名称、属性的标签来确定显示方式。因此,可将GoogleEarth和GoogleMaps视为KML文件浏览器。2008年,KML在被OGC宣布为国际标准。5GoogleEarth和GoogleMaps处理Keyhole是一家卫星图像公司,总部位于美国加州山景城(MountainView),成立于2001年,从事数字地图测绘等业务,它提供的Keyhole软件允许网络用户浏览通过卫星与飞机拍摄的地理图像,这一技术依赖于数以TB计的海量卫星影像信息数据库--而这正是GE的前身。6Keyhole是一家卫星图像公司,总部位于美国加州山景城(M2004年10月27日Google宣布收购了Keyhole公司,并于05年6月推出了GE系列软件。在GE上,大量的地理信息通过地标的形式集成,采用这种技术,客户端和服务器之间不是直接传输空间数据,而是影像图片和KML文档(杜英俊2010)。72004年10月27日Google宣布收购了Keyhole公3.1.1KML基础KML是一种文件格式,用于在地球浏览器(例如Google地球、Google地图和谷歌手机地图)中显示地理数据。KML使用含有嵌套的元素和属性的基于标记的结构,并符合XML标准。83.1.1KML基础KML是一种文件格式,用于在地球浏览器所有标记都区分大小写,而且完全如KML参考中列出的那样显示。该参考指出了哪些标记是可选的。在指定元素内,标记必须按照参考中显示的顺序显示。9所有标记都区分大小写,而且完全如KML参考中列出的那样显一、创建和共享KML文件你可以使用Google地球用户界面创建KML文件,也可以使用XML或简单的文本编辑器从头输入“原始”KML。可以使用ZIP格式将KML文件与其相关图像(如果有)压缩成KMZ档案。10一、创建和共享KML文件10要共享KML和KMZ文件,可以通过电子邮件发送这些文件,可以在本地托管以在专有互联网内共享,也可以在Web服务器上公开托管。正确配置服务器并共享您的KML文件的网址(地址)后,安装了Google地球的所有用户均可查看公共网络服务器上托管的KML文件。11要共享KML和KMZ文件,可以通过电子邮件发送这些文许多应用程序都可显示KML,包括Google地球、Google地图、谷歌手机地图、NASAWorldWind、ESRIArcGISExplorer、AdobePhotoShop、AutoCAD和Yahoo!Pipe。12许多应用程序都可显示KML,包括Google地球、Go二、基本KML文档最简单的KML文档类型就是可直接在Google地球中编写的文档,也就是说您无需在文本编辑器中编辑或创建任何KML。Placemark、GroundOverlay、Path和Polygon都可以直接在Google地球中编写。13二、基本KML文档131)地标地标是Google地球中最常用的地图项之一。它使用黄色图钉作为图标,在地球表面标记出位置。最简单的地标只包含一个<Point>元素,它指定地标的位置。你可以指定地标的名称和自定义图标,还可以为地标添加其他几何元素。141)地标14简单地标的KML代码如下:15简单地标的KML代码如下:15该文件的结构分解如下:XML标头。这是每个KML文件的第1行。该行前面不能有空格或其他字符。KML名称空间声明。这是每个KML2.2文件的第2行。包含以下元素的地标对象:(1)用于标识地标的“名称”(2)附着到地标的“气泡框”中显示的“说明”(3)指定地标在地球表面位置的“点”、“经度”、“纬度”与“高度”16该文件的结构分解如下:16用户通常认为的Google地球中的“地标”,实际上是KML中的<Placemark>元素,包含一个<Point>子元素。点地标是你在Google地球的三维查看器中绘制图标和标签的唯一途径。默认情况下,该图标是你熟悉的黄色图钉。在KML中,<Placemark>可包含一个或多个几何元素,例如LineString、Polygon或Model。但只有具有点的<Placemark>可以有图标和标签。点用于放置图标,但点本身并无图形表示。17用户通常认为的Google地球中的“地标”,实际上是K2)地标中的描述性HTML在地标中可以添加链接、字体大小、样式和颜色,并指定文本对齐方式和表。3)地面叠加层通过地面叠加层,可在Google地球的地形上“叠加”图像。<Icon>元素包含了指向叠加图像“.jpg”文件的链接。地面叠加层的定位由<LatLonBox>标签控制。边框值以南纬、北纬和东经、西经形式给出。182)地标中的描述性HTML184)路径在Google地球中可以创建多种不同类型的路径,并且可轻松地利用你的数据充分发挥创造力。在KML中,路径是用<LineString>元素创建的。5)多边形你可以使用多边形来创建简单的建筑物与其他形状。194)路径19三、高级KML文档本部分介绍了某些必须用文本编辑器编写的KML元素,如几何图形的共享样式、地标的突出显示图标和屏幕叠加层。20三、高级KML文档201)几何图形样式如果在KML文档开头定义了样式,并定义了它的ID,就可以在文档其他地方定义的几何图形、地标和叠加层中使用该样式。因为可有多个元素使用同一个样式,因此以这种方式定义和使用的样式称为“共享样式”。只需定义指定样式一次,即可用<styleUrl>元素多次引用它。211)几何图形样式212)突出显示图标的样式,如光标移动到图标上时显示3)屏幕叠加层屏幕叠加层无法直接在Google地球中编写,因此比地面叠加层更难以创建。叠加层的定位是通过将<overlayXY>指定的图像中的点映射到<screenXY>指定的屏幕上的点来控制的。在这种情况下,图像左上角(0,1)与屏幕上的这一点重合。222)突出显示图标的样式,如光标移动到图标上时显示223.1.2KML应用GE与ArcGIS、MapGIS、MapInfo等专业的GIS软件相比,在功能和数据图形处理上有很多不足,但其海量的数据和全球范围的网络数据发布平台却是一些专业GIS所望尘莫与的(王莲玉2009)。233.1.2KML应用GE与ArcGIS、MapGIS、Ma一、KML与GIS数据格式的转换策略 目前主流的GIS软件,如MapInfo,AutoCAD和ArcGIS等,都有将对应格式的矢量数据转换为KML的模块。这些模块采用的转换方法的基本原理相同,包括三部分(刘祥磊2009):24一、KML与GIS数据格式的转换策略241)空间信息的转换空间信息的转换从本质上讲就是坐标数据的转换,将非WGS-84的坐标系统下的坐标数据直接转换为WGS-84坐标系统(GE采用WGS-84)下的坐标数据,然后再将坐标数据信息写入KML文件。251)空间信息的转换252)样式的控制GE没有自带的符号库,对点、线、面的显示样式的控制是通过KML的标签实现的,由于涉与的标签众多,难以控制。以上模块只对KML中的点、线、面的显示样式进行控制,而且颜色的产生是随机的,宽度值是默认的。262)样式的控制263)属性信息的转换属性信息的转换是指将GIS的属性信息用KML的各种标签通过多种表达方式显现。上述的转换方法存在一定的缺陷,主要包括两个方面(刘祥磊2009):273)属性信息的转换271)精度不够。这主要是针对中国而言,在我国矢量数据通常采用的是北京54坐标系或西安80坐标系,二者向WGS84坐标系转换的七参数(七参数布尔莎模型:X平移,Y平移,Z平移,X旋转(WX),Y旋转(WY),Z旋转(WY),尺度变化(DM))尚未对外公开,所以利用上述模块转换后的KML数据叠加到GoogleEarth上都存在几十米的偏移。281)精度不够。282)KML中点、线、面的表现形式混乱。对KML中的点、线、面的控制没有统一的标准,所以同一矢量数据进行多次转换,得到的KML数据的显示样式是不相同的。292)KML中点、线、面的表现形式混乱。29二、KML与GIS格式转换的实例MapInfo的MIF外部数据交换格式与KML格式均有各自的特定样式,故不可能完全一一对应(表3.1.1),且对应格式也不一定完全匹配(王莲玉2009)。30二、KML与GIS格式转换的实例3031312)与ArcGIS数据格式的转换ESRIShape),或简称shapefile,是ESRI开发的一种空间数据开放格式。Shapefile属于一种矢量图形格式,它能够保存几何图形的位置与相关属性。但这种格式没法存储地理数据的拓扑信息。Shapefile在九十年代初的ArcViewGIS的第二个版本被首次应用。322)与ArcGIS数据格式的转换32Geodatabase是ArcInfo8引入的一个全新的空间数据模型,是建立在DBMS之上的统一的、智能化的空间数据库。Geodatabase要素类虽然将空间对象划分为7类,即点、线、多边形、注记、维度、多点和Multipatches,但可以归为KML的5种基本空间对象模型:点、线、面、复合体和对象属性。33Geodatabase是ArcInfo8引入的一个全新的空其中:点类型和多点类型划为点对象;线类型划为线对象;多边形类型划为面对象;Multipatches类型和以上3个类型的组合几何体划分为复合几何体;注记类型和维度类型划分为对象属性。另外,Geodatabase的属性表可划为对象属性(杜钢虎2010)。34其中:点类型和多点类型划为点对象;34这意味着,基于点、线、面、复合体和对象属性这5种类型,可以建立起KML与Geodatabase的映射关系(图3.1.1)。35这意味着,基于点、线、面、复合体和对象属性这5种类型,可以建KML有存储格式简单明了,利于网络传输的优点,Geodatabase则在管理海量数据、维护数据完整、建立空间关系上有很大优势。将二者结合起来进行商业开发具有很强的现实意义。在实际应用当中,应结合项目环境,发挥两者优点,才能做到事半功倍(杜钢虎2010)。36KML有存储格式简单明了,利于网络传输的优点,Geodata三、KML与GML的转换作为XML格式的标记语言,KML拥有XML的所有优点和特性。与GML专注于地理信息的结构与内容不同,KML关注于地理信息的显示和表达。KML是以位置为中心的,而GML是以要素为中心的;GML应用模式中定义的要素对象可以没有几何属性,而KML则必须有。37三、KML与GML的转换作为XML格式的标记语言,KML拥KML是一种面向客户端设计的数据形式,它以超文本的方式标记属性数据,更便于客户端的表现(王志红2010),而GML将属性数据存储为Element,便于数据的存储、建模、传输和交换。38KML是一种面向客户端设计的数据形式,它以超文本的方式标记属这意味着,GML与KML两者各有所长,一方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论