KML 轉 GeoJSON 轉換器

將 Google KML 檔案轉換為 GeoJSON,可將階層式 XML 地理資料轉換為適用於現代網路地圖的輕量向量 JavaScript Object Notation。

在這裡選擇或拖放檔案

私密 - 檔案絕不會離開您的裝置

或貼上 Ctrl+V

等待檔案時,可以玩玩 Code Rain

零網路傳輸隱私保證: 0 位元組上傳至外部伺服器。所有處理皆在本機瀏覽器沙箱中進行。

格式比較與技術規格

規格KMLGEOJSON
MIME 類型application/vnd.google-earth.kml+xmlapplication/geo+json
類型地理 XML 標記法地理向量 JSON
壓縮XML 文字(以 ZIP 壓縮時為 KMZ)無(JSON 文字)
標準規格OGC KML 2.3IETF RFC 7946
檔案簽章(magic bytes)標頭3C 3F 78 6D 6C ... 3C 6B 6D 6C (<kml)7B 22 74 79 70 65 22 3A 20 22 ({"type": ") JSON header

格式概述與應用

地理資料經常需要在桌面地圖工具與網頁應用程式之間轉換。Google KML 是 Google Earth 使用的標準格式,會在 XML 樹狀結構中組織點、線與多邊形。現代網頁瀏覽器與 Mapbox、Leaflet 等地圖函式庫更偏好 GeoJSON,因為它能直接對應 JavaScript 原生使用的資料結構。開發人員與 GIS 分析師會將 KML 轉為 GeoJSON,以便在網頁上快速載入地圖圖層,而不必使用專門的桌面軟體。相較於解析大型 XML 文件,網頁應用程式能更快處理 JSON。使用者載入網頁地圖時,GeoJSON 檔案會直接傳送至向量算繪引擎。這種轉換省去了執行時轉換 XML 標籤的額外負擔,讓地圖在維持座標幾何資料精確度的同時,也能流暢顯示數千個圖徵。

技術規格與編解碼器解析

Google KML 使用 MIME 類型 application/vnd.google-earth.kml+xml,依 XML 文字語法組成;壓縮後則會成為稱為 KMZ 的 ZIP 容器。GeoJSON 使用 MIME 類型 application/geo+json,由未壓縮的純文字組成,並以 JSON 物件的結構組織。KML 檔案通常以標準 XML 宣告開頭,而 KMZ 封存檔則以 ZIP 本機檔案標頭位元組 50 4B 03 04 開頭。GeoJSON 檔案以代表根 JSON 物件的 ASCII 字元「{」開頭。轉換時會解析 XML 文件樹、提取座標陣列與中繼資料標籤,再將其改寫為符合 RFC 7946 規範的 JSON 圖徵集合,且不會失去座標精度。

作業系統與瀏覽器相容性

這兩種格式適用於 Windows、macOS、Linux、iOS 與 Android 等大多數現代作業系統。由於瀏覽器能原生解析 JSON,GeoJSON 可在 Chrome、Firefox、Safari 與 Edge 等大多數現代網頁瀏覽器中直接使用。Google KML 則需要 Google Earth 等專用桌面軟體,或 QGIS 等轉換工具才能正確算繪;網頁瀏覽器若沒有第三方解析函式庫,就無法原生顯示 KML 檔案。

實用資訊

轉換為 GeoJSON 之前,務必確認來源 KML 使用 WGS 84 地理座標,以避免網頁地圖出現空間位移錯誤。

常見問題

如何在不失真的情況下將 Google KML 轉為 GeoJSON?

就座標資料而言,這項轉換在數學上是無損的。這兩種格式都使用 WGS 84 空間參考系統儲存地理座標。不過,KML 中的特定樣式規則,例如自訂圖示 URL 與複雜的多邊形突出高度,在標準 GeoJSON 中可能沒有直接對應項目,因此可能需要手動重新建立。

Google KML 與 GeoJSON 有什麼差異?

Google KML 是專為地球瀏覽器設計的 XML 語言,採用階層式節點結構,支援豐富的樣式、相機視角與 3D 元素。GeoJSON 則是以 JSON 為基礎的輕量格式,針對網頁 API 與向量圖形最佳化,採用包含圖徵集合、幾何圖形與簡單屬性的扁平結構。