Представим, что у нас есть много географических координат, например, в таком виде: 43°28'4.5120" 41°15'27.7200" 43°28'4.5120" 41°15'27.7200" 43°28'5.2320" 41°15'26.3880" 43°28'5.5200" 41°15'25.2000" 43°28'4.5120" 41°15'23.2560"...
Нужно создать из них нормальный трек, то есть определить и проложить линию маршрута согласно всему списку координат, от начала до конца. И, конечно, должна быть возможность загрузить и посмотреть получившийся маршрут на любой карте.
Самым распространённым форматом для импортирования/экспортирования треков является GPX (расширение файла .gpx). GPX хорош тем, что позволяет хранить и передавать информацию о точках, высотах, времени, направлении и даже есть возможность выгружать описание и комментарии. На самом деле, если есть просто координаты, то расширение итогового трека не особо важно, но т.к. .gpx принимает любая карта и навигатор, то лучше работать с ним.
Итак, теперь осталось разобраться, как из нашего списка координат получить файл .gpx с этими координатами внутри и увидеть маршрут на карте.
Использовать конверторы
В моём случае, координаты записаны в документе Microsoft Excel, то есть формат .xlsx, а нужен .gpx.
Значит, можно найти конвертер XLSX to GPX и... получить полную дичь в качестве результата.
Проблема конвертеров в том, что они не указывают каким образом должны быть организованы координаты и в каком формате сами координаты должны быть записаны, чтобы конвертация прошла успешно. Поэтому, используя конверторы результаты могут быть совершенно разные: ошибка конвертации, файл с одной случайной точкой на карте или в лучшем случае нужный нам маршрут, но без линий между точками, то есть не маршрут вовсе!
Не отрицаю, что есть нормальные конверторы с пояснениями и нужным результатом, но если честно я такие не нашёл. Если знаете нормальные конверторы, пришлите ссылку в комментарии, пожалуйста.
Но к счастью можно решить задачу отталкиваясь от фундамента и получить 100% нормальный результат.
Создать .gpx самостоятельно
Этот способ 100%, но необходимо немного заморочиться.
Для начала идём на любую карту, рисуем маршрут из 2-х точек и выгружаем его в формате GPX. Например, на mapmagic
Теперь, необходимо открыть этот файл в блокноте и посмотреть как организован GPX.
Для этого нужно включить отображение расширения файлов в Windows и переименовать .gpx в .txt.
Открываем этот файл:
Не нужно много знаний, чтобы увидеть каким образом записываются координаты внутри файла.
Видим, что формат записи координат гг.ггг° (43.432650), а у меня формат гг°мм'сс" (43°28'4.5120"). Соответственно, первое что нужно сделать, это перевести имеющиеся координаты в формат гг.ггг°. Это можно сделать с помощью этого конвертера, который позволяет загрузить файл Excel и всё быстро пересчитать.
Ок, теперь необходимо подготовить GPX файл для записи наших координат. Для этого нужно удалить лишние атрибуты в файле, оставив только сами координаты. В нашем случае, лишними будут атрибуты времени (<time></time>) и высоты (<ele></ele>).
В итоге, файл станет выглядеть вот так:
Теперь необходимо по шаблону преобразовать все имеющиеся у нас координаты в стандарт GPX.
В Microsoft Excel нужно добиться того, чтобы в первом столбце (A) была широта (lat), а во втором (B) долгота (lon), а каждая точка координат должна быть записана с новой строки.
Теперь, согласно стандарту разметки GPX нужно прописать следующую формулу в третьем столбце:
=СЦЕПИТЬ("<trkpt lat=";"""";A1;"""";" lon=";"""";B1;"""";"></trkpt>")
Остаётся протянуть эту формулу на все строки, где есть координаты:
Теперь, в третьем столбце (C) у нас фактически находится готовый маршрут. Копируем все строки и вставляем в наш блокнот:
Сохраняем, закрываем блокнот и переименовываем его обратно (изменяем расширение файла) .txt → .gpx
Готово! Теперь импортируем получившийся файл на любую карту и наблюдаем нормальный маршрут по координатам. Карта автоматически добавить в этот трек высоты и иногда даже рассчитает время.
По аналогии можно работать и с другими форматами, необязательно с GPX. Процесс и результат будет плюс минус одинаковые.
Способ может показаться сложным, но это дело привычки и навыков, освоив которые можно быстро и самостоятельно составлять маршруты, если так оказалось, что есть только сырые координаты.