GPS Треки

Евгений22, выложите треки куда-нибудь, например на народ.ру. Я сконверчу и залью.

подскажите какой прогой можно сконвертить такой формат

<?xml version="1.0" encoding="utf-8"?> .................

Nikolya
Можете выложить для скачки этот файл?

Попробуйте GPSBABEL, он треки разные может съесть.

Бабелю вроде бы нужно явно указывать входной формат, а это какой?

не кушает эта программа данный формат, перепробыл все поддерживаемые

приходится через сайт http://www.gpsvisualizer.com/
он его конвертит в точки, потом ручками меняю

2010-10-11T07:24:04Z 332 9.17 2010-10-11 07:24:04

в

2010-10-11T07:24:04Z 332 9.17 2010-10-11 07:24:04

загоняю в Global Mapper 11
и экспортирую уже в читаемый OSM gpx

2010-10-11T07:24:04Z

а вот попроще как нить можно? кто нить сталкивался с таким?

данный формат делает программа для мониторинга Scout Explorer
http://scout-gps.ru/

разработчики не желают делать экспорт (сохранение) треков в другой формат

http://ifolder.ru/19727301

Nikolya
Вам нужно в такой формат переводить?


<trkpt lat="51.7703323" lon="128.087662">
  <time>2010-10-11T07:24:04Z</time>
</trkpt>

ну не то чтобы мне, я треки заливаю на ОСМ, и по ним отрисовываю федеральную трассу чита-хабаровск ну и по пути некотрые поселки да города захватываю, когда конеш время есть
на которой и работаю )))

Для ситигада ? Есть целый класс CSV фильтров, адаптировать не сложно.

Nikolya

Прошу протестировать и сильно не пинать ежели что, лежит тут.

то что доктор прописал, спасибо

Nikolya
Ну, ежели чего, то того, пишите.

Написал.
Пока ждал ответ - наваял скрипт на баше. Не ахти, но работает :slight_smile:

Т.е. Скрипт конвертирует файлы экспорта (*.track) из системы мониторинга “Скаут” в gpx-формат.

В нижеприведённом скрипте быть может нужно будет поправить +10:00 на ваш сдвиг от UTC.

Сам скрипт (конечно надо бы причесать, но делал на скорую руку):

#!/bin/bash

if [ -z “$3” ]
then
echo “Использование:”
echo “$0 имя_трека входной_файл.track выходной_файл.gpx”
exit
fi

name=“$1”
input=“$2”
output=“$3”

tmp=mktemp /tmp/XXXXXX

fgrep “<RoutePoint Lat=” “$input” > “$tmp”

echo '<?xml version="1.0" encoding="UTF-8"?>
](http://www.topografix.com/GPX/1/1/gpx.xsd\>)

’ > “$output”

echo "$name

" >> “$output”

cat “$tmp”|while read text
do
time=“echo $text|sed 's/.*DateTime=\"//'|sed 's/\+10:00.*//'
echo “$text”|sed ‘s/RoutePoint/trkpt/’|sed ‘s/DateTime/time/’|sed ‘s/+10:00/Z/’|sed ‘s/Lat/lat/’|sed ‘s/Lon/lon/’|sed ‘s/Time/time/’|sed ‘s//>/>/’ >> “$output”
echo “${time}Z
” >> “$output”
done

echo "



" >> “$output”

rm “$tmp”

Можно привернуть проверять директорию на предмет файлов *.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

Ну а загрузка в OSM командой:
curl -u “$user”:“$password” -H “Expect: " -F “file=@$name_file” -F description=”$description" -F tags=“$tags” -F visibility=public http://www.openstreetmap.org/api/0.6/gpx/create

где нужно подставить нужные переменные…

Не знаете как будет это на PHP выглядит (загрузка на OSM через API)

Ну просто достаточно: file_put_contents или curl тот же, в гугле полно примеров.
Если life пример нужен могу начирикать, как раз себе надо в проект где треки хранятся сделать бота-заливалку с модерацией.

Самое смешное, что у меня есть свой проект страничка где пользователи могут выкладывать свои треки для просмотра их на сайтах yandex и google. Просто хотелось бы это еще и автоматом выкладывать в osm.

Ну я именно про кнопочку типа “залить в OSM”, только я не тупо право заливки буду давать, а отправлять в модерацию и там уже админ проверив трек жмёт “отправить в OSM”, а то и так мусорных треков навалом у нас.