KML文件格式和支持添加的内容

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>

总结说明

  1. 标准 KML 文件示例

    • 包含基本的 KML 结构,定义了一个文档和一个地标(点)。
  2. 包含常见属性和元素的 KML 示例文件

    • 包含多个地标(点、线、多边形)。
    • 定义了样式(点、线、多边形的颜色和图标)。
    • 使用了 HTML 格式的描述。
    • 包含时间戳示例。
    • 包含网络链接,指向外部 KML 文件。
相关推荐
枝上棉蛮18 小时前
GISBox vs QGIS:轻量化工具与开源平台的全方位选型指南
gis·免费·qgis·轻量化·gisbox·gis服务器
传而习乎2 天前
【QGIS】【地图绘制】下载安装+中文配置+加载底图
gis
地狱为王3 天前
Cesium for Unity叠加行政区划线
unity·gis·cesium
枝上棉蛮3 天前
2026年GIS软件精选:五款工具的专业性与实用性解析
arcgis·gis·qgis·超图·gisbox·地图数据处理·gis工具
葱明撅腚6 天前
利用Python挖掘城市数据
python·算法·gis·聚类
ct9788 天前
Cesium高级特效与着色器开发全指南
前端·gis·cesium·着色器
葱明撅腚10 天前
shapely空间数据分析
python·pandas·gis·shapely
极海拾贝11 天前
秒加在线底图!天地图、高德地图、星图地球、吉林一号底图一次配齐,收藏这篇就够了!
arcgis·gis·geoscene
ct97811 天前
Cesium 矩阵系统详解
前端·线性代数·矩阵·gis·webgl