Как уменьшить размер файла gpx

Обновлено: 21.11.2024

Дополнительную информацию см. в исходном сценарии.

Это скрипт на Python, удаляющий (почти) ненужные точки из gpx-файлов. Настройте свой GPS-приемник на самую высокую доступную плотность точек (например, 1 с) и используйте этот скрипт в своих gpx-файлах перед загрузкой osm. Скрипт дает оптимизированные результаты.

Сценарий должен быть сохранен в файл (gpx_reduce.py) и установлен флаг исполняемого файла. Затем его можно запустить из командной строки. Для получения дополнительной документации введите

Если сценарий выдает неоптимальные выходные данные, это может быть связано с третьим измерением. В противном случае оставьте мне сообщение.

Отличия от исходной версии

Пока я не менял никаких алгоритмов в скрипте, а лишь добавил некоторые фичи:

  • тонкая настройка возможностей вывода, например добавление более компактного вывода.
  • позволяя удалить некоторые нежелательные теги (т. е. вы можете анонимизировать время и скорость вашего трека)
  • более надежная обработка файлов без повышения прав
  • синтаксический анализ времени соответствует стандарту iso8601
  • сокращать можно не только треки, но и маршруты
  • поддерживает подстановочные знаки в имени файла
  • Я внес некоторые изменения, чтобы упростить перенос на Python 3.
    интерпретатор научных инструментов для python библиотека 2D-графиков библиотека xml библиотека даты/времени

В дистрибутиве Linux на основе Debian (например, Ubuntu) вы можете установить их с помощью:

Пользователям Windows сложнее установить эти библиотеки. Если вы не знаете, как установить двоичные библиотеки с помощью pip, вам лучше выбрать дистрибутив Anaconda. Или вы можете попробовать загрузить неофициальные бинарные колеса numpy и scipy, открыть консоль в папке, где находятся эти файлы, и выполнить следующие команды (исправить версии библиотек в командах на правильные):

gpx_reduce находит дорожку, которая глобально оптимизирует заданную функцию стоимости при условии, что ни одна из исходных точек не может находиться дальше определенного предела от результирующей дорожки. Точки можно удалить, но они никогда не будут перемещены или вставлены.

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

Количество возможных путей огромно, и не все из них можно изучить по отдельности, чтобы найти оптимальные. Вместо этого используется модифицированная версия алгоритма Дейкстры. Он последовательно находит кратчайший маршрут к каждой точке, а затем должен вернуться ко всем возможным предшествующим точкам вместо маршрутов. Таким образом, будет найдена лучшая трасса, и задача будет выполнена за разумное время. Однако, если дорожка очень длинная и предлагает много возможностей, ее вычисление все равно может занять несколько секунд.

Точки никогда не будут разделены за пределы определенного предела (по умолчанию 200 м), так как josm не будет отображать линии между еще более удаленными точками с настройками по умолчанию. Существует дополнительный предел расстояния, зависящий от скорости, который обеспечивает более равномерное распределение точек.

Удаляет ненужные точки, делая новый трек не дальше 10 метров от оригинала. Если вы стоите на месте, точки пишутся не чаще, чем раз в 60 секунд. Сегменты пути могут быть до 1000 метров. Сохраняются только Широта и Долгота. На мой взгляд, эти настройки являются хорошим компромиссом между точностью и размером результирующего файла для треков, полученных во время вождения, но если вы хотите нарисовать пешеходные дорожки в лесу, лучше использовать более консервативные настройки.

Джамбалайя

Я хочу отредактировать файл GPX, чтобы уменьшить плотность точек данных, например уменьшить на 50% или 75%. Я знаю, что могу отредактировать файл вручную с помощью текстового редактора, но мне было интересно, есть ли утилита для MAC, так как делать это вручную очень утомительно, бесплатно - это хорошо!

Я провел небольшое исследование в Интернете (например, ADZE), но мне интересно, есть ли у кого-нибудь лучшее решение.

Опубликовано 10 лет назад

ФуззиВуззи

Опубликовано 10 лет назад

богатые

Я думаю, что GPSBabel может это сделать.

Опубликовано 10 лет назад

и еще ракетчик

Я бы посмотрел на GPSBabel. Работает практически на любой платформе, практически с любым входным файлом GPS (GPX, KML и т. д. для маршрутов, треков, путевых точек и т. д.)

изменить: нужно печатать быстрее 😉

Опубликовано 10 лет назад

Пок

загрузить в bikehike, а затем заправить ботинки.

Опубликовано 10 лет назад

правша

Могут быть более простые способы, но я открываю маршрут с помощью gpsmarengo и перерисовываю на новой вкладке gpsmarengo с желаемым количеством точек трека, а затем использую gpsbabel для загрузки обратно в мой garmin edge hth

Опубликовано 10 лет назад

Джамбалайя

Спасибо, выше выглядит хорошо, и я не сталкивался с этими программами — тогда я попробую

Опубликовано 10 лет назад

КрейгВ

Или это может сделать Garmin BaseCamp. Вы можете скачать его бесплатно, есть версия для Mac.

Опубликовано 10 лет назад

Джамбалайя

Bascamp — я не смог найти опцию сохранения уменьшенного размера файла трека, только для загрузки маршрутов на устройство

GPSBabel — я думаю, что функция упрощения была удалена, на связанной странице документации говорится, что это устаревшая функция, и я не смог найти ничего подобного в приложении

bikehike является победителем, он сообщает вам, сколько у вас точек трека, и вы можете указать меньшее количество для вывода файла (загрузки)

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

Опубликовано 10 лет назад

от тормозов

Какую версию GPSBabel вы используете?

У меня версия 0.2.22.0, и там есть функция упрощения. Нажмите кнопку «Фильтр» и упростите всплывающее окно на полпути вниз.

Опубликовано 10 лет назад

угор

К вашему сведению, в следующий раз.
Базовый лагерь — щелкните правой кнопкой мыши трек -> расширенный -> фильтр -> точки.

Опубликовано 10 лет назад

Тема «Редактирование файлов GPX» закрыта для новых ответов.

Зарегистрируйтесь в качестве участника Singletrack, и вы сможете оставлять комментарии к историям, использовать тематические объявления и публиковать сообщения на наших форумах.

Присоединяйтесь к нам, присоединяйтесь, это бесплатно и весело.

Последние истории

Следующий выпуск: выпуск 142

Этот выпуск будет отправлен из нашей типографии 5 апреля 2022 года или примерно в этот день. Доставка может занять до 5 дней.

Будущие даты отправки

  • Выпуск 141 – начало февраля 2022 г.
  • Выпуск 142 — начало апреля 2022 г.
  • Выпуск 143 — начало июня 2022 г.
  • Выпуск 144 — начало августа 2022 г.
  • Выпуск 145 — начало октября 2022 г.
  • Выпуск 146 – начало декабря 2022 г.

Примечания. Даты прекращения участия участников устанавливаются на 25-е число месяца, предшествующего месяцу отправки. Это последний день, когда мы можем добавлять новых участников в базу данных или вносить изменения в адреса доставки. Например, если вы присоединитесь к нам 24 сентября, вашим первым выпуском будет выпуск, который должен выйти в следующем месяце, т.е. Октябрь. Однако, если вы присоединитесь к нам 26 сентября (после 25 даты окончания), то вашим первым выпуском будет выпуск, который должен быть выпущен в декабре.

Дополнительную информацию о нашем членстве и о том, как оно работает, можно найти на нашей странице справки для участников здесь

Единый товар

Товары

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

Дополнительную информацию и небольшие учебные пособия см. в Руководстве пользователя!


td>
Загрузить GPX Ctrl+O Импортировать и визуализировать файлы GPX (или перетащите в любое место окна)
Новый GPX Ctrl+D Начните рисовать новый маршрут, размещая точки отслеживания на карте
Экспорт Ctrl+S Загрузите файлы на рабочий стол или сохраните на Google Drive™, чтобы получить общая ссылка и код для встраивания. Данные о времени, частоте сердечных сокращений, частоте вращения педалей, мощности и температуре автоматически расширяются. При желании объедините все файлы в выбранном порядке. Вы также можете перетащить вкладку на рабочий стол, чтобы загрузить файл.
Ctrl+Z/Y Отмена и повтор действий в режиме редактирования
Очистить все Ctrl+K Удалить все следы
EscapeВыход из текущего меню или инструмента

< tr>
Войдите в режим редактирования, чтобы добавить, переместить, вставить (путем перетаскивания линии), удалить или разделить (щелчок правой кнопкой мыши) точки трека
Изменить скорость и время начала трека< /td>
Обратить трассировку и адаптировать метки времени
Объединить с другой трассировкой (автоматически продлевает время, частоту сердечных сокращений, частоту вращения педалей, мощность и данные температуры)
Извлечь все сегменты дорожки и создать по одной трассе для каждого
Дублировать трассу
Добавить путевую точку (перетащите, чтобы изменить ее местоположение, и используйте кнопки для редактирования информации, дублирования или удаления)
Уменьшить количество точек трека< /тд>
Удалить точки трека и/или путевые точки внутри/вне прямоугольника
Скрыть или отобразить трек
Изменить цвет отображения и прозрачность, эти значения будут экспортированы и обнаружены при повторном импорте
Управление структурой файла, перетаскивание файлов, треков и треков сегменты
Удалить трассировку

< tbody>
F1 Показать или скрыть используемые в данный момент оверлеи.
F2 Переключение между маршрутизацией и по прямой линии (прямые линии между точками трека) при редактировании трасс
Ctrl+H Показать или скрыть профиль высот

Внизу , вы можете увидеть панель с информацией об импортируемых трассах. На вкладке Total отображается информация обо всех открытых трассах, объединенных в одну. Поменяйте местами вкладки, чтобы определить порядок, в котором должны отображаться трассы, и дважды щелкните их, чтобы изменить их имена. Если у вас много вкладок, перемещайтесь по ним с помощью горизонтальной прокрутки. Используйте ползунок, чтобы переместить начальную/конечную точку и сократить маршрут.

⚠️ Инструмент можно использовать бесплатно, но не бесплатно. ⚠️
За каждое отображение карты, добавление или перемещение точки трека взимается плата.

Сохранить на Google Диске

Я создаю новый членский сайт для бегунов, который позволяет участникам синхронизировать свои пробежки со стравы через API, а также загружать файлы gpx, которые могут быть на их устройстве Garmin или аналогичном устройстве.

В качестве теста я экспортировал файл gpx из Strava, но обнаружил, что он огромен. Кажется, что на каждую секунду активности приходится один узел — это нормально? Это особенность формата gpx, что на каждую секунду приходится узел?

Я хочу сохранить эти данные в базе данных, потому что хочу иметь возможность отображать маршрут на карте Google, но мне кажется, что хранить все эти данные было бы излишним. Если бы я взял, скажем, один из каждых 10 узлов и просто сохранил широту, длину и высоту в объекте json, это сработало бы? Очевидно, что результирующая линия на карте будет в 10 раз детальнее, но я все равно пытаюсь дать общее представление о маршруте.

Если я применю эту логику ко всем загруженным файлам gpx, она будет полагаться на то, что все они будут такими же подробными - узел на каждую секунду, иначе это не сработает!

Евгений Советкин

> В качестве теста я экспортировал файл gpx из Strava, но обнаружил, что он
> огромен. Кажется, что на каждую секунду активности
> приходится один узел — это нормально? Это особенность формата gpx, что на каждую секунду приходится узел
>?
>
> Я хочу сохранить эти данные в базе данных, потому что я хотел бы иметь возможность
> нанести маршрут на карту Google, но мне кажется, что хранить все эти данные были бы
> излишними. Если бы я взял, скажем, один из каждых 10 узлов и просто сохранил широту, длину и
> высоту в объекте json, это сработало бы? Очевидно, что результирующая линия на
> карте будет в 10 раз детальнее, но я все равно пытаюсь дать обзор
> маршрута.
>

У меня похожая проблема с устройством Garmin foretrex. Очень часто
недостаточно памяти для загрузки маршрута.

Стандартным инструментом для уменьшения размера файлов gpx, на мой взгляд, является
gpsbabel. Он имеет простой интерфейс командной строки и такую ​​команду, как
эта

.

Читайте также: