Google KML (.kml)
OGC СтандартKeyhole Markup Language (KML): це відкритий стандарт XML для представлення географічних анотацій і візуалізації, спочатку розроблений для Keyhole Earth Viewer (Google Earth) та стандартизований Консорціумом відкритої геопросторової інформації (OGC).
Конвертувати з GEOJSON у KML
Безкоштовний конвертер з GEOJSON у KML у браузері. Миттєво конвертуйте файли на своєму пристрої.
Аналіз та метадані
Операційні системи та аналізатори файлів ідентифікують файли KML, перевіряючи початкову послідовність бінарних байтів:
Сигнатура заголовка на байтовому рівні (Magic Bytes)
Операційні системи та аналізатори файлів ідентифікують файли KML, перевіряючи початкову послідовність бінарних байтів:
ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 0):
3C 6B 6D 6CПОДАННЯ В ASCII: <kml
Стандартизація: OGC KML 2.3 Standard
Технічні характеристики
| Архітектура контейнера | Мова географічної візуалізації на основі XML для опису міток місця (Placemarks), накладок на поверхню (GroundOverlays), 3D-моделей і ракурсів камери |
| Стиснення | Текст XML без стиснення (стискається у ZIP-файли .kmz) |
| Порядок байтів (Endianness) | Текстовий потік UTF-8 / Unicode |
| Колірні простори | Шістнадцяткові рядки кольорів у форматі AABBGGRR |
| Канали та структура | Мітки місця, шляхи, полігони, 3D-моделі будівель, накладки зображень і маршрути камер для турів |
| Максимальні розміри | Координати WGS 84: довгота, широта, висота над рівнем моря (у метрах) |
| Прозорість | Прозорість альфа-каналу підтримується в рядках кольорів AABBGGRR і накладках PNG |
| Потокове та прогресивне завантаження | NetworkLinks підтримують динамічні потокові оновлення із зовнішніх геопросторових серверів |
Технічна матриця порівняння: KML проти конкурентів
| Технічний атрибут | KML (Поточний) | GEOJSON | GPX | KMZ |
|---|---|---|---|---|
| 3D-камера та тури | Повний нахил камери, курс та оглядові тури | Відсутні (властивості плоскої геометрії) | Відстеження висоти над рівнем моря | Повний нахил камери та оглядові тури |
| Формат пакування | Документ XML у звичайному тексті | Документ JSON у звичайному тексті | Документ XML у звичайному тексті | ZIP-архів, що містить doc.kml |
| Формат кольору | AABBGGRR (Альфа-Синій-Зелений-Червоний) | Стандарт CSS / Hex | Відсутній | AABBGGRR |
| Основне призначення | Google Earth та 3D-ГІС | Вебкарти (Mapbox, Leaflet) | Garmin та фітнес-трекінг GPS | Автономний архів Google Earth |
Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі
Помилка Google Earth: 'Помилка синтаксичного аналізу в рядку X: невідповідність тегу'.
Першопричина: Незакритий тег XML або неекранований амперсанд в HTML-описі спливаючої підказки.
Відновлення: Відновіть синтаксис XML та обгорніть опис у <![CDATA[...]]> за допомогою інструменту відновлення KML від File2File.app.
Аналіз безпеки та векторів атак на парсери
Файли KML підтримують NetworkLinks і HTML-описи у спливаючих підказках, які можуть призвести до вразливостей XXE, SSRF або міжсайтового скриптингу (XSS).
Відомі вектори атак
- Підробка запитів на серверну сторону (SSRF) через шкідливі теги <NetworkLink>, що опитують внутрішні кінцеві точки інтранети.
- XSS-ін’єкція через неочищений HTML у тегах <description>, який виконується у спливаючих підказках настільної або вебверсії Google Earth.
- Ін'єкція зовнішніх сутностей XML (XXE) під час автоматизованої обробки KML.
Рекомендації щодо захисту: Вимикайте отримання даних із зовнішніх мереж і очищуйте HTML-вміст спливаючих підказок за допомогою DOMPurify.
Історичне походження та віхи
Основні переваги
- Насичена тривимірна візуалізація Землі: визначає не лише точки, а й 3D-кути камери, курс, нахил, висоту та оглядові тури (fly-through).
- Підтримка KML залежить від застосунку; доступні функції відрізняються в настільних ГІС- і картографічних інструментах.
- Посилання NetworkLink можуть отримувати пов’язані ресурси KML; оновлення залежить від налаштувань документа та засобу перегляду.
Технічні обмеження та недоліки
- Багатослівний синтаксис XML призводить до більшого розміру файлів порівняно з компактними форматами, такими як GeoJSON.
- Кольори використовують нетрадиційний шістнадцятковий порядок AABBGGRR (Альфа-Синій-Зелений-Червоний) замість стандартного RGBA.
- Складні 3D-функції (тури, моделі) рідко підтримуються на легких вебкартографічних платформах.
Цікаві технічні факти
- Компанія Keyhole Inc. була названа на честь історичних розвідувальних шпигунських супутників KH (Keyhole), запущених США під час Холодної війни.
- У KML значення кольорів записуються у зворотному порядку у форматі AABBGGRR: перші два символи: це альфа, далі синій, зелений і червоний.
- Архів KMZ містить принаймні один файл KML і може містити допоміжні файли. doc.kml : традиційна назва головного файла, але дозволені й інші назви.
Поширені технічні запитання
У чому різниця між KML та KMZ?
KML: це звичайний текстовий файл XML. KMZ: це заархівований файл ZIP, який містить файл KML разом із будь-якими власними іконками мапи, текстурами або зображеннями 3D-накладень.
Як конвертувати KML у GeoJSON?
Ви можете конвертувати файли Google Earth KML у чистий GeoJSON для вебкартографії в один клік за допомогою File2File.app безпосередньо у вашому браузері.
Чи можна відкрити файл KML у Google Картах?
Так! У Google Картах перейдіть до «Збережено» -> «Карти» -> «Створити карту» (Google Мої карти) і натисніть «Імпорт», щоб завантажити свій файл KML.
Пов'язані пари конвертації KML
Перетворення векторів GeoJSON у Google KML перетворює компактні масиви координат JSON на структуровані документи XML, адаптовані для Google Earth та Google Maps.
Конвертація файлів Google KML у формат GeoJSON перетворює ієрархічні географічні дані XML на легкий векторний JavaScript Object Notation для сучасних веб-карт.
Перетворення даних GPS Track GPX у формат Google KML дає змогу швидко відображати журнали GPS-відстеження прогулянок і поїздок в Google Earth і власних вебзастосунках для картографування.
Конвертація географічної розмітки Google KML у стандарт GPS Track GPX стандартизує пропрієтарні картографічні функції в універсальні дані шляхових точок і треків.