admin管理员组

文章数量:1566356

2024年7月21日发(作者:)

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. 地标中的描述性 HTML

3. 地面叠加层

4. 路径

5. 多边形

2. 高级 KML 文档

1. 几何图形样式

2. 突出显示图标的样式

3. 屏幕叠加层

4. 网络链接

3. KML MIME 类型

KML几何对象类型

对象

Point(点)

LineString(线段)

LinearRing(环)

用经度、纬度和(可选)海拔高度定义的地理位置。

定义一组连起来的线段

定义闭合的线条字符串,通常是多边形的外边界。

也可以将 LinearRing 用作多边形的内边界,来在多

边形中创建孔。

Polygon(多边形)

MultiGeometry(几何对象集)

Model(三维模型)

用1个或多个外边界和 0 个或多个内边界定义的多

边形。而边界又是由 LinearRing 定义的。

与同一地图项关联的 0 个或多个基本几何图形(如

点、线段、环、多边形等)的容器。

COLLADA 文件中描述的三维对象(在

签中引用)。COLLADA 文件具有“.dae”文件扩展名。

模型在其自身的坐标空间内创建,然后在 Google 地

球中查找、定位和缩放。

Placemark(地标)

GroundOverlay(地面叠加层)

地标是具有相关几何图形(如点、线段、环、多边

形等)的地图项。

用于绘制在地形上叠加或悬浮于特定高度的图片叠

加层

描述

KML文档格式

第1行:XML 标头。这是每个 KML 文件的第 1 行。该行前面不能有空格或其他

字符。

第2行:KML 名称空间声明。这是每个 KML 2.2 文件的第 2 行。

1 基本 KML 文档

最简单的 KML 文档类型就是可直接在 Google 地球中编写的文档,也就是说您

无需在文本编辑器中编辑或创建任何 KML。Placemark(地标)、GroundOverlay

(地面叠加层)、Path (路径)和 Polygon(多边形) 都可以直接在 Google 地

球中编写。

地标(Placemark)

地标是 Google 地球中最常用的地图项之一。点地标使用黄色图钉作为缺省图

标,在地球表面标记出位置。最简单的地标只包含一个 元素,它指定

地标的位置。您可以指定地标的名称和自定义图标,还可以为地标添加其他几何

元素(如点、线段、环、多边形等)。

在 Google 地球中打开 KML Samples 文件,并展开“Placemarks”子文件夹。

该文件夹包含三种不同类型的地标:“简单”、“浮动”和“凸出”。

简单地标的 KML 代码如下:

简单点地标(Simple placemark)

华东师范大学图书馆(闵行校区)

121.447606,31.030899,0

该文件的结构分解如下:

XML 标头。这是每个 KML 文件的第 1 行。该行前面不能有空格或其他字

符。

KML 名称空间声明。这是每个 KML 2.2 文件的第 2 行。

包含以下元素的地标对象:

o

用于标识地标的“名称”

o

附着到地标的“气泡框”中显示的“说明”

o

指定地标在地球表面位置的“点”-“经度”、“纬度”及“高

度”(可选)

想知道该地标在哪里?它就在华东师范大学图书馆(闵行校区)!

如果要改变地标的样式,如改变地标的图标文件和图标倾斜角度,可参考以下代

码:

简单点地标(Simple placemark)

#iconEcnu

华东师范大学图书馆(闵行校区)

121.447606,31.030899,0

如果用自定义的三维模型作地标,请参看以下代码:

relativeToGround

121.447606

31.030899

0

45.0

10.0

0.0

10.0 10.0 10.0

once

用户通常认为的 Google 地球中的“地标”,实际上是 KML 中的

元素,包含一个 子元素。点地标是您在 Google 地球的三维查看器中

绘制图标和标签的唯一途径。默认情况下,该图标是您熟悉的黄色图钉。在 KML

中, 可包含一个或多个几何元素,例如 LineString、Polygon 或

Model。但只有具有点的 可以有图标和标签。点用于放置图标,但

点本身并无图形表示。

语法

...

1

0

...

...

...

...

...

...

...

...

<

TimePrimitive

>...

TimePrimitive

>

...

<

StyleSelector>...

...

...

...

...

说明

地标是具有相关几何图形的地图项。在 Google 地球中,地标显示为“位

置”面板中的列表项。点地标具有关联的图标,该图标会在三维查看器

中的地球上做点的标记。(在 Google 地球三维查看器中,点地标是您

可以点击或滚动的唯一对象。其他几何图形对象在三维查看器中没有图

标。要使用户在三维查看器中有对象可以点击,需要创建 MultiGeometry

对象,后者包含点和其他几何图形对象。)

地标特有的元素

0 个或 1 个 元素

示例

Google Earth - New Placemark

Some Descriptive text.

-90.86879847669974

48.2533

440.8

8.3

2.7

-90.86948943473118,48.2545,0

es>

扩展

包含方

另请参见

地面叠加层(

GroundOverlay)

通过地面叠加层,可在 Google 地球的地形上“叠加”图像。 元素包含

了指向叠加图像“.jpg”文件的链接。以下是 KML Samples 文件中的地面叠加

层示例,展示了 2001 年喷发的埃特纳火山:

Ground Overlays

Examples of ground overlays

Large-scale overlay on terrain

Overlay shows Mount Etna erupting

on July 13th, 2001.

/apis/kml/documentation/

37.919

37.46543388598137

15.35832653742206

14.64

-0.155664

请注意,文件开始两行与第一个示例相同,都是 XML 标头和 KML 名称空间声明。

该示例使用文件夹(名为“Ground Overlays”)作为对其内容进行分组和标记

的机制。请注意在您将 KML Samples 文件载入 Google 地球中时,该文件夹在

“位置”面板中是如何显示的。

地面叠加层的定位由 标签控制。边框值以南纬、北纬和东经、西

经形式给出。此外,旋转值是针对 y 轴与网格北端不重合的图像给出的。该示

例为叠加层使用 JPEG 图像。Google 地球还支持 BMP、GIF、TIFF、TGA 和 PNG

格式。

路径(Path)

在 Google 地球中可以创建多种不同类型的路径,并且可轻松地利用您的数据充

分发挥创造力。在 KML 中,路径是用 元素创建的。看一看 Paths

文件夹中的“Absolute Extruded”示例,您就会明白如何用以下代码来生成形

状:

Paths

Examples of paths. Note that the tessellate tag is by

default

set to 0. If you want to create tessellated lines, they must be

authored

(or edited) directly in KML.

Absolute Extruded

Transparent green wall with yellow

outlines

#yellowLineGreenPoly

1

1

absolute

-112.255,36.47,2357

-112.2549277039738,36.22,2357

-112.2552505069063,36.79,2357

-112.2564540158376,36.06,2357

-112.258,36.13,2357

-112.2595218489022,36.94,2357

-112.26,36.89,2357

-112.262073428656,36.47,2357

-112.2633204928495,36.91,2357

-112.2644963846444,36.74,2357

-112.2656969554589,36.44,2357

请注意,该代码生成的其实只是高于地面的一条线。 标签把线切

成小段,而 标签将线向下延伸到地面。

多边形(

Polygon)

您可以使用多边形来创建简单的建筑物及其他形状。有关示例,请查看 KML

Samples 文件中的“Polygons”文件夹。

五角大楼的示例是通过绘制简单的内外壳,然后将它们向下凸出到地面生成的。

代码如下:

The Pentagon

1

relativeToGround

-77.67,38.87253259892824,100

-77.02,38.87291016281703,100

-77.91,38.87,100

-77.16,38.868757801256,100

-77.93,38.86996206506943,100

-77.67,38.87253259892824,100

-77.26,38.876,100

-77.18,38.877,100

-77.24,38.87,100

-77.52,38.87,100

-77.43,38.87,100

-77.26,38.876,100

本文标签: 地标地球文件图标