Конвертер на Google KML към GeoJSON
Конвертирането на Google KML файлове в GeoJSON преобразува йерархични XML географски данни в олекотени векторни JavaScript Object Notation обекти за съвременни уеб карти.
Сравнение на формати и технически спецификации
| Спецификация | KML | GEOJSON |
|---|---|---|
| MIME тип | application/vnd.google-earth.kml+xml | application/geo+json |
| Тип | geographic XML notation | geographic vector JSON |
| Компресия | XML text (KMZ when ZIP compressed) | none (JSON text) |
| Стандартна спецификация | OGC KML 2.3 | IETF 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. Разработчиците и ГИС анализаторите конвертират KML към GeoJSON, за да зареждат бързо картни овърлеи на уеб страници без нужда от специализиран софтуер. Уеб приложенията обработват JSON незабавно в сравнение с анализирането на големи XML документи. Когато потребителите заредят уеб карта, GeoJSON файлът се подава директно към двигателите за векторно рендиране. Това преобразуване елиминира натоварването от превеждането на XML тагове по време на изпълнение. То позволява на картите да показват хиляди елементи плавно, като същевременно поддържат прецизна координатна геометрия.
Технически спецификации и анализ на кодеците
Google KML използва MIME типа application/vnd.google-earth.kml+xml и разчита на XML текстов синтаксис или ZIP контейнер, известен като KMZ при компресиране. GeoJSON използва MIME типа application/geo+json и се състои от некомпресиран обикновен текст, структуриран като JSON обект. KML файловете често започват със стандартни байтове за XML декларация, докато KMZ архивите започват с байтовете на локалния файлов хедер на ZIP 50 4B 03 04. GeoJSON файловете започват с ASCII знака '{', представляващ корена на JSON обекта. Процесът на конвертиране анализира дървовидния XML документ, извлича координатни масиви и метаданни и ги записва отново в съвместими с RFC 7946 JSON колекции от обекти, без да губи координатна прецизност.
Съвместимост с операционни системи и браузъри
И двата формата работят на всички съвременни операционни системи, включително Windows, macOS, Linux, iOS и Android. GeoJSON работи нативно във всички съвременни уеб браузъри като Chrome, Firefox, Safari и Edge, тъй като браузърите анализират JSON нативно. Google KML изисква специализиран настолен софтуер като Google Earth или инструменти за превод като QGIS за правилно визуализиране, тъй като уеб браузърите не могат нативно да показват KML файлове без библиотеки за анализ от трети страни.
💡 Полезна информация
Винаги проверявайте дали вашият изходен KML използва географски координати WGS 84 преди конвертиране към GeoJSON, за да предотвратите грешки в пространственото отместване на вашите уеб карти.
Сравнение на формати и технически спецификации
Стандартен KML файл с размер 5 мегабайта се конвертира в GeoJSON файл с размер приблизително 4.2 мегабайта. През 4G мобилна мрежа със скорост 30 мегабита в секунда изтеглянето на този файл отнема около 1.1 секунди. През 5G мрежа със скорост 150 мегабита в секунда преносът завършва за 0.2 секунди. При гигабитова оптична връзка файлът се прехвърля незабавно за по-малко от 0.05 секунди.
Често задавани въпроси
Как се конвертира Google KML към GeoJSON без загуба на качество?
Конвертирането е математически загуба без загуби за координатните данни. И двата формата съхраняват географски координати, използвайки пространствената референтна система WGS 84. Въпреки това, специфичните правила за стилизиране в KML, като персонализирани URL адреси на икони и сложни височини на екструдиране на полигони, може да нямат директни еквиваленти в стандартния GeoJSON и може да изискват ръчно пресъздаване.
Каква е разликата между Google KML и GeoJSON?
Google KML е базиран на XML език, предназначен за браузъри на земното кълбо, включващ йерархична структура от възли, която поддържа богати стилове, изгледи на камерата и 3D елементи. GeoJSON е олекотен формат, изграден върху JSON, оптимизиран за уеб API и векторна графика с плоска структура, съдържаща колекции от обекти, геометрии и прости свойства.