RU:Convert GPS tracks

From OpenStreetMap Wiki
Jump to: navigation, search
Доступные языки — Making GPX Files
· Afrikaans · Alemannisch · aragonés · asturianu · azərbaycanca · Bahasa Indonesia · Bahasa Melayu · Bân-lâm-gú · Basa Jawa · Basa Sunda · Baso Minangkabau · bosanski · brezhoneg · català · čeština · corsu · dansk · Deutsch · eesti · English · español · Esperanto · estremeñu · euskara · français · Frysk · Gaeilge · Gàidhlig · galego · Hausa · hrvatski · Igbo · interlingua · Interlingue · isiXhosa · isiZulu · íslenska · italiano · Kiswahili · Kreyòl ayisyen · kréyòl gwadloupéyen · Kurdî · latviešu · Lëtzebuergesch · lietuvių · magyar · Malagasy · Malti · Nederlands · Nedersaksies · norsk bokmål · norsk nynorsk · occitan · Oromoo · oʻzbekcha/ўзбекча · Plattdüütsch · polski · português · română · shqip · slovenčina · slovenščina · Soomaaliga · suomi · svenska · Tagalog · Tiếng Việt · Türkçe · Vahcuengh · vèneto · Wolof · Yorùbá · Zazaki · српски / srpski · беларуская · български · қазақша · македонски · монгол · русский · тоҷикӣ · українська · Ελληνικά · Հայերեն · ქართული · नेपाली · मराठी · हिन्दी · भोजपुरी · অসমীয়া · বাংলা · ਪੰਜਾਬੀ · ગુજરાતી · ଓଡ଼ିଆ · தமிழ் · తెలుగు · ಕನ್ನಡ · മലയാളം · සිංහල · བོད་ཡིག · ไทย · မြန်မာဘာသာ · ລາວ · ភាសាខ្មែរ · ⵜⴰⵎⴰⵣⵉⵖⵜ ⵜⴰⵏⴰⵡⴰⵢⵜ‎ · አማርኛ · 한국어 · 日本語 · 中文(简体)‎ · 中文(繁體)‎ · 吴语 · 粵語 · ייִדיש · עברית · اردو · العربية · پښتو · سنڌي · فارسی · ދިވެހިބަސް

OpenStreetMap использует для загрузки и публикации GPS-треков так называемый GPS Exchange Format (GPX,RU:GPX), основанный на XML. Большинство GPS-приёмников имеют собственные форматы данных, но многие из них позволяют сохранять данные в GPX.

См. также, как записывать треки и как закачивать.

Какие форматы поддерживаются?

Сервер понимает обычный формат GPX версий 1.0 и 1.1 (за исключением того, что тег <time> должен быть проставлен на каждом треке или точке (waypoint). Как загрузить треки с отсутствующими временными метками – см. здесь.

На OpenStreetMap используется датум WGS-84, поэтому, пожалуйста, убедитесь в том, что ваши треки именно в формате WGS-84 lat/lon (широта/долгота). GPX-файлы всегда должны быть в WGS-84, но нужно быть внимательным, если треки конвертируются из других форматов или датумов.

Несколько треков в одном GPX-файле

Не нужно закачивать несколько треков в одном файле. Формат GPX это поддерживает, но сервер свяжет их все в один большой трек. Скажем, если у вас в одном GPX-файле был трек по Москве и трек по Хабаровску, то OSM соединит их в один гигантский трек через всю страну. В общем, закачивайте разные треки в отдельных файлах.

Конвертация форматов

Список форматов данных GPS и методы конвертирования их в GPX и обратно можно найти здесь. Большинство соответствующего софта для различных платформ (в т.ч. для мобильных) перечислено на странице Software.

GpsMapEdit подходит для Garmin и Ozi — форматов. Исправляет ошибки (в отличие от gpsBabel).

g7toWin [1] — достаточно всеядная (и бесплатная) софтина.

Кодировку в русских названиях точек они, к сожалению, портят.

Треки PocketGIS конвертируем с помощью LMTtoGPX: [2]

Конвертация треков в GpsBabel (командная строка)

Простейший способ:

gpsbabel.exe -w -i mapsource -f MyFile.mps -o gpx -F Tracks.gpx

(остальные форматы искать в справке gpsbabel: [3])

Склейка всех MPS-файлов папки в GPX

Требуется Python и GpsBabel

convertMpsGpx.py

from glob import glob
import os

os.system("del Tracks.mps");

fs=glob("*.mps")
s=""
for fname in fs:
	s=s+" -f "+"\""+fname+"\""
	print "found file %s"%fname

fs="gpsbabel.exe -w -i mapsource"+s+" -o gpx -F Tracks.gpx";
print fs
os.system(fs);

fs="gpsbabel.exe -t -i mapsource"+s+" -o mapsource -F Tracks.mps";
print fs
os.system(fs);


Конвертация точек c использованием GPSBabel (командной строки) BAT — файл Windows, переводит в gpx пачку wpt, plt и gdb (OziExplorer, ГисРусса, Гармин)

@echo off
SETLOCAL
FOR %%i in (%*) do (
IF "%%~xi"==".gdb" (
   echo %%i ".gdb(mapsouce)" %%~dpni.gpx
   gpsbabel.exe -i gdb -o gpx %%i %%~dpni.gpx
)ELSE IF "%%~xi"==".plt" (
   echo %%i ".plt(ozi)" %%~dpni.gpx
 . gpsbabel.exe -i ozi -c CP1251 -f %%i -o gpx -F %%~dpni.gpx
)ELSE IF "%%~xi"==".wpt" (
 . echo %%i ".wpt(ozi)" %%~dpni.gpx
   gpsbabel.exe -i ozi -c CP1251 -f %%i -o gpx -F %%~dpni.gpx
)ELSE (
   echo %%i -- skip
)
)

(прочие исходные форматы добавляются по вкусу) [автор zgremlin, с форума]

Попроще (poi2gpx.bat):

gpsbabel -w -i gdb -c cp1251 -f %1 -o GPX -c UTF-8 -F %1.gpx