Z´apadoˇcesk´a univerzita v Plzni Fakulta aplikovan´ych vˇed Katedra informatiky a v´ypoˇcetn´ı techniky
Bakal´ aˇ rsk´ a pr´ ace Zpracov´ an´ı GPS z´ aznam˚ u ze sportovn´ıch aktivit
Plzeˇn 2013
David Hrb´aˇcek
Prohl´ aˇ sen´ı Prohlaˇsuji, ˇze jsem bakal´aˇrskou pr´aci vypracoval samostatnˇe a v´yhradnˇe s pouˇzit´ım citovan´ych pramen˚ u. V Plzni dne 6. kvˇetna 2013 David Hrb´aˇcek
Abstract This bachelor thesis deals with alternatives of processing GPS data from sport activities gained via trackers. Its aim is to analyse existing applications that have been created for this purpose. It is also focused on making altitude data of each GPS record more precise and enabling user to save them in a compact calendar form in batch. This functionality will be implemented as an extension of the GPX Wizard application that was created as a product of bachelor thesis in 2011.
Podˇ ekov´ an´ı R´ad bych podˇekoval sv´emu vedouc´ımu pr´ace Doc. Ing. Pavlu Heroutovi, Ph.D. za cenn´e rady, v´ybornou spolupr´aci a konstruktivn´ı pozn´amky, kter´e mˇe vˇzdy navedly spr´avn´ym smˇerem. D´ale Michalu Kacerovsk´emu za ochotu pˇri testov´an´ı aplikace, gramatick´e korekce a mor´aln´ı podporu. V neposledn´ı ˇradˇe patˇr´ı m´e d´ıky sv´e rodinˇe za podporu pˇri studiu.
Obsah ´ 1 Uvod 2 Anal´ yza existuj´ıc´ıch aplikac´ı 2.1 Obecnˇe pouˇz´ıvan´e term´ıny . . . . 2.1.1 GPS . . . . . . . . . . . . 2.1.2 GPX . . . . . . . . . . . . 2.1.3 Google Maps . . . . . . . 2.2 Sports Analyzer . . . . . . . . . . 2.2.1 Import soubor˚ u . . . . . . 2.2.2 Kalend´aˇr sportovn´ıch akc´ı 2.2.3 Mapa . . . . . . . . . . . 2.2.4 Informace o trase . . . . . 2.2.5 V´yhody aplikace . . . . . 2.2.6 Nedostatky aplikace . . . 2.3 BT747 . . . . . . . . . . . . . . . 2.3.1 Import dat . . . . . . . . 2.3.2 Transformace dat . . . . . 2.3.3 Nastaven´ı GPS zaˇr´ızen´ı . . 2.3.4 V´yhody aplikace . . . . . 2.3.5 Nedostatky aplikace . . . 2.4 GPX Wizard . . . . . . . . . . . 2.4.1 Transformace . . . . . . . 2.4.2 Vizualizace . . . . . . . . 2.4.3 Konvertor . . . . . . . . . 2.4.4 V´yhody aplikace . . . . . 2.4.5 Nedostatky aplikace . . .
1 . . . . . . . . . . . . . . . . . . . . . . .
2 2 2 2 3 3 3 4 4 5 5 5 6 6 8 9 9 9 9 9 11 12 13 13
3 Mˇ eˇ ren´ı v´ yˇ sek pomoc´ı GPS 3.1 SRTM v´yˇsky . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Sluˇzby poskytuj´ıc´ı SRTM data . . . . . . . . . . . . . . . . . . 3.2.1 Geonames . . . . . . . . . . . . . . . . . . . . . . . . .
14 14 15 15
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . .
3.2.2 3.2.3
Google Elevation API . . . . . . . . . . . . . . . . . . 16 CGIAR-CSI SRTM . . . . . . . . . . . . . . . . . . . . 18
4 Moˇ znosti JavaScriptu pˇ ri pr´ aci s kalend´ aˇ rem 20 4.1 jQuery UI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4.2 Datepicker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5 Aplikace GPX Wizard 5.1 Postup zpracov´an´ı dat aplikac´ı GPX Wizard 5.2 Filtr nahrazov´an´ı v´yˇsek . . . . . . . . . . . . 5.2.1 Hled´an´ı v´yˇskov´ych dat v souboru . . 5.2.2 Ukl´ad´an´ı naˇcten´ych v´yˇskov´ych dat . 5.2.3 Dodateˇcn´e vyhlazen´ı staˇzen´ych dat . 5.3 Vizualizace do kalend´aˇre . . . . . . . . . . . 5.4 Dalˇs´ı u ´ pravy aplikace GPX Wizard . . . . . 5.4.1 Pr´ace se vstupn´ımi GPX soubory . . 5.4.2 Rozˇs´ıˇren´e HTML nastaven´ı . . . . . 5.4.3 Poˇc´ıt´an´ı stoup´an´ı a kles´an´ı . . . . . . 5.4.4 V´ystupn´ı vizualizace . . . . . . . . . 5.4.5 Generovan´e grafy . . . . . . . . . . . 5.4.6 Konvertor a uˇzivatelsk´e moduly . . . 5.4.7 N´apovˇeda . . . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
23 23 24 25 26 27 29 33 33 33 35 35 35 37 37
6 Z´ avˇ er
38
7 Seznam pˇ r´ıloh
41
´ 1 Uvod V souˇcasn´e dobˇe existuj´ı komerˇcnˇe dostupn´e GPS trasovaˇce, kter´e umoˇzn ˇ uj´ı zaznamen´avat trasu. Tyto trasovaˇce se pouˇz´ıvaj´ı v mnoha oblastech lidsk´ych aktivit, ale prim´arnˇe jsou urˇceny pro z´aznam sportovn´ıch aktivit. Zp˚ usob ˇcinnosti trasovaˇce je, ˇze GPS data pouze zaznamen´av´a (nem´a display, tud´ıˇz je energeticky m´alo n´aroˇcn´y). Po skonˇcen´ı akce jsou tato data pˇrehr´ana do poˇc´ıtaˇce, kde jsou off-line zpracov´av´ana / vyhodnocov´ana. Pro zpracov´an´ı existuje mnoˇzstv´ı program˚ u, ˇcasto dod´avan´ych pˇr´ımo v´yrobcem pˇr´ısluˇsn´eho trasovaˇce. Bohuˇzel vˇetˇsina tˇechto SW nen´ı vhodn´a pro zpracov´an´ı velk´ych poˇct˚ u z´aznam˚ u a ˇcasto neuspokojivˇe nebo v˚ ubec ˇreˇs´ı ot´azku pˇresnosti namˇeˇren´ych u ´ daj˚ u. Dalˇs´ım v´yznamn´ym probl´emem je, ˇze uveden´e softwary pˇredstavuj´ı propriet´arn´ı ˇreˇsen´ı, kter´a pˇri jak´ekoliv zmˇenˇe mohou selhat, at’ jiˇz ˇc´asteˇcnˇe nebo u ´ plnˇe. To znamen´a, ˇze nejsou vhodn´a pro dlouhodob´e archivov´an´ı u ´ daj˚ u. V tˇechto pˇr´ıpadech mus´ı uˇzivatel vynaloˇzit velk´e u ´ sil´ı, aby mohl vyuˇz´ıvat sv´a jiˇz jednou zpracovan´a data, mnohdy jsou nav´ıc tyto pokusy ne´ uspˇeˇsn´e. Napˇr´ıklad absence kl´ıˇce k rozhran´ı Google Maps API zp˚ usobila praktickou nepouˇzitelnost aplikace Sports Analyzer. ˇ sen´ı tohoto probl´emu nab´ız´ı aplikace GPX Wizard, jej´ıˇz koncept byl Reˇ vyvinut v r´amci pˇredchoz´ı bakal´aˇrsk´e pr´ace. V´ystup z t´eto aplikace je generov´an ve znaˇckovac´ım jazyku HTML, kter´y je v nez´avisl´y jak na platformˇe, tak na konkr´etn´ım programu. Jednou vygenerovan´y z´aznam sportovn´ı akce pak existuje nez´avisle na urˇcit´e aplikaci a je zobraziteln´y na jak´emkoliv poˇc´ıtaˇci s internetov´ym prohl´ıˇzeˇcem. Bˇehem pouˇz´ıv´an´ı aplikace GPX Wizard se objevily dalˇs´ı poˇzadavky na jej´ı podstatn´e rozˇs´ıˇren´ı. Rozˇs´ıˇren´ı ˇci vylepˇsen´ı bude nutn´e/vhodn´e v n´asleduj´ıc´ıch oblastech. • Pˇrepracov´an´ı modulu, kter´y koriguje v´yˇskov´a data podle u ´ daj˚ u namˇeˇren´ych satelitn´ım mˇeˇren´ım. • Namˇeˇren´e a zpracovan´e v´ysledky mus´ı b´yt moˇzn´e prezentovat v agregovan´ych podob´ach s moˇznost´ı rychl´eho pˇrechodu k detail˚ um. • Ke vˇsem namˇeˇren´ym tras´am mus´ı existovat HTML soubor s touto trasou zakreslenou pomoc´ı Google map. • Pˇripravit sportovn´ı kalend´aˇr s proklik´avateln´ymi akcemi. • Aplikace mus´ı b´yt schopna d´avkov´eho reˇzimu, napˇr. mus´ı umˇet zpracovat najednou vˇetˇs´ı poˇcet (cca stovky) z´aznam˚ u. 1
2 Anal´yza existuj´ıc´ıch aplikac´ı 2.1
Obecnˇ e pouˇ z´ıvan´ e term´ıny
V n´asleduj´ıc´ım textu budou pouˇz´ıv´any term´ıny z oblasti technologi´ı GPS, kter´e jsou podrobnˇe vysvˇetleny v bakal´aˇrsk´e pr´aci [4], na n´ıˇz tato pr´ace navazuje. Z tohoto d˚ uvodu zde bude uveden pouze velmi struˇcn´y v´yˇcet.
2.1.1
GPS
Global Positioning System, zkr´acenˇe GPS. Vojensk´y glob´aln´ı druˇzicov´y syst´em provozovan´y Ministerstvem obrany Spojen´ych st´at˚ u americk´ych. S pomoc´ı GPS pˇrij´ımaˇce je ˇclovˇek schopen urˇcit svoji pˇresnou polohu a ˇcas kdekoliv na povrchu Zemˇe. Jedinou omezuj´ıc´ı podm´ınkou je pˇr´ım´a viditelnost GPS pˇrij´ımaˇce z oblohy.
2.1.2
GPX
GPX je form´at dat zaloˇzen´y na jazyce XML1 , kter´y byl vyvinut firmou TopoGrafix. Form´at slouˇz´ı pro v´ymˇenu GPS dat mezi jednotliv´ymi aplikacemi. GPX existuje ve dvou verz´ıch – p˚ uvodn´ı z roku 2002 nese oznaˇcen´ı 1.0 a o dva roky podˇeji vydan´a verze 1.1. Hlavn´ı rozd´ıly mezi verzemi jsou n´asleduj´ıc´ı: • N´ asledn´ e rozˇ s´ıˇ ren´ı aplikacemi tˇ ret´ıch stran – Nejmarkantnˇejˇs´ı rozd´ıl mezi verzemi. Ve verzi 1.0 se rozˇs´ıˇren´ı vkl´adaj´ı pˇr´ımo do elementu, zat´ımco ve verzi 1.1 m´a kaˇzd´y rozˇsiˇriteln´y element sv˚ uj vnoˇren´y element <extensions>, do kter´eho se teprve vˇsechna rozˇs´ıˇren´ı vkl´adaj´ı. To m´a za n´asledek, ˇze verze 1.1 je pˇrehlednˇejˇs´ı. • Popis GPX souboru – V prvn´ı verzi jsou z´akladn´ı informace popisuj´ıc´ı z´aznam (n´azev, autor, popis, ...) vloˇzena pˇr´ımo do koˇrenov´eho elementu
, zat´ımco ve druh´e maj´ı sv˚ uj vlastn´ı element <metadata>, ve kter´em m´a kaˇzd´a vlastnost z´aznamu sv˚ uj element. • Typy bod˚ u – V novˇejˇs´ı verzi jsou vˇsechny elementy reprezentuj´ıc´ı polohu jednoho bodu slouˇcen´e pod jeden spoleˇcn´y typ. V p˚ uvodn´ı verzi jsou tyto elementy rozd´ıln´eho typu, coˇz je sice m´enˇe pˇrehledn´e, ale m´a 1 Extensible Markup Language – Obecn´ y znaˇckovac´ı jazyk vyvinut´ y konsorciem W3C. Umoˇzn ˇuje vytv´aˇren´ı znaˇckovac´ıch jazyk˚ u urˇcen´ ych k nejr˚ uznˇejˇs´ım typ˚ um uˇzit´ı.
2
Anal´yza existuj´ıc´ıch aplikac´ı
Sports Analyzer
to v´yhodu v tom, ˇze napˇr´ıklad elementy jednotliv´ych bod˚ u () m˚ uˇzou m´ıt vnoˇren´e elementy ud´avaj´ıc´ı rychlost a smˇer pohybu.
2.1.3
Google Maps
Mapy Google jsou internetov´a aplikace poskytuj´ıc´ı zdarma (pro nekomerˇcn´ı u ´ˇcely) mapov´e sluˇzby spoleˇcnosti Google a webov´ym str´ank´am a aplikac´ım tˇret´ıch stran, kter´e k nim pˇristupuj´ı prostˇrednictv´ım JavaScriptov´eho Google Maps API. Mapy maj´ı r˚ uzn´e vrstvy – satelitn´ı, ter´enn´ı a mapu. Pomoc´ı jiˇz zm´ınˇen´eho API se na map´ach mohou vykreslovat zaznamenan´e trasy, coˇz se pro u ´ˇcely sportovn´ıch z´aznam˚ u velice hod´ı.
2.2
Sports Analyzer
Aplikace Sports Analyzer byla vyvinuta spoleˇcnost´ı Mobile Action jako softwarov´a podpora pro jejich GPS trasovaˇce, kter´e jsou urˇcen´e pro z´aznam sportovn´ıch v´ykon˚ u, j´ızdy autem nebo pˇrid´an´ı geotag2 informac´ı k fotografi´ım. Sports Analyzer doplˇ nuje sadu dalˇs´ıch dvou aplikac´ı: • @trip PC – Tento program zastupuje roli univerz´aln´ı aplikace pro zpracov´an´ı tras zaznamenan´ych na GPS trasovaˇc. Umoˇzn ˇ uje zobrazen´ı jednotliv´ych tras na Map´ach Google, jejich proch´azen´ı se zv´yraznˇen´ım aktu´aln´ı pozice na v´yˇskov´em profilu trasy. Program tak´e obsahuje modul pro manu´aln´ı editaci tras, ve kter´em je moˇzn´e rozdˇelit jednu velkou trasu na nˇekolik menˇs´ıch, maz´an´ı vybran´ych bod˚ u z´aznamu cesty nebo pˇrid´an´ı poˇr´ızen´ych fotografi´ı k jednotliv´ym tras´am. • Where I Am – Pro chod tohoto programu je nutn´e pˇripojen´ı GPS trasovaˇce k poˇc´ıtaˇci pomoc´ı kabelu. Funkce programu je prost´a – zobrazen´ı na vybran´e mapˇe (Google Maps, Yahoo! Maps, Bing Maps) pozice, kde se pr´avˇe uˇzivatel nach´az´ı. Samotn´a aplikace Sports Analyzer se zamˇeˇruje na projekci sportovn´ıch v´ykon˚ u a je sloˇzena z nˇekolika z´akladn´ıch prvk˚ u, kter´e budou pops´any n´ıˇze.
2.2.1
Import soubor˚ u
Jako vstup je pˇrij´ım´an soubor GPX nebo pˇr´ımo data z GPS trasovaˇce pˇripojen´eho k poˇc´ıtaˇci. Pˇri importu dat se nastavuje ˇcasov´e p´asmo m´ısta, kde byl 2
geotagging – pˇrid´ av´ an´ı geografick´ ych metadat k r˚ uzn´ ym m´edi´ım jako jsou webov´e str´anky, RSS zdroje nebo obr´ azky
3
Anal´yza existuj´ıc´ıch aplikac´ı
Sports Analyzer
Obr´azek 2.1: Screenshot aplikace Sports Analyzer. z´aznam poˇr´ızen a zapnut´ı nebo vypnut´ı letn´ıho ˇcasu. D´ale se nastavuje, jak´y typ sportu byl provozov´an, uˇzivatel m˚ uˇze vyb´ırat z cyklistiky, bˇehu, horsk´e turistiky, lyˇzov´an´ı, golfu, veslov´an´ı a j´ızdˇe na koni nebo lze zvolit poloˇzku ostatn´ı. Zvolen´ım typu sportu se na GPX soubor neaplikuj´ı ˇz´adn´e filtry pro dan´e aktivity, ale pouze se nastav´ı ikonka sportu, kter´a bude zobrazena v kalend´aˇri sportovn´ıch z´aznam˚ u, popsan´em n´ıˇze.
2.2.2
Kalend´ aˇ r sportovn´ıch akc´ı
Vˇsechny z´aznamy, jeˇz byly importov´any, se zobrazuj´ı v kalend´aˇri. Kaˇzd´y z´aznam je vyobrazen ikonkou sportu, kter´y byl zvolen pˇri importu soubor˚ u. Toto zobrazen´ı se jev´ı jako velice pˇrehledn´e. Po kliknut´ı na danou akci z kalend´aˇre se zobraz´ı z´akladn´ı informace o trase, jej´ı v´yˇskov´y profil a z´aznam cesty na mapˇe. Kalend´aˇr se nach´az´ı v lev´e ˇc´asti aplikace, jak lze vidˇet na obr´azku ˇc. 2.1.
2.2.3
Mapa
Vˇsechny z´aznamy se po jejich rozkliknut´ı zobrazuj´ı na mapˇe, kterou lze tak´e vidˇet na obr´azku 2.1. Po kliknut´ı na urˇcit´y bod trasy ve v´yˇskov´em profilu (nebo jin´em grafu) se tak´e zobraz´ı vybran´a pozice na mapˇe. To pom´ah´a urˇcit m´ısto nejvˇetˇs´ıho kles´an´ı, nejvyˇsˇs´ı namoˇrsk´e v´yˇsky atd. 4
Anal´yza existuj´ıc´ıch aplikac´ı
2.2.4
Sports Analyzer
Informace o trase
Po kliknut´ı v kalend´aˇri na urˇcitou trasu se zobraz´ı jej´ı z´akladn´ı informace spolu s v´yˇskov´ym profilem. Informace o trase obsahuj´ı u ´ daje jako ˇcas zaˇc´atku a konce, uraˇzenou d´elku, pr˚ umˇernou a maxim´aln´ı rychlost, stoup´an´ı, kles´an´ı a dalˇs´ı. M´ısto v´yˇskov´eho profilu lze navolit r˚ uzn´e kombinace graf˚ u s zobrazen´ım rychlosti a v´yˇsky v ˇcase nebo vzd´alenosti. Na grafech lze tak´e r˚ uznˇe operovat s pozic´ı zaˇc´atku a konce trasy, coˇz umoˇzn ˇ uje se zamˇeˇrit na urˇcit´e u ´ seky trasy, kdy se informace o trase mˇen´ı v z´avislosti na vybran´em u ´ seku. Informace o trase spolu s v´yˇskov´ymi profily se zobrazuj´ı v spodn´ı ˇc´asti aplikace, viz Obr´azek 2.1. Praktick´ym pouˇz´ıv´an´ım bylo zjiˇstˇeno, ˇze se z uveden´ych osmi moˇzn´ych graf˚ u vyuˇz´ıvaj´ı v amat´ersk´em sportu pouze dva, a to z´avislost nadmoˇrsk´e v´yˇsky na vzd´alenosti a na ˇcase. Ostatn´ı grafy jsou bud’ velmi nepˇresn´e (napˇr. z´avislost rychlosti na ˇcase ˇci d´elce trasy) pˇr´ıpadnˇe pro amat´era nezaj´ımav´e (napˇr. z´avislosti rytm˚ u). Moˇznosti typu v´ybˇeru ˇc´asti trasy nebo online zjiˇst’ov´an´ı nadmoˇrsk´e v´yˇsky v urˇcit´em bodˇe jsou pouˇz´ıv´any pouze bezprostˇrednˇe po akci, ale jen velmi zˇr´ıdka kdy pˇri prohl´ıˇzen´ı archivn´ıch dat. V kaˇzd´em pˇr´ıpadˇe je ale tato aplikace uˇziteˇcn´a a je moˇzn´e se k takto archivovan´ym dat˚ um kdykoliv vr´atit. Je-li to ovˇsem technicky moˇzn´e, protoˇze jiˇz doˇslo k ud´alosti, kdy absence kl´ıˇce k rozhran´ı Google Map API zp˚ usobila praktickou nepouˇzitelnost vˇsech archivovan´ych dat v aplikaci Sports Analyzer.
2.2.5
V´ yhody aplikace
• Intuitivnˇe ovl´adan´e rozhran´ı aplikace. • Z´aznamy ˇrazeny dle dne z´aznamu do kalend´aˇre a jsou oznaˇckov´any ikonou pˇr´ısluˇsn´e sportovn´ı aktivity.
2.2.6
Nedostatky aplikace
• Nemoˇznost hromadn´eho zpracov´an´ı vstupn´ıch soubor˚ u. • Neexistence agregovan´ych dat. Napˇr´ıklad sportovn´ı akce, tr´eningov´y mˇes´ıc, cel´a sez´ona. • Z´avislost zobrazen´ı vizualizace z´aznam˚ u na aplikaci. Pokud aplikace pˇrestane b´yt podporov´ana v´yrobcem, ˇcasem pˇrestane b´yt funkˇcn´ı. • Sports Analyzer neprov´ad´ı se vstupn´ımi daty ˇz´adn´e transformace, coˇz vzhledem k vysok´emu zat´ıˇzen´ı chybou (pˇredevˇs´ım v´yˇskov´ych dat) pˇri zaznamen´av´an´ı nen´ı optim´aln´ı. 5
Anal´yza existuj´ıc´ıch aplikac´ı
2.3
BT747
BT747
Tato aplikace patˇr´ı mezi volnˇe dostupn´y software a prioritnˇe slouˇz´ı pro pˇr´ım´e propojen´ı poˇc´ıtaˇce s mnoha r˚ uzn´ymi GPS zaˇr´ızen´ımi. Program je kompatibiln´ı s vˇetˇsinou dneˇsn´ıch GPS zaˇr´ızen´ı, je platformˇe nez´avisl´y, dokonce existuj´ı verze pro pˇr´ıruˇcn´ı zaˇr´ızen´ı jako Palm, WinCE a mobiln´ı zaˇr´ızen´ı, kter´a podporuj´ı J2ME3 . Aplikace lze st´ahnout z adresy http://www.bt747.org/, na tˇechto str´ank´ach se nach´az´ı i uˇzivatelsk´a dokumentace, seznam podporovan´ych GPS zaˇr´ızen´ı, veˇrejn´e f´orum a dalˇs´ı informace o aplikaci. Ve sv´e podstatˇe se jedn´a o komplexn´ı aplikaci pˇrednostnˇe zamˇeˇrenou na pr´aci s GPS zaˇr´ızen´ımi (ˇsiroce konfigurovateln´a, vyuˇz´ıvaj´ıc´ı vˇsech moˇznost´ı GPS z´aznamu, napˇr. geoid), kdy bˇeˇzn´y uˇzivatel nem˚ uˇze zcela jistˇe vyuˇz´ıt vˇsech moˇznost´ı poskytovan´ych aplikac´ı. Velmi uˇziteˇcn´a je moˇznost konverze do r˚ uzn´ych v´ystupn´ıch form´at˚ u. Bohuˇzel tato konverze je vˇzdy pouze z dat, kter´a jsou staˇzena z pˇr´ısluˇsn´eho GPS zaˇr´ızen´ı (RAW soubor). Dalˇs´ı zjiˇstˇen´y probl´em je, ˇze konverze do GPX ned´av´a v´ysledek zcela podle XSD4 sch´ematu GPX verze 1.1. Na obr´azku 2.2 je k nahl´ednut´ı jeden z jeden´acti panel˚ u grafick´eho uˇzivatelsk´eho rozhran´ı t´eto aplikace. Uk´azku sofistikovan´ych moˇznost´ı tohoto n´astroje uv´ad´ı obr´azek 2.3 pro rozˇs´ıˇren´e nastaven´ı.
2.3.1
Import dat
Pˇred samotn´ym importem namˇeˇren´ych dat z GPS zaˇr´ızen´ı je potˇreba nejprve st´ahnout a nainstalovat ovladaˇce pro propojen´ı trasovaˇce s poˇc´ıtaˇcem. Po instalaci ovladaˇc˚ u a pˇripojen´ı zaˇr´ızen´ı k poˇc´ıtaˇci m˚ uˇzeme v spodn´ım prav´em rohu kliknout na tlaˇc´ıtko Connect. Po kr´atk´e chv´ıli se v panelu GPS Device Data (karta Log operations, viz Obr´azek 2.2) objev´ı informace o pˇripojen´em GPS zaˇr´ızen´ı. Pro import dat z GPS trasovaˇce se zamˇeˇr´ıme na panel Download. Na v´ybˇer m´ame z n´asleduj´ıc´ıch metod staˇzen´ı: • Full Download – Z trasovaˇce se st´ahne cel´y obsah pamˇeti nez´avisle na tom, zda se v nˇem nach´az´ı nˇejak´a namˇeˇren´a data nebo ne. 3 Java Platform, Micro Edition – Jedna ze z´ akladn´ıch platforem Javy s API urˇcenou pro v´ yvoj softwaru na zaˇr´ızen´ıch s omezen´ ymi prostˇredky. 4 XML Schema Definition – Soubor, kter´ y popisuje strukturu XML dokumentu.
6
Anal´yza existuj´ıc´ıch aplikac´ı
BT747
Obr´azek 2.2: Screenshot aplikace BT747.
Obr´azek 2.3: Rozˇs´ıˇren´e nastaven´ı GPS trasovaˇce v aplikaci BT747.
7
Anal´yza existuj´ıc´ıch aplikac´ı
BT747
• Normal Download – St´ahne data z trasovaˇce do posledn´ıho naplnˇen´eho m´ısta. Pokud je trasovaˇc nastaven na pˇrepisovac´ı m´od, st´ahnou se vˇsechna data. • Smart Download – Pˇred stahov´an´ım z trasovaˇce se analyzuj´ı jiˇz staˇzen´a data v poˇc´ıtaˇci a ovˇeˇr´ı se, zda tato data jeˇstˇe nejsou v trasovaˇci. Pokud data koresponduj´ı, st´ahnou se z trasovaˇce jen nov´e z´aznamy. Tento postup je shodn´y s Normal Download, jen se opˇet nestahuj´ı uˇz jednou staˇzen´a data, coˇz sniˇzuje ˇcas potˇrebn´y pro staˇzen´ı dat z trasovaˇce. Staˇzen´a data se uloˇz´ı do bin´arn´ıho souboru podle cesty zadan´e v kartˇe Log operations v panelu Files po stisknut´ı tlaˇc´ıtka Raw Log Files. S t´ımto souborem se posl´eze pracuje pˇri transformaci do r˚ uzn´ych v´ystupn´ıch form´at˚ u.
2.3.2
Transformace dat
Pˇred prov´adˇen´ım transformac´ı se nejprve mus´ı nastavit zaˇr´ızen´ı, ze kter´eho poch´az´ı zdrojov´y bin´arn´ı soubor, jenˇz byl staˇzen z GPS trasovaˇce (viz pˇredchoz´ı podkapitola). To nastav´ıme v kartˇe Log operations (Obr´azek 2.2) v panelu Convert v poloˇzce Device, kde vybereme ze seznamu GPS zaˇr´ızen´ı, z nˇehoˇz byla data staˇzeny. D´ale se zamˇeˇr´ıme na jiˇz zm´ınˇen´y panel Convert, kter´y prov´ad´ı samotn´e transformace. Transformace m˚ uˇzeme prov´adˇet dvˇema zp˚ usoby: • Stisknut´ım jednoho z dev´ıti tlaˇc´ıtek s n´azvem typu v´ystupn´ıho souboru. Tento zp˚ usob zahrnuje obvyklejˇs´ı typy soubor˚ u (GPX, KML, CSV, HTML, ...), a proto je rychleji pˇr´ıstupn´y. • V´ybˇerem ze seznamu typ˚ u soubor˚ u a n´asledn´ym stisknut´ım tlaˇc´ıtka Convert To. V´ysledkem transformace mohou b´yt r˚ uzn´e typy soubor˚ u, z nichˇz jsou pro bˇeˇzn´eho uˇzivatele nejzaj´ımavˇejˇs´ı form´aty GPX, KML, CSV a HTML (HTML str´anka s mapou Google Maps, kde je zobrazena zaznamenan´a cesta). Nastaven´ı v´ ystupu V kartˇe Output Settings lze nastavit dalˇs´ı moˇznosti v´ystupn´ıch soubor˚ u. Bˇeˇzn´y uˇzivatel urˇcitˇe vyuˇzije moˇznosti nastaven´ı ˇcasov´e z´ony, rozdˇelen´ı v´ystupn´ıch soubor˚ u (jeden soubor na jeden track, jeden soubor pro kaˇzd´y den, vˇse v jednom souboru), nastaven´ı jednotek, v´ystupn´ıho jazyku atd.
8
Anal´yza existuj´ıc´ıch aplikac´ı
2.3.3
GPX Wizard
Nastaven´ı GPS zaˇ r´ızen´ı
Uˇzivatel m˚ uˇze pomoc´ı aplikace BT747 nastavovat i samotn´y GPS trasovaˇc. Po otevˇren´ı karty Device settings m˚ uˇze uˇzivatel nastavit mnoho atribut˚ u poˇc´ınaje tˇemi z´akladn´ımi, jako je jm´eno trasovaˇce nebo maz´an´ı jeho pamˇeti. D´ale je moˇzn´e nastaven´ı interval˚ u sn´ım´an´ı z´aznam˚ u, form´atov´an´ı ukl´adan´eho ˇcasu, v´ybˇer sn´ıman´ych u ´ daj˚ u a mnoho dalˇs´ıch vlastnost´ı pro pokroˇcil´e uˇzivatele, kter´e jsou pops´any v uˇzivatelsk´e dokumentaci aplikace [5].
2.3.4
V´ yhody aplikace
• Univerz´aln´ı aplikace pro propojen´ı se vˇsemoˇzn´ymi druhy GPS trasovaˇc˚ u. • Moˇznost vˇsemoˇzn´eho nastaven´ı pro pokroˇcil´e uˇzivatele. • Velk´e mnoˇzstv´ı v´ystupn´ıch typ˚ u soubor˚ u.
2.3.5
Nedostatky aplikace
• Velice sloˇzit´e ovl´ad´an´ı pro nov´eho uˇzivatele. • Nemoˇznost transformace jin´ych neˇz bin´arn´ıch soubor˚ u. • V´ystupn´ı GPX soubor nevyhovuje zcela normˇe verze 1.1.
2.4
GPX Wizard
Tato aplikace byla vytvoˇrena v roce 2011 na Fakultˇe aplikovan´ych vˇed Z´apadoˇcesk´e univerzity jako bakal´aˇrsk´a pr´ace. V jej´ım r´amci autor vytvoˇril program pro zpracov´an´ı GPX soubor˚ u [4]. Tento proces se prov´adˇel tˇremi zp˚ usoby, kter´e jsou pops´any v n´asleduj´ıc´ıch podkapitol´ach.
2.4.1
Transformace
Transformace pˇrev´ad´ı vstupn´ı soubor GPX na v´ystupn´ı soubor GPX verze 1.0 nebo 1.1 – verzi vyb´ır´a uˇzivatel. Pˇri transformaci lze zvolit r˚ uzn´e transformaˇcn´ı sady, at’ jiˇz pˇreddefinovan´e nebo vytvoˇren´e uˇzivatelem, viz n´ıˇze. Transformaci uˇzivatel m˚ uˇze aplikovat na jeden vstupn´ı GPX soubor nebo celou sloˇzku. Pˇri hromadn´e transformaci cel´e sloˇzky je moˇzn´e tak´e vˇsechny 9
Anal´yza existuj´ıc´ıch aplikac´ı
GPX Wizard
Obr´azek 2.4: Screenshot aplikace GPX Wizard. vstupn´ı soubory vloˇzit do jednoho v´ystupn´ıho GPX souboru, kde jsou rozdˇeleny do jednotliv´ych track˚ u dle konvenc´ı GPX souboru [4]. Posloupnost transformac´ı Jak bylo uvedeno dˇr´ıve, zaznamen´av´an´ı polohy pomoc´ı GPS trasovaˇc˚ u je zat´ıˇzeno chybou, proto aplikace GPX Wizard obsahuje moˇznost prov´adˇet se z´aznamy r˚ uzn´e transformace, kter´e by mˇely uˇzivateli pomoci zpˇresnit nasn´ıman´a data. Tyto transformace se mohou ukl´adat do posloupnost´ı, ve kter´ych jsou postupnˇe vykon´av´any. Aplikace GPX Wizard nab´ız´ı n´asleduj´ıc´ı transformaˇcn´ı filtry (podrobnˇe viz Uˇzivatelsk´a dokumentace): • V´ yˇ sky SRTM – Nahrazen´ı nadmoˇrsk´ych v´yˇsek namˇeˇren´ych trasovaˇcem hodnotami z´ıskan´ymi pomoc´ı webov´ych sluˇzeb serveru GeoNames, kter´e byly namˇeˇreny pomoc´ı SRTM mˇeˇren´ı Zemˇe (viz kapitola 3). 10
Anal´yza existuj´ıc´ıch aplikac´ı
GPX Wizard
• Nahrazen´ı rychlost´ı – Nahrazen´ı rychlost´ı jednotliv´ych bod˚ u, jeˇz byly namˇeˇreny trasovaˇcem, rychlostmi vypoˇc´ıtan´ymi pomoc´ı vzd´alenosti mezi sousedn´ımi body a jejich ˇcasy sn´ım´an´ı. • Filtrace st´ an´ı – Smaz´an´ı tˇech bod˚ u, kter´e byly zaznamen´any pˇri setrv´an´ı na jednom m´ıstˇe (d´ıky nepˇresnosti GPS mˇeˇren´ı, vznik´a pˇri st´an´ı typick´a hvˇezda trasy“). ” • Pr˚ umˇ er v´ yˇ sky – Filtrace prudk´ych v´yˇskov´ych zmˇen. V´yˇska dan´eho bodu se poˇc´ıt´a s ohledem na okoln´ı body. • Pr˚ umˇ er odskoky – Filtrace odskok˚ u. Poloha dan´eho bodu se poˇc´ıt´a s ohledem na okoln´ı body, tj. ˇreˇs´ı probl´em, kdy je plynul´a trasa pˇreruˇsena prudk´ym odskokem do strany, kter´y nem˚ uˇze b´yt re´aln´y. • Pr˚ umˇ er rychlost´ı – Filtrace n´ahl´ych zmˇen rychlosti. Rychlost v dan´em bodˇe se poˇc´ıt´a s ohledem na okoln´ı body. U nˇekter´ych transformac´ı se nastavuj´ı parametry, napˇr´ıklad u filtrace st´an´ı se nastavuje polomˇer kruhu, kter´y urˇcuje plochu, jeˇz je povaˇzov´ana za st´an´ı na m´ıstˇe. Tyto parametry se mus´ı volit se znalost´ı probl´emu, jinak jednotliv´e filtry pozb´yvaj´ı smyslu a sportovn´ı z´aznam sp´ıˇse znepˇresn´ı.
2.4.2
Vizualizace
Jako vstup zde opˇet slouˇz´ı GPX soubor nebo sloˇzka s tˇemito soubory. Pomoc´ı vizualizace si uˇzivatel m˚ uˇze vygenerovat v´ystupn´ı HTML soubor, kter´y pˇrehlednˇe zobrazuje statistiky zpracovan´eho z´aznamu vˇcetnˇe v´yˇskov´eho a rychlostn´ıho profilu v z´avislosti na ˇcase nebo vzd´alenosti. Souˇc´ast´ı v´ystupu m˚ uˇze b´yt i mapa se z´aznamem trasy. V statistik´ach v´ystupn´ıho HTML souboru je uveden ˇcas zaˇc´atku a konce akce, uraˇzen´a vzd´alenost: celkov´a, kles´an´ı, stoup´an´ı a rovina, d´ale maxim´aln´ı, minim´aln´ı a pr˚ umˇern´a rychlost a dalˇs´ı voliteln´e u ´ daje, kter´e se pˇrid´avaj´ı v kartˇe Rozˇs´ıˇren´a HTML nastaven´ı popsan´e n´ıˇze. Vizualizace lze prov´adˇet n´asleduj´ıc´ımi zp˚ usoby: • Jednoduch´ a vizualizace – Za vstup se zvol´ı jeden GPX soubor. V´ystup obsahuje HTML soubor s v´yˇse popsan´ymi u ´ daji o z´aznamu. • Hromadn´ a vizualizace – Jako vstup se zvol´ı sloˇzka s GPX soubory. V´ystupem je HTML soubor s mnoˇzinou statistik jednotliv´ych z´aznam˚ u a grafy vˇcetnˇe celkov´ych statistik.
11
Anal´yza existuj´ıc´ıch aplikac´ı
GPX Wizard
• Hromadn´ a vizualizace s porovn´ an´ım – Jako vstup se zvol´ı sloˇzka s GPX soubory. V´ystup obsahuje jednotliv´e statistiky vˇsech z´aznam˚ u vˇcetnˇe t´e celkov´e. Kaˇzd´y z´aznam m´a svoji barvu, kterou je zv´yraznˇen v hromadn´ych grafech se zvolen´ymi v´yˇskov´ymi a ˇcasov´ymi profily. Na obr´azku 2.4 je k nahl´ednut´ı uˇzivatelsk´e prostˇred´ı s popisovan´ymi funkcemi a na obr´azku 2.5 lze vidˇet v´ystup z vizualizace.
Obr´azek 2.5: V´ystup z vizualizace aplikace GPX Wizard.
Rozˇ s´ıˇ ren´ a HTML nastaven´ı V kartˇe pro rozˇs´ıˇren´a HTML nastaven´ı m˚ uˇze uˇzivatel upravit vzhled v´ystupn´ıho HTML souboru. Nastaven´ı nab´ız´ı moˇznost definice velikosti generovan´ych graf˚ u, titulku a popisu souboru vizualizace, v´ybˇeru typ˚ u graf˚ u, jeˇz maj´ı b´yt generov´any, ˇci voliteln´eho pˇripojen´ı mapy, data generov´an´ı nebo poˇctu nasn´ıman´ych bod˚ u.
2.4.3
Konvertor
Panel konvertor slouˇz´ı k pr´aci s moduly tˇret´ıch stran. Pokud uˇzivatel postr´ad´a nˇejak´e funkce aplikace, m˚ uˇze si v programovac´ım jazyku Java napsat vlastn´ı 12
Anal´yza existuj´ıc´ıch aplikac´ı
GPX Wizard
modul, kter´y dod´a programu poˇzadovanou schopnost. Modul mus´ı splˇ novat urˇcit´e vlastnosti, aby s n´ım aplikace mohla pracovat, tyto postupy jsou popsan´e v [4].
2.4.4
V´ yhody aplikace
• Moˇznost pouˇz´ıv´an´ı transformaˇcn´ıch sad v z´avislosti na dan´em uˇzivateli ˇci typu sportu – kaˇzd´y uˇzivatel si m˚ uˇze vytvoˇrit svoji sadu transformac´ı pro sport, kter´y provozuje, nebo pouˇz´ıt jednu z jiˇz pˇreddefinovan´ych. D´ıky transformaˇcn´ım sad´am se d´a v´ysledn´y z´aznam nav´ıc z konkr´etn´ıho GPS trasovaˇce velice zpˇresnit. • V´ystup vizualizace v podobˇe HTML souboru, kter´y jiˇz nen´ı z´avisl´y na speci´aln´ım programu. • Moˇznost hromadn´eho zpracov´an´ı.
2.4.5
Nedostatky aplikace
• Zdlouhav´e on-line stahov´an´ı v´yˇskov´ych dat ze serveru GeoNames, kter´e ˇcasto selˇze. • Vizualizace nepˇrij´ım´a jako vstup soubor GPX verze 1.0. • Program postr´ad´a moˇznost strukturovan´eho ukl´ad´an´ı napˇr´ıklad dle ˇcasu z´aznamu. • Zbyteˇcn´a sloˇzitost nˇekter´ych akc´ı, kter´a byla odhalena aˇz v pr˚ ubˇehu pouˇz´ıv´an´ı programu.
13
3 Mˇeˇren´ı v´yˇsek pomoc´ı GPS Pro popis Zemˇe jako tˇelesa se pouˇz´ıv´a geoid, coˇz je fyzik´aln´ı model povrchu Zemˇe pˇri stˇredn´ı hladinˇe moˇr´ı spojen´e i pod kontinenty [4]. Geoid je ale matematicky sloˇzitˇe vyj´adˇriteln´y, a proto syst´em GPS pouˇz´ıv´a jeho aproximaci elipsoid WGS-841, ten ale bohuˇzel ve vˇetˇsinˇe pˇr´ıpad˚ u neodpov´ıd´a povrchu zemˇe. To se negativnˇe projevuje hlavnˇe v mˇeˇren´ı nadmoˇrsk´e v´yˇsky. GPS je tak´e zat´ıˇzen chybou, kter´a pro civiln´ı uˇzivatele2 pˇredstavuje vertik´aln´ı pˇresnost 156 metr˚ u (garantov´ana na 95%) pˇri pˇr´ım´e viditelnosti oblohy. Z toho vypl´yv´a, ˇze informace o nadmoˇrsk´e v´yˇsce mˇeˇren´e pomoc´ı GPS pˇrij´ımaˇce je pouze orientaˇcn´ı.
3.1
SRTM v´ yˇsky
V roce 2000 byla v r´amci jeden´actidenn´ı mise raketopl´anu Endeavour namˇeˇrena v´yˇskov´a data na vˇetˇsinˇe povrchu planety Zemˇe za u ´ˇcelem vytvoˇren´ı jej´ıho v´yˇskov´eho digit´aln´ıho modelu (DEM3 ) ve vysok´em rozliˇsen´ı [7]. Tato data jsou volnˇe dostupn´a pro veˇrejnost a byla namˇeˇrena ve dvou variant´ach: • SRTM1 – Dostupn´a pro u ´ zem´ı USA v prostorov´em rozliˇsen´ı 1′′ , coˇz odpov´ıd´a pˇribliˇznˇe tˇriceti metr˚ um na rovn´ıku. • SRTM3 – Dostupn´a pro zbytek namˇeˇren´eho povrchu Zemˇe (pokr´yv´a pˇribliˇznˇe 80 % pevniny). Prostorov´e rozliˇsen´ı je 3′′ , to odpov´ıd´a asi devades´ati metr˚ um na rovn´ıku. Namˇeˇren´a data mˇela nˇekolik vad v podobˇe ˇspatnˇe nasn´ıman´e moˇrsk´e hladiny a v´yˇskov´ych zub˚ u“ v komplikovan´em ter´enu, proto NASA vydal ” druhou verzi, kde byly tyto chyby odstranˇeny (vˇetˇsinou s pomoc´ı dopoˇc´ıt´an´ı podle okoln´ıch bod˚ u). V pr˚ ubˇehu let vznikly dalˇs´ı dvˇe nov´e verze s vyuˇzit´ım lepˇs´ıch algoritm˚ u. Nyn´ı je tedy aktu´aln´ı verze 4, dostupn´a napˇr´ıklad ze serveru http://srtm.csi.cgiar.org/. 1 World Geodetic System 1984 – Svˇetovˇe uzn´avan´ y geodetick´ y standard vydan´ y ministerstvem obrany USA roku 1984, kter´ y definuje souˇradnicov´ y syst´em, referenˇcn´ı elipsoid a geoid pro geod´ezii a navigaci. 2 Kromˇe polohovac´ı sluˇzby pro ˇsirokou veˇrejnost (SPS) je z druˇzic vys´ıl´ an k´odovan´ y sign´al pro potˇreby Americk´e arm´ady a jej´ı spojence, kter´ a m´a pˇribliˇznˇe ˇctyˇrikr´at vˇetˇs´ı pˇresnost. 3 Digital Elevation Model – Digit´aln´ı model povrchu ter´enu.
14
Mˇeˇren´ı v´yˇsek pomoc´ı GPS
Sluˇzby poskytuj´ıc´ı SRTM data
V obou variant´ach a ve vˇsech verz´ıch maj´ı tato data jeˇstˇe jednu spoleˇcnou vadu, kter´a byla zp˚ usobena typem uloˇzen´ı namˇeˇren´ych dat. Tato chyba spoˇc´ıv´a v pokryt´ı vrchol˚ u hor, strm´ych sr´az˚ uau ´ dol´ı, jak zn´azorˇ nuje obr´azek 3.1, kde je vidˇet, jak jednotliv´e ˇctverce nekop´ıruj´ı dostateˇcnˇe krajinu a pro strm´e sr´azy nebo vrcholky hor ud´avaj´ı stejnou v´yˇsku jako v jejich okol´ı.
Obr´azek 3.1: Zn´azornˇen´ı nedostateˇcnˇe pˇresn´eho popisu krajiny pomoc´ı v´yˇskov´ych ˇctverc˚ u ve srovn´an´ı s vrstevnicemi (tmavˇs´ı ˇctverec pˇredstavuje vyˇsˇs´ı nadmoˇrskou v´yˇsku).
3.2 3.2.1
Sluˇ zby poskytuj´ıc´ı SRTM data Geonames
Tento webov´y server, kter´y se nach´az´ı na adrese http://www.geonames.org/ poskytuje nejr˚ uznˇejˇs´ı glob´aln´ı geografick´a data vˇcetnˇe SRTM3 nadmoˇrsk´ych
15
Mˇeˇren´ı v´yˇsek pomoc´ı GPS
Sluˇzby poskytuj´ıc´ı SRTM data
v´yˇsek. Komunitou uˇzivatel˚ u byl vytvoˇren bal´ık4 pro programovac´ı jazyk Java poskytuj´ıc´ı mimo jin´ych sluˇzeb i pˇr´ıstup k SRTM3 dat˚ um, ˇcehoˇz vyuˇz´ıvala aplikace GPX Wizard. Pr´ace s t´ımto bal´ıkem je pops´ana v [4]. Nev´yhodou tohoto zp˚ usobu pˇr´ıstupu k v´yˇskov´ym dat˚ um je fakt, ˇze neexistuje moˇznost hromadn´eho dotazu a pro kaˇzd´y bod se mus´ı zvl´aˇst’ poslat ˇz´adost. To by pˇri stahov´an´ı nˇekolika m´alo bod˚ u nevadilo, ale vzhledem k poˇctu zaznamenan´ych bod˚ u bˇehem jednoho sportovn´ıho z´aznamu (v ˇr´adech tis´ıc˚ u) a latenci odpovˇedi ze serveru se v´yraznˇe zpomaluje z´ısk´av´an´ı potˇrebn´ych dat. Dalˇs´ı nev´yhoda, kter´a byla zjiˇstˇena pˇri provozu aplikace GPX Wizard, je pˇresnˇe neurˇcen´y pˇrenosov´y limit. To znamen´a, ˇze po mnoha u ´ spˇeˇsnˇe vyˇz´adan´ych v´yˇskov´ych hodnot´ach server z nenad´an´ı pˇrestane odpov´ıdat. V´yˇse vyjmenovan´e nev´yhody znemoˇzn ˇ ovaly hladk´y chod aplikace GPX Wizard. Bylo tedy nutn´e nal´ezt jin´e, uˇzivateli pˇr´ıvˇetivˇejˇs´ı ˇreˇsen´ı tohoto probl´emu.
3.2.2
Google Elevation API
Google Elevation API poskytuje jednoduch´e rozhran´ı pro pˇr´ıstup k v´yˇskov´ym dat˚ um povrchu Zemˇe. Pˇr´ıstup k v´yˇskov´ym dat˚ um je poskytov´an pomoc´ı HTTP rozhran´ı nebo JavaScriptov´eho Google API. Pro v´yvoj aplikace v programovac´ım jazyce Java je snaˇzˇs´ı vyuˇz´ıt pˇr´ıstupu k v´yˇskov´ym dat˚ um pomoc´ı HTTP dotazu. Dotaz pro z´ısk´an´ı v´yˇsky m´a n´asleduj´ıc´ı tvar: http://maps.googleapis.com/maps/api/elevation/vysForm?param Kde za vysForm se dosazuje v´ystupn´ı form´at; vybrat lze z n´asleduj´ıc´ıch dvou: • json – Pro navr´acen´ı poˇzadovan´ych bod˚ u s jejich nadmoˇrsk´ymi v´yˇskami v podobˇe JavaScriptov´eho objektu. • xml – Navrac´ı zadan´e body s jejich nadmoˇrsk´ymi v´yˇskami v podobˇe XML souboru. Za param se dosazuj´ı n´asleduj´ıc´ı parametry: • locations – Jednotliv´e body na povrchu Zemˇe popsan´e pomoc´ı zemˇepisn´e ˇs´ıˇrky a d´elky. Body jsou od sebe oddˇeleny pomoc´ı znaku |. • path – Pokud body spolu tvoˇr´ı cestu, m˚ uˇzeme je zadat za parametrem path. Z´apis je totoˇzn´y s parametrem locations. 4
GeoNames API – Bal´ık pro aplikace napsan´e v programovac´ım jazyce Java dostupn´ y na webov´e adrese http://www.geonames.org/source-code/.
16
Mˇeˇren´ı v´yˇsek pomoc´ı GPS
Sluˇzby poskytuj´ıc´ı SRTM data
• samples – Tento parametr je vyˇzadov´an pˇri vyuˇzit´ı parametru path. Urˇcuje poˇcet bod˚ u, kter´e byly zad´any jako parametr path. • sensor (vyˇzadov´an) – Ud´av´a informaci o tom, zda aplikace vyˇzaduj´ıc´ı v´yˇskov´a data pouˇz´ıv´a GPS senzor pro urˇcen´ı uˇzivatelovy polohy. Akceptov´any jsou hodnoty true nebo false. Jednotliv´e parametry se oddˇeluj´ı pomoc´ı znaku &. V´ysledn´y pˇr´ıkaz HTTP m˚ uˇze vypadat n´asledovnˇe: http://maps.googleapis.com/maps/api/elevation/ xml?locations=51.76104,10.785416|51.76106,10.785412&sensor=true Odpovˇed’ od serveru pˇrijde v n´asleduj´ıc´ım tvaru: <ElevationResponse> <status>OK 51.7610400 10.7854160 <elevation>496.0261841 152.7032318 51.7610600 10.7854120 <elevation>495.9911804 152.7032318 Kde kaˇzd´y element odpov´ıd´a jednomu bodu zadan´emu pomoc´ı HTTP pˇr´ıkazu. Uvnitˇr tohoto elementu se nach´az´ı element , ve kter´em se nach´az´ı zemˇepisn´a d´elka a ˇs´ıˇrka dan´eho bodu. D´ale se v elementu nach´az´ı element <elevation> urˇcuj´ıc´ı pr´avˇe potˇrebnou nadmoˇrskou v´yˇsku v dan´em bodˇe a element , jenˇz ud´av´a pˇresnost v´yˇskov´ych dat v metrech. Takˇze v dan´em pˇr´ıkladˇe je nadmoˇrsk´a v´yˇska 496 ± 152 metr˚ u. 17
Mˇeˇren´ı v´yˇsek pomoc´ı GPS
Sluˇzby poskytuj´ıc´ı SRTM data
Takto staˇzen´a v´yˇskov´a data jiˇz nejsou stejn´eho form´atu jako data namˇeˇren´a pomoc´ı SRTM3 mˇeˇren´ı (ˇctverce 90 × 90 metr˚ u o stejn´e nadmoˇrsk´e v´yˇsce), ale odpov´ıdaj´ı re´aln´e krajinˇe. Jako dalˇs´ı v´yhoda se jev´ı fakt, ˇze poˇzadavky na v´yˇsku jiˇz nejsou pos´ıl´any po jednom bodu, ale v sadˇe aˇz 512 bod˚ u. Nev´yhodou tohoto pˇr´ıstupu k dat˚ um je denn´ı limit maxim´aln´ıho poˇctu dot´azan´ych bod˚ u na 25 000. Pokud se uv´aˇz´ı, ˇze jeden ˇsestihodinov´y z´aznam j´ızdy na kole (pˇri vzorkov´an´ı kaˇzd´ych 5 sekund) obsahuje okolo ˇctyˇr tis´ıc bod˚ u, pak by byl tento limit pˇri d´avkov´em zpracov´an´ı nedostateˇcn´y.
3.2.3
CGIAR-CSI SRTM
CGIAR (dˇr´ıve Consultative Group on International Agricultural Research) je aliance, kter´a spojuje organizace vˇenuj´ıc´ı se zemˇedˇelsk´emu v´yzkumu pro udrˇziteln´y rozvoj. Tato asociace poskytuje SRTM3 data ve snaze podpoˇrit geoprostorovou vˇedu a aplikace, udrˇziteln´y rozvoj a zachov´an´ı zdroj˚ u v rozvojov´em svˇetˇe. Data jsou poskytov´ana na webov´e adrese http://srtm.csi.cgiar.org/ v podobˇe soubor˚ u, kter´e obsahuj´ı v´yˇskov´a data pro oblast o rozmˇerech 5◦ zemˇepisn´e ˇs´ıˇrky × 5◦ zemˇepisn´e d´elky (velikost jednotliv´ych ˇctverc˚ u je opˇet ′′ 90 metr˚ u respektive 3 na rovn´ıku). Data jsou poskytov´ana v tˇechto form´atech: • ArcInfo ASCII – Speci´aln´ı v´ymˇenn´y form´at pro ukl´ad´an´ı v´yˇskov´ych dat v ASCII form´atu5 . • GeoTIFF – Veˇrejn´y metadata standard, kter´y umoˇzn ˇ uje vkl´adat geore6 ferenci do soubor˚ u typu TIFF . Soubory tohoto typu jsou pouˇz´ıv´any r˚ uzn´ymi geografick´ymi informaˇcn´ımi syst´emy. V´yˇskov´a data jsou snadnˇeji pˇr´ıstupn´a prostˇrednictv´ım souboru typu ArcInfo ASCII, jelikoˇz jsou uloˇzena v textov´e podobˇe a pro pr´aci s nimi nen´ı potˇreba speci´aln´ıho softwaru (jak je tomu v pˇr´ıpadˇe GeoTIFF form´atu), proto bude n´ıˇze pops´ana jejich struktura. ArcInfo ASCII Soubor tohoto typu m´a koncovku obyˇcejn´eho ASCII form´atu – ASC. To, co jej specifikuje, je pˇresnˇe dan´y form´at z´apisu, pˇredevˇs´ım rozdˇelen´ı souboru 5
Soubor form´ atu ASCII (koncovka ASC) - Soubory ASC maj´ı stejn´e vlastnosti jako soubory typu TXT (jedn´ a se o text v ˇcist´e podobˇe, bez jak´ ychkoli pˇr´ıdavn´ ych informac´ı). 6 Tag Image File Format – Souborov´ y form´at urˇcen´ y pro ukl´ad´an´ı pro rastrov´e grafiky, kter´ y v sobˇe kromˇe obr´ azku nese tzv. tagy. Ty mohou naznaˇcovat z´ akladn´ı stavbu obrazu, jeho rozmˇery a velikost nebo pr´avˇe v´ yˇskov´a data.
18
Mˇeˇren´ı v´yˇsek pomoc´ı GPS
Sluˇzby poskytuj´ıc´ı SRTM data
na informaˇcn´ı a datovou ˇc´ast. N´ıˇze je pops´ana struktura tohoto souboru. Buˇ nka zde reprezentuje jeden ˇctverec SRTM3 s danou nadmoˇrskou v´yˇskou o rozmˇerech 90 × 90 metr˚ u. Informaˇ cn´ı ˇ c´ ast Tato ˇc´ast je na zaˇc´atku souboru a obsahuje n´asleduj´ıc´ı u ´ daje o namˇeˇren´ych datech: • ncols – Poˇcet sloupc˚ u s buˇ nkami obsahuj´ıc´ı v´yˇskov´a data. • nrows – Poˇcet ˇr´adek s buˇ nkami obsahuj´ıc´ı v´yˇskov´a data. • xllcorner – Zemˇepisn´a d´elka buˇ nky, kter´a leˇz´ı v pozici [0, 0] datov´e ˇc´asti. • yllcorner – Zemˇepisn´a ˇs´ıˇrka buˇ nky, kter´a leˇz´ı v pozici [0, 0] datov´e ˇc´asti. • cellsize – Velikost jedn´e buˇ nky v stupn´ıch. • NODATA value – Hodnota, kterou je buˇ nka naplnˇena v pˇr´ıpadˇe, ˇze pro ni nen´ı namˇeˇrena nadmoˇrsk´a v´yˇska. Informaˇcn´ı ˇc´ast souboru pak vypad´a n´asledovnˇe: ncols nrows xllcorner yllcorner cellsize NODATA_value
6000 6000 70 40 0.00083333333333333 -9999
Datov´ aˇ c´ ast Datov´a ˇc´ast obsahuje buˇ nky, kter´e pˇredstavuj´ı v´yˇskov´a data. Jednotliv´e buˇ nky jsou od sebe oddˇeleny mezerami. Pokud bychom k zv´yraznˇen´e informaˇcn´ı ˇc´asti mˇeli vytvoˇrit datovou ˇc´ast, byla by to matice o rozmˇerech 6 000 × 6 000 bunˇek s v´yˇskov´ymi daty.
19
4 Moˇznosti JavaScriptu pˇri pr´aci s kalend´ aˇ rem JavaScript je multiplatformn´ı, objektovˇe orientovan´y skriptovac´ı jazyk vytvoˇren´y pˇredevˇs´ım pro zajiˇstˇen´ı dynamiky HTML str´anek. Jeho syntaxe z´apisu patˇr´ı do rodiny jazyk˚ u C, C++, Java. Pˇr´ıkazy JavaScriptu se vˇetˇsinou spouˇst´ı na stranˇe klienta a aˇz po naˇcten´ı str´anky pˇr´ıpadnˇe jej´ıho staˇzen´ı z Internetu. Z toho plynou urˇcit´a bezpeˇcnostn´ı omezen´ı, napˇr´ıklad nemoˇznost JavaScriptu pracovat se soubory.
4.1
jQuery UI
D´ıky masov´emu pouˇz´ıv´an´ı JavaScriptu vznikaj´ı mnoh´e frameworky a knihovny. Mezi nejpouˇz´ıvanˇejˇs´ı patˇr´ı v souˇcasnosti knihovna jQuery, do n´ıˇz spad´a i jQuery UI. Ta se d´ale dˇel´ı na n´asleduj´ıc´ı ˇc´asti: ˇ ast obsahuj´ıc´ı metody pro implementaci interakc´ı • Interactions – C´ mezi uˇzivatelem a rozhran´ım webov´e aplikace, jako je napˇr. drag&drop s jednotliv´ymi objekty, zmˇena velikosti objekt˚ u, jejich vyb´ır´an´ı, tˇr´ıdˇen´ı a ˇrazen´ı v re´aln´em ˇcase. • Widgets – Pokroˇcil´e elementy uˇzivatelsk´eho rozhran´ı, jako jsou dialogy, kalend´aˇre, progressbary, automatick´e doplˇ nov´an´ı do kalend´aˇr˚ u a tak d´ale. • Effects – Poskytuje v´ybˇer efekt˚ u, jako je pˇrid´av´an´ı, odeb´ır´an´ı a pˇrep´ın´an´ı tˇr´ıd stylu objekt˚ u, barevn´e animace, skr´yv´an´ı a zobrazov´an´ı objekt˚ u pomoc´ı animac´ı a dalˇs´ı volby. • Utilities – Poskytuje metody pro snadnou pr´aci s pozic´ı prvk˚ u na str´ance a jejich spr´avu. Jak je v´yˇse zm´ınˇeno, v ˇc´asti Widgets se nach´az´ı i kalend´aˇr, kter´y je v knihovnˇe pojmenov´an jako Datepicker (v´ybˇer data).
4.2
Datepicker
Tento widget byl prim´arnˇe vytvoˇren pro pouˇz´ıv´an´ı v HTML formul´aˇri. Pokud m´a uˇzivatel zadat nˇejak´e datum, zobraz´ı se kalend´aˇr, kde datum vybere, jak lze vidˇet na obr´azku 4.1. Eliminuje tedy probl´em s pˇresn´ym dodrˇzen´ım 20
Moˇznosti JavaScriptu pˇri pr´aci s kalend´aˇrem
Datepicker
form´atu data pro jeho n´asledn´e zpracov´an´ı. Tento widget ale lze jednoduˇse pouˇz´ıt i pro funkci kalend´aˇre.
Obr´azek 4.1: Prim´arn´ı funkce widgetu Datepicker. Pro pouˇz´ıv´an´ı Datepickeru se nejdˇr´ıve mus´ı vloˇzit do hlaviˇcky HTML souboru odkaz na zdrojov´y soubor se skriptem jQuery UI. Samotn´y kalend´aˇr se n´aslednˇe se inicializuje zavol´an´ım funkce $(’#kalendar’).datepicker(), kde $ nahrazuje jQuery (pro zrychlen´ı z´apisu) a parametr funkce pˇredstavuje selektor elementu, kter´y obsahuje jako atribut id = "kalendar". Jako parametr funkce $ lze zvolit libovoln´y CSS selektor nebo n´azev HTML elementu. Funkce datepicker() m˚ uˇze m´ıt jako parametr objekt, jehoˇz atributy definuj´ı vlastnosti kalend´aˇre. N´ıˇze jsou vyjmenov´any nejuˇziteˇcnˇejˇs´ı atributy tohoto objektu: • firstDay – Nastavuje prvn´ı den v t´ydnu – 0 je nedˇele, 1 je pondˇel´ı. • dayNamesMin – Pole se zkr´acen´ymi n´azvy dn˚ u v t´ydnu. • monthNames – Pole s n´azvy mˇes´ıc˚ u. • nextText, prevText – N´azvy ukazatel˚ u odkazuj´ıc´ıch na pˇredchoz´ı respektive n´asleduj´ıc´ı mˇes´ıc. • dateFormat – Nastavuje form´at dne, se kter´ym kalend´aˇr pracuje. Jednotliv´e form´aty jsou pops´any v dokumentaci [6]. • beforeShowDay – N´azev funkce, kter´a se vol´a pro kaˇzd´y den, kter´y je v zobrazovan´em mˇes´ıci pˇred jeho zobrazen´ım. Funkce se vol´a pro jednotliv´e dny; jej´ı parametr je ˇcasov´y u ´ daj (ve form´atu zvolen´em pomoc´ı atributu dateFormat).
21
Moˇznosti JavaScriptu pˇri pr´aci s kalend´aˇrem
Datepicker
• onSelect – N´azev funkce, kter´a se zavol´a po kliknut´ı na urˇcit´y den v kalend´aˇri. Funkci je pˇri jej´ım vol´an´ı pˇred´an jako parametr ˇcasov´y u ´ daj (ve form´atu zvolen´em pomoc´ı atributu dateFormat). Takto pak vypad´a JSON1 objekt, kter´y kalend´aˇri nastavuje ˇcesk´e konvence (pokud je vloˇzen jako parametr funkce datepicker()). { beforeShowDay: predZobrazenimDne, inline: true, firstDay: 1, showOtherMonths: false, dayNamesMin: [’Ne’, ’Po’, ’´ Ut’, ’St’, ’ˇ Ct’, ’P´ a’, ’So’ ], ´ rezen’, ’Duben’, ’Kvˇ eten’, monthNames: [’Leden’, ’Unor’, ’Bˇ ˇ ˇ ˇ ´jen’, ’Listopad’, ar ˇı ´’, ’Rı ’Cerven’, ’Cervenec’, ’Srpen’, ’Z´ ’Prosinec’], nextText: ’Dalˇ sı ´’, prevText: ’Pˇ redchoz´ ı’, onSelect: vyberDen, dateFormat: "@" } Samotn´y Datepicker je pot´e potˇreba nastylovat pomoc´ı CSS.
1
JavaScript Object Notation – Form´at z´ apisu dat urˇcen´ y pro jejich pˇrenos a ˇcitelnost.
22
5 Aplikace GPX Wizard Aplikace GPX Wizard slouˇz´ı ke zpracov´an´ı GPX soubor˚ u, jejichˇz v´ystupem m˚ uˇze b´yt vizualizace sportovn´ıho z´aznamu nebo upraven´y soubor GPX, na kter´y byly aplikov´any r˚ uzn´e filtry. V´ıce o t´eto aplikaci v kapitole 2.4 a [4].
5.1
Postup zpracov´ an´ı dat aplikac´ı GPX Wizard
Pro popis vnitˇrn´ıho chodu aplikace je zde uveden postup zpracov´an´ı dat pˇri vizualizaci nebo transformaci. 1. Naˇcten´ı vstupn´ıho GPX souboru, vnitˇrn´ı pˇreveden´ı na GPX 1.1. Vytvoˇren´ı instance objektu GpxType pomoc´ı JAXB1 . Tato ˇc´ast je spoleˇcn´a pro transformaci i vizualizaci. ˇ ast spoleˇcn´a pro transfor2. Aplikace filtr˚ u na objekt instance GpxType. C´ maci i vizualizaci. 3. Vytvoˇren´ı instance tˇr´ıdy AnalyzedObjectType pro u ´ˇcely vizualizace. Vizualizace se prov´ad´ı pomoc´ı technologie XSLT2 . Jako vstup pˇri XSLT transformaci by mohly slouˇzit i soubory GPX, jelikoˇz se tak´e jedn´a o XML soubor, ale transformace by pak byla reˇzijnˇe mnohem n´aroˇcnˇejˇs´ı. Do instance objektu AnalyzedObjectType se vkl´adaj´ı vˇsechna data z objektu GpxType doplnˇen´a o statistick´e u ´ daje, kter´e jsou ve v´ystupn´ım HTML souboru zobrazeny. 4. Vygenerov´an´ı pomocn´eho XML souboru z instance objektu AnalyzedObjectType pomoc´ı JAXB. 5. Zpracov´an´ı pomocn´eho XML souboru XSLT procesorem Saxon. XSLT ˇsablony existuj´ı pro n´asleduj´ıc´ı operace: ˇ • Sablona HTML str´anky s jednoduch´ym nebo hromadn´ym zobrazen´ım sportovn´ıch z´aznam˚ u. 1
Java Architecture for XML Binding – Automatick´e mapov´an´ı mezi XML dokumentem a odpov´ıdaj´ıc´ımi Java tˇr´ıdami pˇres XSD [3]. 2 eXtensible Stylesheet Language Transformations – Jazyk vyuˇz´ıvaj´ıc´ı ˇsablony, na jejichˇz z´ akladˇe dok´ aˇze snadno proch´ azet XML souborem. Naˇcte jej do pamˇeti jako strom a pak lze na jednotliv´e uzly aplikovat r˚ uzn´e ˇsablony. V´ ystupem je ˇcasto HTML, prost´ y text nebo jin´ y XML dokument [3].
23
Aplikace GPX Wizard
Filtr nahrazov´an´ı v´yˇsek
ˇ • Sablona HTML str´anky se zobrazen´ım sportovn´ıch z´aznam˚ u v reˇzimu porovn´an´ı. ˇ • Sablona pro vytvoˇren´ı Google Maps mapy se zv´yraznˇenou trasou sportovn´ıho z´aznamu. ˇ • Sablony SVG3 soubor˚ u, kter´e zobrazuj´ı jednotliv´e grafy sportovn´ıho z´aznamu. 6. Pˇrevod SVG obr´azk˚ u do PNG form´atu. 7. Zkop´ırov´an´ı stylov´ych soubor˚ u do v´ystupn´ı sloˇzky. 8. Smaz´an´ı doˇcasn´eho XML souboru.
5.2
Filtr nahrazov´ an´ı v´ yˇsek
V aplikaci GPX Wizard se nach´azej´ı r˚ uzn´e transformaˇcn´ı filtry, kter´e ve specifick´ych kombinac´ıch dok´aˇz´ı zpˇresnit sportovn´ı z´aznam, jenˇz byl nasn´ım´an pomoc´ı GPS trasovaˇce. Mezi nˇe patˇr´ı i filtr SRTM V´yˇsky, kter´y prov´ad´ı korekci v´yˇskov´ych dat namˇeˇren´ych GPS trasovaˇcem pomoc´ı staˇzen´ı SRTM v´yˇskov´ych dat (viz kapitola 3.1). Tento filtr je pro urˇcit´e sporty velice v´yznamn´y, napˇr´ıklad pˇri cyklistice nebo lyˇzov´an´ı zaj´ımaj´ı uˇzivatele pˇredevˇs´ım pr´avˇe v´yˇskov´e profily. Filtr vˇsak bˇehem praktick´eho pouˇz´ıv´an´ı projevil urˇcit´e nedostatky, proto bylo nutn´e jej pˇrepracovat. Jako nejv´yznamnˇejˇs´ı nedostatky se jevily: • Nutnost pˇripojen´ı k internetu – V´yˇskov´a data se stahovala z datab´aze serveru GeoNames. Pokud tedy poˇc´ıtaˇc nebyl pˇripojen k internetu, musel se spokojit pouze s v´yˇskami namˇeˇren´ymi pomoc´ı GPS trasovaˇce. • Zdlouhavost stahov´an´ı v´yˇskov´ych dat – V´yˇskov´a data lze z webov´eho serveru st´ahnout pouze pro jeden bod nar´az. To ve spojen´ı s latenc´ı odpovˇedi zp˚ usobovalo vysokou ˇcasovou n´aroˇcnost staˇzen´ı v´yˇskov´ych dat. • Pˇrenosov´y limit – Po pˇredem nedefinovan´em poˇctu (tis´ıce u ´ daj˚ u) pˇrenesen´ych v´yˇskov´ych hodnot´ach server pˇrest´av´a odpov´ıdat. • Kostrbatost – Staˇzen´a v´yˇskov´a data nebyla po staˇzen´ı dodateˇcnˇe upravov´ana. To vzhledem k form´atu uloˇzen´ı dat (v´yˇskov´a data jsou uloˇzena 3
Scalable Vector Graphics – Vektorov´ y form´at pro popis 2D grafiky vˇcetnˇe animac´ı. Jeho z´ apis je prov´adˇen kompletnˇe v XML.
24
Aplikace GPX Wizard
Filtr nahrazov´an´ı v´yˇsek
jako ˇctverce o rozmˇerech 90 × 90 metr˚ u) zp˚ usobovalo kostrbatost v´yˇskov´eho profilu, jak lze vidˇet na obr´azku 5.1. Bylo tedy zapotˇreb´ı filtr pˇrepracovat tak, aby byly tyto probl´emy eliminov´any.
850 800 750
0
:0
00
5
:0
00
0
:1
00
5
:1
00
0
:2
00
5
:2
00
0
:3
00
y - výška[m] ; x - čas[hh:mm]
Obr´azek 5.1: Uk´azka v´yˇskov´eho profilu s neupraven´ymi v´yˇskov´ymi SRTM daty. V grafu jsou patrn´e schody“ zp˚ usoben´e form´atem uloˇzen´ı v´yˇskov´ych ” dat. Z pr˚ uzkumu mezi jednotliv´ymi sluˇzbami, kter´e poskytuj´ı v´yˇskov´a data (viz 3.2) byl zvolen server CGIAR-CSI. Ten nab´ız´ı v´yˇskov´a data v souborech, kter´e si uˇzivatel mus´ı st´ahnout s´am. Postup staˇzen´ı dat z webov´ych str´anek CGIAR-CSI je podrobnˇe pops´an v Uˇzivatelsk´e dokumentaci. Jeden soubor obsahuje matici o rozmˇeru 6000×6000 ˇctverc˚ u (bunˇek), kde kaˇzd´y ˇctverec je reprezentov´an ˇc´ıslem, kter´e pˇredstavuje nadmoˇrskou v´yˇsku v dan´em m´ıstˇe. Takov´yto soubor pokr´yv´a oblast o rozmˇerech 5◦ zemˇepisn´e ˇs´ıˇrky a 5◦ zemˇepisn´e d´elky.
5.2.1
Hled´ an´ı v´ yˇ skov´ ych dat v souboru
K nahrazov´an´ı v´yˇsek namˇeˇren´ych pˇri poˇrizov´an´ı sportovn´ıho z´aznamu v´yˇskov´ymi daty ze souboru se SRTM v´yˇskami doch´az´ı ve f´azi aplikace filtr˚ u na GPX soubor zm´ınˇen´e v ˇc´asti 5.1. Filtr dost´av´a jako argument instanci objektu GpxType, kter´a odpov´ıd´a GPX souboru verze 1.1. Uvnitˇr filtru se postupnˇe pˇristupuje k jednotliv´ym bod˚ um WptType, z nichˇz je potˇrebn´a jen zemˇepisn´a ˇs´ıˇrka a d´elka k urˇcen´ı nadmoˇrsk´e v´yˇsky v dan´em bodˇe. Jelikoˇz jeden soubor s v´yˇskov´ymi daty pokr´yv´a oblast 5 × 5 stupˇ n˚ u zemsk´eho povrchu, mus´ı se nejprve naj´ıt datov´y soubor, kter´y pokr´yv´a interval zemˇepisn´e ˇs´ıˇrky a d´elky hledan´eho bodu. To znamen´a, ˇze pokud hled´ame v´yˇsku pro bod lat = 51.7610400 a lng = 10.7854160 mus´ıme hledat soubor, kter´y obsahuje v informaˇcn´ı ˇc´asti tyto hodnoty: xllcorner 10 yllcorner 50 25
Aplikace GPX Wizard
Filtr nahrazov´an´ı v´yˇsek
Protoˇze takov´yto soubor popisuje v´yˇskov´a data pro 50◦ – 55◦ zemˇepisn´e ˇs´ıˇrky a 10◦ – 15◦ zemˇepisn´e d´elky. Poloha hledan´e nadmoˇrsk´e v´yˇsky v souboru se n´aslednˇe najde t´ımto v´ypoˇctem: double pozice := pozice mod rozptylStupnu; int index := (pozice * pocetZaznamu) / rozptylStupnu; Kde pozice odpov´ıd´a zemˇepisn´e ˇs´ıˇrce resp. d´elce, rozptylStupnu odpov´ıd´a velikosti intervalu, ve kter´em se hled´a (v tomto pˇr´ıpadˇe je rovna pˇeti stupn ˇ˚ um). Hodnota pocetZaznamu odpov´ıd´a poˇctu v´yˇskov´ych bunˇek, kter´e leˇz´ı v tomto intervalu (v tomto pˇr´ıpadˇe 6000). V´ypoˇcet mus´ı b´yt aplikov´an na zemˇepisnou ˇs´ıˇrku i d´elku, aby se naˇsla spr´avn´a ˇr´adka a sloupec, ve kter´em leˇz´ı poˇzadovan´a buˇ nka s nadmoˇrskou v´yˇskou.
5.2.2
Ukl´ ad´ an´ı naˇ cten´ ych v´ yˇ skov´ ych dat
Pokud by se v´yˇskov´a data naˇc´ıtala po jednotliv´ych bodech tak, ˇze by se nejprve naˇsel spr´avn´y soubor, n´aslednˇe se vypoˇc´ıtala poloha poˇzadovan´e buˇ nky v souboru a nakonec by se jej´ı hodnota pˇreˇcetla, mˇelo by to za n´asledek vysokou ˇcasovou n´aroˇcnost zpracov´an´ı jednoho bodu. Hlavn´ım probl´emem je velikost jednoho souboru, kter´a ˇcin´ı pˇribliˇznˇe 200 MB. Proto bylo potˇreba vymyslet zp˚ usob doˇcasn´eho ukl´ad´an´ı v´yˇskov´ych dat do pamˇeti, kter´ym by se ale nenaˇc´ıtaly cel´e soubory, protoˇze by to zbyteˇcnˇe zatˇeˇzovalo operaˇcn´ı pamˇet’ a zvyˇsovalo ˇcas potˇrebn´y k v´ypoˇctu. Nav´ıc by se vˇetˇsina v´yˇskov´ych hodnot nikdy vyuˇzila (jeden soubor poskytuje v´yˇskov´a data pro oblast pˇribliˇznˇe 290 000 km2 okolo rovn´ıku). Byla tedy vytvoˇrena mapa, kde jako kl´ıˇc slouˇz´ı pˇrepravn´ı tˇr´ıda LatLng (popsan´a n´ıˇze) a hodnotu pˇredstavuje pole celoˇc´ıseln´ych hodnot. Pole reprezentuje jednu ˇr´adku souboru s v´yˇskov´ymi daty. Pˇ repravn´ı tˇ r´ıda LatLng Tato tˇr´ıda slouˇz´ı pro jednoznaˇcnou identifikaci v´yˇskov´ych soubor˚ u a jejich ˇr´adek s nadmoˇrsk´ymi v´yˇskami. Tˇr´ıda obsahuje n´asleduj´ıc´ı tˇri atributy: • lat – Hodnota odpov´ıdaj´ıc´ı atributu souboru yllcorner v´yˇskov´eho souboru (zemˇepisn´a ˇs´ıˇrka patˇr´ıc´ı prvn´ı datov´e buˇ nce v´yˇskov´eho souboru). • lon – Hodnota odpov´ıdaj´ıc´ı atributu souboru xllcorner v´yˇskov´eho souboru (zemˇepisn´a d´elka patˇr´ıc´ı prvn´ı datov´e buˇ nce v´yˇskov´eho souboru). 26
Aplikace GPX Wizard
Filtr nahrazov´an´ı v´yˇsek
ˇ ıslo popisovan´e ˇr´adky souboru. • indexY – C´ Mapa ˇ r´ adek v´ yˇ skov´ ych soubor˚ u Mapa je reprezentov´ana kl´ıˇcem a hodnotou, kdy kl´ıˇc mus´ı b´yt vˇzdy unik´atn´ı. Kl´ıˇc zde pˇredstavuje tˇr´ıda LatLng a hodnotu pole celoˇc´ıseln´ych hodnot o d´elce 6000 (jedna ˇr´adka v´yˇskov´eho souboru). Pak pro kaˇzd´y bod existuje n´asleduj´ıc´ı postup: 1. V´ypoˇcet zemˇepisn´e d´elky a ˇs´ıˇrky, kter´e odpov´ıdaj´ı souborov´ym hodnot´am xllcorner a yllcorner. 2. V´ypoˇcet ˇc´ısla ˇr´adky a sloupce, ve kter´ych se nach´az´ı hledan´a buˇ nka s nadmoˇrskou v´yˇskou. 3. Vytvoˇren´ı instance objektu tˇr´ıdy LatLng s vypoˇc´ıtan´ymi hodnotami a n´asledn´e hled´an´ı v mapˇe, zda existuje z´aznam s takov´ymto kl´ıˇcem. • Kl´ıˇ c nalezen – Z pole se naˇcte poˇzadovan´a v´yˇskov´a buˇ nka. Hled´an´ı nadmoˇrsk´e v´yˇsky je u ´ spˇeˇsnˇe dokonˇceno. • Kl´ıˇ c nenalezen – V pˇrednastaven´e sloˇzce se hled´a soubor s hledan´ymi hodnotami xllcorner a yllcorner. Nenajde-li se soubor, uˇzivatel je o tom informov´an a vyzv´an k dodateˇcn´emu staˇzen´ı v´yˇskov´ych dat. V opaˇcn´em pˇr´ıpadˇe se otevˇre soubor, ze kter´eho se do mapy naˇctou hodnoty ˇr´adek v intervalu hledanaRadka 500 aˇz hledanaRadka + 500. Naˇcten´ı v´ıce okoln´ıch ˇr´adek zamez´ı dalˇs´ımu prohled´av´an´ı soubor˚ u. Pokud by se tedy sportovn´ı z´aznam nach´azel na rozmez´ı ˇctyˇr soubor˚ u, jak je zn´azornˇeno na obr´azku 5.2, postupnˇe by se do mapy uloˇzila v´yˇskov´a data ze vˇsech tˇechto soubor˚ u.
5.2.3
Dodateˇ cn´ e vyhlazen´ı staˇ zen´ ych dat
Jelikoˇz jedna v´yˇskov´a buˇ nka pˇredstavuje ˇctverec o ploˇse 8100 m2 (na rovn´ıku), m˚ uˇze se st´at (hlavnˇe u ˇclenit´eho ter´enu), ˇze v´yˇskov´a data po vynesen´ı do v´yˇskov´eho profilu vytvoˇr´ı takzvan´e schody“ viditeln´e napˇr´ıklad ” na obr´azku 5.1. To je zp˚ usobeno t´ım, ˇze pokud se GPS tracker pohybuje po ploˇse jednoho v´yˇskov´eho ˇctverce, v´ystup z filtru se tv´aˇr´ı, jako by se pohyboval po rovinˇe, i kdyˇz tomu tak doopravdy nen´ı. Po pˇresunu na sousedn´ı
27
Aplikace GPX Wizard
Filtr nahrazov´an´ı v´yˇsek
xllcorner 10 yllcorner 55
xllcorner 15 yllcorner 55
xllcorner 10 yllcorner 50
xllcorner 15 yllcorner 50
Obr´azek 5.2: Uk´azka trasy sportovn´ıho z´aznamu, kter´y byl poˇr´ızen na rozmez´ı ˇctyˇr v´yˇskov´ych soubor˚ u. Trasa je zde vyznaˇcena ˇcervenˇe, v´yˇskov´e soubory jsou zn´azornˇeny ˇctverci a modr´ymi obd´eln´ıky jsou zn´azornˇena v´yˇskov´a data uloˇzen´a v mapˇe. v´yˇskov´y ˇctverec, kter´y je napˇr´ıklad v´yˇse, se provede v´yˇskov´y skok o 20 metr˚ u nahoru a posl´eze se zase jede po rovinˇe. Pro u ´ˇcely potlaˇcen´ı schodovitosti“ namˇeˇren´ych dat byl za filtr pˇrid´an ” modul, jehoˇz funkce zde bude pops´ana. Jelikoˇz modul leˇz´ı pˇr´ımo za nahrazov´an´ım nadmoˇrsk´ych v´yˇsek jednotliv´ych bod˚ u (kde jeden bod pˇredstavuje objekt WptType, kter´y obsahuje atributy jako jsou zemˇepisn´a ˇs´ıˇrka, v´yˇska a nadmoˇrsk´a v´yˇska), pracuje s objekty WptType. Modul kontroluje nadmoˇrsk´e v´yˇsky jednotliv´ych bod˚ u. Z´akladn´ım prvkem modulu je seznam bod˚ u listSameEle, do kter´eho se vˇzdy vloˇz´ı odkaz na prvn´ı bod. Pokud jsou n´asleduj´ıc´ı body stejn´e nadmoˇrsk´e v´yˇsky, jsou jejich odkazy tak´e vloˇzeny do seznamu listSameEle. Jakmile pˇrijde prvn´ı bod s jinou nadmoˇrskou v´yˇskou, spoˇc´ıt´a se rozd´ıl nadmoˇrsk´ych v´yˇsek mezi n´ım a body z listSameEle. Pak se vydˇel´ı rozd´ıl nadmoˇrsk´ych v´yˇsek d´elkou seznamu listSameEle a uloˇz´ı se do promˇenn´e eleDiff. Nakonec probˇehne cyklus, kter´y vˇsem prvk˚ um seznamu listSameEle pˇriˇcte n´asobky eleDiff. 28
Aplikace GPX Wizard
Vizualizace do kalend´aˇre
Tento jednoduch´y postup m´a za n´asledek na prvn´ı pohled viditeln´e vyhlazen´ı v´yˇskov´ych profil˚ u, jak lze vidˇet na obr´azku 5.3.
Obr´azek 5.3: Uk´azka odstranˇen´ı schod˚ u“ pomoc´ı dodateˇcn´eho vyhlazen´ı ” po nahrazen´ı v´yˇsek. Zelen´a kˇrivka reprezentuje v´yˇskov´y profil sportovn´ıho z´aznamu bez vyhlazen´ı, modr´a pak po vyhlazen´ı.
5.3
Vizualizace do kalend´ aˇ re
Po dlouhodob´em uˇz´ıv´an´ı aplikace Sports Analyzer se osvˇedˇcil form´at zobrazov´an´ı sportovn´ıch akc´ı v kalend´aˇri, protoˇze si uˇzivatel vˇetˇsinou pamatuje jejich datum, kdyˇz se na nˇe chce zpˇetnˇe pod´ıvat. A pokud ne, pomoc´ı zobrazen´ı vˇsech sportovn´ıch akc´ı po jednotliv´ych mˇes´ıc´ıch je lze celkem snadno a rychle proch´azet, takˇze se uˇzivatel vˇzdy dostane k poˇzadovan´e akci bez vˇetˇs´ı n´amahy. Jelikoˇz je v´ystup z vizualizace zobrazov´an pomoc´ı HTML souboru a data nejsou uloˇzena na stranˇe serveru, zb´yvala jedin´a moˇznost pro dynamizaci str´anek – pouˇzit´ı JavaScriptu. Funkcionalita zobrazen´ı sportovn´ıch z´aznam˚ u je rozdˇelena do dvou ˇc´ast´ı popsan´ych n´ıˇze. Zobrazovac´ı ˇ c´ ast Tato ˇc´ast zajiˇst’uje vizualizaci formou kalend´aˇre, kter´y je k nahl´ednut´ı na obr´azku 5.4. Pokud uˇzivatel zvol´ı variantu v´ystupu formou kalend´aˇre, obsah v´ystupn´ı sloˇzky bude vypadat jako na obr´azku 5.5. V´yznamy jednotliv´ych sloˇzek a soubor˚ u budou pops´any n´ıˇze. Vˇsechny soubory (vyjma souboru data.js a sloˇzek s vizualizacemi) jsou pouze kop´ırov´any ze sloˇzek, kde se nach´az´ı aplikace.
29
Aplikace GPX Wizard
Vizualizace do kalend´aˇre
Obr´azek 5.4: Screenshot vizualizace ve form´atu kalend´aˇre.
Obr´azek 5.5: Struktura sloˇzek a soubor˚ u vygenerovan´ych pomoc´ı vizualizace do kalend´aˇre. Sloˇ zky s vizualizacemi z´ aznam˚ u (2012-04-03-kolo, ...) Uvnitˇr kaˇzd´e z tˇechto sloˇzek se nach´az´ı vizualizace jednoho sportovn´ıho z´aznamu, na kterou je odkazov´ano z kalend´aˇre. Vnitˇrn´ı struktura tˇechto sloˇzek je totoˇzn´a s jednoduchou vizualizac´ı jednoho z´aznamu, sloˇzky jsou pouze pojmenovan´e podle jejich n´azv˚ u. 30
Aplikace GPX Wizard
Vizualizace do kalend´aˇre
Sloˇ zka css Uvnitˇr t´eto sloˇzky se nach´az´ı pouze soubor kalendar.css. Soubor zajiˇst’uje stylov´an´ı kalend´aˇre. Sloˇ zka img Sloˇzka s obr´azkem ukazatele na dalˇs´ı, respektive pˇredchoz´ı mˇes´ıc. Sloˇ zka js Sloˇzka zajiˇst’uj´ıc´ı implementaci kalend´aˇre a dynamiku cel´ych str´anek. V t´eto sloˇzce se nach´azej´ı: • Sloˇ zka libs – Uvnitˇr sloˇzky se nach´az´ı knihovny jQuery a jQuery UI. • data.js – Uvnitˇr souboru se nach´az´ı asociativn´ı pole EVENTS naplnˇen´e JSON objekty, se kter´ymi pracuje Datepicker pˇred zobrazen´ım kalend´aˇre. Pole je v n´asleduj´ıc´ım tvaru: var EVENTS = { 1333404000000 : [ {"nazev" : "2012-04-03-kolo", "cesta" : "./2012-04-03-kolo/index.html"} ], 1343858400000 : [ {"nazev" : "2012-08-02_Porici-kolo-2-CB", "cesta" : "./2012-08-02_Porici-kolo-2-CB/index.html"}, {"nazev" : "2012-08-02_Porici-kolo-3", "cesta" : "./2012-08-02_Porici-kolo-3/index.html"} ] };
Jako kl´ıˇc v poli slouˇz´ı ˇc´ıslo ud´avaj´ıc´ı poˇcet milisekund od 1. ledna 1970 (Unix time, d´ale jako timestamp). Jednotliv´e objekty pak ud´avaj´ı informaci o n´azvu a relativn´ı cestˇe k indexu jednotliv´ych vizualizac´ı. • main.js – Tento soubor zajiˇst’uje inicializaci kalend´aˇre. Kalend´aˇr je vytvoˇren pomoc´ı postupu popsan´eho v kapitole 4.2. Kalend´aˇr m´a nastaven z´akladn´ı form´at ˇcasu na timestamp, ˇcehoˇz je doc´ıleno hodnotou @ atributu dateFormat v objektu konfigurace kalend´aˇre. To se nastav´ı v jeho inicializaci pomoc´ı atributu dateFormat: ’@’. Funkce predZobrazenimDne(timestamp) je vol´ana pro kaˇzd´y den pˇred vykreslen´ım jednotliv´ych mˇes´ıc˚ u. Uvnitˇr funkce se testuje, zda asociativn´ı pole EVENTS obsahuje kl´ıˇc s dan´ym timestamp. Pokud ano, vr´at´ı 31
Aplikace GPX Wizard
Vizualizace do kalend´aˇre
se pole [true, "den-se-zaznamem", null], kde true znamen´a, ˇze den je prokliknuteln´y. Druh´a hodnota nastavuje, jakou CSS tˇr´ıdou se m´a buˇ nka s datem ostylovat. Tˇret´ı hodnota pˇredstavuje text kontextov´e n´apovˇedy zobrazen´e pˇri podrˇzen´ı kurzoru nad dnem, pˇriˇcemˇz null znamen´a, ˇze ˇz´adn´a n´apovˇeda nebude zobrazena. Pokud asociativn´ı pole neobsahuje danou timestamp hodnotu, vr´at´ı se pole [false, "", null]. Funkce vyberDen() pak pro rozkliknut´y den najde vˇsechny z´aznamy. Pokud je z´aznam pouze jeden, rovnou jej zobraz´ı, a pokud je z´aznam˚ u pro jeden den v´ıce, zobraz´ı prvn´ı z nich a ostatn´ı vyp´ıˇse v lev´em menu. index.html Hlavn´ı HTML str´anka spouˇstˇej´ıc´ı kalend´aˇr. uvod.html HTML str´anka, kter´a vypisuje z´akladn´ı n´apovˇedu pro orientaci ve vizualizaci formou kalend´aˇre. Generuj´ıc´ı ˇ c´ ast Tato ˇc´ast je intern´ı souˇc´ast´ı aplikace, zajiˇst’uje generov´an´ı souboru data.js a vytvoˇren´ı sloˇzkov´e hierarchie popsan´e v pˇredchoz´ı podkapitole. Vizualizaci ve formˇe kalend´aˇre uvnitˇr aplikace GPX Wizard zajiˇst’uje tˇr´ıda KalendarVerze. Pokud uˇzivatel zvol´ı generov´an´ı vizualizace formou kalend´aˇre, je tato tˇr´ıda inicializov´ana hned pˇri spuˇstˇen´ı generov´an´ı. K inicializaci je potˇreba zn´at pouze v´ystupn´ı sloˇzku vizualizace, do n´ıˇz se okamˇzitˇe zkop´ıruj´ı vˇsechny soubory a sloˇzky, kter´e byly zm´ınˇeny v pˇredchoz´ı kapitole (vyjma souboru data.js). Tˇr´ıda obsahuje mapu zaznamyKalendare, kde jako kl´ıˇc slouˇz´ı cel´e ˇc´ıslo reprezentuj´ıc´ı ˇcas v podobˇe timestamp a hodnotu pˇredstavuje seznam instanc´ı pˇrepravkov´e tˇr´ıdy KalendarniZaznam. Tato tˇr´ıda obsahuje atributy nazev a cesta. Mapa je tedy stejn´e struktury jako asociativn´ı pole EVENTS. V pr˚ ubˇehu generov´an´ı vizualizace z´aznamu se po vytvoˇren´ı instance tˇr´ıdy AnalyzedObjectType zavol´a metoda upravVystProKalendar(). Ta podle atributu name tˇr´ıdy AnalyzedObjectType vytvoˇr´ı sloˇzku ve v´ystupn´ım adres´aˇri a t´ım p´adem zmˇen´ı i cestu, kam se uloˇz´ı v´ysledky z jednoduch´e vizualizace jednoho z´aznamu. Z´aroveˇ n se vytvoˇr´ı instance tˇr´ıdy KalendarniZaznam, kter´a se podle data z´aznamu vloˇz´ı do mapy zaznamyKalendare. Po vygenerov´an´ı vizualizace vˇsech soubor˚ u se z mapy zaznamyKalendare vytvoˇr´ı pomoc´ı metody vytvorDataJS() soubor data.js. Pro moˇznost dodateˇcn´eho pˇrid´av´an´ı z´aznam˚ u do kalend´aˇre v pr˚ ubˇehu ˇcasu je potˇrebn´e, aby se pˇred vygenerov´an´ım souboru data.js zjistilo, zda jiˇz takov´y soubor v t´eto sloˇzce nen´ı. Pokud se ve sloˇzce js tento soubor jiˇz 32
Aplikace GPX Wizard
Dalˇs´ı u ´pravy aplikace GPX Wizard
nach´az´ı, budou jeho z´aznamy naˇcteny do mapy zaznamyKalendare. Tuto sluˇzbu prov´ad´ı metoda pridejKalendarniZaznamZJS(), kter´a tak´e patˇr´ı do tˇr´ıdy KalendarVerze. Nakonec se z mapy zaznamyKalendare vytvoˇr´ı nov´y soubor data.js, kter´y pˇrep´ıˇse ten st´avaj´ıc´ı.
5.4
Dalˇs´ı u ´ pravy aplikace GPX Wizard
Bˇehem pouˇz´ıv´an´ı aplikace GPX Wizard se objevilo nˇekolik chybˇej´ıc´ıch vlastnost´ı, kter´e jsou pro uˇzivatele velice d˚ uleˇzit´e pˇri praktick´em zpracov´av´an´ı sportovn´ıch z´aznam˚ u. Jednotliv´e u ´ pravy jsou pops´any n´ıˇze.
5.4.1
Pr´ ace se vstupn´ımi GPX soubory
Pokud chtˇel uˇzivatel v aplikaci spustit vizualizaci a jako vstup vybral GPX soubor verze 1.0, pak generov´an´ı vizualizace skonˇcilo p´adem aplikace. To bylo zp˚ usobeno chybn´ym nastaven´ı konstanty urˇcuj´ıc´ı verzi GPX souboru k JAXB transformaci. Vˇetˇs´ı pot´ıˇze zp˚ usobily v´ystupn´ı GPX soubory z aplikace BT747. Soubory totiˇz nesly ve sv´e hlaviˇcce informaci o tom, ˇze jsou strukturov´any podle verze 1.1, ale jejich tˇelo bylo zaps´ano dle form´atu verze 1.0 nebo dokonce kombinac´ı obou. Hlavn´ı rozd´ıl mezi jednotliv´ymi verzemi je v rozˇs´ıˇren´ıch s t´ım, ˇze ve verzi 1.1 je rychlost uloˇzena pr´avˇe jako rozˇs´ıˇren´ı bodu WptType (v´ıce o rozd´ılech mezi jednotliv´ymi verzemi v [4]). Aplikace GPX Wizard tak mylnˇe oˇcek´avala rychlost, kter´a ovˇsem nebyla definov´ana, coˇz zp˚ usobovalo opˇet p´ad aplikace. Tento probl´em byl vyˇreˇsen pomoc´ı metody ziskejRychlost(), kter´a proch´azela jednotliv´e body WptType, zjiˇst’ovala, zda maj´ı nˇejak´e rozˇs´ıˇren´ı a pokud ano, tak jestli se jedn´a o rychlost. Pokud body rychlost obsahovaly, vracela jej´ı hodnotu, pokud ne, vracela nulu. S t´ım operovaly jin´e metody, kter´e v pˇr´ıpadˇe aplikace dopoˇc´ıt´avaly rychlost pomoc´ı vzd´alenosti mezi sousedn´ımi body WptType.
5.4.2
Rozˇ s´ıˇ ren´ e HTML nastaven´ı
V kartˇe Rozˇs´ıˇren´a HTML nastaven´ı bylo provedeno nˇekolik zmˇen, kter´e jsou pops´any n´ıˇze. Maxim´ aln´ı rychlost At’ jsou rychlosti v jednotliv´ych bodech namˇeˇren´e pomoc´ı GPS trasovaˇce nebo dodateˇcnˇe dopoˇc´ıtan´e, jsou vˇetˇsinou velice nepˇresn´e. Nejv´ıce je tento 33
Aplikace GPX Wizard
Dalˇs´ı u ´pravy aplikace GPX Wizard
jev patrn´y pˇri zaˇc´atku zaznamen´av´an´ı, kdy trasovaˇc hled´a sign´al od GPS vys´ılaˇc˚ u a zaznamenan´e body od sebe odskakuj´ı. V´ysledn´a maxim´aln´ı rychlost se pˇri tˇechto odskoc´ıch se m˚ uˇze pohybovat i okolo 300 km·h−1 . Byla proto pˇrid´ana moˇznost vynech´an´ı maxim´aln´ı rychlosti ve v´ysledn´ych statistik´ach vygenerovan´e vizualizace. Zaokrouhlov´ an´ı v´ ystupn´ıch hodnot Jelikoˇz statistiky vizualizace p˚ uvodn´ı verze aplikace GPX Wizard nebyly zaokrouhlov´any, obsahovaly vˇetˇsinou hodnoty s velk´ym mnoˇzstv´ım desetinn´ych m´ıst, coˇz bylo pro vˇetˇsinu u ´ daj˚ u zbyteˇcn´e. Byla proto pˇrid´ana moˇznost zvolen´ı zaokrouhlov´an´ı vypisovan´ych hodnot na 0 aˇz 3 desetinn´a m´ısta. Kaˇzd´y uˇzivatel si tedy m˚ uˇze navolit takovou pˇresnost zobrazen´ı hodnot, kter´e on s´am preferuje. N´ azvy z´ aznam˚ u Byla pˇrid´ana volba pojmenov´an´ı z´aznam˚ u, a to bud’ podle jm´ena zdrojov´eho GPX souboru a nebo podle dne v t´ydnu, ve kter´em byla akce uskuteˇcnˇena. Pr´ ace s ˇ casem GPS syst´em vys´ıl´a ˇcas v ˇcasov´em p´asmu UTC 0 a nepoˇc´ıt´a s letn´ım ˇcasem. Proto uˇzivatel potˇrebuje moˇznost nastaven´ı ˇcasov´eho p´asma, ve kter´em byly sportovn´ı z´aznamy poˇr´ızeny. V kartˇe Rozˇs´ıˇren´a HTML nastaven´ı proto pˇribyla moˇznost v´ybˇeru ˇcasov´eho p´asma, ve kter´em byly sportovn´ı z´aznamy nahr´any (viz obr´azek 5.6). D´ale pokud uˇzivatel poˇrizoval z´aznam v dobˇe letn´ıho ˇcasu, m˚ uˇze zaˇskrtnout pole Letn´ı ˇcas. To zp˚ usob´ı, ˇze se k ˇcasu pˇriˇcte jedna hodina, jak to b´yv´a vˇzdy pˇri pˇrechodu na letn´ı ˇcas.
Obr´azek 5.6: N´ahled do nastaven´ı ˇcasu umoˇzn ˇ uj´ıc´ı nastavit ˇcasov´e p´asmo a letn´ı ˇcas.
34
Aplikace GPX Wizard
5.4.3
Dalˇs´ı u ´pravy aplikace GPX Wizard
Poˇ c´ıt´ an´ı stoup´ an´ı a kles´ an´ı
Po vytvoˇren´ı simulovan´ych tras, ve kter´ych se pouze stoup´a, kles´a nebo pohybuje po rovinˇe, vyˇslo najevo, ˇze hodnoty ud´avan´e ve v´ystupn´ıch statistik´ach jako kles´an´ı, stoup´an´ı a rovina nebyly spr´avn´e. Doˇslo proto k pˇrepracov´an´ı t´eto ˇc´asti, kter´a jiˇz spr´avnˇe rozliˇsuje vˇsechny tˇri typy trasy. Po opraven´ı poˇc´ıt´an´ı stoup´an´ı a kles´an´ı byl proveden pokus o poˇc´ıt´an´ı nastoupan´eho a naklesan´eho pˇrev´yˇsen´ı. Tyto hodnoty ale byly ne´ umˇernˇe velk´e oproti skuteˇcn´ym pˇrev´yˇsen´ım. To bylo d´ano chybovost´ı namˇeˇren´ych v´yˇskov´ych dat nebo v pˇr´ıpadˇe nahrazen´ı v´yˇskov´ych dat pomoc´ı SRTM filtru v´yˇskov´ymi odskoky jednotliv´ych ˇctverc˚ u. Tyto probl´emy by se daly d´ale ˇreˇsit urˇcit´ymi filtracemi GPX soubor˚ u podle v´ychylek v´yˇskov´ych dat, kde by kr´atk´e u ´ seky s jinou nadmoˇrskou v´yˇskou neˇz jejich okol´ı nebyly br´any v potaz. Nicm´enˇe realizace tohoto filtru by nebyla pˇr´ımoˇcarou z´aleˇzitost´ı. Protoˇze byl tento probl´em odhalen relativnˇe pozdˇe, nemohl b´yt d˚ uslednˇe vyˇreˇsen, coˇz rozhodlo o nezobrazen´ı jednotliv´ych pˇrev´yˇsen´ı ve v´ystupn´ıch statistik´ach.
5.4.4
V´ ystupn´ı vizualizace
Byl upraven vzhled v´ystupn´ı str´anky pomoc´ı technologie CSS3, kter´a nab´ız´ı mnoh´a zjednoduˇsen´ı ve stylov´an´ı HTML str´anek. V z´avislosti na pouˇzit´ı technologie CSS3 musel b´yt upraven XSLT soubor generuj´ıc´ı HTML str´anku s v´ystupn´ı vizualizaci. Po u ´ prav´ach je zdrojov´y k´od v´ystupn´ı HTML str´anky pˇrehlednˇejˇs´ı, jelikoˇz je veˇsker´y vzhled ˇreˇsen pomoc´ı stylov´ych tˇr´ıd jednotliv´ych element˚ u. To m´a za n´asledek i snaˇzˇs´ı moˇznost u ´ prav vzhledu vizualizace zkuˇsenˇejˇs´ımi uˇzivateli, kteˇr´ı jiˇz nemus´ı mˇenit sloˇzitou strukturu XSLT souboru (a n´aslednˇe pˇregenerov´avat HTML soubory), ale pouze atributy jednotliv´ych stylov´ych tˇr´ıd uvnitˇr CSS souboru.
5.4.5
Generovan´ e grafy
Vˇsechny grafy generovan´e p˚ uvodn´ı aplikac´ı byly rovnomˇernˇe rozdˇeleny deseti u ´ seˇckami popisuj´ıc´ı ˇcas, respektive vzd´alenost v dan´em m´ıstˇe, a popisovan´a kˇrivka byla rozprostˇrena pˇres celou ˇs´ıˇrku grafu. To znamen´a, ˇze u ´ seˇcky nezobrazovaly z´achytn´e body v podobˇe cel´ych hodin resp. kilometr˚ u (napˇr´ıklad 3:00 nebo 4,5 km), ale byly to jednoduˇse jednotliv´e desetiny celkov´eho ˇcasu resp. vzd´alenosti. To bylo nepˇrehledn´e, protoˇze je sloˇzit´e orientovat se v grafu, jehoˇz mˇeˇr´ıtko nen´ı zaokrouhleno na cel´e jednotky. Zm´ınˇen´e zobrazov´an´ı grafu lze vidˇet na obr´azku 5.7.
35
Aplikace GPX Wizard
Dalˇs´ı u ´pravy aplikace GPX Wizard
Tento probl´em byl vyˇreˇsen pomoc´ı XSLT funkce formatCasu(), respektive formatDelky(). Funkce pracuj´ı na stejn´em principu jen s jin´ymi hodnotami. D´ale bude popisov´ana funkce formatDelky(). 1350 1300 1250 1200 1150 1100 1050 1000 950 900 850 800 750
0
0.
77
0.
5
55
1.
0
32
2.
5
10
3.
0
87
3.
5
65
4.
0
42
5.
5
20
6.
0
97
6.
5
75
7.
1
y - výška[m] ; x - vzdálenost [km]
Obr´azek 5.7: V´yˇskov´y profil s nijak neupraven´ym mˇeˇr´ıtkem vzd´alenosti.
Funkce formatDelky() Funkce m´a jako parametr promˇennou delkaCelkem reprezentuj´ıc´ı d´elku z´aznamu v metrech. Nejprve se urˇc´ı hodnota promˇenn´e modulo, kter´a m˚ uˇze nab´yvat hodnoty 200 aˇz 10 000 m. Hodnota t´eto promˇenn´e je pˇr´ımo u ´ mˇern´a promˇenn´e delkaCelkem a m˚ uˇze b´yt maxim´alnˇe jej´ı desetinou (to zp˚ usobuje, ˇze kˇrivka bude vˇzdy zab´ırat nejm´enˇe devˇet desetin grafu). N´asleduj´ıc´ı postup je pops´an pomoc´ı pseudok´odu: int zbytek := delkaCelkem mod modulo; int pricti := modulo - zbytek; int novaDelkaCelkem = delkaCelkem + pricti; kde promˇenn´a novaDelkaCelkem pˇredstavuje novou nejvyˇsˇs´ı zobrazovanou hodnotu osy x v grafu. Po aplikaci funkce formatDelky() na v´yˇskov´y profil zn´azornˇen´y na obr´azku 5.7 dostaneme graf, kter´y je k nahl´ednut´ı na obr´azku 5.8. Na prvn´ı pohled je druh´y graf pro ˇclovˇeka l´epe ˇciteln´y. Funkce formatCasu() a formatDelky() pracuj´ı na stejn´em principu s t´ım rozd´ılem, ˇze hodnoty prvn´ı funkce pracuj´ı s n´asobky ˇsedes´ati a graf je rozdˇelen m´ısto deseti u ´ seˇckami pouze ˇsesti. 36
Aplikace GPX Wizard
Dalˇs´ı u ´pravy aplikace GPX Wizard
1350 1300 1250 1200 1150 1100 1050 1000 950 900 850 800 750
8
0.
0
6
1.
4
2.
2
3.
4
8
4.
6
5.
4
6.
2
7.
8
y - výška[m] ; x - vzdálenost [km]
Obr´azek 5.8: V´yˇskov´y profil s upraven´ym mˇeˇr´ıtkem vzd´alenosti.
5.4.6
Konvertor a uˇ zivatelsk´ e moduly
Z aplikace byla odstranˇena karta Konvertor, jelikoˇz se v pr˚ ubˇehu jej´ıho pouˇz´ıv´an´ı uk´azalo, ˇze u ´ˇcely, pro kter´e byla karta vytvoˇrena, spolehlivˇe zastanou moˇznosti uvnitˇr karty Transformace (napˇr´ıklad pˇrevod v´ystupn´ıho GPX souboru z aplikace BT747 na validn´ı GPX soubor). Nav´ıc psan´ı jednotliv´ych modul˚ u by bylo zbyteˇcnˇe nam´ahav´e, protoˇze by jejich autor nemˇel pˇr´ıstup k mnoh´ym, jiˇz vytvoˇren´ym metod´am uvnitˇr aplikace a musel by je vytv´aˇret znovu. Z podobn´ych d˚ uvod˚ u byla z aplikace tak´e odstranˇena moˇznost vkl´ad´an´ı r˚ uzn´ych modul˚ u, kter´e by psali zkuˇsenˇejˇs´ı uˇzivatel´e. Dalˇs´ımi d˚ uvody byla absence jak´ehokoliv jiˇz vytvoˇren´eho modulu nebo moˇznost, ˇze by tyto moduly mohly zapˇr´ıˇcinit p´ad cel´e aplikace.
5.4.7
N´ apovˇ eda
Souˇc´ast´ı p˚ uvodn´ı aplikace byla i n´apovˇeda spustiteln´a pˇres hlavn´ı menu, kter´a slouˇzila jako uˇzivatelsk´a dokumentace. Obsah t´eto n´apovˇedy byl zmˇenˇen, aby odpov´ıdal aktu´aln´ımu stavu aplikace. V n´apovˇedˇe byly upraveny hlavnˇe ˇc´asti zab´yvaj´ıc´ı se spouˇstˇen´ım aplikace, vizualizac´ı (i jej´ım rozˇs´ıˇren´ym nastaven´ım) a transformac´ı. D´ale byl pˇrid´an postup pro stahov´an´ı v´yˇskov´ych dat ze serveru CGIAR-CSI a odebr´any n´avody k vytv´aˇren´ı modul˚ u pro Konvertor, Vizualizaci a Transformaci.
37
6 Z´avˇer C´ılem bakal´aˇrsk´e pr´ace byla pˇr´ıprava dalˇs´ı verze aplikace, kter´a zpracov´av´a sportovn´ı z´aznamy nasn´ıman´e pomoc´ı GPS trasovaˇc˚ u. Pr´ace vych´azela z jiˇz existuj´ıc´ı aplikace, kter´a nebyla v nˇekolika ohledech funkˇcn´ı, pˇr´ıpadnˇe vyhovuj´ıc´ı souˇcasn´emu rozvoji technologie v t´eto oblasti. V pˇripraven´e aplikaci byly zcela zmˇenˇeny moduly pro pr´aci s v´yˇskov´ymi daty GPS souˇradnic a byly podstatnˇe rozˇs´ıˇreny moˇznosti v´ystupu. T´eˇz doˇslo k odstranˇen´ı minoritn´ıch probl´em˚ u, kter´e byly odhaleny v pr˚ ubˇehu pouˇz´ıv´an´ı pˇredchoz´ı aplikace. V r´amci vylepˇsov´an´ı moˇznost´ı v´ystupu byly prostudov´any a pops´any z´aklady pr´ace s JavaScriptov´ym frameworkem jQuery UI a jeho widgetem Datepicker. D´ıky moˇznostem, kter´e jsou poskytov´any tˇemito n´astroji, byl pˇripraven v´ystupn´ı modul, kter´y zajiˇst’uje snadnou pr´aci s kalend´aˇrem sportovn´ıch aktivit v prostˇred´ı hypertextov´ych str´anek. Takto pˇripraven´y kalend´aˇr lze pr˚ ubˇeˇznˇe doplˇ novat o nov´e aktivity, coˇz je v´yznamn´y funkˇcn´ı pˇr´ınos pro uˇzivatele. V souˇcasn´e dobˇe je k dispozici plnˇe funkˇcn´ı aplikace s jednoduch´ym intuitivn´ım ovl´ad´an´ım. V´yhodou je, ˇze vzhledy vizualizace jsou nastaveny pomoc´ı stylovac´ıho jazyka CSS3, takˇze pˇr´ıpadn´e i netrivi´aln´ı u ´ pravy vzhledu mohou b´yt provedeny u ´ pravou stylovac´ıho souboru a nen´ı nutn´y z´asah do programu aplikace. Cel´a aplikace se skl´ad´a z 43 tˇr´ıd, z nichˇz 16 bylo pˇripraveno nebo upraveno v r´amci t´eto bakal´aˇrsk´e pr´ace. Aplikace byla otestov´ana na rozs´ahl´ych re´aln´ych datech. Dalˇs´ı v´yvoj aplikace by se mohl d´ale ub´ırat smˇerem k filtraci nasn´ıman´ych dat, dalˇs´ım zpˇresˇ nov´an´ım v´yˇskov´ych profil˚ u a sestavov´an´ım jednotliv´ych transformaˇcn´ıch sad pro r˚ uzn´e sporty.
38
Pˇ rehled pouˇ zit´ ych zkratek HTML
(HyperText Markup Language) Znaˇckovac´ı jazyk s´emanticky popisuj´ıc´ı dokumenty.
XML
(eXtensible Markup Language) Obecn´y znaˇckovac´ı jazyk vyvinut´y konsorciem W3C. Umoˇzn ˇ uje vytv´aˇren´ı znaˇckovac´ıch jazyk˚ u urˇcen´ych k nejr˚ uznˇejˇs´ım typ˚ um uˇzit´ı.
J2ME
(Java Platform, Micro Edition) Jedna ze z´akladn´ıch platforem Javy s API urˇcenou pro v´yvoj softwaru na zaˇr´ızen´ıch s omezen´ymi prostˇredky.
XSD
(XML Schema Definition) Soubor, kter´y popisuje strukturu XML dokumentu.
DEM
(Digital Elevation Model) Digit´aln´ı model povrchu ter´enu.
TIFF
(Tag Image File Format) Souborov´y form´at urˇcen´y pro ukl´ad´an´ı pro rastrov´e grafiky, kter´y v sobˇe kromˇe obr´azku nese tzv. tagy.
JSON
(JavaScript Object Notation) Form´at z´apisu dat urˇcen´y pro jejich pˇrenos a ˇcitelnost.
JAXB
(Java Architecture for XML Binding) Automatick´e mapov´an´ı mezi XML dokumentem a odpov´ıdaj´ıc´ımi Java tˇr´ıdami pˇres XSD.
XSLT
(eXtensible Stylesheet Language Transformations) Jazyk vyuˇz´ıvaj´ıc´ı ˇsablony, na jejichˇz z´akladˇe dok´aˇze snadno zpracov´avat XML soubory. V´ystupem je ˇcasto HTML, prost´y text nebo jin´y XML dokument.
SVG
(Scalable Vector Graphics) Vektorov´y form´at pro popis 2D grafiky vˇcetnˇe animac´ı. Jeho z´apis je prov´adˇen kompletnˇe v XML.
SRTM
(Shuttle Radar Topography Mission) Mezin´arodn´ı v´yzkumn´y program, jehoˇz c´ılem je z´ıskat u ´ daje nadmoˇrsk´ych v´yˇsek k vytvoˇren´ı nejkompletnˇejˇs´ı digit´aln´ı topografick´e datab´aze ve vysok´em rozliˇsen´ı.
39
Literatura [1] McLaughlin B.: Java & XML. O’REILLY, 2001, Second Edition. ISBN 0-596-00197-5. [2] Harold E. R., Means W. S.: XML v kostce. O’REILLY Computer press, 2002. ISBN 80-7226-712-4 [3] Herout P.: XSLT 2.0 a SVG. Kopp, 2010. ISBN 978-80-7232-406-4 [4] Gregoˇrica P.: Zpracov´an´ı GPS dat. ˇ - Fakulta aplikovan´ych vˇed, 2011. ZCU [5] BT747 Documentation [online], citov´ano 3.dubna 2013 Dostupn´e z http://www.bt747.org/documentation [6] jQuery API - Datepicker [online] c
2013, The jQuery Foundation (citov´ano 10. dubna 2013). Dostupn´e z http://api.jqueryui.com/datepicker/ [7] Shuttle Radar Topography Mission [online], (citov´ano 13. dubna 2013). Dostupn´e z http://www.jpl.nasa.gov/srtm/
40
7 Seznam pˇr´ıloh A
Uˇzivatelsk´a dokumentace
B
Obsah CD
41
Pˇ r´ıloha A
GPX Wizard Uˇzivatelsk´a dokumentace
Obsah 1 O aplikaci GPX Wizard 1.1 Technick´e poˇzadavky . . . . . . . . . . . . . . . . . . . . . . . .
3 3
2 Instalace
3
3 Prvn´ı spuˇ stˇ en´ı
3
4 Nastaven´ı a n´ apovˇ eda
5
5 Vizualizace 5.1 Panel Z´akladn´ı nastaven´ı . . . . . . . . . . . . . . . . . . . . . . 5.2 Panel Rozˇs´ıˇren´a HTML Nastaven´ı . . . . . . . . . . . . . . . . . .
5 6 8
6 Transformace 9 6.1 Panel Z´akladn´ı nastaven´ı . . . . . . . . . . . . . . . . . . . . . . 10 6.2 Panel Posloupnost transformac´ı . . . . . . . . . . . . . . . . . . . 11 7 Popis filtr˚ u 7.1 V´yˇsky SRTM offline 7.2 Nahrazen´ı rychlost´ı . 7.3 Filtrace st´an´ı . . . . 7.4 Pr˚ umˇer v´yˇsky . . . . 7.5 Pr˚ umˇer odskoky . . 7.6 Pr˚ umˇer rychlost . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
13 13 15 15 15 16 17
ˇ EN ˇ ´I 3 PRVN´I SPUST
1
O aplikaci GPX Wizard
Aplikace GPX Wizard slouˇz´ı ke zpracov´an´ı sportovn´ıch z´aznam˚ u nasn´ıman´ych pomoc´ı GPS trasovaˇc˚ u uloˇzen´ych ve form´atu GPX. Aplikace umoˇzn ˇ uje uˇzivateli archivaci tˇechto dat pomoc´ı pˇrehledn´ych vizualizac´ı v r˚ uzn´ych form´ach a z´aroveˇ n jejich zpˇresnˇen´ı pomoc´ı r˚ uzn´ych filtr˚ u. Jej´ı instalace a pouˇz´ıv´an´ı popisuje tento dokument.
1.1
Technick´ e poˇ zadavky
Pˇred spuˇstˇen´ım aplikace je potˇreba m´ıt nainstalovan´e prostˇred´ı Java Runtime Enviroment (JRE) verze 1.7 nebo novˇejˇs´ı1 . Minim´aln´ı technick´e poˇzadavky pro spuˇstˇen´ı JRE 1.7 jsou: • Procesor Pentium 2 266 MHz. • Operaˇcn´ı pamˇet’ nejm´enˇe 128 MB. • Voln´e m´ısto na disku alespoˇ n 130 MB. Aplikaci lze provozovat na operaˇcn´ıch syst´emech, kter´e umoˇzn ˇ uj´ı instalaci JRE 1.7.
2
Instalace
Aplikace se nemus´ı nijak instalovat, staˇc´ı ji rozbalit. Po jej´ım rozbalen´ı dostaneme adres´aˇrovou strukturu, kter´a je k vidˇen´ı na obr´azku 1.
3
Prvn´ı spuˇstˇ en´ı
Aplikaci je doporuˇcov´ano spustit pomoc´ı d´avkov´eho souboru gpxwizard.bat2 (pˇri spouˇstˇen´ı v OS Windows). V jin´ych operaˇcn´ıch syst´emech ji lze spouˇstˇet pomoc´ı dvojkliku na soubor gpxwizard.jar nebo prostˇrednictv´ym pˇr´ıkazu java -jar gpxwizard.jar v pˇr´ıkazov´e ˇr´adce, resp. termin´alu. Po chvilce se otevˇre okno aplikace zn´azornˇen´e na obr´azku 2. 1
Aktu´aln´ı instalaˇcn´ı bal´ıˇcek m˚ uˇzete st´ahnout z webov´ ych str´anek http://java.com/en/download/manual.jsp 2 D´avkov´ y soubor nastavuj´ıc´ı pomoc´ı parametru -Xmx2000M maxim´ aln´ı hodnotu vyuˇzit´e operaˇcn´ı pamˇeti aplikac´ı GPX Wizard na 2000 MB. Tuto hodnotu lze zmˇenit u ´ pravou d´ avkov´eho souboru, doporuˇcov´any jsou hodnoty mezi 1000 MB aˇz 2000 MB. Parametr je vloˇzen pro plynulejˇs´ı chod aplikace, pˇredevˇs´ım pˇri vizualizaci formou Porovn´an´ı vˇetˇs´ıho mnoˇzstv´ı soubor˚ u.
3
ˇ EN ˇ ´I 3 PRVN´I SPUST
Obr´azek 1: Struktura sloˇzek aplikace po jej´ım rozbalen´ı.
Obr´azek 2: Sn´ımek aplikace po jej´ım spuˇstˇen´ı.
4
5 VIZUALIZACE
4
Nastaven´ı a n´ apovˇ eda
V horn´ım menu lze po kliknut´ı na poloˇzku Nastaven´ı zvolit jazyk, ve kter´em bude aplikace s uˇzivatelem komunikovat. D´ale m˚ uˇzete kliknout na poloˇzku Help a n´aslednˇe zapnout n´apovˇedu. Po jej´ım zapnut´ı se zobraz´ı okno, viz obr´azek 3, kde panel oznaˇcen´y ˇc´ıslem 1 slouˇz´ı k v´ybˇeru t´ematu, ve kter´em potˇrebuje uˇzivatel poradit, a panel oznaˇcen´y ˇc´ıslem 2 zobrazuje samotnou n´apovˇedu vybran´eho t´ematu.
1
2
Obr´azek 3: Sn´ımek n´apovˇedy aplikace.
5
Vizualizace
Tato ˇc´ast je um´ıstˇena pod stejnojmennou kartou a zobrazuje se hned po spuˇstˇen´ı aplikace. Vizualizace umoˇzn ˇ uje vygenerov´an´ı HTML str´anek s r˚ uzn´ymi grafy a statistikami at’ jiˇz jednoho sportovn´ıho z´aznamu nebo cel´e sady, kter´e si lze n´aslednˇe prohl´ednout v libovoln´em internetov´em prohl´ıˇzeˇci.
5
5 VIZUALIZACE
5.1
5.1 Panel Z´akladn´ı nastaven´ı
Panel Z´akladn´ı nastaven´ı
Uvnitˇr tohoto panelu se nastavuje typ vizualizace, vol´ı se transformaˇcn´ı sady, zad´avaj´ı se vstupn´ı soubory, resp. sloˇzky, a spouˇst´ı samotn´a vizualizace. Panel Z´akladn´ı nastaven´ı lze vidˇet na obr´azku 4, jeho jednotliv´e ˇc´asti budou pops´any n´ıˇze.
1 2 3 4
Obr´azek 4: Sn´ımek karty Vizualizace.
Transformace pouˇzit´e pˇri vizualizaci Tento panel se nach´az´ı pod ˇc´ıslem 1 na obr´azku 4. Jeho u ´ kolem je aplikovat na zvolen´e vstupn´ı soubory transformaˇcn´ı sady nastaven´e uˇzivatelem, kter´e zpˇresˇ nuj´ı nasn´ıman´e sportovn´ı z´aznamy. Pokud je zvoleno pouˇzit´ı transformac´ı, pak jsou tyto transformace pouˇzity pro pˇr´ıpravu v´ystupn´ıch dat, ale p˚ uvodn´ı GPX soubor se nezmˇen´ı. Popis tvorby transformaˇcn´ıch sad je uveden v ˇc´asti 6.2. 6
5 VIZUALIZACE
5.1 Panel Z´akladn´ı nastaven´ı
Typ vizualizace Uvnitˇr tohoto panelu si uˇzivatel m˚ uˇze vybrat, jestli bude generovat vizualizaci z jednoho souboru nebo vˇsech soubor˚ u ve zvolen´e sloˇzce a pˇr´ıpadnˇe jak´y typ vizualizace si zvol´ı. Panel je vidˇet na obr´azku 4 pod ˇc´ıslem 2. Uˇzivatel si m˚ uˇze zvolit z n´asleduj´ıc´ıch moˇznost´ı: • Jeden soubor – Z jednoho GPX souboru se vygeneruje jedna HTML vizualizace. • V´ıce soubor˚ u – Ze vstupn´ı sloˇzky s GPX soubory se vygeneruje HTML vizualizace obsahuj´ıc´ı vˇsechny sportovn´ı z´aznamy oddˇelenˇe, jejich grafy a statistiky vˇcetnˇe celkov´ych statistik. • Porovn´an´ı – Ze vstupn´ı sloˇzky s GPX soubory se vygeneruje jedna HTML vizualizace s hromadn´ymi statistikami a grafy, ve kter´ych jsou vyznaˇceny jednotliv´e z´aznamy r˚ uzn´ymi barvami. Tuto formu vizualizace lze pouˇz´ıt pouze v kombinaci s vizualizac´ı v´ıce soubor˚ u a nejˇcastˇeji se pouˇz´ıv´a pro kontrolu nastaven´ı vhodn´e kombinace filtr˚ u. • Kalend´aˇr – Ze vstupn´ıho souboru nebo sloˇzky se vygeneruje HTML vizualizace, kter´a obsahuje kalend´aˇr. Pokud jste jiˇz jednou generovali v´ystup formou kalend´aˇre a chcete do nˇej pˇridat nov´e z´aznamy, pak jednoduˇse zvol´ıte v´ystupn´ı sloˇzku, ve kter´e se jiˇz vizualizace v podobˇe kalend´aˇre nach´az´ı a novˇe generovan´e z´aznamy se do nˇej pˇridaj´ı. Pokud se nˇekter´y vstupn´ı GPX soubor jmenuje stejnˇe jako ten, ze kter´eho jiˇz byla vygenerov´ana vizualizace do dan´eho kalend´aˇre, uˇzivatel bude informov´an o tom, ˇze tento soubor se z´aznamem nebude vloˇzen do kalend´aˇre. Vizualizace formou kalend´aˇre lze prov´adˇet pˇri vizualizaci jednoho souboru i cel´e sloˇzky, nelze ji ale spustit v kombinaci s vizualizac´ı formou Porovn´an´ı. Nastaven´ı vstup˚ u a v´ystup˚ u Na tomto panelu se vol´ı vstupn´ı soubor, resp. sloˇzka, a v´ystupn´ı sloˇzka. Panel je k nahl´ednut´ı na obr´azku 4 pod ˇc´ıslem 3. Tlaˇ c´ıtko Spust’ vizualizaci Tlaˇc´ıtko lze vidˇet na obr´azku 4 pod ˇc´ıslem 4. Po jeho stisknut´ı se spust´ı generov´an´ı vizualizace, o kter´em budete informov´ani pomoc´ı indik´atoru pr˚ ubˇehu zn´azornˇen´eho na obr´azku 5.
7
5 VIZUALIZACE
5.2 Panel Rozˇs´ıˇren´a HTML Nastaven´ı
Obr´azek 5: Pr˚ ubˇeh generov´an´ı vizualizace.
5.2
Panel Rozˇs´ıˇren´a HTML Nastaven´ı
Tato karta slouˇz´ı pro rozˇs´ıˇren´e u ´ pravy v´ystupn´ıho HTML souboru. M˚ uˇzete zde nastavit nadpis a popis jednotliv´ych vizualizac´ı, velikosti graf˚ u, vybrat grafy, kter´e budou vygenerov´any, a tak d´ale. Panel rozˇs´ıˇren´eho HTML nastaven´ı je k vidˇen´ı na obr´azku 6. Vˇsechny uveden´e moˇznosti budou pops´any n´ıˇze.
1
2 3
4
5 6 Obr´azek 6: N´ahled do panelu Rozˇs´ıˇren´a HTML Nastaven´ı.
8
6 TRANSFORMACE Nadpis a Popis Pokud chcete k vizualizaci pˇridat nˇejak´e doplˇ nuj´ıc´ı u ´ daje, m˚ uˇzete vyuˇz´ıt pr´avˇe nadpisu a popisu zn´azornˇen´ych ˇc´ıslem 1 na obr´azku 6. Tyto u ´ daje budou vloˇzeny na zaˇc´atek HTML vizualizace. Ale pˇri hromadn´e vizualizaci formou kalend´aˇre je potˇreba si d´at pozor, jelikoˇz pak vˇsechny tyto z´aznamy dostanou stejn´e nadpisy a popisy. ˇ ıˇrky graf˚ S´ u Zde (obr´azek 6, ˇc´ıslo 2) si m˚ uˇzete nastavit ˇs´ıˇrku generovan´ych graf˚ u v pixelech. Ty se generuj´ı jak v bitmapov´em PNG form´atu, tak i ve vektorov´em SVG. Barvy track˚ u Pˇri vizualizaci formou porovn´an´ı jsou jednotliv´e z´aznamy odliˇseny pomoc´ı barev. Tyto barvy si m˚ uˇzete vybrat po stisknut´ı tlaˇc´ıtka zn´azornˇen´eho na obr´azku 6 pod ˇc´ıslem 3. Generovan´e grafy a Generovan´e statistiky Zde m´ate moˇznost si vybrat, jak´e grafy budete ve vizualizaci generovat a jak´e u ´ daje budou zobrazeny ve v´ystupn´ıch statistik´ach. Vˇsechny moˇznosti, kter´e m˚ uˇzete zvolit, jsou k vidˇen´ı na obr´azku 6 pod ˇc´ıslem 4. D´ale m´ate moˇznost volby poˇctu desetinn´ych m´ıst u hodnot zobrazen´ych ve statistik´ach, pˇriˇcemˇz na v´ybˇer m´ate mezi ˇz´adn´ym aˇz tˇremi desetinn´ymi m´ısty. N´azvy track˚ u Pˇri generov´an´ı vizualizace m´ate na v´ybˇer ze dvou typ˚ u pojmenov´av´an´ı z´aznam˚ u, a to bud’ podle jm´ena vstupn´ıho GPX souboru, a nebo podle dne v t´ydnu, ve kter´em byl z´aznam poˇr´ızen. Tuto volbu m˚ uˇzete vidˇet na obr´azku 6 pod ˇc´ıslem 5. ˇ Letn´ı ˇcas a Casov´ e p´asmo Jelikoˇz jsou GPX soubory uloˇzeny v ˇcasov´em p´asmu UTC 0 a v zimn´ım ˇcase, zde (obr´azek 6, ˇc´ıslo 6) m´ate moˇznost nastaven´ı ˇcasov´eho p´asma, ve kter´em byl z´aznam poˇr´ızen, a letn´ı ˇcas.
6
Transformace
Tato ˇc´ast aplikace nab´ız´ı transformaci GPX soubor˚ u, jeˇz spoˇc´ıv´a v aplikaci r˚ uzn´ych filtr˚ u na GPX soubory ve snaze doc´ılit co moˇzn´a nejvˇetˇs´ıho zpˇresnˇen´ı 9
6 TRANSFORMACE
6.1 Panel Z´akladn´ı nastaven´ı
sportovn´ıho z´aznamu. Z´aroveˇ n se v t´eto ˇc´asti vytv´aˇr´ı jednotliv´e kombinace filtr˚ u, kter´e si m˚ uˇzete pˇripravit na m´ıru“ pro jednotliv´e sporty. V´yhodou je, ˇze ” po proveden´e transformaci dostaneme novou verzi opraven´ych GPX soubor˚ u, se kter´ymi m˚ uˇzeme d´ale pracovat, napˇr´ıklad je vizualizovat.
6.1
Panel Z´akladn´ı nastaven´ı
Uvnitˇr tohoto panelu se prov´ad´ı samotn´e transformace GPX soubor˚ u. Z´aroveˇ n transformace m˚ uˇze slouˇzit jako konverze mezi jednotliv´ymi verzemi (1.0 a 1.1) souboru GPX. Na obr´azku 7 je k nahl´ednut´ı panel z´akladn´ıho nastaven´ı a spouˇstˇen´ı transformac´ı.
1
2 3
Obr´azek 7: N´ahled do panelu Transformace.
10
6 TRANSFORMACE
6.2 Panel Posloupnost transformac´ı
Typ transformace Tento panel je zn´azornˇen na obr´azku 7 pod ˇc´ıslem 1. Zde m˚ uˇzete nastavit typ transformace, pˇriˇcemˇz m´ate na v´ybˇer z n´asleduj´ıc´ıch moˇznost´ı: • Jeden soubor – Z jednoho vstupn´ıho GPX souboru se vygeneruje nov´y. • V´ıce soubor˚ u – Ze vstupn´ı sloˇzky s GPX soubory se vygeneruj´ı nov´e soubory. • Slouˇcen´ı – Ze vstupn´ı sloˇzky s GPX soubory se vygeneruje jeden soubor obsahuj´ıc´ı vˇsechny z´aznamy ze vstupn´ıch dat. Jednotliv´e z´aznamy budou rozdˇeleny do track˚ u. Tato volba je moˇzn´a jen v kombinaci s transformac´ı v´ıce soubor˚ u. • Pouˇz´ıt sadu – Umoˇzn ˇ uje pouˇz´ıt sadu transformaˇcn´ıch filtr˚ u na vstupn´ı GPX soubory a t´ım se pokusit je zpˇresnit. Vytv´aˇren´ı transformaˇcn´ıch sad je pops´ano v kapitole 6.2. Zad´an´ı vstup˚ u a v´ystup˚ u Jako ve vizualizaˇcn´ı ˇc´asti zde vol´ıme vstupn´ı a v´ystupn´ı soubor, respektive sloˇzku. Nav´ıc zde m˚ uˇzeme zvolit verzi GPX souboru, na v´ybˇer je mezi 1.0 a 1.1. Tento panel je k nahl´ednut´ı na obr´azku 7 pod ˇc´ıslem 2. Tlaˇ c´ıtko Spust’ transformaci Tlaˇc´ıtko spouˇstˇej´ıc´ı transformaci lze vidˇet na obr´azku 7 pod ˇc´ıslem 3. Stejnˇe jako pˇri vizualizaci se objev´ı indik´ator pr˚ ubˇehu informuj´ıc´ı o dosavadn´ım postupu.
6.2
Panel Posloupnost transformac´ı
Tento panel (viditeln´y na obr´azku 8) slouˇz´ı k vytv´aˇren´ı jednotliv´ych transformaˇcn´ıch sad, kter´e pˇri spr´avn´em pouˇzit´ı pom˚ uˇzou zpˇresnit nasn´ıman´e sportovn´ı z´aznamy. N´ıˇze je pops´ano vytv´aˇren´ı jednotliv´ych transformaˇcn´ıch sad.
Sady transformac´ı V tomto panelu m˚ uˇzete naˇc´ıtat nebo mazat jiˇz vytvoˇren´e transformaˇcn´ı sady. Vytvoˇrenou sadu zobraz´ıte pomoc´ı v´ybˇeru ze seznamu transformaˇcn´ıch sad a n´asledn´ym kliknut´ım na tlaˇc´ıtko Vyber. Po v´ybˇeru sady ji m˚ uˇzete tak´e smazat pomoc´ı tlaˇc´ıtka Zruˇs. Popsan´e prvky lze vidˇet na obr´azku 8 pod ˇc´ıslem 1. 11
6 TRANSFORMACE
6.2 Panel Posloupnost transformac´ı
1
5 2
3 4
Obr´azek 8: N´ahled do panelu Posloupnost transformac´ı. V´ysledn´a posloupnost Uvnitˇr tohoto panelu si m˚ uˇzete vytvoˇrit vlastn´ı transformaˇcn´ı sady, kter´e budou vyhovovat poˇzadovan´ym krit´eri´ım. Jednotliv´e transformaˇcn´ı filtry jsou pops´any v kapitole 7. Pro vytvoˇren´ı vlastn´ı transformaˇcn´ı sady se postupuje n´asledovnˇe (cel´y postup se odkazuje na obr´azek 8): 1. Ze seznamu filtr˚ u si vyberete ten, kter´y chcete pouˇz´ıt, a kliknete na tlaˇc´ıtko Pˇridej. Tyto prvky m˚ uˇzete vidˇet pod ˇc´ıslem 2. 2. Po kliknut´ı na tlaˇc´ıtko Pˇridej se ve spodn´ım panelu (3) zobraz´ı dan´y filtr. 3. Pomoc´ı pˇredchoz´ıch krok˚ u m˚ uˇzete pˇrid´avat do sady dalˇs´ı filtry. 4. Na sportovn´ı z´aznam jsou filtry aplikov´any postupnˇe v poˇrad´ı od shora dol˚ u, proto m˚ uˇzete pomoc´ı ˇsipek mˇenit jejich poˇrad´ı nebo jednotliv´e filtry odeb´ırat (4). 5. Po vytvoˇren´ı sady ji m˚ uˇzete pojmenovat a uloˇzit (5). 12
7 POPIS FILTR˚ U
7 7.1
Popis filtr˚ u V´yˇsky SRTM offline
Tento filtr slouˇz´ı k nahrazen´ı nadmoˇrsk´ych v´yˇsek namˇeˇren´ych pomoc´ı GPS trasovaˇce za pˇresnˇejˇs´ı. Pokud chcete tento filtr pouˇz´ıvat, mus´ıte si nejprve v´yˇskov´a data st´ahnout a vloˇzit je do sloˇzky srtm, kter´a se nach´az´ı ve sloˇzce aplikace GPX Wizard. Data si m˚ uˇzete st´ahnout z tˇechto webov´ych str´anek: http://srtm.csi.cgiar.org/SELECTION/inputCoord.asp Po naˇcten´ı str´anek si m˚ uˇzete z mapy vybrat jednotliv´e ˇctverce, pro kter´e chcete m´ıt staˇzen´a v´yˇskov´a data, viz obr´azek 9.
Obr´azek 9: Webov´e str´anky CGIAR-CSI SRTM, odkud lze st´ahnout v´yˇskov´a data. ˇ Ctverce vyberete jednoduˇse pomoc´ı kliknut´ım na nˇe. V´yˇskov´a data mus´ıte st´ahnout ve form´atu ArcInfo ASCII (viz obr´azek 9 (3)). Po v´ybˇeru dat si je vyhled´ate pomoc´ı kliknut´ı na tlaˇc´ıtko viditeln´e na obr´azku 9 (4). Pokud spust´ıte vizualizaci nebo transformaci s filtrem V´yˇsky SRTM offline a nebudete m´ıt pro dan´y z´aznam staˇzen´a v´yˇskov´a data, budete vyzv´ani k jejich staˇzen´ı pomoc´ı dialogov´eho okna zn´azornˇen´eho na obr´azku 10.
13
7 POPIS FILTR˚ U
7.1 V´yˇsky SRTM offline
Obr´azek 10: Dialogov´e okno upozorˇ nuj´ıc´ı na chybˇej´ıc´ı v´yˇskov´a data pro povrch Zemˇe, kde byl nahr´an sportovn´ı z´aznam. V takov´em pˇr´ıpadˇe je doporuˇceno, abyste na webov´ych str´ank´ach pro staˇzen´ı v´yˇskov´ych dat zvolili moˇznost Input Coordinates (viz obr´azek 9 (1)) a vyplnili pole Longitude a Langitude podle obr´azku 11.
Obr´azek 11: Staˇzen´ı v´yˇskov´ych dat po v´yzvˇe aplikace GPX Wizard viditeln´e na obr´azku 10. Po vyhled´an´ı dat pomoc´ı v´yˇse zm´ınˇen´eho postupu se zobraz´ı detail na vybranou oblast (viz obr´azek 12), kde jsou informace o oblasti zn´azornˇeny ˇc´ıslem 1. Samotn´a v´yˇskov´a data se st´ahnou po kliknut´ı na jednu z nab´ızen´ych forem pˇr´ıstupu (viz obr´azek 12 (2)).
1
2
Obr´azek 12: Detail na vybranou oblast Data se st´ahnou v ZIP archivu, po jeho rozbalen´ı staˇc´ı zkop´ırovat ASC soubor do sloˇzky srtm, kter´a se nach´az´ı ve sloˇzce s aplikac´ı. Jakmile bude soubor s v´yˇskov´ymi daty ve sloˇzce srtm, aplikace s n´ım zaˇcne pracovat, to 14
7 POPIS FILTR˚ U
7.2 Nahrazen´ı rychlost´ı
znamen´a, ˇze pokud po zobrazen´ı varovn´eho dialogu (viz obr´azek 10) vloˇz´ıte do sloˇzky poˇzadovan´y soubor s v´yˇskov´ymi daty a aˇz pot´e kliknete na tlaˇc´ıtko OK, bude u z´aznam˚ u v´yˇska nahrazena.
7.2
Nahrazen´ı rychlost´ı
Nˇekter´e GPS trasovaˇce nezaznamen´avaj´ı rychlost a pokud ano, je ˇcasto nepˇresn´a. Tento filtr tedy dopoˇc´ıt´av´a rychlost pomoc´ı vzd´alenosti mezi sousedn´ımi body. Pokud tento filtr pouˇz´ıv´ate v sadˇe s ostatn´ımi, je doporuˇcov´ano ho um´ıstit jako posledn´ı.
7.3
Filtrace st´an´ı
Pˇri sn´ım´an´ı polohy pomoc´ı trasovaˇce a souˇcasn´eho st´an´ı na m´ıstˇe vznik´a hvˇezda“, kter´a je zp˚ usobena nepˇresn´ym mˇeˇren´ım. Tento filtr odstraˇ nuje hvˇe” ” zdy“ pomoc´ı volby polomˇeru kruhu, kter´y je postupnˇe aplikov´an na vˇsechny body, pˇriˇcemˇz pokud n´asleduj´ıc´ı bod leˇz´ı v polomˇeru aktu´aln´ıho bodu, je odstranˇen. Proto se mus´ı volit polomˇer v rozumn´ych hodnot´ach a v z´avislostech na dan´ych sportech, jinak by tento filtr zasahoval i do m´ıst, kde doch´azelo k pohybu. Na obr´azku 13 je vidˇet rozd´ıl mezi z´aznamem bez pouˇzit´ı filtru a po aplikaci filtru.
Obr´azek 13: Rozd´ıl mezi z´aznamy pˇri pouˇzit´ı filtru Filtrace st´an´ı. Obr´azek vlevo pˇredstavuje z´aznam bez pouˇzit´ı filtru, obr´azek vpravo s filtrem o polomˇeru 15 metr˚ u.
7.4
Pr˚ umˇer v´yˇsky
Tento filtr umoˇzn ˇ uje vyhlazen´ı nadmoˇrsk´ych v´yˇsek pomoc´ı aproximace k okoln´ım bod˚ um. U filtru se nastavuje ˇcasov´e rozpˇet´ı intervalu. To znamen´a, ˇze pokud zvol´ıte interval 15 vteˇrin, vezmou se vˇsechny body v ˇcasov´em rozmez´ı ±15 vteˇrin a z tˇechto bod˚ u bude zpr˚ umˇerov´ana v´yˇska, kter´a bude dosazena do aktu´aln´ıho bodu. Filtr potˇrebuje m´ıt nastaven´e vˇetˇs´ı intervaly, aby byl v´ysledek filtru viditeln´y, to protoˇze nadmoˇrsk´a v´yˇska se nemˇen´ı tak rychle 15
7 POPIS FILTR˚ U
7.5 Pr˚ umˇer odskoky
jako napˇr´ıklad poloha nebo rychlost. Nev´yhodou filtru je, ˇze m˚ uˇze oˇr´ıznout vrcholky hor, jak je vidˇet na obr´azku 14.
Obr´azek 14: Rozd´ıl mezi z´aznamy pˇri pouˇzit´ı filtru Pr˚ umˇer v´yˇsky. Graf vlevo pˇredstavuje z´aznam bez pouˇzit´ı filtru, graf vpravo s filtrem o intervalu 60 vteˇrin.
7.5
Pr˚ umˇer odskoky
Tento filtr pracuje na stejn´em principu jako pˇredchoz´ı s t´ım rozd´ılem, ˇze tento filtr pr˚ umˇeruje polohu jednotliv´ych bod˚ u. Filtr slouˇz´ı pˇredevˇs´ım k potlaˇcen´ı odskok˚ u zp˚ usoben´ych chybovost´ı sn´ım´an´ı dat pomoc´ı GPS sn´ımaˇc˚ u. Uk´azka vyhlazen´ı odskoku lze vidˇet na obr´azku 15. Interval se mus´ı volit opatrnˇe, jelikoˇz pˇri vˇetˇs´ıch intervalech se trasa narovn´av´a, viz obr´azek 16.
Obr´azek 15: Vyhlazen´ı z´aznamu po odskoku. Na prvn´ım obr´azku je trasa s odskokem, na druh´em je po jeho vyhlazen´ı.
16
7 POPIS FILTR˚ U
7.6 Pr˚ umˇer rychlost
Obr´azek 16: Rozd´ıl mezi z´aznamy pˇri pouˇzit´ı filtru Pr˚ umˇer odskoky. Obr´azek nahoˇre pˇredstavuje z´aznam bez pouˇzit´ı filtru, obr´azek uprostˇred s filtrem o intervalu 15 vteˇrin a obr´azek dole s filtrem o intervalu 30 vteˇrin.
7.6
Pr˚ umˇer rychlost
Filtr pracuj´ıc´ı na stejn´em principu jako dva pˇredchoz´ı. Tento filtr vyhlazuje rychlost pomoc´ı zpr˚ umˇerov´an´ı rychlosti v okoln´ıch bodech.
17
Pˇ r´ıloha B – Obsah CD Uvnitˇr pˇriloˇzen´eho CD se nach´az´ı: • Sloˇzka zdrojov´e soubory aplikace – Uvnitˇr sloˇzky se nach´az´ı zdrojov´e soubory v hierarchii uloˇzen´e pro vloˇzen´ı do v´yvojov´eho prostˇred´ı Eclipse. • Sloˇzka zdrojov´e soubory textu – Zdrojov´e soubory textu bakal´aˇrsk´e pr´ace. • PDF soubor bakal´aˇrsk´a pr´ace – PDF s bakal´aˇrskou prac´ı vˇcetnˇe pˇr´ıloh. • Archiv gpxwizard – funkˇcn´ı aplikace GPX Wizard vˇcetnˇe SRTM dat pro ˇ Ceskou republiku.