Конвертер з GeoJSON у KML
Перетворення векторів GeoJSON у Google KML перетворює компактні масиви координат JSON на структуровані документи XML, адаптовані для Google Earth та Google Maps.
Порівняння форматів та технічні характеристики
| Специфікація | GEOJSON | KML |
|---|---|---|
| MIME-тип | application/ | application/ |
| Тип | географічні векторні дані JSON | географічна нотація XML |
| Стиснення | немає (текст JSON) | текст XML (KMZ у разі стиснення ZIP) |
| Стандартна специфікація | IETF RFC 7946 | OGC KML 2.3 |
| Заголовок магічних байтів | 7B 22 74 79 70 65 22 3A 20 22 ({"type": ") JSON header | 3C 3F 78 6D 6C ... 3C 6B 6D 6C (<kml) |
Огляд формату та застосування
Географічні векторні дані часто збираються та поширюються за допомогою GeoJSON, оскільки веброзробники та бібліотеки картографування JavaScript обробляють його природним чином. Однак настільне програмне забезпечення GIS, таке як Google Earth та застарілі корпоративні глобусні додатки, вимагають мови розмітки Keyhole Markup Language, відомої як KML. Перетворення між цими форматами дозволяє польовим дослідникам і картографам переглядати отримані з вебсторінок полігони меж, точки телеметрії з дронів та маршрути муніципальних об’єктів у віртуальних глобусах без написання власних сценаріїв. Перенесення даних із GeoJSON у KML також подолає розрив між відкритими веб-API та інструментами картографування для звичайних користувачів. Багато міських планувальників збирають дані за допомогою бібліотек Leaflet або Mapbox, які виводять файли GeoJSON. Коли зацікавлені сторони хочуть переглянути ці самі шари в тривимірному настільному середовищі, перетворення тегів геометрії, атрибутів стилю та властивостей метаданих у вузли XML гарантує правильне відтворення візуальних елементів, таких як іконки, ширина ліній та кольори заливки.
Технічні специфікації та розбір кодеків
GeoJSON використовує MIME-тип application/geo+json, представляючи географічні точки, лінії та полігони всередині звичайного тексту у форматі JavaScript Object Notation. Він не містить бінарних магічних байтів, покладаючись натомість на стандартні дужки ASCII або UTF-8 та пари ключ-значення, такі як "type": "FeatureCollection". Натомість Google KML використовує MIME-тип application/vnd.google-earth.kml+xml, структуруючи просторові об'єкти всередині тегів XML, таких як <Placemark>, <Point> та <Polygon>. Хоча жоден формат нативно не використовує стиснення з втратами на рівні тексту, файли KML можна архівувати в архіви KMZ за допомогою стандартного стиснення DEFLATE, щоб об'єднати великі векторні дані та локальні значки зображень.
Сумісність з ОС та браузерами
Обидва формати працюють у більшості сучасних операційних систем, зокрема Windows, macOS, Linux, iOS та Android. Сучасні веббраузери нативно аналізують рядки GeoJSON за допомогою стандартних рушіїв JavaScript, тоді як Google KML вимагає спеціальних парсерів або спеціального настільного програмного забезпечення для роботи з земною поверхнею, такого як Google Earth Pro. Мобільні браузери не можуть відображати необроблені файли KML безпосередньо без допоміжної програми або попереднього рендерингу на сервері.
Корисна інформація
Під час перетворення великих наборів даних із тисячами складних полігонів розбивайте вихідний файл GeoJSON на менші регіональні файли перед експортом у KML, щоб запобігти збоям через нестачу пам'яті в споживчих картографічних додатках.
Поширені запитання
Як перетворити GeoJSON у Google KML без втрати якості?
Це перетворення є суворо без втрат, оскільки обидва формати зберігають координати векторів за допомогою точних числових значень широти та довготи. Процес перетворення зіставляє ключі GeoJSON з відповідними елементами XML KML без зміни точності координат, хоча користувацькі властивості стилю можуть потребувати ручного зіставлення, якщо цільове програмне забезпечення читає нестандартні атрибути по-іншому.
У чому різниця між GeoJSON та Google KML?
GeoJSON - це легкий текстовий формат, побудований на синтаксисі JSON, розроблений спеціально для API вебкартографування та обробки на JavaScript. Google KML - це мова на основі XML, розроблена для Google Earth, яка пропонує вбудовану підтримку прив'язки висоти в 3D, коригування точок огляду камери, ієрархій вкладених папок та вбудованих іконок.