Hlavní navigace

GPSBabel: jak se neztratit s GPS v řádce

Adam Štrauch

Minulý týden jsme psali o možnostech GPS navigace Garmin v Linuxu. Hodně z vás přidalo také svoje komentáře. Dnes budeme pokračovat konkrétním nástrojem a tím je GPSBabel. Umí být velmi nápomocným při získávání dat z GPS nebo jejich uploadu. Dokáže také používat filtry, které ovlivní výstupní soubor.

S čím pracujeme

U GPS navigací se setkáme s třemi hlavními druhy dat. Se všemi umí GPSBabel pracovat, ale ne všechny jsou podporovány všemi formáty. Některé navigace mají i jiné možnosti (obrázky, hudba, ..), ale s těmi už nemá navigování nic společného. U všech tří druhů dat je možné najít různé termíny. Já se budu držet těch co mám v navigaci sám.
Čtěte také článek GPS Garmin v Linuxu.

Stopa

Některé navigace umí ukládat tzv. stopu. Jedná se o „shluk“ bodů, kterými jsme prošli. Často jde i nastavit jak často se mají body ukládat, nebo po jaké vzdálenosti. Pomocí těchto bodů lze pak vytvořit přibližnou podobu prošlé cesty. Pokud jde o auto, tak je přesnost dostatečná, zvlášť pokud si navigace dokáže pamatovat velké množství bodů. Výsledek nazveme stopou.

Body zájmu

Naše cesta má většinou začátek a cíl, případně zastávky. Začátek třeba může být náš domov, konec dejme tomu dům kde bydlí babička a zastávka třeba restaurace. Všem takovýmto bodům můžeme říkat body zájmu. Většinou jich je hodně již nahráno v navigaci, ale naši babičku tam asi výrobce nedá. Proto si body zájmu můžeme vytvářet a nebo rovnou stahovat z internetu.

Trasy

Nejdůležitější funkcí GPS navigace je navigování. Máme na výběr buď automatickou, kdy pouze zadáme cíl a GPSka se pokusí spočítat trasu, která je pro nás nejvhodnější a nebo přesnější způsob, kdy si naklikáme body, kterými chceme projet a navedeme tak navigaci k mnohem spolehlivějším výsledkům.

Podpora formátů a zařízení

Jak jsem již napsal. Každý z formátů má podporu pro všechny nebo jen nějaký typ dat. GPSBabel podporuje pomalu všechno co má v sobě položku se souřadnicemi. Výjimkou není ani podpora HTML. Nás budu zajímat především tyto:

  • GPX
  • KML
  • Garmin

Případně ještě:

  • LOC
  • google
  • gdb
  • html
  • text
  • csv

S první skupinou formátů se budeme setkávat v Google Earthu, při hledání cachí, stahování dat z navigace. GPX/KML v sobě umí udržet všechny tři druhy dat, se kterými budeme pracovat a garmin je v tomto smyslu chápáno jako protokol, se kterým se komunikuje s navigací.

Druhá skupina formátů se hodí například pokud nemáme premium účet na geocaching.com (LOC) nebo potřebujeme naimportovat data do Google Maps (google). V případě dalšího zpracovávání pomocí skriptů se bude hodit html, text nebo csv formát.

Jak se formáty vybírají si ukážeme níže.

Výstup

Formát dat je jedna věc a kam data pošleme je druhá. GPSBabel nám umožňuje uložit vše buď do souboru, nebo poslat do USB zařízení či na sériový port.

USB

V dnešní době populární sběrnice, o které minulý týden vyšel na rootu článek. Data na ni pošlete zadáním „-F usb:“.

Soubor a sériový port

Sériový port a soubor mají z pohledu uživatele mnoho společného. Za parametr -F, který označuje výstup, můžeme uvést oba. Výsledek vypadá třeba takto:

-F /dev/ttyUSB0
-F /tmp/data.gpx 

Filtry

K převodům mezi formáty patří samozřejmě i filtrování záznamů. GPSBabel má 14 filtrů. Ty můžeme použít pro:

  • Odstranění duplicitních záznamů
  • Prokládání bodů
  • Odstranění konkrétního typu dat
  • Vyfiltrování dat uvnitř polygonu
  • Vyfiltrování dat mimo rádius
  • Vyfiltrování dat v rádiusu
  • Zjednodušení tras
  • Seřazení záznamů
  • Otočení seznamu záznamů
  • Převedení bodů a tras na stopy

Jak na to

Pracovat s GPSBabel můžeme dvěma způsoby:

gpsbabel [volby] -i TYPVSTUPU -f VSTUPNISOUBOR [filter] -o VYSTUPNITYP -F VYSTUPNISOUBOR
gpsbabel [volby] -i TYPVSTUPU -o VYSTUPNITYP VSTUPNISOUBOR [filter] VYSTUPNISOUBOR 

Osobně preferuji ten první, protože je přehlednější, ale vy si určitě najdete ten tvůj. Pokud místo výstupního souboru použijeme -, tak se data vypíšou na standardní výstup. Podobně to funguje také u vstupu, kdy se data vezmou ze standardního vstupu. To ocení fandové rour.

Jako volby můžeme uvést:

-p               Soubor s nastavením
-s               Použít krátká jména bodů
-r               Zpracovat data cest
-t               Zpracovat data tras
-T               Zpracovat data stop
-w               Zpracovat data s body
-b               Zpracovat soubor s příkazy
-c               Nastavit kódování
-N               Bez ikon
-x filtername    Použít filtr
-D level         Zapnout ladící režim
-l               Vypsat podporovaná kódování
-h, -?           Vypsat tuto nápovědu
-V               Vypsat verzi GPSBabelu 

Příklady

Použití nápovědy se asi v budoucnu nevyhneme. To nám ale nebraní ukázat si dva příklady, které se třeba v budoucnu budou hodit.

Jak vybrat body do 5km seřazené podle názvu

Vybrat body do pěti kilometrů od dané pozice můžeme provést třeba takto:

gpsbabel -i gpx -f a.gpx -x radius,lar=49.9604,lon=16.410033,distance=5000m -o gpx -F out.gpx 

Přidáme ještě filtr na seřazení:

gpsbabel -i gpx -f a.gpx -x radius,lar=49.9604,lon=16.410033,distance=5000m -x sort,shortname -o gpx -F out.gpx 

A nebo výstup rovnou pošleme do našeho Garmina:

gpsbabel -i gpx -f a.gpx -x radius,lar=49.9604,lon=16.410033,distance=5000m -x sort,shortname -o garmin -F usb: 

Souřadnice je asi nejjednodušší vzít z některého bodu v gpx souboru. Nebo použít postup popsaný níže, ale pouze s jedním bodem.

Jak vybrat body v polygonu z několika souborů

Druhá často požadovaná operace je třeba výběr bodů v rámci oblasti. To bývá kraj nebo okres.

Začneme tím, že si vytvoříme soubor se souřadnicemi našeho polygonu. K tomu můžeme použít třeba Google Earth. Tam si naklikáme polygon přes souřadnice, které požadujeme, poté tento polygon uložíme do nějakého souboru a převedeme ho pomocí gpsbabel na požadovaný tvar.

gpsbabel -i kml -f pardubicky.kml -o arc -F pardubicky.arc 

Pak použijeme souřadnice kraje na ve filtru polygon na dvou vstupních souborech:

gpsbabel -i gpx -f a.gpx -f b.gpx -x polygon,file=pardubicky.arc -o gpx -F - 

Podíváme se na výsledek a nakonec můžeme vše poslat do navigace.

Závěr

Filtry jsou v GPSBabelu opravdu mocné. Osobně jich tolik zase nevyužiji, ale někomu se mohou hodit. Pokud hledáte co by šlo udělat s GPSBabel dál, tak na stránkách projektu je ke každé verzi napsáno co se změnilo případně přidalo včetně příkladů použití.

Našli jste v článku chybu?
19. 1. 2009 9:48
GPSBabel je skvělý program a jeho síla je právě v té příkazové řádce. Nedokážu si představit, že by někdo udělal GUI, které by pokrylo VŠECHNY jeho možnosti. Snad jen nějaké spojování krabiček, ale to by byl pěkný opruz. Pár dalších ukázek použití: http://jdem.cz/atxh6
19. 1. 2009 15:31
Cartman (neregistrovaný)
Opravdu? Nejsem obcanem CR a pravopis s inteligenci nijak nesouvisi.