Google KML (.kml)

OGC Стандарт

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

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

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

Инспектиране и метаданни

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

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

100% поверително конвертиране в браузъра - файловете никога не напускат вашето устройство

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

Байтов подпис на хедъра (Magic Bytes)

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

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

3C 6B 6D 6C

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

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

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

Контейнерна архитектураXML-based geographic visualization grammar defining Placemarks, GroundOverlays, 3D Models, and Camera perspectives
КомпресияUncompressed XML text (compressed with ZIP as .kmz files)
Поредност на байтовете (Endianness)UTF-8 / Unicode text stream
Цветови пространстваAABBGGRR hexadecimal color strings
Канали и структураPlacemarks, paths, polygons, 3D building models, photo overlays, and tour camera paths
Максимални размериWGS 84 coordinates: Longitude, Latitude, Altitude (in meters above sea level)
ПрозрачностAlpha transparency supported in AABBGGRR color strings and PNG overlays
Стрийминг и прогресивно зарежданеNetworkLinks support dynamic streaming updates from remote geospatial servers

Техническа сравнителна матрица: 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: 'Parse error at line X: mismatched tag'.

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

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

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

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

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

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

Защитни добри практики:

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

2008Open Geospatial Consortium (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?

Можете да конвертирате Google Earth KML файлове в чист GeoJSON за уеб картоваграфия с едно кликване, използвайки File2File.app директно в браузъра си.

Мога ли да отворя KML файл в Google Maps?

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