Можно привернуть проверять директорию на предмет файлов *.track и конвертировать их в gpx в случае появления онных:
#!/bin/bash
log=“/var/log/scout_track_converter.log”
path=“$1”
if [ -z “$path” ]
then
echo “Использование:”
echo “$0 путь_к_директории_где_лежат_треки_для_конвертирования_в_формате_track”
exit
fi
cd “$path”
mkdir old
for file in *
do
echo “Обрабатываю $file”
if [ -z “echo $file|egrep '.*\.track$'” ]
then
echo “Не *.track файл - пропуск”
continue
fi
name=echo $file|sed "s/\.track$//"
if [ -f “$name.gpx” ]
then
echo “Файл $file уже сконвертирован - пропуск”
else
echo “Ковертирую $file в $name.gpx” >> “$log”
/scripts/gps/scout_track2gpx “$name” “$file” “$name.gpx”
mv “$file” “./old/$file”
# Импорт трека на OSM:
#/scripts/gps/scout_track_upload_to_osm “$name.gpx”
fi
done
Ну просто достаточно: file_put_contents или curl тот же, в гугле полно примеров.
Если life пример нужен могу начирикать, как раз себе надо в проект где треки хранятся сделать бота-заливалку с модерацией.
Самое смешное, что у меня есть свой проект страничка где пользователи могут выкладывать свои треки для просмотра их на сайтах yandex и google. Просто хотелось бы это еще и автоматом выкладывать в osm.
Ну я именно про кнопочку типа “залить в OSM”, только я не тупо право заливки буду давать, а отправлять в модерацию и там уже админ проверив трек жмёт “отправить в OSM”, а то и так мусорных треков навалом у нас.
Какой смысл от таких треков, учитывая настройки “упрощения” по умолчанию…
Треки лучше чистить в специализированном софте и ничего не сглаживать - тогда это по-настоящему сырые данные.
Насчет размера файлов не бойтесь - при загрузке сервер сам выберет в базу то что нужно. Загружать можно в ZIP-архиве (но надо учесть, что все файлы в одном архиве слипнутся в один трек)
(added)
Ага, понял, у вас исходник NMEA ! Вообще замечательно, конвертируйте их в GPX программой GPSBabel
Я после упрощения честно просмотрел весь маршрут - нигде отклонение упрощенки от сырых данных не превышает 0.5 метра.
Если в специализированном - в каком именно? У меня есть GPSBabel, но чота по-быстрому запилить нормальную фильтрацию в нем не получилось.
Собстна ВОТЪ.
Не надо ничего фильтровать Если вы имеете в виду отрезать “звёздочки” в местах стояния, то можно сделать это в графическом софте. После конвертации nmea–>gpx, откройте получившийся файл программой GPXEditor, она немного тормозная, но зато есть возможность посмотреть трек на гугле и решить что отрезать (стоянку около своего дома в целях анонимности, или подъезды к любовнице и пр.), а что оставить…
Вообще конечно вам решать. Трек у вас получился красивый, единственное можете уменьшить в JOSM параметр simplify-way.max-error (по умолчанию он 2.5 метра или вообще отсутствует). В JOSM используется алгоритм Douglas–Peucker, он только прореживает точки, и очень бывает обидно когда он оставляет случайный вылет координат, а удаляет нормальные данные…
Случайные вылеты я убираю ручкаме. Упрощения только при уверенности что все точки “хорошие”. Ну в общем понятно. Получается, что если трек “адекватный”, то чистить вощемта можно. Но не нужно
Viking, QLandKarte GT. В Viking хороши пиктограммы waypoint’ов – отображаются так же, как в Garmin. В QLandKarte GT пиктограммы скуднее, но в целом интерфейс понятнее.
По мне так лучше использовать gpsbabel. Там можно раз и навсегда прописать нужные параметры, записать в bash-скрипт или в bat-файл (под виндой) и не мучаться руками.
“Компьютер должен работать, человек должен думать”.
-w - точки интереса
-r - маршруты
-t - треки
-x track,pack — этот фильтр объединяет треки отдельных переходов в один большой;
-x discard,hdop=3,vdop=3 — этот фильтр выбрасывает из трека точки, для которых горизонтальная или вертикальная мера ошибки больше 3 (как HDOP и VDOP связаны с метрами), на практике этот фильтр действительно эффективно отсеивает точки внезапно «выскочившие» из траектории, значение «3» эмпирическое, иногда я указываю даже «10»;
-x position,distance=5m — объединяет точки, расстояние между которыми меньше 5 м (короткие остановки)
-x interpolate,time=60 — интерполирует трек так, чтобы между соседними точками было не более 60 секунд (это один из самых полезных фильтров для создания геотагов!);