Открыть сервис

KML

KML (Keyhole Markup Language) — это язык разметки на основе XML, предназначенный для хранения, передачи и отображения географических данных в трёхмерных картографических сервисах и программах. KML позволяет описывать точки, линии, многоугольники, изображения и трёхмерные модели, привязывая их к конкретным координатам на поверхности Земли. Формат разработан компанией Keyhole, Inc., которая была приобретена Google в 2004 году, и впоследствии стал международным стандартом Открытого геопространственного консорциума (OGC).

История

Происхождение

KML был создан в 2001 году компанией Keyhole, Inc., основанной Джоном Хэнком, Марком Обером и Брайаном Макклелландом. Изначально язык разрабатывался для программы Keyhole Earth Viewer, которая позволяла просматривать спутниковые снимки Земли в трёхмерном виде. В 2004 году Google приобрела Keyhole, Inc., и продукт был переименован в Google Earth. Вместе с программой Google получила права на KML, который стал основным форматом для обмена географическими данными в экосистеме Google.

Стандартизация

В 2008 году Google передала спецификацию KML версии 2.2 на рассмотрение Открытого геопространственного консорциума (OGC). В апреле 2008 года OGC официально утвердил KML как международный стандарт (OGC KML). Это решение обеспечило совместимость формата с различными геоинформационными системами (ГИС) и картографическими сервисами, не зависящими от Google. В 2015 году была опубликована версия 2.3, которая добавила поддержку новых типов данных и улучшила интеграцию с другими стандартами OGC, такими как GML (Geography Markup Language).

Структура и синтаксис

KML основан на XML, что делает его читаемым как человеком, так и машиной. Файлы KML обычно имеют расширение .kml, а сжатые версии — .kmz (архив ZIP, содержащий KML и связанные ресурсы, такие как изображения).

Основные элементы

  • Placemark — основной элемент для обозначения точки на карте. Содержит координаты (широта, долгота, высота), название и описание.
  • Point — задаёт точку с географическими координатами.
  • LineString — описывает линию, состоящую из последовательности точек.
  • LinearRing — замкнутая линия, используемая для создания многоугольников.
  • Polygon — многоугольник, определяющий область на карте.
  • GroundOverlay — наложение изображения на поверхность Земли (например, историческая карта или снимок).
  • ScreenOverlay — наложение изображения на экран пользователя (например, логотип или легенда).
  • Folderконтейнер для группировки элементов.
  • Documentкорневой элемент, содержащий все данные и стили.

Пример простого KML-файла

``xml <?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2">; <Document> <Placemark> <name>Москва</name> <description>Столица России</description> <Point> <coordinates>37.6173,55.7558,0</coordinates> </Point> </Placemark> </Document> </kml> ``

Версии

KML 2.0 и 2.1

Первые версии, использовавшиеся в Google Earth до 2008 года. Поддерживали базовые элементы: точки, линии, многоугольники и наложения. В версии 2.1 появилась поддержка стилей и временных данных.

KML 2.2

Версия, ставшая стандартом OGC в 2008 году. Включала расширенную поддержку трёхмерных моделей, анимации, сетевых ссылок и сложных стилей. Добавлены элементы Region, NetworkLink и Tour.

KML 2.3

Опубликована в 2015 году. Включает улучшенную поддержку фотограмметрии, 3D-моделей в формате COLLADA, а также интеграцию с GML для более точного описания геометрии. Добавлены элементы PhotoOverlay, Track и MultiTrack.

Применение

Картографические сервисы

KML широко используется в Google Earth, Google Maps (организация признана экстремистской и запрещена в РФ) и других картографических платформах для визуализации пользовательских данных. Пользователи могут создавать маршруты, отмечать достопримечательности, накладывать исторические карты и делиться ими.

Геоинформационные системы (ГИС)

Многие ГИС, такие как QGIS, ArcGIS и MapInfo, поддерживают импорт и экспорт KML. Это позволяет обмениваться данными между различными программами и платформами. KML часто используется для визуализации результатов полевых исследований, экологического мониторинга и градостроительного планирования.

Навигация и трекинг

Формат применяется для записи и отображения треков (маршрутов движения) в GPS-навигаторах и спортивных приложениях (например, Strava, Garmin Connect). Треки сохраняются в виде LineString или Track (в KML 2.3).

Образование и наука

KML используется в образовательных проектах для демонстрации географических явлений, исторических событий и астрономических данных. Например, в проекте Google Earth Outreach созданы KML-слои, показывающие изменения климата, распространение видов и археологические раскопки.

Туризм и путешествия

Туристические компании и путешественники создают KML-файлы с маршрутами, достопримечательностями и отелями. Эти файлы можно загружать в навигационные приложения и карты.

Классификация

По типу данных

  • Точечные данные — Placemark с Point (например, метки городов, памятников).
  • Линейные данные — LineString (например, дороги, реки, треки).
  • Полигональные данные — Polygon (например, границы стран, районов, зон).
  • Наложения — GroundOverlay и ScreenOverlay (например, изображения, легенды).
  • Трёхмерные модели — Model с COLLADA (например, здания, памятники).

По способу распространения

  • Статические файлы — одиночные KML/KMZ, загружаемые вручную.
  • Сетевые ссылки — NetworkLink, автоматически обновляемые с сервера.
  • Динамические слои — KML, генерируемые на лету веб-сервисами (например, данные о погоде, пробках).

Характеристики

Преимущества

  • Простота — синтаксис на основе XML легко читается и редактируется.
  • Совместимость — поддерживается большинством картографических сервисов и ГИС.
  • Расширяемость — возможность добавления пользовательских данных и стилей.
  • Сжатие — формат KMZ позволяет упаковывать KML и связанные ресурсы в один архив.

Недостатки

  • Размер файлов — большие наборы данных (например, тысячи точек) могут создавать громоздкие файлы.
  • Производительность — сложные трёхмерные модели и анимации могут замедлять работу в старых версиях программ.
  • Ограничения по точности — координаты хранятся в градусах, что может приводить к погрешностям при работе с очень мелкими объектами.

Интересные факты

  • Название «Keyhole» происходит от разведывательных спутников США серии KH (Keyhole), которые использовались для съёмки Земли.
  • В 2005 году KML использовался для создания виртуальной карты урагана «Катрина», что позволило спасателям координировать действия.
  • Формат KML поддерживается не только в Google Earth, но и в таких программах, как NASA World Wind, Marble (KDE) и OpenStreetMap (через плагины).
  • В 2010 году Google Earth использовал KML для создания трёхмерной модели древнего Рима, что стало одним из первых крупных проектов виртуальной археологии.

Источники

  • OGC KML Standard (Version 2.3, 2015)
  • Google Developers: KML Documentation
  • Keyhole, Inc. — история создания
  • QGIS Documentation: Importing and Exporting KML
  • NASA World Wind: KML Support

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →