Google KML 转 GPS 轨迹 GPX 转换器
将 Google KML 地理标记转换为 GPS 轨迹 GPX,将专有的地图功能标准化为通用的航点和轨迹数据。
格式比较与技术规格
| 规格 | KML | GPX |
|---|---|---|
| MIME 类型 | application/vnd.google-earth.kml+xml | application/gpx+xml |
| 类型 | geographic XML notation | GPS data exchange format |
| 压缩 | XML text (KMZ when ZIP compressed) | XML text |
| 标准规范 | 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 使用 application/vnd.google-earth.kml+xml MIME 类型作为文本容器内的 XML 文本符号。当打包为 KMZ 文件时,它充当利用 Deflate 压缩的 ZIP 归档文件,其中包含一个 doc.kml 文件和外部资产。GPX 使用 application/gpx+xml MIME 类型作为专门围绕轨迹、路线和航点构建的 XML 文本格式。这两种格式都不使用独特的二进制魔术字节头。相反,这两种格式都依赖标准的 XML 声明头(例如小于号问号 xml version 等于 1.0 大于号),后跟诸如小于号 kml 大于号或小于号 gpx 大于号之类的根 XML 标签。在它们之间进行转换需要解析 XML 树,提取纬度、经度和高程节点,并将它们映射到 GPX 规范所需的严格轨迹和航点架构中。
操作系统与浏览器兼容性
这两种 XML 文本格式在所有现代桌面操作系统(包括 Windows、macOS 和 Linux)上使用标准文本解析器或 QGIS 等 GIS 软件时,都能实现广泛的兼容性。iOS 和 Android 上的移动平台通过专用的地图应用程序读取这两种文件类型。网页浏览器使用内置的 DOM 解析器原生解析底层的 XML 结构,允许基于网页的地图工具直接在视口中渲染地理路径。
💡 实用信息
在转换之前,请务必剥离不必要的 KML 样式元素(例如自定义图标链接和多边形填充),以保持生成的 GPX 文件精简且易于内存有限的硬件设备读取。
格式比较与技术规格
标准的 2 MB KML 路线文件在 4G 连接上可在不到 0.1 秒的时间内传输完毕,在 5G 上大约为 0.02 秒,在光纤网络上几乎是瞬间完成,这使得多个轨迹文件的批量转换极其快速。
常见问题
如何在不损失质量的情况下将 Google KML 转换为 GPS 轨迹 GPX?
对于地理坐标而言,转换在数学上是无损的,这意味着纬度、经度和高程值可以准确传输。但是,该过程对于诸尔多边形颜色、自定义图标和 3D 相机角度等视觉样式数据是有损的,因为 GPX 架构仅存储原始坐标点、轨迹和路线,而不包含美学属性。
Google KML 和 GPS 轨迹 GPX 有什么区别?
KML 是一种以可视化为重点的 XML 符号,旨在呈现在 Google Earth 内复杂的地理要素、图像和 3D 模型。GPX 是一种轻量级的、以 GPS 为中心的 XML 架构,专门设计用于在硬件设备和地图软件之间交换记录的轨迹、航点和导航路线。