Как разбить GPS трек на фрагменты


Всем привет!
В предыдущем посте мы с вами рассмотрели как объединить GPS трек из любого количества разрозненных участков, а сегодня я постараюсь рассказать о том, как наоборот из одного цельного трека получить несколько более мелких фрагментов.

Для чего это может пригодиться?

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

Вы открываете Google maps, создаёте новую карту и начинаете загрузку. Но вот незадача, умный Google сообщает об ошибке и говорит, что максимально допустимый размер файла не должен превышать 5 Мб.

1.

И как быть в этой ситуации? Конечно, можно воспользоваться всё тем же онлайн сервисом GPSies или обрезать пройденный путь по точкам в SAS-планете (надеюсь, что я в скором времени возьмусь за мануал по нему), но всё это довольно долго и не очень удобно, как мне кажется.

Предлагаю более простое решение. Итак, выбираем на карте понравившееся место разбивки. Пусть в нашем случае это будет конец первого дня (GPS: 51.656494, 39.302766).

2.

Копируем координаты выбранной точки и открываем файл трека в формате .gpx текстовым редактором (для пробы можете взять мой крымский файлик Krym-obshij.gpx). В прошлый раз мы договорились использовать для этих целей Notepad ++, помните? 

Вызываем окно поиска, нажав сочетание клавиш Ctrl+F и вставляем скопированные координаты.

3.

Скорее всего, блокнот не сможет найти искомую комбинацию. Это происходит из-за того, что скопированные с карты координаты долготы и широты разделены запятой, а в файле с треком они прописываются через операторы «lat» и «lon».

В таком случае просто убираем любую часть координат, оставив только один параметр. Я уберу значение широты, оставив только долготу.

4.

Отлично! Такие координаты найдены. Т.к. мы решили, что это должна быть конечная точка отрезка, то вся остальная информация из файла нам пока не нужна. Смело удаляем её, оставив только операторы конца точки, сегмента трека, самого трека и окончания файла

Это нужно оставить:
</trkpt>
— конец точки

</trkseg> — конец сегмента
</trk> — конец трека
</gpx> — конец файла

Должно получиться так:

5.

Сохраняем полученный файл под именем Крым_1.gpx и скармливаем его в Google maps.

6.

Таким образом, из файла в 13.1 Мб у нас получился файлик весом всего 2.06 Мб, который легко загрузился в онлайн-карты.

Теперь проделываем подобную операцию с остальными частями общего большого трека. Но на этот раз нам нужно будет удалить его начало до точки первой  обрезки (напомню, что обрезать мы его решили в точке с координатами GPS: 51.656494, 39.302766. Тем самым конец предыдущего участка трека станет началом следующего) и конец, после выбранной промежуточной точки.

Запутал? Сейчас всё объясню )

Снова идём в карту и находим место, в котором хотим завершить второй отрезок трека. Пусть это будет точка с координатами GPS: 45.40848, 36.77647.

7. Здесь мы решили прерваться

Снова открываем общий большой и жирный файлик и вводим координаты начала нового участка трека GPS: 51.656494, 39.302766 (это точка, окончания первого трека, помните? см.фото №2)

Далее нам необходимо удалить всё, что находится выше искомого сочетания, вплоть до оператора <trkseg> (начало сегмента), т.к. вся эта информация у нас уже сохранена в файле Крым_1.gpx.

8.

Готово? Теперь вводим в окно поиска скопированные с карты координаты окончания второго трека GPS: 45.40848, 36.77647  (см.фото №7) и удаляем всю информацию после них, снова оставляя операторы </trkpt> </trkseg> </trk> и </gpx>

9.

Сохраняем полученный файл под именем Крым_2.gpx и загружаем его в Google maps.

10. 

Таким образом мы получили второй участок трека. Аналогичным способом вы можете создать столько участков, сколько потребуется.

В качестве обобщения ещё раз опишу схему наших действий для тех, кто запутался в моих описаниях:

  1. Мы взяли один большой длинный трек.
  2. Нашли точку, в которой хотели его прервать.
  3. Удалили лишнюю информацию в файле после нужной точки, оставив системные операторы.
  4. Сохранили новый файл под именем Крым_1.gpx, тем самым получили трек №1.
  5. Вернулись к файлу с общим длинным треком и нашли точку начала трека №2 (в нашем случае она же является точкой окончания трека №1)
  6. Удалили всю информацию до нужной точки, т.к. всё это уже сохранено в файле Крым_1.gpx.
  7. Нашли точку, в которой хотим прервать трек №2.
  8. Удалили всю информацию после нужной точки, оставив системные операторы.
  9. Сохранили новый файл под именем Крым_2.gpx, тем самым получили трек №2.

Все файлы, которые мы с вами беспощадно кромсали и резали, можно скачать по ссылке.

Вполне допускаю, что вышеописанная процедура по-первости выглядит жутковато, но, поверьте, всё не так страшно. Стоит попробовать один раз, как всё встанет на свои места. Ну, и никто не отменял «помощи зала» 😉 Вы всегда можете спросить меня «как?» вот тут. А уж я, чем смогу — помогу )

И, напоследок, хочу дать очень ценный совет (и не в последнюю очередь самому себе)

Каждый вечер, независимо от того закончился маршрут или ещё продолжается, нужно сохранять пройденный за день трек.

Это простое, но очень ценное правило сохранит вам кучу нервов и времени в дальнейшем )


Если пост Вам понравился или показался полезным, не забудьте подписаться на новости, чтобы всегда первым получать информацию о новых публикациях.

Введите свой e-mail:



Комментарии:

Оставьте комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *