GPX Converter

100% 私密——文件永不离开你的浏览器

KML 转 GeoJSON 转换器

把 .kml 文件转成 .geojson,直接载入 Leaflet、Mapbox、QGIS 和所有原生吃 JSON 的工具。线条与 gx:Track 连同海拔、时间戳一起转换,每个地标配一个要素——全部在你的浏览器本地处理。

如何转换为 GeoJSON

  1. 1

    拖入文件

    把 FIT、GPX、TCX、KML、KMZ 或 GeoJSON 文件拖到上面的虚线框里,也可以点击选择文件。源格式会根据文件内容自动识别。

  2. 2

    稍等片刻

    转换在你设备上的后台 Worker 中进行。一般活动转瞬即完成;即使 50 MB 的大文件也不会卡住页面。

  3. 3

    检查预览

    下载前可以先核对距离、时长、爬升、平均心率,以及转换后轨迹的地图预览,确认数据没有丢失。

  4. 4

    下载

    点击下载按钮,.geojson 文件直接从内存保存到本地。全程没有上传,所以也不存在需要清理的服务器副本。

什么是 KML 文件?

KML(Keyhole Markup Language)是诞生于 Keyhole——后来成为 Google Earth 的软件——的 XML 方言,后由 OGC 标准化。它面向地理要素的「展示」:地标、线、多边形和图片,各自带有样式与文件夹组织,让一个 KML 文件读起来像一张精心编排的地图,而不是原始数据堆。Google Earth、Google My Maps 和多数桌面 GIS 软件都能原生打开它。

KML 是地图格式,不是训练格式。它的几何能很好地承载位置与海拔——Google 的 gx:Track 扩展甚至能携带逐点时间戳用于时间轴回放——但它没有心率、踏频、功率的概念。当目的是「把路线展示给人看」时,把活动转成 KML 是正确选择;当目的是分析训练,健身格式才是数据的家。

什么是 GeoJSON 文件?

GeoJSON(RFC 7946)是地理领域的 JSON 方言——现代 Web 的母语。地图库(Leaflet、Mapbox GL、D3、Deck.gl)、数据新闻工具(Datawrapper、Flourish)、GIS 套件(QGIS、PostGIS)以及数据科学 Python 栈的半壁江山,都能毫无仪式感地消费它。一个文件就是一个 FeatureCollection,坐标以 [经度, 纬度] 对书写,属性就是普通 JSON。

与 KML 一样,GeoJSON 关心地理而非训练。它没有心率或功率的原生槽位,但工具可以自由附加自定义属性——广为使用的 togeojson 约定把逐点时间戳存在 coordinateProperties.times 里,本转换器既读取也写入该约定。如果目的地是网页地图、仪表盘或数据管线,GeoJSON 几乎总是最短的路径。

为什么从 KML 跳到 GeoJSON?

这是 Web 制图的两大通用语,而它们几乎没有交集:KML 来自 Google Earth 世界——手绘路线、分享地图、公园数据;GeoJSON 是 Leaflet、Mapbox GL、D3、Deck.gl 和大多数数据工具原生消费的东西。把一条 KML 路线搬上网页地图、放进仪表盘、或纳入数据分析,通常就是这一次转换,之后下游的一切直接可用。

它也是对付「号称支持 KML 但实现糟糕」的工具的可靠路径。许多 GIS 和 BI 工具导入 GeoJSON 毫无瑕疵,它们的 KML 导入却会丢 gx:Track 时间戳或弄乱 MultiGeometry。先用一个正确处理两者的转换器转换一次,整类导入 bug 就被绕开了。

转换产出什么

每个地标内的线几何变成一个 Feature:LineString 直接转换,gx:Track 转为 LineString 并把时间戳写入 coordinateProperties.times(togeojson 约定)。MultiGeometry 的多条线按文档顺序一线一个要素,海拔作为第三个坐标带过去。地标名落入要素 properties,Web 地图用它做标签。

诚实的范围:KML 里的点和多边形不是线几何,跳过;样式(图标、颜色、气泡)是 KML 的展示装饰,GeoJSON 没有对应物,丢弃。输出是纯净、符合 RFC 7946 的几何 + 海拔 + 时间 + 名称——正是数据工具想要的。

你的文件永远不会离开这个浏览器

这个工具——与本站所有工具一样——完全以客户端 JavaScript 运行。你拖入的文件在自己设备的 Web Worker 里解析、在内存中转换,然后直接作为下载交还给你。没有上传端点,没有服务器端转换服务,也没有临时存储:你可以打开浏览器开发者工具的网络面板,亲眼确认没有任何文件字节被发送到任何地方。

对健身数据而言,这一点比大多数文件更重要。一条 GPS 轨迹是一份精确的日志:你在哪里、什么时间、心跳多快——家庭住址、训练习惯、常跑路线和比赛日程全在一个文件里。让转换留在设备上,意味着第三方转换器永远拿不到这份日志的副本;而且这个工具在飞机上、地下室里或任何没信号的地方,都照常工作。

KML 与 GeoJSON 一览

维度KMLGeoJSON
格式类型展示 XML(Google Earth)JSON(RFC 7946)
典型用途Earth 可视化、My MapsWeb 地图、GIS、数据管线
线几何LineString / gx:TrackLineString 要素
时间戳gx:Track <when>coordinateProperties.times
样式丰富(图标、气泡)无——只有数据
最适合Google 生态展示一切原生 JSON 的场景

常见问题

能。每个点的时间变成 coordinateProperties.times 里的 ISO 字符串——与 Mapbox togeojson 确立的约定相同——Web 地图和脚本因此能按时间动画或分析轨迹,而不只是画出来。

相关工具