KML(Keyhole Markup Language)是一种用于表示地理数据的 XML 格式,除了颜色,KML 还支持许多其他属性和元素。以下是一些常见的属性和元素,可以在 KML 文件中使用:
1. 名称和描述
- name: 用于指定地标的名称。
- description: 用于提供地标的详细描述,可以包含 HTML 格式的内容。
2. 位置和几何
- coordinates: 指定地理坐标,通常是经度、纬度和高度。
- Point: 用于表示单个点的位置。
- LineString: 用于表示一系列连接的点形成的线。
- Polygon: 用于表示封闭的多边形区域。
3. 样式
- Style : 定义点、线和多边形的样式,包括颜色、宽度、透明度等。
- IconStyle: 用于定义点的图标样式。
- LineStyle: 用于定义线的样式(颜色和宽度)。
- PolyStyle: 用于定义多边形的填充样式(颜色和透明度)。
4. 时间
- TimeStamp: 用于指定某个地标的时间戳。
- TimeSpan: 用于定义一个时间段,包含开始和结束时间。
5. 图标和标记
- Icon: 定义要用于标记的图标,包括图标的 URL 和尺寸。
- HotSpot: 指定图标的热点位置,通常用于定义用户点击图标时的响应区域。
6. 网络链接
- NetworkLink: 允许 KML 文件链接到其他 KML 文件或网络资源。
- refreshInterval: 指定 KML 文件的刷新间隔。
7. 视角
- Camera: 定义视角的位置、朝向和视野。
- LookAt: 定义观察点的经纬度、范围和朝向。
8. 地面覆盖
- GroundOverlay: 用于在地面上覆盖图像,例如卫星图像。
- ScreenOverlay: 用于在屏幕上覆盖图像,例如标记或图标。
9. 多媒体
- gx:Track: 用于表示运动轨迹,包含时间、位置和速度等信息。
示例 KML 片段
以下是一个 KML 文件的示例片段,展示了如何使用这些属性:
xml
<Placemark>
<name>Sample Point</name>
<description><![CDATA[This is a sample point with <b>HTML formatting</b>.]]></description>
<Point>
<coordinates>-122.0838,37.421999,0</coordinates>
</Point>
<Style>
<IconStyle>
<color>ff0000ff</color>
<scale>1.1</scale>
<Icon>
<href>http://example.com/icon.png</href>
</Icon>
</IconStyle>
</Style>
</Placemark>
以下是一个标准的 KML 文件示例和一个包含常见属性和元素的 KML 示例文件。
标准 KML 文件示例
xml
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>Standard KML Example</name>
<description>This is a basic KML example.</description>
<Placemark>
<name>Sample Point</name>
<description>This is a sample point.</description>
<Point>
<coordinates>-122.0838,37.421999,0</coordinates>
</Point>
</Placemark>
</Document>
</kml>
包含常见属性和元素的 KML 示例文件
xml
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>Comprehensive KML Example</name>
<description>This KML file demonstrates various features.</description>
<!-- 定义样式 -->
<Style id="pointStyle">
<IconStyle>
<color>ff0000ff</color> <!-- 红色 -->
<scale>1.2</scale>
<Icon>
<href>http://example.com/icon.png</href> <!-- 图标 URL -->
</Icon>
</IconStyle>
</Style>
<Style id="lineStyle">
<LineStyle>
<color>ff00ff00</color> <!-- 绿色 -->
<width>2</width>
</LineStyle>
</Style>
<Style id="polygonStyle">
<PolyStyle>
<color>7f0000ff</color> <!-- 半透明蓝色 -->
</PolyStyle>
</Style>
<!-- 添加一个点 -->
<Placemark>
<name>Sample Point</name>
<description><![CDATA[This is a sample point with <b>HTML formatting</b>.]]></description>
<styleUrl>#pointStyle</styleUrl>
<Point>
<coordinates>-122.0838,37.421999,0</coordinates>
</Point>
</Placemark>
<!-- 添加一条线 -->
<Placemark>
<name>Sample Line</name>
<description>A simple line example.</description>
<styleUrl>#lineStyle</styleUrl>
<LineString>
<coordinates>
-122.0838,37.421999,0
-122.0840,37.4220,0
-122.0842,37.4221,0
</coordinates>
</LineString>
</Placemark>
<!-- 添加一个多边形 -->
<Placemark>
<name>Sample Polygon</name>
<description>A simple polygon example.</description>
<styleUrl>#polygonStyle</styleUrl>
<Polygon>
<outerBoundaryIs>
<LinearRing>
<coordinates>
-122.0840,37.4210,0
-122.0840,37.4230,0
-122.0820,37.4230,0
-122.0820,37.4210,0
-122.0840,37.4210,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<!-- 添加时间戳 -->
<Placemark>
<name>Sample TimeStamp</name>
<description>This placemark has a timestamp.</description>
<TimeStamp>
<when>2023-10-01T12:00:00Z</when>
</TimeStamp>
<Point>
<coordinates>-122.0850,37.4215,0</coordinates>
</Point>
</Placemark>
<!-- 添加网络链接 -->
<NetworkLink>
<name>External KML</name>
<description>A link to an external KML file.</description>
<refreshInterval>1</refreshInterval>
<Link>
<href>http://example.com/external.kml</href>
</Link>
</NetworkLink>
</Document>
</kml>
总结说明
-
标准 KML 文件示例:
- 包含基本的 KML 结构,定义了一个文档和一个地标(点)。
-
包含常见属性和元素的 KML 示例文件:
- 包含多个地标(点、线、多边形)。
- 定义了样式(点、线、多边形的颜色和图标)。
- 使用了 HTML 格式的描述。
- 包含时间戳示例。
- 包含网络链接,指向外部 KML 文件。