Конвертер GPX -> KML для Maps.me/Organic Maps

Возникла необходимость выгрузить тайники на большой области для дальнейшей навигации в Organic Maps (он же Maps.me без коммерческих свистелок). Данный функционал есть в c:geo, но навигация в нём, на мой взгляд, крайне неудобная, и каждый раз приходится переключаться между ним и Organic Maps.

Т.к. с https://geocaching.su/map выгрузить можно только WPT/TXT/GPX, но не KML, который нужен для импорта в Organic Maps, решил пойти очевидным путём: взять выгруженный GPX (суть - один XML) и посредствам XSLT преобразования получить KML (другой XML). В процессе прикрутил немного красивостей и удобностей. Результат можно посмотреть и погонять самому здесь.

Планирую использовать такие выгрузки для дальних поездок, для навигации по тайникам на транспорте и пешком по средствам единого приложения. Если кому-то покажется полезным - на здоровье. Критика, предложения, улучшения (в т.ч. в виде пул-реквестов) приветствуются.

Не удалось запустить

  1. Снес старую Java
  2. Поставил новую по ссылке: https://www.java.com/ru/download/
    64-разрядная версия Java для Windows
    Version 8 Update 351
    Дата выпуска: 18 октября 2022 г.
    3)запускаю
    c:\Downloads>java -jar gpx2kml-1.0-SNAPSHOT.jar c:\Downloads\points.gpx

Выдает вот такое:
Error: A JNI error has occurred, please check your installation and try again
Exception in thread “main” java.lang.UnsupportedClassVersionError: com/github/golubevda/gpx2kml/Application has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

Написал про 11-ю джаву, не посмотрев что там скачивается с java.com
В общем, пересобрал под восьмёрку, чтобы не заморачиваться с выкачиванием толстых JDK более поздних версий. Нужно заново скачать файл по ссылке, с ним должно заработать.

Заработало, спасибо!

n/t

Вообще KML с сайта можно вытащить, но не так тривиально, как нормальный экспорт :slight_smile: На главной странице есть “экспорт в Google Earth”.

Я просто гуглил онлайн “конвертер gpx kml” и в первый попавшийся конвертер закидывал, работало достаточно норм, когда нужно было.

Вообще самым правильным было бы просто добавить на сайт опцию нормального экспорта в KML в дополнение к существующим GPX/WPT.

В качестве альтернативы:

  • взять выгруженный GPX, загрузить в BaseCamp
  • выгрузить из BaseCamp в KML
  • загрузить KML в Organic Maps

Дальнейшие извращения (по желанию):

  • выгрузить из Organic Maps (получим KMZ)
  • распаковать KMZ в KML
  • отредактировать KML (я, например, меняю цвета точек, названия папок, удаляю промежуточные точки из треков, оставляя только линию)
  • загрузить KML в Organic Maps

Тоже начал с того что воспользовался каким-то онлайн-конвертером GPX в KML. Главная проблема таких решений одна и та же: они крайне примитивные и, в лучшем случае, позволяют выбрать, какое поле в GPX станет именем точки в KML, а какое - описанием. А вот если хочешь чтобы выводилось всё что нужно, с приемлемым форматированием и с кликабельными координатами из текса - тут только самому садиться и писать.

Прикрутил парочку нужных фич:

  • возможность подавать на вход несколько gpx файлов и на выходе получать один kml с уникальными точками из всех исходных выгрузок. Полезно если нужно, например, выгрузить тайники вдоль трассы, когда выбрать нужную область на карте и скачать все точки за одну выгрузку невозможно.
  • возможность на выходе получать сразу файл kmz (kml внутри zip). Это значительно уменьшает размер выходного файла на больших выгрузках. KMZ теперь является форматом выходного файла по умолчанию.
  • перед описанием тайника добавил ссылки для отображение точки в Яндекс Картах и Google Maps. Удобно, если нужно, например, взглянуть на спутниковые снимки местности или запустить навигацию в соответствующем мобильном приложении (всё же у Яндекса навигация для авто поинтереснее чем в Organic Maps).

Подробности см. на github

P.S. Ближе к лету планируем приличный дальняк на авто. Идея в том чтобы закинуть “штурману” на смартфон такую выгрузку, чтобы он прямо на ходу мог смотреть и читать, что интересного есть по курсу и давать целеуказания.

О! Крутая штука - заливать точки тайников непосредственно в Яндекс карты.
Только вот так и не понял, как в Яндекс карты вставить этот kml-файл.

Не, яндекс карты, насколько я знаю, KML не поддерживают, поэтому штурман будет пользоваться Organic Maps. Речь идёт про добавление ссылки в описание тайника, по клику на которую точка тайника открывается в яндекс картах. Выглядит примерно так:

[attachment 8775 OM.PNG] [attachment 8776 YM.jpg]

GPSBabel.