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 文件。
相关推荐
水静川流1 天前
GIS工具、POI数据、DEM数据、NDVI数据等地学大数据
arcgis·gis·poi·dem·地学大数据
GIS遥遥3 天前
2026年地信测绘遥感(3S)专业升学、就业、考证、竞赛专属日历
gis·gis开发·测绘·地图可视化
酬勤-人间道3 天前
XPlote3DGenie 2.1.1.0:实用 3D 数据处理工具,百度网盘可直接安装
c++·3d·gis·编程·计算机软件·岩土
GISBox3 天前
GIS场景透明度贴图全流程指南:模型导入、透明模式设置与3DTiles服务发布
3d·gis·gisbox·透明度贴图·opaque·alphatest·alphablend
GIS工具-gistools20214 天前
欧洲电厂分布数据及绿色能源情况
大数据·gis·能源
ct9786 天前
gl-matrix矩阵库
矩阵·gis·gl-matrix
ct9787 天前
WebGL开发
前端·gis·webgl
ct9787 天前
WebGL核心API
前端·gis·webgl