}w!"#$%&'()+,-./012345<ya



Podobné dokumenty
GPS navigace. Navigace v mobilních telefonech je trendem posledních několika let, kdy používání navigací umožňují takzvané chytré telefony.

Global Positioning System

9 MODERNÍ PŘÍSTROJE A TECHNOLOGIE V GEODEZII

4. ZPŮSOBY ZÍSKÁVÁNÍ TECHNOLOGICKÝCH INFORMACÍ Z VOZIDEL...


MRAR-L. Družicové navigační systémy. Č. úlohy 4 ZADÁNÍ ROZBOR

Global Positioning System

Jak to funguje. O produktu. Jak to funguje

Elektronická Kniha jízd.

Moov 200 je také k dostání s mapami celé Evropy ve verzi Europe plus

Gymnázium Vincence Makovského se sportovními třídami Nové Město na Moravě

M I S Y S - W E B. Intranet řešení systému MISYS. Verze Příručka uživatele

IP kamerové systémy a jejich skladba

HD satelitní přijímač Optimum HD X310

DATA ARTICLE. AiP Beroun s.r.o.

BEZPEČNOSTNÍ OPATŘENÍ Prosíme o důkladné přečteni manuálu instrukce obsluhy.

POPIS ZAŘÍZENÍ. Zadní pohled. 1. Napájení 2. Menu 3. Mode 4. Nahoru 5. OK 6. Dolů 7. Displej. Přední pohled. 12. Čočka 13. LED světlo 14.

Geocaching. Historie a současnost. Cache. Obsah cache

Metodika. Oznámení o vykonávání působností v agendě ve smyslu zákona č. 111/2009. Sb., o základních registrech. Verze 1.6

Zpráva, hodnotící postup a výsledky nových forem práce Pozemkového spolku Meluzína (PSM) Využití satelitní navigace (GPS) pro práci pozemkového spolku

60305-a. GPS přijímač BT-348. Příručka uživatele

Nástroj WebMaker TXV první vydání Únor 2009 změny vyhrazeny

IRISPen Air 7. Stručná uživatelská příručka. (ios - iphone)

A7B39TUR Testování uživatelského rozhraní. HTC Desire HD. (testování mobilního zařízení) Tomáš Klejna

nüvi 57/58/67/68 Návod k obsluze

Mobilní aplikace Novell Filr Stručný úvod

ZoomText 10.1 pro Windows. Dodatek k uživatelské příručce

Digitální kamerový systém s bezdrátovým přenosem obrazu umožňující zobrazení zorného pole 360

2007 Nokia. V¹echna práva vyhrazena. Nokia, Nokia Connecting People, Nseries a N81 jsou ochranné známky nebo registrované ochranné známky spoleènosti

OBSAH. ÚVOD...5 O Advance CADu...5 Kde nalézt informace...5 Použitím Online nápovědy...5. INSTALACE...6 Systémové požadavky...6 Začátek instalace...

Office podrobný průvodce. Tomáš Šimek

V Ý S T R A H A N E O T V Í R A T! R I Z I K O E L E K T R I C K É H O Š O K U

Rozdílová dokumentace k ovládání IS KARAT.net

P edstavení notebooku

ZÁKLADY ROBOTIKY Úvod do mobilní robotiky

, Brno Připravil: Ing. Jaromír Landa, Ph.D. AGP Geografické informační systémy

2DIN multimediální přehrávač 80810A

MAPOVÉ OKNO GSWEB. Nápověda. Pohyb v mapovém okně Výběr v mapovém okně. Panel Ovládání Panel Vrstvy. Tisk Přehledová mapa Redlining Přihlásit jako

verze: 4.0 Březen, 2011

SPZ Uživatelská příručka

HD satelitní přijímač Optimum SLOTH Classic

VLASTOSTI DRUŽICOVÉHO NAVIGAČNÍHO SYSTÉMU GPS-NAVSTAR


Parametrizace, harmonogram

MAPA Zmenšený obraz povrchu Země

Obslužný software. vizualizaci zařízení

Ing. Jiří Fejfar, Ph.D. GNSS. Globální navigační satelitní systémy

Návod na E-Shop. tel.: , fax: , helpdesk: ,

TECHNICKÁ UNIVERZITA V LIBERCI Studentská 1402/ Liberec 1

Hodinky s GPS lokátorem TK-109 Návod k obsluze

TomTom Bridge Referenční příručka

Vysoká škola báňská Technická univerzita Ostrava Hornicko-geologická fakulta Institut geodézie a důlního měřictví GEODÉZIE II

NÁVOD NA POUŽITÍ ANTIRADAR

Geoinformační technologie

MAPOVÁNÍ BIOTOPŮ BIOTOP ARCGIS SERVER

Práce s velkými sestavami

Fotogalerie pro redakční systém Marwel Obscura v. 2.0

Česky. Návod k použití

Sada do auta Nokia CK-200 Struèná pøíruèka a bezpeènostní informace

DEFA SmartStart UŽIVATELSKÁ A MONTÁŽNÍ PŘÍRUČKA.

Word podrobný průvodce. Tomáš Šimek

Stav: červen TRACK-Guide

Bezdrátová meteostanice WD Obj. č.: Součásti

SEZNÁMENÍ S PROGRAMEM

GPS navigace a geocaching jako její praktická aplikace ve volnočasové aktivitě. Zdeněk Drvota (dr.vota) KID, DFJP Univerzita Pardubice

Rychlý průvodce Barbone Boss. Prohlídka notebooku Barbone Boss. Pohled zepředu

Příručka pro uživatele Navigační software

UZ modul VVISION poslední změna

Vytváření databáze kulturních památek prostřednictvím internetových aplikací

1. vydání příručky 2009, Národní památkový ústav, Ing. Martin Lazák

Principy GPS mapování

ExperimentalCar Rozšířeny kurz provozních měření na experimentálním vozidle

Point of View TAB-P731N- Android 4.0 Tablet PC. Čeština. Obsah

Polohovací zařízení. Počítačová myš

Pěší navigace pomocí lokálně kontextových služeb

Pokyny pro použití CZ.3

PROGRAM RP83. Kreslení perspektiv a vyhodnocení rozhledů. Příručka uživatele. Revize Pragoprojekt a.s

Rámcový manuál pro práci s programem TopoL pro Windows

Manuál práce s dataloggerem Xplorer GLX

Manuál k aplikaci WANAS

Navigace na webových stránkách

Editor pro vizualizaci interiérů bytů

Popis a návod k obsluze modulu Smart GM02 v 1.0

Napájení. Číslo dokumentu: V této příručce je popsán způsob napájení počítače. B ezen 2006

Téma: Arkanoid. X36SOJ Strojově orientované jazyky Semestrální práce. Vypracoval: Marek Handl Datum: červen 2006

URČENÍ POLOHY. Mgr. Jan Ptáčník - GJVJ - Fyzika - Prima - Měření veličin

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY 6

Uživatelská příručka. BlackBerry 8700 Smartphone

instaluj Naučte se víc...

Představení notebooku Uživatelská příručka

Zdroje dat GIS. Digitální formy tištěných map. Vstup dat do GISu:

Aktivity s GPS 1. Popis a nastavení GPS přijímače

Studentská tvůrčí a odborná činnost STOČ 2015

Naučit se, jak co nejsnadněji přejít od verze TopoLu pro Windows k verzi TopoL xt. Cílem není vysvětlení všech možností programu.

mpos mobilní aplikace Průvodce pro použití s Lenovo A2010

TEST PRO VÝUKU č. UT 1/1 Všeobecná část QC

Popis licencování, nastavení a ovládání replikací - přenosů dat

VAR-NET INTEGRAL Manuál správce VNI 5.1 VAR-NET INTEGRAL. verze 0.2. Manuál správce VNI 5.1

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY

MANUÁL K OBSLUZE REDAKČNÍHO SYSTÉMU / wordpress

Transkript:

}w!"#$%&'()+,-./012345<ya MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Editor souborů GPX BAKALÁŘSKÁ PRÁCE Michal Šnajdr Brno, podzim 2011

Prohlášení Prohlašuji, že tato bakalářská práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj. Vedoucí práce: RNDr. Jaroslav Pelikán, Ph.D. ii

Poděkování Chtěl bych poděkovat všem, kteří mi při tvorbě práce jakýmkoliv způsobem pomohli at už radou, nebo testování aplikace. Obzvláště bych chtěl poděkovat vedoucímu práce, RNDr. Jaroslavu Pelikánovi, Ph.D., za rady, čas a trpělivost při konzultacích a kamarádce Michaele Gajošové za rady k formálnímu zpracování textu. iii

Shrnutí Práce se věnuje historii, principu fungování a použití satelitního navigačního systému GPS. Dále krátce představuje formát GPX, používaný k výměně informací mezi navigačními zařízeními. Praktickou částí práce bylo vytvoření aplikace pro editování souborů GPX na základě jejich vizualizace na mapových podkladech. Text popisuje způsob, jakým aplikace přistupuje k získávání a zobrazení mapových podkladů, vizualizaci trasy a její úpravě. iv

Klíčová slova GPS, navigace, aplikace, GPX, Java, satelitní v

Obsah 1 Úvod....................................... 2 2 Navigační systém GPS............................. 3 2.1 Historie................................... 3 2.2 Princip činnosti systému......................... 4 2.2.1 Druhy signálů........................... 6 2.2.2 Výpočet polohy přijímače.................... 7 2.3 A-GPS................................... 7 2.4 DGPS.................................... 8 2.5 Použití................................... 9 2.5.1 Automobilové navigace..................... 9 2.5.2 Černé skříňky........................... 10 2.5.3 Turistické navigace........................ 11 2.5.4 Navigace integrované...................... 12 2.5.5 Lokační hry............................ 13 3 Formát GPX................................... 14 4 Aplikace TrackOnMapEditor......................... 16 4.1 Dostupné alternativy........................... 16 4.2 Implementace............................... 17 4.2.1 Uživatelské rozhraní....................... 17 4.2.2 Zdroje mapy............................ 18 4.2.3 Vykreslení mapy......................... 18 4.2.4 Manipulace s mapou....................... 21 4.2.5 Vykreslení bodů/trasy...................... 24 4.2.6 Výpočet polohy uzlu....................... 26 4.2.7 Úprava trasy........................... 26 4.2.8 Vstup a výstup.......................... 27 5 Závěr....................................... 29 A Licence...................................... 32 B Ovládání aplikace............................... 34 C CD médium................................... 35 1

Kapitola 1 Úvod Výpočetní technika se stala běžnou součástí každodenního života a pomáhá nám různými způsoby. Jednou z oblastí, které v posledních letech procházely velkým vývojem, je satelitní navigace. Možnost zjistit přesnou polohu kdekoliv na Zemi je užitečnou v mnoha odvětvích. Teoretická část práce shrnuje historii, princip fungování a použití navigačního systému GPS. Dále práce představuje formát GPX, který slouží pro výměnu informací mezi navigačními aplikacemi. Praktickou částí práce je vytvoření aplikace pro uživatelsky přívětivou editaci tras ukládaných v souborech formátu GPX. Aplikace nazvaná TrackOnMapEditor vizualizuje editované prvky v mapě a umožňuje s nimi pohybovat pouhým tažením. Mapové podklady aplikace získává bud ze sítě Internet, nebo načtením ve vhodném formátu z disku. Způsob jakým aplikace řeší jednotlivé úlohy je popsán v kapitole 4. 2

Kapitola 2 Navigační systém GPS Informace v kapitolách 2.1 2.4 vycházejí z [1, 2, 3, 4, 5]. 2.1 Historie Stejně jako celosvětová počítačová sít Internet i navigační systém GPS vznikl jako vojenský projekt. Původně byl představen pod názvem Navstar (Navigation System with Timing and Ranging), později se začalo používat jméno GPS (Global Position System). Vývoj projektu Navstar započal v roce 1973 sloučením dvou původně samostatných vojenských projektů. Jednalo se o System 621B, sloužící k přesnému určování polohy, který vyvíjelo od šedesátých let letectvo USA, a projekt Timotion pro přesné určování času,vyvíjený americkým vojenským námořnictvem. Od roku 1973 je systém vyvíjen pod hlavičkou tzv. Společné programové skupiny (anglicky Join Program Office), která se skládá ze zástupců letectva, námořnictva, armády, námořní pěchoty, Pobřežní stráže, Obranné mapovací služby, zástupců NATO a Austrálie. Postup realizace až do současné podoby je možno rozdělit do čtyř fází. První fáze probíhala v letech 1973 1979 a jejím cílem bylo ověřit funkčnost navrhovaných principů budoucího systému. Jako první byly provedeny pozemní testy. Poté byly na oběžnou dráhu Země vypuštěny dvě družice 1 pro ověření navigační technologie. V průběhu roku 1978 byly vypuštěny 4 vývojové navigační družice nazývané Blok I. Později byly doplněny o další a celkem bylo umístěno 11 družic. Tyto družice umožňovaly dočasnou plnohodnotnou třírozměrnou navigaci. Signály těchto družic nebyly žádným způsobem omezené a byly v plné míře dostupné každému. Omezení nebylo nutné, protože nebyly běžně k dispozici přijímače. Druhá fáze v letech 1979 1985 byla přípravou na zprovoznění celého sys- 1. Také nazývány satelity 3

2. NAVIGAČNÍ SYSTÉM GPS tému. Byla vybudována pozemní řídící střediska a zahájen vývoj družic Blok II a hlavně pozemních přijímačů. Třetí fáze probíhala od roku 1985 a byla ukončena 17. července 1995 vyhlášením plného operačního stavu. Během třetí fáze bylo vyrobeno celkem 29 družic Bloku II. Družice Bloku II nejprve doplňovaly, a poté nahrazovaly družice Bloku I. Od počátku roku 1993 bylo možné provádět trojrozměrnou navigaci kdekoliv na Zemi po celých 24 hodin. Čtvrtá fáze trvá od 17. července 1995 dodnes a jedná se období běžného provozu. Od 25. 4. 1990 byla do civilního kódu C/A uměle zanášena chyba. Toto opatření, nazývané Selective Availability (SA), mělo zabránit možnému zneužití systému, např. k navádění balistických raket. Přesnost civilních (neautorizovaných) navigačních přístrojů se pohybovala do 50 m. SA není od 1. 5. 2000 používáno a přesnost se zvýšila na několik metrů. Chyba už nemusí být nadále zanášena do signálu, protože Ministerstvo obrany USA, provozovatel systému, získalo způsob, jak v případě ohrožení signál GPS lokálně rušit. 2.2 Princip činnosti systému Celý systém je možné rozdělit na tři segmenty: kosmický pozemní uživatelský Kosmický segment je tvořen 32 družicemi, které obíhají 20 200 km nad Zemí po šesti kruhových drahách (efemeridách), jež se vzájemně od sebe odklánějí o 60. Na každé dráze je nepravidelně rozmístěno 5 6 pozic pro družice. Ty se na oběžné dráze pohybují rychlostí 3,8 km / s a jejich oběžná doba je 11 h 58 min. Hlavními částmi družic jsou: 4 velmi přesné (10 13 s) atomové hodiny s rubidiovým a cesiovým oscilátorem 12 antén pro vysílání navigačních signálů antény pro komunikaci s pozemním segmentem antény pro vzájemnou komunikaci družic 4

2. NAVIGAČNÍ SYSTÉM GPS solární panely a baterie Družice pracují nepřetržitě s výjimkou plánovaných servisních přestávek. Během nich je dvakrát ročně prováděno dopumpování plynové trubice cesiových hodin a jednou ročně korekce oběžné dráhy družice. Během údržby je družice mimo provoz přibližně 18 hodin a korekce dráhy trvá v průměru 12 hodin. Pozemní segment je zodpovědný za řízení celého systému. Monitoruje kosmický segment a získané informace zveřejňuje v navigační správě každé družice. Segment se skládá z následujících částí: Velitelství na letecké základně v Los Angeles, USA. Povelové stanice, které jsou umístěny na základnách amerického letectva na Havaji, v Kwajaleingu, v Diego Garcia a na Ascension Island. V případě poruchy některé stanice je možné použít i středisko Cape Caneveral na Floridě. Povelové stanice slouží pro komunikaci s družicemi. Monitorovací stanice, které jsou po celém světě. Stanice jsou bezobslužné. Prakticky se jedná o velmi přesné GPS přijímače s vlastními atomovými hodinami. Tyto stanice monitorují signály všech aktuálně viditelných družic a vypočítávají svou vzdálenost k těmto družicím. Tyto informace spolu s přijatými navigačními zprávami (viz kapitola 2.2.1) přenáší do řídicího centra. Řídicí centrum podle dat přijatých z monitorovacích stanic vypočítá přesné oběžné dráhy družic (tzv. efemeridy) a potřebné korekce atomových hodin pro každou družici. Tyto údaje jsou pomocí povelových stanic přeneseny na jednotlivé družice a následně vysílány v navigačních zprávách. Každá družice může obdržet aktualizaci těchto údajů i několikrát denně. V případě zničení pozemního segmentu přejdou družice do režimu AUTONAV (Autonomous Navigation Mode). V tomto režimu jsou schopny pracovat až 6 měsíců. Uživatelský segment tvoří uživatelé, kteří používají navigační přístroje k zachycení signálů z jednotlivých družic. Přijímače poté na základě přijatých signálů z družic provedou výpočty polohy rychlosti a času. Tyto informace jsou prezentovány uživateli. Komunikace probíhá pouze směrem od družice k přijímači a není možné pomocí systému GPS přímo sledovat polohu uživatelů. 5

2. NAVIGAČNÍ SYSTÉM GPS 2.2.1 Druhy signálů Systém GPS používá několik druhů signálů vysílaných na několika frekvencích, z nichž nejvýznamnější jsou: L1 (1 575,42 MHz), kde je vysílán civilní C/A kód a vojenský P(Y) kód, který je šifrován a je dostupný pouze pro autorizované použití. Družice vypuštěné po roce 2005 jsou vybaveny pro vysílání nového vojenského signálu M kód. L2 (1 227,62 MHz), kde je vysílán vojenský P(Y) kód a družice vypuštěné po roce 2005 vysílají i vojenský M kód a civilní C kód. Frekvence vysílání jsou zvoleny tak, aby byly přenosy signálů co nejméně ovlivněny meteorologickými vlivy. Jednotlivé družice periodicky vysílají navigační zprávy. Každá zpráva obsahuje: efemeridy čas začátku vysílání zprávy údaje pro přesnou korekci času družice stav družice informace o stavu atmosféry almanach 2 2. Almanach je databáze obsahující méně přesné údaje o efemeridách dalších družic. Na základě informací z almanachu dokáže přijímač sám začít aktivně vyhledávat družice, které by měly být aktuálně viditelné. Pokud přijímač začne přijímat navigační zprávy z družice, jejíž efemeridy znal doposud pouze z almanachu, jsou v jeho lokální kopii nahrazeny přesnějšími údaji z navigačních zpráv této družice. Informace o efemeridách a almanach mají větší datovou velikost, než je možné odeslat v jedné zprávě. Proto jsou rozděleny na jednotlivé rámce. Kompletní informaci o efemeridě družice odešle každých 30 sekund. Začátek vysílání efemeridy je vždy na počátku a v polovině minuty. Almanach je databáze větší velikosti a jeho kompletní přijetí trvá přijímači 12,5 minuty. To vše platí za předpokladu, že příjem není nijak přerušen a přijímač přijal všechny vysílané rámce. Almanach je možné získat i jinou cestou (viz kapitola 2.3). 6

2. NAVIGAČNÍ SYSTÉM GPS 2.2.2 Výpočet polohy přijímače K výpočtu polohy přijímače se používá metoda zvaná trilaterace. Postup výpočtu je zjednodušeně následující: Po příjmu zprávy porovná přijímač čas příjmu signálu s časem odvysílání, který je součástí přijaté zprávy. Z této doby přenosu a známé rychlosti šíření signálu v atmosféře, s přihlédnutím k informacím o aktuálním stavu atmosféry, obsažených v navigačních zprávách, přijímač vypočítá svou vzdálenost od družice. Na základě vypočítané vzdálenosti od známé polohy družice přijímač předpokládá, že se nachází na kulové ploše s poloměrem rovným této vzdálenosti. Průnikem dvou takových kulových ploch přijímač omezí možnou polohu na jejich průsečík. Po průniku se třetí kulovou plochou přijímač omezí množinu možných poloh na dva body, z nichž jeden leží bud hluboko v zemi, nebo vysoko nad ní a můžeme jej prohlásit za neplatný. Zbývající bod je výslednou polohou. V praxi vždy při měření a výpočtu vzdálenosti dochází k nepřesnostem. Ty mohou vzniknout: jiným než očekávaným šířením signálu nepřesností vnitřních hodin samotného přijímače vadou družice Proto se výpočet běžně realizuje s využitím signálu minimálně ze čtyř družic. 2.3 A-GPS A-GPS je zkratka pro Assisted GPS. Jedná se o funkci, která přidává další možnosti získání a vyhodnocení dat. Do služeb A-GPS můžeme zahrnout: alternativní získání almanachu 7

2. NAVIGAČNÍ SYSTÉM GPS offline určení polohy hybridní lokalizační systémy Protože se poloha družic neustále mění, přijímač signálu GPS musí po zapnutí zjistit jejich aktuální postavení. K tomu využívá informace, které vysílají samy družice v podobě tzv. almanachu. Přijímač dokáže určit polohu i bez kompletního almanachu, ale přesnost je výrazně nižší. Platnost almanachu je pouhé 4 hodiny. Pokud uživatel navigaci opětovně zapne během této doby, použijí se pro prvotní určení polohy stará data a start bude výrazně rychlejší. Přijímač almanach nemusí získat pouze odposlechem z družic. Další možností je jejich stažení z Internetu. Takto získané almanachy má přijímač k dispozici mnohem rychleji (podle druhu mobilního připojení) a mohou obsahovat více dat s delší platností (typicky 7 dní). Další funkcí zahrnovanou do A-GPS je možnost výpočtu polohy externím zařízením místo vlastního procesoru přijímače. To je využíváno při offline určování polohy u zařízení zaměřených na nízkou spotřebu. Příkladem takového zařízení je digitální fotoaparát, který k fotografii ukládá informaci o místě pořízení. Před pořízením fotografie není třeba čekat několik minut na prvotní zaměření přijímače. Při záznamu polohy přijímač uloží jen surová data přijatá z družic za velmi krátkou dobu (stačí i 200 ms). Tato data se vyhodnotí až po připojení k počítači pomocí speciálního softwaru. Jako hybridní lokalizaci označujeme stav, kdy přijímač určí svou polohu s nižší přesností použitím jiné technologie a poté tuto informaci využije k efektivnějšímu vyhledávání viditelných družic podle almanachu. K určení polohy přijímač použije může použít triangulaci pomocí základových stanic mobilních sítí. V současné době je pozornost zaměřena na triangulace 3 prostřednictvím signálů wi-fi přístupových bodů. Toto řešení používá např. společnost Google [6]. Přesnost je závislá na kvalitě použité databáze souřadnic a ve městech s hustou penetrací zaměřených bezdrátových přístupových bodů může dosahovat až několika metrů. 2.4 DGPS DGPS (Differential GPS) je jedním ze způsobů zvýšení přesnosti. Systémy DGPS jsou tvořeny alespoň jedním přijímačem GPS o známé přesné poloze (tzv. referenční stanicí). Na základě porovnání polohy vypočítané z přijatých signálů GPS a své přesné polohy stanice vypočítá následující korekce: 3. Obdobná metoda jako trilaterace. Určuje pouze polohu na povrchu. 8

2. NAVIGAČNÍ SYSTÉM GPS Korekce polohy vznikne porovnáním známé polohy stanice s vypočítanou polohou podle přijatých signálů. Nevýhodou těchto korekcí je, že korekce i poloha mobilního přijímače, který ji používá by měly být vypočteny v totožném čase a za použité stejné kombinace družic. Toto je v praxi obtížně splnitelné a vyžadovalo by to, aby stanice počítala korekce pro všechny kombinace družic, ze kterých přijímá signál. Pro výpočet korekce zdánlivých vzdáleností vypočítává stanice svou skutečnou vzdálenost od družice a porovnává ji se zdánlivou vzdáleností vypočítanou z přijatých signálů. Toto řešení je náročnější na realizaci, ale je přesnější. Platnost korekcí je desítky až stovky kilometrů od referenční stanice podle druhu měření. Korekce jsou typicky šířeny protokolem RTCM a přenášeny pomocí sítě Internet, dlouhovlnného vysílání nebo signálu RDP. 2.5 Použití Jednotlivé druhy navigačních zařízení se od sebe liší hlavně provedením samotného přístroje podle podmínek zamýšleného použití a použitými mapami a funkcemi. 2.5.1 Automobilové navigace Dělí se na integrované a samostatné. Běžným se v tomto segmentu stalo ovládání pomocí dotykového displeje. Ten mívá běžně úhlopříčku od 3, 5 do 5. Obvyklou funkcí je hlasová navigace, kdy navigace přehrává pokyny podobně, jako by řidiče instruoval spolujezdec. Kvalitní hlasová navigace je i určitým prvkem aktivní bezpečnosti, protože se řidič nemusí dívat na samotný navigační přístroj a může celou svou pozornost věnovat dopravní situaci. Samozřejmou funkcí se stal také pohled z ptačí perspektivy. Toto zobrazení je pro člověka přirozenější a rychleji se zorientuje, pokud se potřebuje podívat např. na tvar složitější křižovatky. Běžná je také funkce otáčení mapy podle směru jízdy. Samostatné navigační přístroje jsou mnohem častější než varianty integrované. V interiéru vozidla se umist ují pomocí dodávaného držáku s přísavkou, nejčastěji na čelní sklo automobilu. Držáky samostatných navigací rozdělujeme na: pasivní 9

2. NAVIGAČNÍ SYSTÉM GPS aktivní Pasivní držák je pouze plastový výlisek sloužící k uchycení přístroje v interiéru vozidla. Po umístění navigace do držáku musí uživatel připojit samostatně i napájecí kabel a případně i kabely dalšího příslušenství (např. přijímač zpráv RDS- TMC, větší a kvalitnější reproduktor pro hlasovou navigaci). Aktivní držák plní funkci dokovací stanice. Napájení a příslušenství je připojeno nebo integrováno do tohoto držáku a ten je spojen s navigací pomocí k tomu určeného konektoru. Vše, co uživatel v tomto případě musí udělat, je vložit přístroj do držáku a začít jej používat. Protože baterie osazované v automobilových navigacích nemají velkou kapacitu a vystačí k provozu přístroje jen několik málo hodin, je běžné je napájet z palubní sítě vozidla. K tomu se používá dodávaný adaptér do zásuvky zapalovače. Obrázek 2.1: Navigace TomTom Via 120. Zdroj: http://www.tomtom.com Integrované navigace jsou součástí palubního systému. Pomocí jejich displeje se běžně ovládá i audio systém vozidla. Displej navigace je umístěn na středové konzole v její střední nebo vrchní části. Velkou nevýhodou těchto přístrojů bývá vyšší cena, která začíná na částkách v řádu desítek tisíc korun. 2.5.2 Černé skříňky Slouží k zaznamenávání údajů o pohybu vozidla pro případ nehody. Bývá umístěna za čelním sklem vozidla a pomocí kamery zaznamenává dění před vozidlem. Vybavenější modely mají dvě kamery. Druhá kamera snímá přes zadní sklo 10

2. NAVIGAČNÍ SYSTÉM GPS Obrázek 2.2: Navigace Columbus ve voze Škoda Superb. Zdroj: http://www.skoda-auto.cz vozidla dění za vozem. Zařízení může být vybaveno i přijímačem GPS pro sledování polohy a rychlosti vozidla, případně i akcelerometrem pro přesné měření zrychlení. Výhodou použití systému GPS pro snímání rychlosti vozidla je, že není nutné zasahovat do interiéru a elektroinstalace vozidla pro získání těchto údajů z palubních přístrojů. Zařízení běžně používají dva režimy záznamu: kontinuální záznam ve smyčce, kdy se nejstarší záznamy postupně přepisují novějšími, fixace události, kdy přístroj uchovává pouze posledních několik minut záznamu a stisknutím tlačítka nebo automaticky (např. při prudkém zpomalení) se záznam uloží. Funkce černé skříňky má velký potenciál a očekává se její integrace do automobilových navigací [15]. 2.5.3 Turistické navigace Vyznačují se hlavně odolným provedením těla přístroje a dlouhou výdrží na baterie. Podle typu jsou napájeny bud tužkovými bateriemi nebo lithiovými články. Tužkové baterie mají výhodu v nižší ceně, použitelnosti i v jiných zařízeních a možnosti mít s sebou více párů (zařízení typicky vyžadují pro napájení 2 kusy) pro prodloužení celkové doby výdrže. Běžnou funkcí turistických přístrojů je na- 11

2. NAVIGAČNÍ SYSTÉM GPS vigace na souřadnice. V tomto případě navigace zobrazuje směr a vzdálenost k cíli a je na uživateli, aby volil trasu pohybu. Nejvýznamnějším výrobcem turistických navigací je americká firma Garmin. Nabízí desítky modelů rozdílného zaměření, např. turistickou navigaci, cyklistickou navigaci, cyklistický tachometr s GPS nebo sportovní hodinky s GPS. První modely turistických navigací byly ovládány tlačítky, případně v kombinaci s joystickem. V roce 2008 představila společnost Garmin novou modelovou řadu jménem Oregon, která byla jako první turistická navigace vybavena dotykovým displejem [7]. Jako podkategorii turistických navigací lze chápat navigace cykloturistické. Ty přístroje kombinující funkce turistické navigace a sport testeru. Pro funkci tachometru potřebují jen dostupný signál GPS, ale je možné pro větší přesnost připojit (obvykle bezdrátově) i snímač otáček kola, který bývá často kombinován se snímačem kadence (frekvence) šlapání. Přístroje často bývají vybaveny barometrickým výškoměrem. K většině modelů je možné jako volitelné příslušenství pořídit snímač tepové frekvence. 2.5.4 Navigace integrované V počátcích satelitní navigace bylo nutné vlastnit k tomuto účelu samostatné zařízení. Toto řešení zvyšovalo cenu a bylo méně variabilní. Pokud uživatel chtěl turistickou i automobilovou navigaci, musel si pořídit dva samostatné produkty. Prvním řešením této situace byly samostatné přijímače připojené pomocí technologie Bluetooth. Ty je možné připojit k PDA nebo MDA a využít samostatné navigační aplikace. Uživatel může použít více aplikací nebo volitelných map a snadno tak využít jeden přístroj k více účelům. Samostatné přijímače mají také výhodu ve větší velikosti použité antény, která je citlivější hlavně při slabém signálu, a některé modely jsou vybaveny konektorem pro externí anténu. Po uvedení GPS čipu SiRFstarIII od americké firmy SiRF Technology začali výrobci mobilních telefonů a komunikátorů integrovat přijímač do většiny přístrojů vyšší třídy. Tento čip se vyznačuje proti svým předchůdcům vynikajícími vlastnostmi (A-GPS, dvacetikanálový příjem) při nízké spotřebě elektrické energie a malé ploše čipu za nízkou cenu [14]. V dnešní době je integrovaný přijímač GPS běžnou výbavou mobilních zařízení střední a vyšší třídy. 12

2. NAVIGAČNÍ SYSTÉM GPS 2.5.5 Lokační hry Nejznámější lokační hrou je bezesporu geocaching. Za jeho zakladatele je pokládán Dave Ulmer, který 3. května 2000 umístil do lesa v americkém Oregonu schránku a zveřejnil její souřadnice na Internetu. Nálezce schránky si mohl ponechat něco z jejího obsahu a na oplátku vložit něco svého. Název geocaching poprvé použil Matt Stum 30. května 2000 v mailing listu GPS Stash Hunt. V té době byla hra rozšířena pouze mezi technickými nadšenci. Důvodem byla nutnost netriviálních znalostí o práci se zeměpisnými souřadnicemi, kterou museli hráči disponovat. O několik měsíců později založil Jeremy Irish web Geocaching.com, který pomáhal hráčům k snadnější orientaci. Web byl poprvé představen 2. října 2000 a při spuštění obsahoval 75 skrýší z celého světa. Ještě téhož se stal web tak úspěšným, že provoz na doma hostovaném serveru dosahoval maxima jeho internetového připojení. Proto zakládá společnost, která se stará o provoz služby. Jeho společníky se staly Elias Alvord a Bryan Roth. Dnes (16. května 2011) je jen v České republice 23 349 skrýší [8]. Centrem celé hry je web na adrese http://www.geocaching.com, který slouží jako katalog skrýší a eviduje výsledky hráčů. Pro přístup k informacím o skrýších je potřeba se na tomto webu bezplatně registrovat. Během registrace hráč potvrzuje souhlas s pravidly, která od hráčů vyžadují respektování osobního vlastnictví při zakládání skrýší, šetrnost k přírodě a zakazuje sdělovat informace o poloze skrýší mimo hráčskou komunitu. Pokud hráč skrýš nalezne, zapíše se do určeného zápisníku a zaprotokoluje to i na webu. 13

Kapitola 3 Formát GPX GPX je otevřený formát pro výměnu informací mezi navigačními aplikacemi. Jedná se o textové soubory jejichž obsah je strukturován v metajazyku XML. Struktura uložených informací je definována pomocí techniky XML Schema. Formát předepisuje velké množství možných položek, které jsou pro předpokládaného uživatele aplikace TrackOnMapEditor (viz kapitola 4) nezajímavé a zbytečně podrobné. Proto aplikace TrackOnMapEditor pracuje pouze s podmnožinou tohoto formátu. Formát GPX rozlišuje: uzly (samostatné, nebo tvořící trasy/cesty) trasy (anglicky routes) cesty (anglicky tracks) Trasy jsou naplánované posloupnosti bodů určené k budoucí navigaci. Cesty jsou záznamy provedeného pohybu. Většina navigačních zařízení/aplikací umožňuje i navigaci podle zaznamenané cesty. Cesty se skládají z jedné nebo více sekvencí bodů. K rozdělení záznamu do více sekvencí dochází typicky při výpadku navigačního signálu. V jednom souboru může být uloženo více tras i cest. Pro trasy a cesty aplikace TrackOnMapEditor zpracovává informace o jméně, popisu a komentáři. Jednotlivé trasy a cesty se skládají z uzlů. Pro uzly program pracuje s položkami: kartografické souřadnice jméno nadmořská výška čas 14

3. FORMÁT GPX počet družic použitých k výpočtu polohy přesnost komentář popis Detailní popis jednotlivých položek je dostupný ve specifikaci formátu na webu http://www.topografix.com/gpx.asp. 15

Kapitola 4 Aplikace TrackOnMapEditor Součástí práce bylo vytvoření aplikace TrackOnMapEditor, sloužící pro interaktivní práci se soubory formátu GPX. Aplikace je implementována v programovacím jazyce Java a je určena pro použití na osobním počítači. Předpokládaným užitím programu je plánování (cyklo)turistických výletů a úprava uživatelem zaznamenaných tras. 4.1 Dostupné alternativy Už dříve existovaly aplikace, umožňující interaktivní editaci souborů GPX. Tyto aplikace mají některá omezení, které byly důvodem pro vznik aplikace TrackOn- MapEditor. Aplikace TrekView, dostupná online na adrese http://www.trekview.cz, je vytvořena v jazyce PHP s použitím API služby Mapy.cz (http://www.mapy. cz). Hlavním omezením aplikace je použití bezplatného hostingu. To výrazně omezuje výkon aplikace, negativně ovlivňuje rychlost uživatelské odezvy a často způsobuje její nedostupnost. Licenční podmínky použití API služby Mapy.cz nedovolují autorovi aplikace umístit na webovou stránku např. reklamu, která by hradila náklady na provoz kvalitnějšího hostingu. Dále tato aplikace neumožňuje editaci bodů zaznamenané trasy a ergonomie ovládání kvůli nutnosti přepínání několika režimů nízká. Poslední nevýhodou aplikace je podoba výsledného souboru GPX, který není nijak strukturován a je obtížné jej číst. Aplikace Cykloatlas on-line, dostupná na webových stránkách http://www. cykloserver.cz, nabízí příjemné uživatelské rozhraní i rychlou odezvu. Omezením je možnost přidávat nový bod pouze na konec trasy. Dále aplikace neumí importovat soubory obsahující více tras, více cest nebo jejich kombinací. Při pokusu o import takového souboru aplikace reaguje, jako by v souboru nebyly uloženy žádné informace nebo importuje pouze jejich část. V případě pokusu o import nevalidního souboru se aplikace chová, jako by soubor byl prázdný a nijak 16

4. APLIKACE TRACKONMAPEDITOR neinformuje uživatele o chybě. 4.2 Implementace 4.2.1 Uživatelské rozhraní K vytvoření uživatelského rozhraní byla použita knihovna Swing, která je součástí jazyka Java od verze 1.2 [9]. Jak je patrné z obrázku 4.1, grafické uživatelské rozhraní je opticky rozděleno na tři části: zobrazení mapy ovládací panel stavový řádek Obrázek 4.1: Uživatelské rozhraní aplikace TrackOnMapEditor Ovládací panel a pod ním umístěná oblast stavového řádku se nachází v levé části okna aplikace. Zbylý prostor okna je vyhrazen zobrazení mapy. Toto uspořádání umožňuje využít maximálního možného vertikálního rozlišení monitoru 17

4. APLIKACE TRACKONMAPEDITOR a tím kompenzovat vzrůstající poměr stran (16:9) u nově prodávaných monitorů. V případě, že vertikální rozlišení oblasti ovládacího panelu je nižší než prostor potřebný pro zobrazení všech jeho prvků, je panel vykreslen jako posuvný. Všechny texty zobrazené v rozhraní jsou přeloženy do češtiny a angličtiny. Použitý jazyk se volí podle nastavení hostujícího operačního systému. Pokud je jazyk systému odlišný od výše jmenovaných, je použita anglická jazyková varianta. Výjimkou z tohoto pravidla je běh na operačním systému ve slovenském jazyce, pro který aplikace použije českou jazykovou variantu. 4.2.2 Zdroje mapy Aplikace používá bitmapové mapy, které mohou být tvořeny jedním nebo více na sebe navazujícími obrázky (řezy). Mapové podklady jsou získávány více způsoby. Každý zdroj mapy je reprezentován samostatnou třídou implementující rozhraní MapSource. Prezentovaná verze aplikace TrackOnMapEditor podporuje přímé získávání podkladů ze služby Mapy.cz a načítání map z disku ve formátu používaném aplikací TrekBuddy (http://www.trekbuddy.cz). Jednotlivé mapové zdroje jsou reprezentovány samostatnými třídami. API pro komunikaci aplikace se zdrojem mapy je definováno rozhraním MapSource. Implementované zdroje mapy jsou potomky abstraktní třídy AbstractMapSource, která implementuje část rozhraní MapSource. Případné zdroje mapy od dalších autorů by měly také rozšiřovat třídu AbstractMapSource pro zachování kompatibility nových verzí rozhraní. V případě, že do aplikace bude přidána nová funkce, která bude požadovat rozšíření API, bude vhodně rozšířena i třída AbstractMap- Source, aby informovala, že požadovaná funkce není dostupná. 4.2.3 Vykreslení mapy Mapa je vykreslována v objektu třídy MapJPanel, která je potomkem třídy JPanel. Instanci třídy MapJPanel je pomocí nově přidaných metod předána množina řezů k vykreslení. Pro vykreslení těchto řezů je nutné překrýt metodu paintcomponent(graphics g) z rodičovské třídy tak, aby inicializovala vykreslení zobrazovaných řezů. Obrázky jsou třídě předávány spolu se souřadnicemi, na kterých se má řez vykreslit, a jsou zapouzdřeny v instanci třídy MapSlice. Dále je třída oproti rodičovské třídě JPanel rozšířena o metody ovlivňujících způsob vykreslení (viz kapitola 4.2.4). Mapy ze služby Mapy.cz jsou stahovány po jednotlivých řezech. Adresy řezů mají formát http://mserver.mapserver.mapy.cz/druh/zoom_ppx_ppy. Zvýrazně- 18

4. APLIKACE TRACKONMAPEDITOR né části jsou proměnné. Server je číslo 1 4, které určuje fyzický stroj, ze kterého bude obrázek načítán. Druh určuje mapový podklad. Zoom je číslo 1 17 určující přiblížení mapy. PPx a PPy jsou souřadnice promítnuté v levého dolního rohu řezu v souřadném systému PP. Možnými druhy mapového podkladu jsou: base-n (základní podklad) turist (turistický podklad) ophoto (letecký fotografický pohled) hybrid (vrstva popisků pro fotografický pohled) ttur (vrstva turistických tras) tcyklo (vrstva cykloturistických tras) Souřadnice v souřadném systému PP jsou získány posunutím a vynásobením souřadnic systému UTM. Tato úprava je provedena pro získání celočíselné reprezentace souřadnic pro potřeby webové aplikace Mapy.cz [10, str. 24] a v aplikaci TrackOnMapEditor jsou souřadnice v systému PP používány pouze pro získání adresy požadovaného řezu. Aplikace si udržuje ve zdroji zpřístupňujícím mapy ze služby Mapy.cz informaci o zeměpisné souřadnici, která bude vykreslena v levém horním rohu mapové oblasti. Při požadavku na vykreslení mapy vypočítá označení (adresu) řezu a pixel v tomto řezu, na kterém bude referenční bod promítnut. Z těchto informací vypočte umístění tohoto rohového řezu vůči zobrazovací oblasti. Poté postupuje po řádcích a postupnou inkrementací umístění zobrazení a adresy řezu generuje množinu řezů použitých k vykreslení požadovaného pohledu. Tyto řezy předá třídě MapJPanel k vykreslení. Protože jsou řezy načítány ze sítě Internet, což může být časově náročné, jsou načtené řezy uchovávány pro další použití v cache implementované pomocí datové struktury LRUMap [11]. Druhým způsobem získání mapových podkladů, který je v aplikaci implementován, je načítání kalibrovaných řezů z nekomprimovaného archivu formátu tar. Struktura souborů, kterou aplikace v archivu očekává, je shodná s formátem používaným aplikací TrekBuddy. Uživatel si může zvolit načtení pouze jedné mapy, nebo tzv. atlasu, který umožňuje sdružovat podobné mapy. 19

4. APLIKACE TRACKONMAPEDITOR Obrázek 4.2: Vykreslení mapy ze služby Mapy.cz O zobrazení mapy se stará třída Map z balíku cz.muni.fi.xsnajdr.trackonmapeditor.offlinemaps.tbatlas. Na disku je načítaný mapový podklad uložen v archivu tar jako množina menších, na sebe navazujících řezů, tvořících celý obraz. Jednotlivé řezy jsou pojmenovány podle vzoru jmeno_x_y.pripona kde, jmeno je název mapy, X je horizontální souřadnice pixelu v levém horním rohu řezu zobrazená v celém obrazu mapy, Y je vertikální souřadnice pixelu v levém horním rohu řezu zobrazená v celém obrazu mapy. Jednotlivé řezy mají stejné rozměry. Výjimkou jsou pouze okrajové řezy, které mohou být menší. Rozměry řezů aplikace rozpozná podle názvů souborů. V archivu se dále nachází textový soubor s kalibračními informacemi. Pro zobrazení mapy je nutné z tohoto souboru načíst celkové rozměry zobrazované mapy. Další informace uložené v souboru nejsou pro zobrazení mapy významné a jejich účel je popsán v kapitole 4.2.6. Třída Map si jako referenční bod pro zobrazování uchovává souřadnice ve virtuálním (složeném) obrazu, které jsou aplikací zobrazeny v levém horním rohu mapové oblasti. Při požadavku na vykreslení mapy třída provede obdobný výpočet jako v případě načítání řezů ze služby Mapy.cz. Určí názvy zobrazených 20

4. APLIKACE TRACKONMAPEDITOR řezů a polohu v mapové oblasti aplikace, na kterou budou vykresleny a poté je v samostatném vlákně načte z disku a předá k zobrazení. 4.2.4 Manipulace s mapou Všechny manipulace s mapou jsou uživatelským rozhraním přeloženy na volání příslušných metod rozhraní MapSource a předány uživatelem zvolenému zdroji mapy. Posun mapy je vyvolán použitím metody movemap(move move) na aktivním zdroji mapy, kde parametrem move je vyjádřen počet pixelů, o který se posune pohled mapy. Hodnota je vyjádřena dvěma celočíselnými hodnotami (pro horizontální a vertikální posun) zapouzdřenými ve třídě Move. Kladné hodnoty jsou reprezentací posunu pohledu po mapě nahoru/doleva a záporné dolů/doprava. V případě implementovaných zdrojů mapy (kapitola 4.2.2) je zkontrolována a omezena velikost posunu (viz dále) a změněna poloha referenčního bodu mapy (kapitola 4.2.3) a inicializováno nové vykreslení mapy. Při přesouvání pohledu myší není během pohybu voláno posunutí ve zdroji mapy. V okamžiku stisknutí pravého tlačítka myši nad oblastí mapy si aplikace zapamatuje toto umístění. Za stálého držení tlačítka uživatelské rozhraní při posouvání myši generuje události mousedragged. Při zpracování události je vypočítán posun od předchozí pozice (kliknutí nebo události tažení) a tento posun je přidán k počítanému celkovému posunu. Hodnota celkového posunu je případně omezena (viz dále) a oznámena instanci třídy MapJPanel vykreslující mapu pomocí metody paintdragged(move move). Třída MapJPanel poté vykreslí aktuálně zobrazované řezy s posunutím oproti jejich původním pozicím. Po uvolnění tlačítka myši je v aktivnímu zdroji mapy metodou movemap(move move) předána hodnota celkového posuvu. Na obrázku 4.3 je uveden názorný příklad. Jednotlivé kroky představují následující posloupnost akcí: 1. Stisknutí pravého tlačítka myši na souřadnicích [100, 50]. 2. Událost tažení. Vypočtený posun [0, 30], limitovaný posun [0, 20]. Limitovaný posun předán k zobrazení. 3. Událost tažení. Vypočtený posun [0, 20], vypočtený plus předchozí limitovaný posun [0, 40], limitovaný posun [0, 20]. Limitovaný posun předán k zobrazení. 4. Událost tažení. Vypočtený posun [ 10, 35], vypočtený plus předchozí limitovaný posun [ 10, 15], limitovaný posun [ 10, 15]. Limitovaný po- 21

4. APLIKACE TRACKONMAPEDITOR sun předán k zobrazení. Pravé tlačítko myši uvolněno. Na aktivním zdroji mapy zavolána metoda movemap([ 10, 15]). Obrázek 4.3: Příklad posun pohledu mapy pomocí myši. Zobrazovaná mapa je konečná a je nutné zajistit, aby se uživatel nemohl zobrazovaným pohledem dostat za její hranice. V případě řezů načítaných z disku, je omezení dané hranicemi obrazu. Pro podklady načítané ze služby Mapy.cz je hranice zvolena uměle s ohledem na přesnost dalších výpočtů a přibližně odpovídá rozsahu turistické mapy. Implementované zdroje mapy toto řeší výpočtem povolených rozsahů posunu v okamžiku generování zobrazení mapy. Při posunech mapy je poté velikost požadovaného posuvu porovnávána s touto hodnotou. K porovnání slouží v API zdroje mapy metoda limitmove(move move), která v případě překročení maximálního možného posunu sníží upraví hodnotu zpracovávaného pohybu pohledu. Limit posuvu je reprezentován jako čtyři celočíselné hodnoty, jedna pro každý směr (obr. 4.4). Princip fungování omezení je naznačen v příkladu výše. Pro mapy získané ze služby Mapy.cz je implementována uživatelsky pohodlná změna přiblížení otáčením kolečka myši nebo posuvníkem v menu. Každý stupeň přiblížení má vždy dvakrát větší měřítko, než ten předchozí. Při změně přiblížení mapy pomocí posuvníku by měl bod vykreslený uprostřed zobrazované oblasti zůstat na stejném místě. Aby toho bylo docíleno, musí se po přiblížení pohled přesunout. Při změně přiblížení o jeden stupeň je velikost posunu rovna polovině jeho velikosti v novém přiblížení doprava a dolů při přiblížení a o čtvrtinu velikosti nového pohledu (vzdálenějšího) nahoru a doleva při oddálení 22

4. APLIKACE TRACKONMAPEDITOR Obrázek 4.4: Omezení posuvu mapy. (obr 4.5). V případě změny přiblížení o několik stupňů najednou, je nutné provést jednotlivé posuny řetězově. Obrázek 4.5: Korekce polohy při přiblížení Častěji budou uživatelé využívat změnu přiblížení pomocí otáčení kolečka myši. Otáčení kolečka směrem od uživatele znamená přiblížení pohledu a pohyb k uživateli oddálení, což je konzistentní s běžným chováním jiných aplikací. Aby 23

4. APLIKACE TRACKONMAPEDITOR přiblížení působilo pro uživatele přirozeně, je vhodné, aby zeměpisné souřadnice pixelu mapy vykresleného pod kursorem myši v okamžiku pohybu kolečka myši byly stejné i po přiblížení. Vzniká tím přirozený dojem přibližování se k objektu. Pro dosáhnutí tohoto efektu je nutné kromě posunutí související se změnou měřítka, uvedeným výše, provést ještě další korekci polohy pohledu. Velikost této korekce pro přiblížení je vzdálenost kursoru myši (bodu přiblížení) od středu pohledu (obr. 4.6) a polovina této vzdálenosti v opačném směru pro oddálení pohledu. Obrázek 4.6: Korekce polohy při přiblížení myší 4.2.5 Vykreslení bodů/trasy Pro zobrazení bodů/tras jsou ve třídě MapJPanel přidány podobné metody sloužící k předání a nastavení množiny zobrazovaných bodů/tras jako v případě zobrazení mapy. Podobně jako pro zobrazení řezů mapy je i pro zobrazení bodů/tras rozšířena metoda paintcomponent(graphics g) této třídy. Při rozhodování, na jaké místo vykreslit požadovaný bod, je nutno znát, jaká transformace je u aktivního zdroje mapy použita. Proto je tato úloha řešena každým zdrojem mapy samostatně (viz kapitola 4.2.6). Při vykreslení trasy musí aplikace zjistit, který druh bodů je požadován k zobrazení. To zjistí dotazem na komponentu JTabbedPane, která vrátí informaci, která ze záložek je zvolena. Podle záložky dále zvolí, zda použije metodu pro zobrazení samostatných bodů nebo tras. V obou případech aplikace prochází všechny položky ze seznamu zobrazeného na zvolené záložce. Pro každou položku se zdroje mapy zeptá, jaká je její poloha v aktuálně vykreslované oblasti mapy. Pokud je poloha ve viditelné oblasti, je bod zařazen do kolekce, která je po zpracování všech bodů předána k vykreslení třídě MapJPanel. 24

4. APLIKACE TRACKONMAPEDITOR Při zobrazování tras jsou aplikací generovány viditelné sekvence bodů. Při generování sekvence jsou do ní zařazeny i body před viditelnou částí a po ní, což zajistí vykreslení spojovací linky vedoucí mimo oblast vykreslení. Jednotlivé viditelné sekvence jsou předány k vykreslení třídě MapJPanel. Filtrovaní bodů na viditelné a skryté dovoluje zpracování velkého množství bodů s malými nároky na systémové prostředky. V případě, kdy by byly třídou MapJPanel vykreslovány i neviditelné body, byl by nárůst s tím spojené režie výrazně vyšší, než rozhodnutí o viditelnosti zobrazení bodu. Obrázek 4.7: Zobrazení trasy Před tím, než je zpracovávaný bod předán k vykreslení, aplikace pro potřeby odlišení při vykreslování zjistí, jestli je bod označen a jeho pozici ve vykreslované trase. Zobrazovaný bod je předáván jako instance třídy PointInMap. Třída PointInMap zapouzdřuje do jednoho objektu: polohu bodu ve vykreslované oblasti odkaz na jeho instanci ve struktuře souboru GPX 25

4. APLIKACE TRACKONMAPEDITOR informaci, zda je bod označen a či je první nebo poslední v zpracovávané množině bodů (pro vizuální odlišení) 4.2.6 Výpočet polohy uzlu Mapa získaná ze služby Mapy.cz je složena z dlaždic, jejichž hrana odpovídá konstantní zeměpisné vzdálenosti. Toto umožňuje vypočítat poměr počtu pixelů mapy k zeměpisné vzdálenosti. Tento poměr je rozdílný pro každý stupeň přiblížení a je pevně zadán ve zdrojovém kódu. Při požadavku na výpočet odpovídajících zeměpisných souřadnic označeného pixelu zdroj mapy vypočítá vzdálenost zobrazeného pixelu od levého horní rohu mapové oblasti. Tuto zobrazenou vzdálenost vynásobí podle aktuálního stupně přiblížení příslušnou konstantou a výslednou hodnotu přičte k souřadnicím levého horního rohu pohledu, které si zdroj mapy udržuje jako referenční. Výsledkem jsou zeměpisné souřadnice odpovídající označenému pixelu. Výpočet bodu v pohledu, na který bude vykreslen bod o známých zeměpisných souřadnicích, je inverzním postupem výše uvedeného. Zdroj mapy vypočítá geografickou vzdálenost bodu od referenčního levého horního bodu pohledu, vydělí hodnotu příslušnou konstantou a výsledkem je pozice v pohledu, která odpovídá zadaným souřadnicím. Pro podklady získané načtením kalibrovaných řezů z disku je přepočet souřadnic bodu v obrázku mapy na jeho odpovídající zeměpisné souřadnice a naopak proveden pomocí bilineární transformace. Vstupem pro tuto transformaci je seznam nejméně tří dvojic bodů. K výpočtu transformace aplikace využívá služeb knihovny Geotools (http://geotools.org/). Negativem této jednoduché transformace je, že poskytuje kvalitní výsledky pouze pro mapy, jejichž hrany jsou rovnoběžné s rovnoběžkami a poledníky a tvoří obdélník. Cílem dalšího vývoje aplikace by mělo být zkvalitnění výpočtu kalibrace. 4.2.7 Úprava trasy Úprava trasy v aplikaci je možná dvěma způsoby. Přímou editací hodnot v pravé části okna nebo manipulací s body nad mapou. Editace hodnot je ekvivalentní přímé úpravě editovaného souboru a slouží spíše k zobrazení a doplnění doprovodných informací (jméno bodu, nadmořská výška, popis,... ). Změna umístění bodu nad mapou vyžaduje jako první krok identifikaci, který uzel byl myší vybrán. V okamžiku, kdy uživatel v oblasti mapy stiskne tlačítko myši, je uživatelským prostředím generována příslušná událost. Pokud uživa- 26

4. APLIKACE TRACKONMAPEDITOR tel stiskl levé tlačítko myši, aplikace prochází seznam vykreslených bodů, jehož sestavení bylo popsáno v kapitole 4.2.5. Rozhodnutí, zda byl označen konkrétní bod, je provedeno na základě porovnání vzdálenosti bodu vzniku události stisknutí tlačítka a umístění porovnávaného uzlu v mapě. Pokud je tato vzdálenost menší nebo rovna poloměru kružnice, používané jako grafické reprezentace umístění, je uzel považován za označený. Zobrazení jednotlivých bodů v mapě se mohou překrývat a při praktickém použití tento jev nastává běžně. Během vykreslování uzlů je postupováno podle pořadí jejich umístění v souboru a proto přirozeně později se vyskytující prvky překrývají dříve zobrazené. Z tohoto důvodu je výhodné hledat označený bod od konce seznamu vykreslených uzlů a toto hledání ukončit při nalezení prvního vhodného výskytu (obr 4.8). Obrázek 4.8: Výběr uzlu Při reakci na událost stisknutí tlačítka myši si aplikace zapamatuje místo jejího vzniku a bere jej v potaz při dalším rozhodování. Pokud byl při stisknutí tlačítka označen uzel, je při následném tažení myší měněna pouze hodnota jeho polohy ve vykreslované oblasti uložená v instanci třídy PointInMap. Tímto vzniká efekt jeho přesouvání v mapě. Při události uvolnění tlačítka myši obslužná metoda zkontroluje, jestli byl dříve zvolen nějaký uzel a pokud ano, ověří, zda se místo uvolnění tlačítka neshoduje s polohou stisknutí. Pokud jsou body stisknutí a uvolnění tlačítka rozdílné, dotáže se aktivního zdroje mapy na zeměpisné souřadnice v místě uvolnění uzlu (viz kapitola 4.2.6) a ty jsou nastaveny jeho reprezentaci ve struktuře souboru GPX. Odkaz na tento objekt je získán z označené instance třídy PointInMap. 4.2.8 Vstup a výstup Upravovaný soubor může být kompletně vytvořen uživatelem, nebo je načten ze souboru ve formátu GPX (kapitola 3). Načítání probíhá ve vlastním vlákně implementovaném děděním třídy SwingWorker. Aplikace nejdříve ověří, že za- 27

4. APLIKACE TRACKONMAPEDITOR daný vstupní soubor je validní za pomoci prostředků poskytovaných Java Core Library v balíku javax.xml. V případně nevalidního vstupu je načítání přerušeno a uživateli je dotázán, zda si přeje pokračovat. Načítání nevalidního vstupního souboru může vést k neočekávaným chybám, způsobujícím nestandardní chování aplikace až její pád a uživatel je na to upozorněn. Pokud je vstup validní, je načten do paměti pomocí SAX parseru a třídě MainWindow je předána nově vzniklá instance třídy GPXFile reprezentující načtený soubor. Výstup do souboru je také realizován ve vlastním vlákně pomocí dědění třídy SwingWorker. Poté, kdy je pomocí prostředků poskytovaných třídou JFileChooser získána instance třídy File, která reprezentuje soubor pro zápis, je v novém vlákně spuštěna metoda togpx třídy GPXFile. Tato metoda vypíše hlavičku souboru na výstup a postupně vyvolá stejně pojmenovanou metodu v objektech reprezentujících jednotlivé prvky formátu GPX. Ty kaskádově vypisují na výstup jimi reprezentovanou informaci a spouští metodu togpx na jimi podřízených objektech. Výstup je formátován (nový řádek pro každý tag, odsazení), aby byl snadno čitelný i pro pozdější přímé čtení/editaci. V případě, že nebylo možno soubor uložit, je uživatel informován modálním dialogovým oknem. 28

Kapitola 5 Závěr Práce popsala satelitní navigační systém GPS a jeho použití. Uvedený popis je dostatečně podrobný, aby čtenář získal komplexní o dané problematice, který mu umožní plnohodnotné využití technologie. Hlavním cílem práce bylo vytvoření funkční aplikace. Tento cíl byl naplněn. Aplikace podporuje všechny plánované funkce a je plně použitelná k zamýšlenému účelu. V porovnání s uvedenými alternativami aplikace neztrácí a netrpí jejich problémy. Během vývoje aplikace byla veřejně uvolněna jedna testovací verze. Některé reakce uživatelů byly zapracovány do aplikace, několik bylo zařazeno mezi plánované rozšíření. Pro zlepšení uživatelského komfortu a rozšíření schopností aplikace plánuji při dalším rozvoji aplikace implementovat následující funkce: Import souborů a tím umožnit jejich spojování. Měření vzdálenosti Implementace práce se schránkou nad body trasy. Možnost měnit pořadí bodů. Uživatelské nastavení (např. barev vykreslovaných bodů) a pamatování stavu při ukončení. Zobrazení jména bodu v mapě. Zobrazení výškového profilu. Více možných formátů vložení souřadnic. Oddělit zdroje mapy jako samostatné pluginy a přidat další zdroje mapy. 29

Literatura [1] RAPANT, Petr. Družicové polohové systémy. 1. vydání. Ostrava : Vysoká škola báňská Technická univerzita, 2002. 197 s. 80-248-0124-8. [2] SNÁŠEL, Jaroslav. Už vím, jak pracuje navigační systém GPS. In navigovat.cz. [online]. Brno : CPress Media, a. s., 21. 10. 2005 [citováno 22. 4. 2010]. Dostupný z WWW: <http://navigovat.mobilmania.cz/clanky/ar. asp?ari=111127>. [3] KOCERA, Ivo. Pořádek ve zkratkách: co znamená A-GPS? In navigovat.cz. [online]. Brno : CPress Media, a. s., 1. 4. 2010 [citováno 22. 4. 2010]. Dostupný z WWW: <http://navigovat.mobilmania.cz/clanky/ar. asp?ari=114495>. [4] Wikipedie: Otevřená encyklopedie: Diferenciální GPS [online]. c2010 [citováno 22. 4. 2010]. Dostupný z WWW: <http://cs.wikipedia.org/ w/index.php?title=diferenci%c3%a1ln%c3%ad_gps&oldid= 7166716>. [5] Wikipedie: Otevřená encyklopedie: Global Positioning System [online]. c2011 [citováno 20. 6. 2011]. Dostupný z WWW: <http://cs.wikipedia. org/w/index.php?title=global_positioning_system&oldid= 6045887>. [6] ČÍŽEK, Jakub. Hackujeme Google: vím, kde je tvůj Wi-Fi router. In zive.cz. [online]. Brno : Mladá fronta, a. s., 16. 12. 2010 [citováno 20. 6. 2011]. Dostupný z WWW: <http://www.zive.cz/ clanky/hackujeme-google-vim-kde-je-tvuj-wi-fi-router/ sc-3-a-155025/default.aspx>. [7] IGRINI, Tomáš. Nový Garmin Oregon - fotky. In Svet GPS. [online]. NAVIGATOR.SK, s.r.o., 11. 7. 2008 [citováno 18. 12. 2011]. Dostupný z WWW: <http://www.svetgps.sk/spravodajstvo/clanok/ garmin-oregon>. 30

5. ZÁVĚR [8] The History of Geocaching. [online] [citováno 15. 12. 2011]. Dostupný z WWW: <http://www.geocaching.com/about/history.aspx>. [9] HEROUT, Pavel. Java - grafické uživatelské prostředí a čeština. 2. vydání. České Budějovice : Kopp, 2001. 316 s. 978-80-7232-328-9. [10] JELÍNEK, Lukáš. 3D mapy. Diplomová práce. Praha: České vysoké učení technické. Fakulta elektrotechnická. 2010. Vedoucí práce RNDr. Marko Genyk-Berezovskyj. [11] Třída LRUMap. Commons Collections. [Online; citováno 24. 10. 2011] Dostupný z WWW: <http://commons.apache.org/collections/ api-release/org/apache/commons/collections/map/lrumap. html>. [12] Oracle: The Java TM Tutorials. [online] [citováno 15. 12. 2011]. Dostupný z WWW: <http://docs.oracle.com/javase/tutorial/>. [13] Oracle: Java TM Platform, Standard Edition 6 API Specification. [online] [citováno 15. 12. 2011]. Dostupný z WWW: <http://docs.oracle.com/javase/ 6/docs/api/>. [14] CSR: SiRFstarIII GSC3e/LPx and GSC3f/LPx. [online]. CSR, [citováno 20. 6. 2011]. Dostupný z WWW: <http://www.csr.com/products/27/ sirfstariii-gsc3elpx-gsc3flpx>. [15] Kuruc, J.: Nový Garmin bude zároveň černou skříňkou. 2011, [Online; citováno 20. 6. 2011]. URL http://navigovat.mobilmania.cz/bleskovky/ novy-garmin-bude-zaroven-cernou-skrinkou/ sc-266-a-1315916 31

Příloha A Licence Aplikace TrackOnMapEditor je dostupná pod licencí GNU GPLv3. Byla zvolena pro dodržení požadavků licence GNU GPL, kterou je podmíněno použití jazyku Java. Některé použité součásti jsou dílem, nebo jsou založeny na dílech jiných autorů a jsou dostupné pod licencemi, které umožňují jejich použití v aplikaci. Jedná se o tyto prvky: Knihovna jtar - Apache License 2.0 (http://code.google.com/p/jtar/ citováno 24. 10. 2011) Soubory arrowdown.png, arrowup.png, arrowleft.png a arrowright.png - Creative Commons. Soubory document-new.png, edit-add.png a edit-remove.png - LGPL-2.1. Soubory document-save.png a draving.png - Creative Commons BY-SA 3.0 a LGPL. Soubory drive-harddisk.png a document-open.png - GPLv2. Soubor gpx.xsd - Public Domain (http://www.topografix.com/gpx.asp citováno 15. 12. 2011). Knihovna Joda-Time - Apache License 2.0 (http://joda-time.sourceforge.net/ citováno 19. 10. 2011) Knihovna Geotools - LGPL (http://geotools.org/) Knihovna Commons Collections - Apache License 2.0 (http://commons.apache.org/collections) 32