Файл KML (.kml)

Стандарт Стандарт

Keyhole Markup Language (KML) - это открытый стандарт XML для описания географических аннотаций и визуализации, первоначально разработанный для Keyhole Earth Viewer (Google Earth) и стандартизированный Консорциумом OGC (Open Geospatial Consortium).

Конвертировать из GEOJSON в KML

Бесплатный конвертер из GEOJSON в KML прямо в браузере. Конвертируйте файлы мгновенно на вашем устройстве.

Анализ и метаданные

Операционные системы и анализаторы файлов идентифицируют файлы KML по начальной двоичной последовательности байтов:

Выберите или перетащите файлы сюда

100% конфиденциальное преобразование в браузере - файлы никогда не покидают ваше устройство

или вставьте Ctrl+V
Гарантия конфиденциальности без передачи по сети: 0 байт загружено на внешние серверы. Вся обработка выполняется локально в песочнице вашего браузера.

Сигнатура заголовка на уровне байтов (Magic Bytes)

Операционные системы и анализаторы файлов идентифицируют файлы KML по начальной двоичной последовательности байтов:

HEX-СИГНАТУРА (СМЕЩЕНИЕ 0):

3C 6B 6D 6C

ПРЕДСТАВЛЕНИЕ ASCII: <kml

Стандартизация: Стандарт OGC KML 2.3

Технические спецификации

Архитектура контейнераГрамматика географической визуализации на основе XML, определяющая точки (Placemarks), наложения (GroundOverlays), 3D-модели и ракурсы камеры
СжатиеНесжатый XML-текст (сжимается с помощью ZIP в файлы .kmz)
Порядок байтов (Endianness)Текстовый поток UTF-8 / Unicode
Цветовые пространстваШестнадцатеричные строки цветов в формате AABBGGRR
Каналы и структураМетки (Placemarks), пути, полигоны, модели 3D-зданий, наложения фотографий и траектории камер в турах
Макс. габаритыКоординаты WGS 84: Долгота, Широта, Высота (в метрах над уровнем моря)
ПрозрачностьАльфа-прозрачность поддерживается в строках цветов AABBGGRR и наложениях PNG
Потоковая передача и прогрессивная загрузкаNetworkLinks поддерживают динамические потоковые обновления с удаленных геопространственных серверов

Техническая матрица сравнения: KML против конкурентов

Технический атрибутKML (Текущий)GEOJSONGPXKMZ
3D-камера и турыПолный наклон камеры, курс и туры с облетомОтсутствуют (плоские свойства геометрии)Отслеживание высоты над уровнем моряПолный наклон камеры и туры с облетом
Формат упаковкиПростой текстовый XML-документПростой текстовый JSON-документПростой текстовый XML-документZIP-архив, содержащий doc.kml
Формат цветаAABBGGRR (Альфа-Синий-Зеленый-Красный)Стандарт CSS / HexОтсутствуетAABBGGRR
Основное назначениеGoogle Earth и 3D-ГИСВеб-карты (Mapbox, Leaflet)Garmin и трекинг фитнес-активностей по GPSАвтономный архив Google Earth

Типичные режимы повреждения и руководство по восстановлению в HEX

Ошибка Google Earth: 'Ошибка синтаксического анализа в строке X: несоответствующий тег'.

Первопричина: Незакрытый тег XML или незаэкранированный амперсанд в HTML-описании всплывающего балуна.

Восстановление: Исправьте синтаксис XML и оберните описание в блок <![CDATA[...]]> с помощью инструмента восстановления KML от File2File.

Анализ безопасности и векторы атак на парсер

Файлы KML поддерживают сетевые ссылки (NetworkLinks) и всплывающие окна с описаниями в формате HTML, которые могут стать причиной уязвимостей XXE, SSRF или межсайтового скриптинга (XSS).

Известные векторы атак

  • Подделка запросов на стороне сервера (SSRF) через вредоносные теги <NetworkLink>, опрашивающие внутренние конечные точки интрасети.
  • XSS-инъекция через неочищенный HTML внутри тегов <description>, выполняемая во всплывающих окнах настольных или веб-клиентов Earth.
  • Инъекция внешних сущностей XML (XXE) при автоматизированной обработке KML.

Защитные лучшие практики: Отключите загрузку данных из внешних сетей и очищайте содержимое HTML во всплывающих окнах с помощью DOMPurify.

Исторические истоки и вехи

2008Консорциум OGC принимает KML 2.2 в качестве официального международного геопространственного стандарта.
2005Google приобретает Keyhole Inc., проводя ребрендинг Keyhole Earth Viewer в Google Earth и делая формат KML общедоступным.
2001Keyhole Inc. создает KML для разметки 3D-снимков спутников.

Ключевые преимущества и плюсы

  • Наглядная визуализация 3D-Земли: описывает не просто точки, но и углы обзора 3D-камеры, азимут, наклон, высоту и виртуальные туры с облетом.
  • Нативная поддержка в Google Earth, Google Maps, ArcGIS и всем профессиональном программном обеспечении для настольных ГИС.
  • Поддержка NetworkLinks, позволяющая Google Earth динамически транслировать данные о погоде в реальном времени, трекинге полетов и сейсмической активности.

Технические ограничения и минусы

  • Громоздкий синтаксис XML приводит к большим размерам файлов по сравнению с компактными форматами вроде GeoJSON.
  • Цвета используют нестандартный шестнадцатеричный порядок AABBGGRR (Альфа-Синий-Зеленый-Красный) вместо стандартного RGBA.
  • Сложные 3D-функции (туры, модели) редко поддерживаются на легковесных платформах веб-картографирования.

Интересные технические факты

  • Компания Keyhole Inc. получила название в честь исторических разведывательных спутников-шпионов серии KH (Keyhole), запущенных США во время Холодной войны.
  • В KML значения цветов записываются в обратном порядке как AABBGGRR: первые два символа отвечают за альфа-канал, затем синий, зеленый и красный.
  • Файл .kmz - это буквально стандартный ZIP-архив, содержащий один файл 'doc.kml' и любые встроенные изображения или 3D-модели.

Часто задаваемые технические вопросы

В чем разница между KML и KMZ?

KML - это простой текстовый XML-файл. KMZ - это сжатый ZIP-файл, который содержит файл KML вместе со всеми пользовательскими значками карт, текстурами или изображениями 3D-наложений.

Как конвертировать KML в GeoJSON?

Вы можете преобразовать файлы KML от Google Earth в чистый GeoJSON для веб-картографирования в один клик с помощью File2File.app прямо в своем браузере.

Могу ли я открыть файл KML в Google Maps?

Да! В Google Maps перейдите в «Сохраненные» -> «Карты» -> «Создать карту» (Google My Maps) и нажмите «Импорт», чтобы загрузить ваш файл KML.