GPSBabel: jak se neztratit s GPS v řádce

Adam Štrauch 19. 1. 2009

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:

widgety

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?
Vitalia.cz: Tahák, jak vyzrát nad zápachem z úst

Tahák, jak vyzrát nad zápachem z úst

Lupa.cz: Jak se prodává firma za miliardu?

Jak se prodává firma za miliardu?

Vitalia.cz: Opuncie je plod kaktusu. Pozor na trny

Opuncie je plod kaktusu. Pozor na trny

Lupa.cz: Jak levné procesory změnily svět?

Jak levné procesory změnily svět?

Podnikatel.cz: Takhle se prodávají mražené potraviny

Takhle se prodávají mražené potraviny

Vitalia.cz: dTest odhalil ten nejlepší kečup

dTest odhalil ten nejlepší kečup

Podnikatel.cz: Babišovi se nedá věřit, stěžovali si hospodští

Babišovi se nedá věřit, stěžovali si hospodští

DigiZone.cz: Wimbledon na Nova Sport až do 2019

Wimbledon na Nova Sport až do 2019

Lupa.cz: Patička e-mailu závazná jako vlastnoruční podpis?

Patička e-mailu závazná jako vlastnoruční podpis?

120na80.cz: Hrbatá prsa aneb mýty o implantátech

Hrbatá prsa aneb mýty o implantátech

Vitalia.cz: 5 pravidel proti infekci močových cest

5 pravidel proti infekci močových cest

Vitalia.cz: Kterou dýni můžete jíst za syrova?

Kterou dýni můžete jíst za syrova?

Vitalia.cz: Jaký je rozdíl mezi brambůrky a chipsy?

Jaký je rozdíl mezi brambůrky a chipsy?

Vitalia.cz: Jsou vegani a vyrábějí nemléko

Jsou vegani a vyrábějí nemléko

DigiZone.cz: Světový pohár v přímém přenosu na ČT

Světový pohár v přímém přenosu na ČT

DigiZone.cz: DVB-T2 ověřeno: seznam TV zveřejněn

DVB-T2 ověřeno: seznam TV zveřejněn

Lupa.cz: Hackeři mají data z půlmiliardy účtů Yahoo

Hackeři mají data z půlmiliardy účtů Yahoo

Lupa.cz: Další Češi si nechali vložit do těla čip

Další Češi si nechali vložit do těla čip

DigiZone.cz: Rapl: seriál, který vás smíří s ČT

Rapl: seriál, který vás smíří s ČT

Vitalia.cz: Když všichni seli řepku, on vsadil na dýně

Když všichni seli řepku, on vsadil na dýně