Формат 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 — самого универсального инструмента. Следуйте инструкции, чтобы избежать ошибок:
- Загрузите файл: Перейдите на сайт GPSVisualizer, нажмите
Browseи выберите ваш.kml-файл. Поддерживаются также ZIP-архивы с несколькими треками. - Выберите формат вывода: В разделе
Output formatукажитеGPX. Для спортивных трекеров (например, Garmin Forerunner) рекомендуем также поставить галочкуInclude heart rate data(если данные есть в исходнике). - Настройте параметры:
Указать систему координат
WGS84|Сохранить оригинальные временные метки|Отключить сглаживание трека (Smoothing: None)|Проверить опциюSplit large tracksдля файлов >10 МБ--> - Скачайте результат: Нажмите
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
- Откройте оригинальный
.kmlи сконвертированный.gpxв Google Earth. - Наложите треки друг на друга (прозрачность 50%). Они должны совпадать с точностью до метра.
- Проверьте метки (
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>). Решение:
- Откройте
.kmlв текстовом редакторе. - Найдите блоки
<Placemark>и проверьте, есть ли тег<name>. - Если нет — добавьте его вручную или используйте 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-файл?
Проблема может быть в:
- Неправильной структуре файла: Убедитесь, что в
.gpxесть теги<trk>(для треков) или<wpt>(для точек). - Слишком большом размере: Некоторые устройства Garmin не поддерживают файлы >10 МБ. Разбейте трек на части через GPSVisualizer (опция
Split large tracks). - Несовместимости версий: Старые модели (например, Garmin eTrex) требуют GPX версии 1.0. Укажите это в настройках конвертера.
Перед загрузкой на устройство проверьте файл через Garmin BaseCamp или MapSource.