Конвертер KML в GeoJSON
Конвертация файлов Google KML в формат GeoJSON преобразует иерархические географические данные XML в легкий векторный формат JavaScript Object Notation для современных веб-карт.
Сравнение форматов и технические характеристики
| Характеристика | KML | GEOJSON |
|---|---|---|
| MIME-тип | application/ | application/ |
| Тип | географическая нотация XML | географические векторные данные JSON |
| Сжатие | текст XML (KMZ при сжатии в ZIP) | нет (текст JSON) |
| Стандартная спецификация | 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, извлекает массивы координат и теги метаданных, а затем преобразует их в коллекции объектов JSON, соответствующие стандарту RFC 7946, без потери точности координат.
Совместимость с ОС и браузерами
Оба формата работают в большинстве современных операционных систем, включая Windows, macOS, Linux, iOS и Android. GeoJSON поддерживается встроенными средствами в большинстве современных веб-браузеров, таких как Chrome, Firefox, Safari и Edge, поскольку браузеры обрабатывают JSON встроенными средствами. Google KML требует специализированного настольного программного обеспечения, такого как Google Earth, или инструментов трансляции, таких как QGIS, для корректного рендеринга, так как веб-браузеры не могут отображать встроенными средствами файлы KML без сторонних библиотек парсинга.
Полезная информация
Всегда проверяйте, что Ваш исходный KML использует географические координаты WGS 84 перед конвертацией в GeoJSON, чтобы предотвратить ошибки пространственного смещения на Ваших веб-картах.
Часто задаваемые вопросы
Как конвертировать Google KML в GeoJSON без потери качества?
Конвертация математически без потерь для координатных данных. Оба формата хранят географические координаты с использованием системы пространственной привязки WGS 84. Однако специфические правила стилевого оформления в KML, такие как пользовательские URL иконок и сложная высота выдавливания полигонов, могут не иметь прямых эквивалентов в стандартном GeoJSON и могут потребовать ручного воссоздания.
В чем разница между Google KML и GeoJSON?
Google KML - это язык на базе XML, разработанный для браузеров Земли, с иерархической структурой узлов, поддерживающей расширенное оформление, виды камер и трехмерные элементы. GeoJSON - это легкий формат на базе JSON, оптимизированный для веб-API и векторной графики с плоской структурой, содержащей коллекции функций, геометрии и простые свойства.