Google KML (.kml)

OGC Стандарт

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

Конвертиране от GEOJSON към KML

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

Проверка и метаданни

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

Изберете или пуснете файлове тук

Поверително - файловете никога не напускат устройството ви

или поставете Ctrl+V
Гаранция за поверителност с нулево мрежово предаване: 0 байта са качени на външни сървъри. Цялата обработка се извършва локално в пясъчниците на вашия браузър.

Байтов подпис на заглавката (сигнатурни байтове)

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

HEX ПОДПИС (ОФСЕТ 0):

3C 6B 6D 6C

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

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

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

Контейнерна архитектураXML граматика за географска визуализация с дефиниции за Placemark, GroundOverlay, 3D модели и перспективи на камерата
КомпресияНекомпресиран XML текст (компресиран със ZIP във файлове .kmz)
Поредност на байтовете (Endianness)Текстов поток UTF-8 / Unicode
Цветови пространстваШестнадесетични цветови низове във формат AABBGGRR
Канали и структураPlacemark обекти, пътища, полигони, 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

Често срещани видове повреди и ръководство за възстановяване на шестнадесетични данни

Грешка в Google Earth: 'Грешка при обработката на ред X: несъответстващ таг'.

Първопричина: Незатворен XML таг или неекраниран амперсанд в HTML описанието на балона.

Възстановяване: Възстановете XML синтаксиса и опаковайте описанието в <![CDATA[...]]>, като използвате функцията за поправка на KML от File2File.app.

Анализ на сигурността и вектори на атака към парсера

KML файловете поддържат мрежови връзки (NetworkLinks) и HTML балони с описания, които могат да задействат XXE, SSRF или междусайтов скриптинг (XSS).

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

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

Най-добри практики за защита: Деактивирайте извличането от външна мрежа и санирайте HTML съдържанието на балоните с DOMPurify.

Исторически произход и етапи

2008Open Geospatial Consortium (OGC) приема KML 2.2 като официален международен геопространствен стандарт.
2005Google придобива Keyhole Inc., преименувайки Keyhole Earth Viewer на Google Earth и демократизирайки KML в световен мащаб.
2001Keyhole Inc. създава KML за анотиране на 3D сателитни изображения.

Основни предимства

  • Богата 3D визуализация на Земята: описва не само точки, но и 3D ъгли на камерата, посока, наклон, надморска височина и обиколни маршрути.
  • Поддръжката на 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 Maps?

Да! В Google Maps отидете на „Запазени“ -> „Карти“ -> „Създаване на карта“ (Google My Maps) и щракнете върху „Импортиране“, за да качите своя KML файл.