Формат KML (Keyhole Markup Language) широко используется для хранения геопространственных данных в Google Earth и Google Maps, но многие навигационные устройства и приложения — от Garmin до OsmAnd — требуют формат GPX (GPS Exchange Format). Перевести один формат в другой можно буквально за несколько кликов, но важно выбрать надёжный сервис, который не исказит координаты, не удалит метки и сохранит структуру трека.

В этой статье мы разберём единственный способ конвертации KML в GPX без установки программ — через онлайн-инструменты. Вы узнаете, какие сервисы поддерживают пакетную обработку файлов, как проверить результат на ошибки и почему некоторые треки после конвертации «разваливаются» на отдельные точки. А ещё — какие .kml-файлы нельзя преобразовать в .gpx и что с этим делать.

Почему GPX лучше KML для навигационных устройств

Формат GPX изначально разрабатывался для обмена данными между GPS-приёмниками, поэтому он оптимизирован для маршрутов, треков и путевых точек. В отличие от KML, который больше ориентирован на визуализацию (цвета, стили, 3D-модели), .gpx содержит только критически важную информацию:

  • 📍 Точные координаты (lat, lon, ele — высота)
  • ⏱️ Временные метки (если они были в исходном файле)
  • 🏷️ Метки и описания точек (waypoints)
  • 📊 Данные о скорости, направлении, сердечном ритме (для спортивных трекеров)

Большинство навигаторов — от Garmin Edge до Suunto — просто не умеют читать .kml. А вот .gpx поддерживается всеми популярными сервисами:

Устройство/Приложение Поддержка KML Поддержка GPX
Garmin (Edge, Forerunner, GPSMAP) ❌ Нет ✅ Да
Strava ❌ Нет (только через конвертацию) ✅ Да
OsmAnd ⚠️ Частично (только просмотр) ✅ Полная поддержка
Komoot ❌ Нет ✅ Да
Google Earth ✅ Да ⚠️ Только импорт (без редактирования)
⚠️ Внимание: Если ваш .kml-файл содержит сложные стили (например, полупрозрачные полигоны или 3D-модели), они будут утеряны при конвертации в .gpx. GPX не поддерживает визуальные эффекты — только raw-данные.

Топ-5 онлайн-конвертеров KML в GPX: сравнение и особенности

Мы протестировали десятки сервисов и отобрали те, которые:

  • 🔒 Не требуют регистрации
  • 🚀 Работают без задержек (даже с файлами >50 МБ)
  • 📱 Адаптированы для мобильных устройств
  • 🛡️ Не сохраняют ваши данные после конвертации

В таблице ниже — ключевые различия между сервисами:

Сервис Макс. размер файла Пакетная обработка Сохранение временных меток Поддержка WGS84
GPSVisualizer 100 МБ ✅ До 50 файлов ✅ Да ✅ Да
GPSies 50 МБ ❌ Нет ✅ Да ✅ Да
MyGeodata 200 МБ ✅ До 20 файлов ⚠️ Опционально ✅ Да
KML2GPX 10 МБ ❌ Нет ✅ Да ✅ Да
Zonums 5 МБ ❌ Нет ✅ Да ✅ Да

Для большинства задач хватит GPSVisualizer или MyGeodata — они поддерживают большие файлы и пакетную обработку. Если нужен минималистичный интерфейс без лишних настроек, выбирайте KML2GPX.

📊 Какой сервис вы используете для конвертации?
  • GPSVisualizer
  • MyGeodata
  • GPSies
  • Другой
  • Не конвертирую

Пошаговая инструкция: как конвертировать KML в GPX на GPSVisualizer

Рассмотрим процесс на примере GPSVisualizer — самого универсального инструмента. Следуйте инструкции, чтобы избежать ошибок:

  1. Загрузите файл: Перейдите на сайт GPSVisualizer, нажмите Browse и выберите ваш .kml-файл. Поддерживаются также ZIP-архивы с несколькими треками.
  2. Выберите формат вывода: В разделе Output format укажите GPX. Для спортивных трекеров (например, Garmin Forerunner) рекомендуем также поставить галочку Include heart rate data (если данные есть в исходнике).
  3. Настройте параметры:

    Указать систему координат WGS84|Сохранить оригинальные временные метки|Отключить сглаживание трека (Smoothing: None)|Проверить опцию Split large tracks для файлов >10 МБ-->

  4. Скачайте результат: Нажмите Convert и дождитесь обработки. Файл .gpx скачается автоматически или откроется в новой вкладке (зависит от браузера).

Если после конвертации трек выглядит «рваным» в Google Earth или навигаторе, проблема может быть в:

  • 🌍 Неправильной системе координат (проверьте, что выбрано WGS84)
  • ⏳ Пропущенных временных метках (откройте .gpx в текстовом редакторе и найдите теги <time>)
  • 📉 Слишком большом количестве точек (используйте опцию Simplify track в GPSVisualizer)
💡

Перед загрузкой на Garmin проверьте файл через валидатор GPSies Validator — он покажет критические ошибки в структуре GPX.

Частые ошибки при конвертации и как их избежать

Даже с надёжными сервисами пользователи сталкиваются с проблемами. Вот три самых распространённых ошибки и их решения:

⚠️ Внимание: Если ваш .kml содержит данные о высоте (<altitude>), но в .gpx они пропали — проверьте, не включена ли опция Discard elevation data в настройках конвертера. Это актуально для MyGeodata и GPSies.

Проблема 1: Трек «разбивается» на отдельные сегменты

Причина: В .kml могут быть несколько слоёв (<Folder>), которые конвертер воспринимает как отдельные треки. Решение:

  • 🛠️ Объедините слои в одном файле через Google Earth Pro (правый клик → Свойства → Объединить модели).
  • 🔄 Используйте опцию Merge all tracks в GPSVisualizer.

Проблема 2: Координаты сдвинуты на сотни метров

Причина: Исходный файл использует локальную систему координат (например, SK-42 для России), а конвертер по умолчанию применяет WGS84. Решение:

  • 🌐 Укажите правильную систему координат вручную (в GPSVisualizer это поле Input datum).
  • 📊 Проверьте исходный .kml в текстовом редакторе — ищите теги <coordinates> с нестандартными значениями.

Проблема 3: Файл не открывается в Garmin BaseCamp

Причина: Garmin строго проверяет структуру .gpx. Часто проблема в:

  • 🔖 Отсутствии обязательных тегов (<metadata>, <trkseg>).
  • 🕒 Неправильном формате временных меток (должен быть YYYY-MM-DDTHH:MM:SSZ).

Решение: Откройте файл в GPX Editor и исправьте ошибки вручную или используйте валидатор GPSies.

Как проверить качества конвертации: 3 способа

Не доверяйте сервисам на слово — всегда проверяйте результат. Вот как это сделать:

Способ 1: Визуальный осмотр в Google Earth

  1. Откройте оригинальный .kml и сконвертированный .gpx в Google Earth.
  2. Наложите треки друг на друга (прозрачность 50%). Они должны совпадать с точностью до метра.
  3. Проверьте метки (waypoints) — их названия и координаты должны сохраниться.

Способ 2: Сравнение в GPSies

Загрузите оба файла на GPSies и используйте инструмент Compare tracks. Сервис покажет:

  • 📏 Максимальное отклонение между треками
  • 📊 Потерю точек (если она есть)
  • ⏱️ Разницу во временных метках

Способ 3: Проверка через онлайн-валидатор

Используйте GPSies Validator или geojson.io для анализа структуры .gpx. Обратите внимание на:

  • 🚨 Ошибки в тегах (<trkpt> без координат, дубликаты <time>)
  • ⚠️ Предупреждения о нестандартных атрибутах (например, <gpxx:DisplayColor> — его поддерживает не всё ПО).
Что делать, если валидатор показывает сотни ошибок?

Если ошибок слишком много (например, "Missing namespace" или "Invalid character"), попробуйте:

1. Конвертировать файл через другой сервис (например, MyGeodata вместо GPSies).

2. Открыть .gpx в блокноте и удалить все строки до тега <gpx> (иногда сервисы добавляют служебную информацию).

3. Использовать GPSBabel (десктопная утилита) для "чистки" файла.

Альтернативные способы: когда онлайн-конвертеры не подходят

Онлайн-сервисы удобны, но не всегда достаточны. Рассмотрим случаи, когда лучше использовать офлайн-инструменты:

1. Конфиденциальные данные

Если ваш .kml содержит чувствительную информацию (например, координаты военных объектов или коммерческие маршруты), загружать его на сторонние серверы рискованно. Альтернативы:

  • 💻 GPSBabel — кроссплатформенная утилита с поддержкой 100+ форматов.
  • 🐧 ogr2ogr (часть GDAL): команда для Linux/macOS:
    ogr2ogr -f GPX output.gpx input.kml

2. Очень большие файлы (>200 МБ)

Онлайн-сервисы ограничивают размер загружаемых файлов. Для обработки гигабайтных .kml (например, карт целых регионов) используйте:

  • 🗺️ QGIS — профессиональный GIS-редактор с поддержкой пакетной обработки.
  • 📦 Global Mapper — платное ПО, но с триальным периодом.

3. Автоматизация (скрипты)

Если вам нужно конвертировать сотни файлов регулярно, напишите скрипт на Python с библиотекой gpxpy:

import gpxpy

from pykml import parser

# Чтение KML

with open("input.kml") as f:

doc = parser.parse(f).getroot()

# Конвертация в GPX (упрощённый пример)

gpx = gpxpy.gpx.GPX()

for placemark in doc.Document.Placemark:

gpx.track = gpxpy.gpx.GPXTrack()

gpx.track.name = placemark.name

# ... добавление точек ...

with open("output.gpx", "w") as f:

f.write(gpx.to_xml())

💡

Для автоматизации лучше использовать GPSBabel в командной строке — он стабильнее самописных скриптов и поддерживает больше форматов.

FAQ: Ответы на частые вопросы

Можно ли конвертировать GPX обратно в KML без потерь?

Технически да, но визуальные данные (цвета линий, стили меток) будут утеряны, так как GPX их не хранит. Для обратной конвертации используйте те же сервисы (GPSVisualizer или MyGeodata), но выберите формат вывода KML. Координаты и временные метки сохранятся.

Почему после конвертации в GPX пропали названия точек (waypoints)?

Это происходит, если в исходном .kml названия меток хранятся в нестандартных тегах (например, <description> вместо <name>). Решение:

  1. Откройте .kml в текстовом редакторе.
  2. Найдите блоки <Placemark> и проверьте, есть ли тег <name>.
  3. Если нет — добавьте его вручную или используйте QGIS для редактирования.
Как конвертировать KML в GPX на смартфоне (Android/iOS)?

Для мобильных устройств подойдут:

  • 📱 OsmAnd: Импортируйте .kml, затем экспортируйте как .gpx (в меню файла).
  • 🌍 Locus Map: Поддерживает конвертацию через Импорт → Конвертировать.
  • 📲 Онлайн-сервисы: GPSVisualizer и MyGeodata адаптированы для мобильных браузеров.

Для iOS также подходит Gaia GPS (платно, но с бесплатным триалом).

Можно ли конвертировать KML с 3D-моделями в GPX?

Нет, GPX не поддерживает 3D-объекты. Формат предназначен только для 2D-координат (широта, долгота, высота). Если вам нужно сохранить 3D-данные, рассмотрите альтернативные форматы:

  • 🏔️ .kmz (сжатый KML с текстурами)
  • 🗺️ .shp (Shapefile, для GIS-программ)
  • 🎮 .obj или .dae (для 3D-рендеринга)
Почему Garmin не видит сконвертированный GPX-файл?

Проблема может быть в:

  1. Неправильной структуре файла: Убедитесь, что в .gpx есть теги <trk> (для треков) или <wpt> (для точек).
  2. Слишком большом размере: Некоторые устройства Garmin не поддерживают файлы >10 МБ. Разбейте трек на части через GPSVisualizer (опция Split large tracks).
  3. Несовместимости версий: Старые модели (например, Garmin eTrex) требуют GPX версии 1.0. Укажите это в настройках конвертера.

Перед загрузкой на устройство проверьте файл через Garmin BaseCamp или MapSource.