Конвертер 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 нативно. Розробники та GIS-аналітики конвертують 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, витягує масиви координат і теги метаданих, а потім перезаписує їх у колекції об'єктів JSON, що відповідають стандарту RFC 7946, без втрати точності координат.
Сумісність з ОС та браузерами
Обидва формати працюють на всіх сучасних операційних системах, включаючи 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, розроблена для браузерів Earth, яка має ієрархічну структуру вузлів, що підтримує багату стилізацію, види камери та 3D-елементи. GeoJSON - це легкий формат, побудований на JSON, оптимізований для веб-API та векторної графіки з пласкою структурою, що містить колекції об'єктів, геометрії та прості властивості.