KML转GPX转换器
将 Google KML 地理标记转换为 GPS 轨迹 GPX,将专有的地图功能标准化为通用的航点和轨迹数据。
格式比较与技术规格
| 规格 | KML | GPX |
|---|---|---|
| MIME 类型 | application/ | application/ |
| 类型 | 地理 XML 表示法 | GPS 数据交换格式 |
| 压缩 | XML 文本 (ZIP 压缩时为 KMZ) | XML 文本 |
| 标准规范 | OGC KML 2.3 | Topografix GPX 1.1 |
| 魔数文件头 (Magic Bytes) | 3C 3F 78 6D 6C ... 3C 6B 6D 6C (<kml) | 3C 3F 78 6D 6C ... 3C 67 70 78 (<gpx) |
格式概述与应用
Google Keyhole 标记语言文件存储了丰富的视觉几何图形,包括主要为 Google Earth 构建的多边形、图标和带样式的路径。但是,Garmin 手持设备、自行车电脑和健身手表等硬件单元需要 GPS 交换格式文件来读取轨迹和导航路线。从 KML 转到 GPX 弥合了桌面可视化软件与户外现场硬件之间的鸿沟。 实地研究人员、远足者和无人机驾驶员经常在 Google Earth 中收集航点,并需要将这些坐标传输到专用的 GPS 接收器。由于硬件记录仪无法解释 KML 文档中发现的样式规则或 3D 拉伸,转换空间数据可确保导航单元能够读取准确的坐标、高程和时间戳,而不会出现渲染错误。
技术规格与编解码器解析
KML 是 XML 文本格式,使用 application/vnd.google-earth.kml+xml MIME 类型,并放在文本容器中。KMZ 是 ZIP 归档,内含一个主要 KML 文件(通常名为 doc.kml)和可选的支持文件。GPX 使用 application/gpx+xml MIME 类型,以 XML 文本格式表示轨迹、路线和航点。这两种格式都没有专用的二进制魔数文件头,而是采用标准 XML 声明,例如 <?xml version="1.0"?>,后接 <kml> 或 <gpx> 等根标签。两者互转时,需要解析 XML 树,提取纬度、经度和海拔节点,再按照 GPX 规范要求的严格轨迹和航点结构进行映射。
操作系统与浏览器兼容性
使用标准文本解析器或 QGIS 等 GIS 软件时,这两种 XML 文本格式与 Windows、macOS 和 Linux 等主流现代桌面操作系统广泛兼容。iOS 和 Android 上的专用地图应用可读取这两种文件。网页浏览器使用内置 DOM 解析器原生解析底层 XML 结构,因此网页地图工具可以直接在视口中渲染地理路径。
实用信息
在转换之前,请务必剥离不必要的 KML 样式元素(例如自定义图标链接和多边形填充),以保持生成的 GPX 文件精简且易于内存有限的硬件设备读取。
常见问题
如何在不损失质量的情况下将 Google KML 转换为 GPS 轨迹 GPX?
对于地理坐标而言,转换在数学上是无损的,这意味着纬度、经度和高程值可以准确传输。但是,该过程对于诸如多边形颜色、自定义图标和 3D 相机角度等视觉样式数据是有损的,因为 GPX 架构仅存储原始坐标点、轨迹和路线,而不包含美学属性。
Google KML 和 GPS 轨迹 GPX 有什么区别?
KML 是一种以可视化为重点的 XML 符号,旨在在 Google Earth 中呈现复杂的地理要素、图像和 3D 模型。GPX 是一种轻量级的、以 GPS 为中心的 XML 架构,专门设计用于在硬件设备和地图软件之间交换记录的轨迹、航点和导航路线。