Skip to content

概述

KML(Keyhole 标记语言)是一种基于XML的地理数据格式,用于在应用程序(如Google Earth、Google Maps和ArcGIS)中以图形方式显示地理空间信息。它可以包含点、线、面、影像、图形、属性等多种元素,常用于共享地理数据和信息可视化。KML文件通常使用<font style="color:rgb(10, 10, 10);background-color:rgb(243, 245, 246);">.kml</font><font style="color:rgb(10, 10, 10);background-color:rgb(243, 245, 246);">.kmz</font>(压缩格式)扩展名。

  • <kml>:根元素。
  • <Document><Folder>:组织结构,包含多个 Placemark、Style 等。
  • <Placemark>:地理要素的基本单元。可包含:
  • <Point>:点(坐标:经度, 纬度[, 高度])。
  • <LineString>:线(坐标序列)。
  • <Polygon>(和 <LinearRing>):面。
  • <MultiGeometry>:组合几何。
  • <Style> / <StyleMap>:样式(图标、线宽、填充色、透明度等)。
  • <IconStyle>:点的图标设置(引用图片 URL)。
  • <GroundOverlay>:将图像覆盖到地面(影像叠加)。
  • <ScreenOverlay>:固定在屏幕上的图像(Cesium 对部分 ScreenOverlay 支持有限)。
  • <NetworkLink>:指向外部 KML 的链接(可用于分层加载 / 动态更新)。
  • <ExtendedData> / <Schema>:自定义属性字段(用于属性/表格信息)。
  • <TimeStamp> / <TimeSpan>:时间信息(用于动画 / 时序数据)。
javascript
import tentea from './assets/tentea.kml?url'

const dataSource = await Cesium.KmlDataSource.load(tentea)
viewer.dataSources.add(dataSource)
await viewer.zoomTo(dataSource.entities)
viewer.camera.zoomOut(10000)
/