KML--基础入门
KML与GE开发

Placemark可以是点,可以是线,可以为任何的Geometry对象 可以是点,可以是线,可以为任何的 可以是点 对象 被以下元素包含: 被以下元素包含:<Folder><Docunment>
展示例子
KML
OverLay KML文件
<!-- Overlay id="ID" --> <!-- GroundOverlay,ScreenOverlay --> <!-- inherited from Feature element --> <!-- specific to Overlay --> <color>ffffffff</color> <!-- kml:color --> <drawOrder>0</drawOrder> <!-- int --> <Icon> <href>...</href> </Icon> <!-- /Overlay -->
是用来组织管理其它Features,如Placemarks,Overlays , 是用来组织管理其它 , 展示示例) 等(展示示例)
Google Earth应用与开发 应用与开发
本节主要内容: 本节主要内容:
KML文件
什么是KML文件? 如何撰写KML文件? KML标签详解
GE二次开发
什么是GE二次开发? GE二次开发工具有哪些? GE COM GE开发实例详解
KML
什么是KML文件 文件 什么是
KML全称是Keyhole Markup Language (KML),是一个基于 XML语法和文件格式的文件,用来描述和保存地理信息如点,线,图 片,折线并能够在Google Earth客户端显示.
KML--基础入门

KML向导KML是一种在Earth Browser(比如Google Earth,Google Maps,Google Maps for mobile)用于显示地理数据的文件格式。
KML用使用一种可以嵌套元素和标记的结构并且基于XML标准。
所有的这些标签都是大小写敏感的并且必须精确的出现在KML2.2Reference中.这个参考手册指出哪些标记是可选的。
在一个给定的元素中,标记必须按照Reference显示的顺序出现。
如果你是一个KML新手,可以阅读这篇文档并且使用这些例子来开始学习KML文件基本结构。
第一部分描述了使用Google Earth软件来创建的特性。
这些特征包括placemarks,descripttions,ground overlays,paths和polygons。
第二部分描述了使用一个text editor来创建的特性。
当一个文件存储使用kml或者kmz扩展名,google earth浏览器知道怎样来显示它。
目录基本的KML 文档PlacemarksDescriptive HTML in PlacemarksGround OverlaysPathsPolygons高级的KML文档对于Geometry的styles对于高亮的icons的styles对于屏幕的覆盖图层网络连接KML MIME Types一、基本KML文档KML最简单的文档是那些可以直接在Google Earth发布的。
也就是说,你不必在一个text editor中编辑或创建任何KML,像这些Placemarks,Descriptive HTML in Placemarks,Ground Overlays,Paths,Polygons元素可以直接在Google Earth中创建。
1.1 Placemarks一个Placemark是google earth中最普遍的特征。
他标记真地球上表面的位置,使用一个黄色的图钉作为图标。
kml 标准格式

kml 标准格式KML,即Keyhole Markup Language,是一种用于地理空间数据交换的开放式标准,由Google提出并推广。
它被广泛用于Google地图、高德地图、百度地图等众多地图应用中,用于存储、分享和浏览地理空间数据。
一、KML文件的基本结构一个KML文件通常包含一个根元素,以及一些子元素。
这些子元素可以包括地理空间数据的各种属性,如坐标、图片、视频等。
KML文件的常见元素包括Document、Folder、Placemark等。
二、KML文件中的元素及其意义1. Document:表示整个KML文件的内容。
2. Folder:表示一组地理空间对象的容器。
一个Folder中可以包含Placemark、LineStringPlacemark、PolygonPlacemark等元素。
3. Placemark:表示一个地理空间点、线或者多边形的位置。
一个Placemark可以包含坐标、名称、图片、视频等属性。
三、KML文件的常见属性1. id:每个Placemark或Folder都需要有一个唯一的id。
2. coordinate:表示Placemark的地理位置,通常是一个经纬度的坐标。
3. name:Placemark或Folder的名称。
4. icon:表示Placemark的图片或图标。
5. visibility:控制元素的可见性。
四、KML文件的编写和分享KML文件可以通过各种地图应用打开,也可以通过一些在线工具进行编辑和分享。
在编写KML文件时,需要注意数据的准确性和美观性,确保分享的KML文件能够正确地表达意图。
五、使用KML的注意事项KML文件主要针对地理空间数据的存储、分享和浏览,因此在使用时需要注意以下几点:1. KML文件主要适用于地理空间数据的存储和分享,对于非地理空间数据,可能需要其他的数据格式。
2. KML文件的使用需要依赖于地图应用和在线工具,因此需要确保所使用的地图应用或在线工具支持KML格式。
KML教程_1 基本部分

KML 教程KML 是一种文件格式,用于在地球浏览器(例如 Google 地球、Google 地图和谷歌手机地图)中显示地理数据。
KML 使用含有嵌套的元素和属性的基于标记的结构,并符合 XML 标准。
所有标记都区分大小写,而且完全如KML 参考中列出的那样显示。
该参考指出了哪些标记是可选的。
在指定元素内,标记必须按照参考中显示的顺序显示。
如果您尚不熟悉 KML,请查看本文档和附带的示例文件(SamplesInEarth和SamplesInMaps),开始了解 KML 文件的基本结构和最常用的标记。
第一部分介绍了可以用 Google 地球用户界面创建的地图项。
这些地图项有:地标、说明、地面叠加层、路径和多边形。
第二部分介绍了需要用文本编辑器编写 KML 的地图项。
用“.kml”或“.kmz”扩展名保存文本文件时,地球浏览器会知道如何显示它。
提示:要在 Google 地球中查看某地图项的KML“代码”,只需在 Google 地球的三维查看器中右键点击该地图项并选择“复制”。
然后将剪贴板内容粘贴到任一文本编辑器中。
Google 地球中显示的可视地图项将转换为与其相当的 KML 文本。
您一定要试试该功能。
此处描述的所有示例都在KML Samples文件中。
请先下载该文件,然后在Google 地球中查看这些示例。
目录1.基本 KML 文档1.地标2.地标中的描述性 HTML3.地面叠加层4.路径5.多边形2.高级 KML 文档1.几何图形样式2.突出显示图标的样式3.屏幕叠加层4.网络链接3.KML MIME 类型KML几何对象类型KML文档格式第1行:XML 标头。
这是每个 KML 文件的第 1 行。
该行前面不能有空格或其他字符。
第2行:KML 名称空间声明。
这是每个 KML 2.2 文件的第 2 行。
1 基本 KML 文档最简单的 KML 文档类型就是可直接在 Google 地球中编写的文档,也就是说您无需在文本编辑器中编辑或创建任何 KML。
kml文件制作步骤详解

具体制作步骤:1、安装并打开Google Earth软件2、选择菜单栏下面的地标选项,此时弹出一个对话框,如图所示3、用鼠标沿着您所需要的漫游水库连续打点,在左侧的对话框中取到经纬度保存到excel 表格中4、把取到的度分秒转换成度数并依次填入下面的kml代码对应的经度<longitude>和纬度<latitude>中,具体参数解释详情请见最后一页的代码中度分秒转换成度数的步骤:1、首先将整理好的excel文档(注意:在Excel里将英文封号'替换成中文封号’)导入到数据库中2、再批量转换,转换的sql语句如下:/****** Object: UserDefinedFunction [dbo].[f_split_location] Script Date: 05/16/2013 14:19:18 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOcreate function [dbo].[f_split_location](@locationStr varchar(30))returns varchar(12)as/**功能:经纬度转换函数参数:@SourceStr 待解析字符串返回:计算后的经纬度数据作者:贺翔版本:2011-08-15范例:select dbo.f_split_location('119°55′06.75″')[经纬度]select dbo.f_split_location('119.55.06.75″')[经纬度]*/beginif(charindex('°',@locationStr)>0)beginset @locationStr=replace(@locationStr,'″','');--移除秒标识declare @l varchar(10),@ll varchar(10),@lll varchar(10),@value varchar(12); --经纬度(度、分、秒)set @l= left(@locationStr,charindex('°',@locationStr,1)-1);--度数set @locationStr=stuff(@locationStr,1,charindex('°',@locationStr,1),'')set @ll= left(@locationStr,charindex('′',@locationStr,1)-1);--分数set @locationStr=stuff(@locationStr,1,charindex('′',@locationStr,1),'')set @lll= @locationStr;--秒数set @value=cast(@l as int)+(cast(@ll as numeric(10,1))/60)+(cast(@lll as numeric(10,1))/3600)endelse set @value=@locationStr;return(@value)end--demo--update 表名set 字段= dbo.f_split_location([字段])<?xml version="1.0" encoding="UTF-8"?><kml xmlns="/kml/2.2" xmlns:gx="/kml/ext/2.2" xmlns:kml="/kml/2.2" xmlns:atom="/2005/Atom"><gx:Tour><!--Tour开始的标志--><name>浦阳江</name><gx:Playlist><!--Tour是由Playlist组成--><gx:FlyTo><!--Playlist是一系列的点列表,每个点都包含在Flyto元素中--> <gx:duration>1</gx:duration><!--从上一个Flyto点到这一个Flyto点所用的时间,单位秒--><LookAt><longitude>119.861722</longitude><!--longitude标签. 添加相应的经度--><latitude>29.450333</latitude><!--latitude标签. 添加相应的纬度--><altitude>1000</altitude><!--altitude标签. 离地面高度1000米--><heading>-90</heading><!--heading标签. 是<LookAt>的子元素. 当前视角在水平面上的投影和正北的夹角,-90表现了一个向西的视角.--><tilt>0</tilt><!--titl标签,<LookAt>的子标签. 代表视点到指定点的角度(视角) ,值为0 代表没有倾斜,即在Google earth中的视角是垂直向下的. 值为90 代表最大倾斜度,即在Google earth中视角是水平的. --><range>40</range><!--range标签,是<LookAt>的子元素. 描述当前视点的海拔,以米为单位.--><altitudeMode>absolute</altitudeMode><!--高程模式,在打开terrain图层后,relative为DEM高程加以上设置的高程,absolute只是以上设置的高,不考虑terrain--> </LookAt></gx:FlyTo><gx:FlyTo><gx:duration>3</gx:duration><gx:flyToMode>smooth</gx:flyToMode><LookAt><longitude>119.862722</longitude><latitude>29.451305</latitude><altitude>1000</altitude><heading>-90</heading><tilt>0</tilt><range>40</range><altitudeMode>absolute</altitudeMode></LookAt></gx:FlyTo></gx:Playlist></gx:Tour></kml>。
Google Earth KML中文说明

基于Google Earth客户端版本3.0 的KML 版本2.0本文来源于Google由翻译并整理,若有任何疑问,可到评论区留言KML 2.0介绍KML全称是Keyhole Markup Language KML,是一个基于XML语法和文件格式的文件,用来描述和保存地理信息如点、线、图片、折线并在Google Earth客户端之中显示,(KML以前的版本能够被Google Earth读取并保存为KML 2.0) KML 2.0提供以下功能:•指定一个地点的图标和标注来区分每一个地点•为每一个视图指定明确的视角来创建不同的特写镜头•使用指定到屏幕或地理位置的图片标注•为特定种类的标注定义显示样式•为标注指定基于简单HTML语法的描述,支持超级链接和图片的显示•使用目录(folders)对标注进行树形的分类管理(为了便于理解和符合习惯,将"folder"翻译为"目录",实际上是代表一组地理标注,请谅解)•基于时间戳记的标注可以用来进行动态的播放•从本地或远程的网络地址动态的加载KML文件•当Google Earth客户端视图变化时,自动将视图信息发送给指定的源服务器并从服务器获取相关的标注信息KML被Google Earth viewer显示的过程和HTML网页被浏览器处理差不多,而且和HTML一样,KML也使用一种基于标签(名称和属性)的语法格式来描述地里标注信息,可以说,Google Earth viewer是一个KML文件浏览器.•KML 2.0 What's New•编写您自己的Google earth KML文件•KML基础o常用标签o地名标注(Placemarks)o几何图形(Geometry)o目录(Folders)o文档(Documents)o图片标注(Image Overlays)▪地理图片标注(Ground Overlays)▪屏幕图片标注(Screen Overlays) o时间o样式o Schemaso网络连接o Google Earth KML 2.0参考▪KML语法规则▪文档结构▪标记类型▪字符串▪KML标签列表▪<address>▪<altitudeMode>▪<begin>▪<color>▪<coordinates>▪<description>▪<Document>▪<drawOrder>▪<east>▪<end>▪<extrude>▪<fill>▪<Folder>▪<geomColor>▪<GeometryCollection>▪<geomScale>▪<GroundOverlay>▪<h>▪<heading>▪<href>▪<Icon>▪<IconStyle>▪<innerBoundaryIs>▪<labelColor>▪<latitude>▪<LatLonBox>▪<LinearRing>▪<LineString>▪<longitude>▪<name>▪<NetworkLink>▪<north>▪<ObjArrayField>▪<ObjField>▪<open>▪<outerBoundaryIs>▪<outline>▪<overlayXY>▪<Pair>▪<parent>▪<Placemark>▪<Point>▪<Polygon>▪<PolyStyle>▪<range>▪<refreshInterval>▪<refreshVisibility>▪<rotation>▪<Schema>▪<scale>▪<ScreenOverlay>▪<screenXY>▪<SimpleArrayField>▪<SimpleField>▪<size>▪<south>▪<snippet>▪<Style>▪<StyleMap>▪<styleUrl>▪<tessellate>▪<tilt>▪<TimePeriod>▪<TimeInstant>▪<timePosition>▪<type>▪<href>▪<Url>▪<viewRefreshMode>▪<viewRefreshTime>▪<visibility>▪<w>▪<x>▪<y>KML 1.0是由原先的Keyhole客户端进行读写的文件格式,Google Earth完全支持KML 1.0文件,KML 2.0 是KML 1.0的升级版本,主要的更新如下:o Google Earth默认的输出文件格式改为KMZ,这是一个经过ZIP 格式压缩过的KML文件,可以被任何支持ZIP压缩文件格式的软件打开,这种文件的优点是自身可以包含图片而不需要引用网络上的图片;o<description>标签现在可以支持一些标准的HTML格式语法,例如链接、图片、带格式文本和表格;o过去使用的<View>标签被新的<LookAt>标签替代;o对<ScreenOverlay>标签的语法进行了升级更新;o样式功能更为强大,现在由<IconStyle>、<LabelStyle>、<LineStyle>和<PolyStyle>四个分样式组成;o过去的网络连接功能升级后能支持基于视图变化的更新;o线段可以选择是否根据地形进行自动调整;o<opacity>标签不再支持,推荐使用<color>标签来实现透明;o Network links功能现在支持向服务器发送当前视角信息,以便让服务器返回特定的KML文件。
KML培训手册-2012

FME Desktop KML 培训手册FME Desktop 2012KML基础如果你刚接触KML数据,这里有一些基础知识可供学习。
什么是KMLKML全称为Keyhole Markup Language,是一种基于XML的格式(或语言),用于存储谷歌地球和谷歌地图使用的数据。
“Keyhole”这个名字源自KML格式和谷歌地球产品最初的开发人员。
KMZ是KML格式数据集的一种变换形式。
KMZ只是简单的将KML数据集通过ZIP程序进行压缩并重命名为新的文件后缀。
KMZ 最常用来作为存储一组栅格影像;KMZ(ZIP)文件夹中存储了所有的栅格文件(JPEG或GeoTIFF),还有一个链接它们的KML文件。
KML数据集是什么样的呢?KML数据集看起来与XML或HTML文档类似。
事实上,谷歌地球需要KML数据就像IE浏览器需要HTML文档一样:仅仅只是一个可以让用户对数据集可视化的浏览器。
谷歌地图也是一个KML浏览器,在写这篇文章时,它仅仅支持KML的子集。
还有其他一些KML查看器,但这里我们坚持使用Google Earth。
与HTML一样,KML具有影响特定要素显示的标签。
由于KML 存储的数据具有空间特性,标签是与空间数据有关的符号;例如,线条样式,点符号和面填充颜色。
完成数据清理后(移除各种样式标签后),一个简单的KML数据如下:KML与FME了解FME所支持格式的结构与FME的关系非常重要,以及FME 如何把这些结构定义为一个模式。
要素类和数据集KML是文件型数据集,即每个KML文件就是一个FME数据集。
每个文件中包含“Floder ID”的节点即FME的要素类。
例如,如果FME数据集名称为planning,要素类名称为ROADS,那么输出的KML文件,文件名为planning.kml,包含一个节点:<Folder id="kml_ft_ROADS">KML与坐标系KML存储基于WGS84基准面的经纬度坐标。
KML文件是什么?如何使用KML文件?如何获取KML文件?

KML文件是什么?如何使用KML文件?如何获取KML文件?【单车掌柜】
【单车掌柜】
专注于移动端的单车软件
重新定义单车生活
KML文件是什么?
KML文件是一种记录运动轨迹的文件,其中包含了运行的每个点的经度、纬度、海拔信息,用户可以使用它来记录下自己的运行轨迹。
用记事本打开某个KML文件如下:其中红圈就是出发点的经度、纬度、海拔信息,第二个点紧随其后
如何使用KML文件?
拿到一个KML文件后,如果你安装了google earth客户端,那么双击它就可以直接打开,也可以在google earth的菜单中打开文件,打开后如图:
中间的白色的线就是每个点的连接线,也就是该KML文件的记录轨迹。
但是google earth 只能看到卫星地图,无法看到行政地图,所以就要使用google maps,首先用浏览器打开https://,google maps的首页,之后需要登录,登陆后,在左边产生一个按键“my places”,点击它,出现create map,如图:
点击CREATE MAP,出现import,如图:
此时点击improt,会弹出对话框让用户选择轨迹文件,选择你的KML文件,点击upload,如图:
此时google maps就会在行政地图中打开该文件,并且显示出轨迹了,如下图所示:
如何获取KML文件?
目前很多GPS导航软件可以产生KML文件,也可以去网上搜索“KML下载”,可以找到你想要的轨迹,这样就可以去走别人的路啦,另外,KMZ文件是一种KML的压缩文件,如果你拿到的是KMZ文件也可以直接像KML文件一样去使用它,如果把它改名为.ZIP,然后用解压软件去解压,得到的就是KML文件了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
KML向导KML是一种在Earth Browser(比如Google Earth,Google Maps,Google Maps for mobile)用于显示地理数据的文件格式。
KML用使用一种可以嵌套元素和标记的结构并且基于XML标准。
所有的这些标签都是大小写敏感的并且必须精确的出现在KML2.2Reference中.这个参考手册指出哪些标记是可选的。
在一个给定的元素中,标记必须按照Reference显示的顺序出现。
如果你是一个KML新手,可以阅读这篇文档并且使用这些例子来开始学习KML文件基本结构。
第一部分描述了使用Google Earth软件来创建的特性。
这些特征包括placemarks,descripttions,ground overlays,paths和polygons。
第二部分描述了使用一个text editor来创建的特性。
当一个文件存储使用kml或者kmz扩展名,google earth浏览器知道怎样来显示它。
目录基本的KML 文档PlacemarksDescriptive HTML in PlacemarksGround OverlaysPathsPolygons高级的KML文档对于Geometry的styles对于高亮的icons的styles对于屏幕的覆盖图层网络连接KML MIME Types一、基本KML文档KML最简单的文档是那些可以直接在Google Earth发布的。
也就是说,你不必在一个text editor中编辑或创建任何KML,像这些Placemarks,Descriptive HTML in Placemarks,Ground Overlays,Paths,Polygons元素可以直接在Google Earth中创建。
1.1 Placemarks一个Placemark是google earth中最普遍的特征。
他标记真地球上表面的位置,使用一个黄色的图钉作为图标。
最简单的placemark仅包括一个point元素,用于指定placemark的位置。
你可以指定这个placemark的名字和图标,你也可以增加其他的几何元素在上面。
在Google Earth中打开KML Samples文件并且扩展placemarks子文件夹,这个文件夹包括三种placemark类型:simple,floating和extruded.对于KML code的一个简单的placemark如下:<?xml version="1.0" encoding="UTF-8"?><kml xmlns="/kml/2.2"><Placemark><name>Simple placemark</name><description>Attached to the ground. Intelligently places itselfat the height of the underlying terrain.</description><Point><coordinates>-122.0822035425683,37.42228990140251,0</coordinate s></Point></Placemark></kml>这份文件结构的分解结构如下:一个xml头。
这是在每一个KML文件中第一行。
在这行之前不能出现任何空格和字符。
一个KML名空间声明。
这是每个KML2.2文件的第2行一个Placemark对象包含下列元素:o a name用于Placemark的文本标签o a description用于附在placemark的注释信息o a point用于指定地球表面的placemark的位置(经度,纬度和可选的海拔)如果你想知道这个Placemark在哪里,他正是google的41号建筑,在那里开发的google earth.在google earth中用户通常认为placemark是一个带有point元素的placemark的元素。
一个point placemark在google earth的3d viewer用于绘制一个icon 和标签。
默认,这个图标是大家熟悉的黄色图钉。
在KML中,一个placemark可以包含一个或者多个几何元素,如linestring,polygon,model.但是一个带有point的placemark能有一个icon和标签。
这个点用于放置icon,但是本身这个点没有图形表现。
1.2、在placemarks中放置具有描述性的HTML在KML Samples中有一个你可以使用placemark text来处理任何事情的例子。
你可以增加链接,字体颜色,样式和颜色还有指定文字对齐方式和表格。
如果你想要看这些代码,可以将”Descriptive HTML”placemark 的例子粘贴到文本编辑器中。
●在Google Earth中的自动链接标记(4.0和之后的发布版本)Google Earth4.0有一个自动链接的特性,这个特性用于自动将像这样的文本转换成用户可以点击的链接。
在<description>,<Snippet>和<BallonStyle>中<text>的标签中的文字全都自动转换成标准的HTTP链接。
你不必自己添加<a href=…>标签。
●使用CDATA元素如果你想在在一个<description>标记写标准的HTML,你可以在里面添加CDATA标签。
如果你不这么做,尖括号需要用实体字符来写以防止google earth不正确的转换政协HTML.例如,符号>别写成>符号<别写成<这是一个标准的xml特性并不是指对Google Earth比较在HTML标记使用CDATA标签和不使用CDATA的区别。
首先,这儿是一段带有CDATA标签的<description>。
<?xml version="1.0" encoding="UTF-8"?><kml xmlns="/kml/2.2"><Document><Placemark><name>CDATA example</name><description><![CDATA[<h1>CDATA Tags are useful!</h1><p><font color="red">Text is <i>more readable</i> and<b>easier to write</b> when you can avoid using entityreferences.</font></p>]]></description><Point><coordinates>102.595626,14.996729</coordinates></Point></Placemark></Document></kml>这儿是一段没有CDATA标签的<description>.所以特殊字符必须使用实体字符。
<?xml version="1.0" encoding="UTF-8"?><kml xmlns="/kml/2.2"><Document><Placemark><name>Entity references example</name><description><h1>Entity references are hard totype!</h1><p><font color="green">Text is<i>more readable</i>and <b>easier to write</b>when you can avoid using entityreferences.</font></p></description><Point><coordinates>102.594411,14.998518</coordinates></Point></Placemark></Document></kml>1.3、Ground Overlayground overlay可以使你将一个图片覆盖在Earth的地表上。
这个<Icon>元素用于包含这个jpg文件的链接。
这个在KML Samples文件的ground overlay 例子,用于显示在2001年Mount Etna 火山爆发的<?xml version="1.0" encoding="UTF-8"?><kml xmlns="/kml/2.2"><Folder><name>Ground Overlays</name><description>Examples of ground overlays</description><GroundOverlay><name>Large-scale overlay on terrain</name><description>Overlay shows Mount Etna eruptingon July 13th, 2001.</description><Icon><href>/apis/kml/documentation/etna.jpg< /href></Icon><LatLonBox><north>37.91904192681665</north><south>37.46543388598137</south><east>15.35832653742206</east><west>14.60128369746704</west><rotation>-0.1556640799496235</rotation></LatLonBox></GroundOverlay></Folder></kml>注意这个文件使用第一个例子中的同样的两行:XML头和KML名空间按声明。