Flexibilní GPS Navigace Pro Mobilní Zarízení S OS Linux

Flexibilní GPS Navigace Pro Mobilní Zarízení S OS Linux

MASARYKOVA UNIVERZITA F}w¡¢£¤¥¦§¨ AKULTA INFORMATIKY !"#$%&'()+,-./012345<yA| Flexibilní GPS navigace pro mobilní zaˇrízenís OS Linux BAKALÁRSKÁˇ PRÁCE Martin Kolman Brno, jaro 2010 Prohlášení Prohlašuji, že tato bakaláˇrskápráce je mým p ˚uvodnímautorským dílem, které jsem vypracoval samostatnˇe.Všechny zdroje, prameny a literaturu, které jsem pˇrivypracování používal nebo z nich ˇcerpal,v práci ˇrádnˇecituji s uvedením úplného odkazu na pˇríslušnýzdroj. Vedoucí práce: RNDr. Aleš Horák, Ph.D. ii Podˇekování Dˇekujivedoucímu mé bakaláˇrsképráce RNDr. Aleši Horákovi, Ph.D. za odborné vedení, zajímavé podnˇetya pomoc pˇritestování modRany. Rovnˇež mu dˇekujiza poskytnutí techniky a zdroj ˚u,bez kterých by tento projekt nemohl být realizován. iii Shrnutí První ˇcástpráce obsahuje úvod do problematiky navigaˇcníhosoftwaru a po- kraˇcujepˇrehledema srovnáním navigaˇcníchsystém ˚u,dostupných pro mo- bilní linuxové platformy. Dále se práce zamˇeˇrujena výbˇervhodného navi- gaˇcníhosystému k úpravám a popisu tˇechtoúprav ve formˇenového navi- gaˇcníhosystému modRana. Je zde také popsáno vývojové prostˇredía uži- vatelská základna systému modRana. Závˇereˇcná ˇcástse zabývá dalšími možnými smˇeryvývoje. Navigaˇcnísystém modRana byl implementován v jazyce Python s pomocí PyGTK a Cairo. iv Klíˇcováslova GPS, navigace, navigaˇcnísystém, Linux, mobilní zaˇrízení,OpenStreetMap, modRana, Maemo, N900 v Obsah 1 Navigaˇcnísoftware pro mobilní zaˇrízenís OS Linux . 2 1.1 Klasifikace navigaˇcníchsystém ˚u ................ 2 1.1.1 Navigaˇcnísoftware používající bitmapové dlaždice . 2 1.1.2 Navigaˇcnísoftware používající vektorové mapové pod- klady . 3 1.1.3 Navigaˇcnísoftware nepoužívající mapové podklady 3 1.2 Hledání cesty ........................... 3 1.2.1 Hledání cesty z lokálních dat . 4 1.2.2 Hledání cesty pomocí internetové služby . 4 1.2.3 Manuální výbˇercesty . 5 1.2.4 Cesta ze záznamu . 5 1.3 Pˇrehleddostupných navigaˇcníchsystém ˚u ........... 5 1.3.1 TangoGPS . 5 1.3.2 Navit . 6 1.3.3 Rana . 8 1.3.4 OmGPS . 9 1.3.5 Maemo Mapper . 10 1.3.6 McNavi . 11 1.3.7 Simple geocaching tool for Linux . 12 1.3.8 Advanced Geocaching Tool for Linux . 13 2 Požadavky a návrh ........................... 15 2.1 Výbˇernavigaˇcníhosystému pro modifikaci . 15 2.1.1 Navigaˇcnísystém Rana . 16 Python . 16 PyGTK a Cairo . 16 Modulární struktura . 16 2.2 Návrh implementace požadovaných funkcí . 16 2.2.1 Konfigurovatelnost . 16 2.2.2 Auto, kolo a pˇešípoužití . 17 2.2.3 Podpora mapových podklad ˚u . 17 2.2.4 Stahování a offline použití mapových podklad ˚u . 18 2.2.5 Cílová platforma a multiplatformnost . 18 vi 2.3 Návrh implementace dodateˇcnýchfunkcí . 19 2.3.1 Hledání cesty a POI . 19 2.3.2 Práce s trasami . 19 2.3.3 Informaˇcníukazatele . 20 2.3.4 Profil trasy . 20 2.3.5 Pˇrekrývánímapových vrstev . 20 3 Implementace navigaˇcníhosystému modRana . 21 3.1 Úpravy uživatelské rozhraní ................... 21 3.1.1 Zobrazení pˇrizp˚usobenépomˇeru stran . 21 3.1.2 Konfigurovatelné rozhraní . 21 3.1.3 Formát konfiguraˇcníhosouboru . 22 3.1.4 Nový ukazatel pozice . 24 3.1.5 Vylepšený systém zobrazování dlaždic . 25 3.2 Vyhledávání cesty ......................... 26 3.2.1 Režimy vyhledávání trasy . 26 3.2.2 Formát startu a cíle . 26 3.2.3 Zadávání startu a cíle v modRanˇe . 27 3.2.4 Informace dostupné o nalezené cestˇe . 27 3.2.5 Ukládání nalezených cest mezi trasy . 27 3.3 Práce s trasami ........................... 28 3.3.1 Podpora tras ve formátu GPX . 28 3.3.2 Výškový profil . 28 3.3.3 Zobrazení aktuálního výškového profilu . 29 3.3.4 Optimalizované vykreslování tras . 29 3.3.5 Správce tras . 30 3.4 Dávkové stahování mapových dílc ˚u . 30 3.4.1 Režimy dávkového stahování . 30 3.4.2 Souvislé pokrytí nespojité trasy . 31 3.4.3 Doplnˇenídlaždic z dalších úrovní pˇriblížení . 32 3.4.4 Stahování dlaždic a metainformací . 32 3.5 Inovovaný systém ukládání dílc ˚u . 32 3.6 Pˇrekrytímapových vrstev .................... 33 3.7 Integrace internetových služeb . 34 3.7.1 Doplnˇenívýškových dat k trase . 34 3.7.2 Hledání POI pomocí Google Local Search . 34 3.8 N900 ................................ 35 3.8.1 Instalaˇcníbalíˇcek . 36 3.8.2 Podpora pro Location API . 36 3.8.3 Alternativní adresáˇrpro ukládání mapových dílc ˚u . 36 3.9 Neo FreeRunner .......................... 37 vii 3.10 Rozšíˇrenápodpora mapových podklad ˚u . 37 3.10.1 Úpravy . 37 3.10.2 Rozšíˇrenípodporovaných mapových podklad ˚u . 37 3.10.3 Google Maps, Google Satelite . 38 3.10.4 Yahoo Maps, Satelite . 38 3.10.5 Virtual Earth . 38 3.11 Vývojové prostˇredí ........................ 39 3.11.1 Neo FreeRunner . 39 3.11.2 Smart Q7 . 39 3.11.3 Maemo 5 SDK . 40 3.12 Konference Openmobility 2010 . 40 3.13 Uživatelé modRany ........................ 40 4 Závˇer ................................... 41 4.1 Podpora více poskytovatel ˚uonline služeb . 41 4.2 Práce s offline katalogy POI ................... 41 4.3 Integrace funkcí specifických pro platformu . 42 4.3.1 Podpora klávesnice . 42 4.3.2 Akcelerometr . 42 4.3.3 Alternativní metody zjištˇenípolohy . 42 4.4 Podpora dalších formát ˚upro záznamy trasy . 43 A Snímky obrazovky ........................... 48 B Obsah CD ................................ 61 viii Úvod V souˇcasnédobˇeexistuje pˇrekvapivˇevelké množství linuxových navigaˇc- ních aplikací. Tento jev je relativnˇenový a podle mého názoru je zp ˚usoben vˇetšídostupností mobilních linuxových zaˇrízení,jako jsou napˇríkladNeo FreeRunner nebo na Maemu založené tablety spoleˇcnostiNokia. Existuje již nˇekolikvelkých a pokroˇcilýchprojekt ˚u,poskytujících kom- plexní funkcionalitu, jako jsou napˇríkladTangoGPS, Navit nebo Maemo Mapper. Tyto projekty sice nejsou zcela bez závady, jsou však již použitelné k navigaci v terénu. Kromˇevelkých navigaˇcníchprojekt ˚uexistuje také ˇradamenších apli- kací, které ˇcastopostrádají i základní funkcionalitu. Nabízejí však r ˚uzné zajímavé vlastnosti, které ale nejsou ve "velkých"navigaˇcníchsystémech k dispozici. V rámci této práce jsem provedl pr ˚uzkumdostupných navigaˇcníchsys- tém ˚u,srovnával jsem jejich vlastnosti, klady a zápory. Na základˇetohoto pr ˚uzkumujsem si k modifikaci vybral navigaˇcnísystém Rana. Pˇriprová- dˇeníúprav jsem se snažil implementovat zajímavé a praktické funkce, do- stupné v ostatních navigaˇcníchsystémech. Výsledkem tˇechtoúprav je na- vigaˇcnísystém modRana. Poznatky, které jsem získal bˇehempˇrípravytéto práce, a navigaˇcnísys- tém modRana jsem prezentoval 24. dubna 2010 na konferenci Openmobi- lity, která probˇehlana Fakultˇeaplikované informatiky Univerzity Tomáše Bati ve Zlínˇe. 1 Kapitola 1 Navigaˇcnísoftware pro mobilní zaˇrízenís OS Linux Vˇetšinadostupného navigaˇcníhosoftware pro mobilní Linux patˇrímezi svobodný software, výjimku tvoˇrínapˇríkladnavigaˇcnízaˇrízenífirmy Tom- Tom, používající proprietární navigaˇcnísoftware nebo zdarma dostupné, ale proprietární Ovi Maps od spoleˇcnostiNokia. Vzhledem k tomu, že mým úkolem bylo vybrat a upravit vhodný navigaˇcnísystém, budu se dále vˇe- novat pouze volnˇešiˇritelnémunavigaˇcnímusoftwaru. 1.1 Klasifikace navigaˇcníchsystém ˚u Navigaˇcnísoftware lze rozdˇelitpodle zp ˚usobupráce s mapovými pod- klady na 3 skupiny: ∙ navigaˇcnísoftware používající bitmapové dlaždice ∙ navigaˇcnísoftware použivající vektorové mapové podklady ∙ navigaˇcnísoftware nepoužívající mapové podklady D ˚uležitýmzdrojem volnˇešiˇritelnýchvektorových dat i bitmapových dlaždic je projekt OpenStreetMap, popsaný v knize autor ˚uFrederika Ra- mma a Joechena Topfa [1]. 1.1.1 Navigaˇcnísoftware používající bitmapové dlaždice Tento typ navigaˇcníchsystém ˚upoužívá mapové podklady ve formˇeˇctver- cových dlaždic, ze kterých vytváˇrísouvislou vrstvu. Tato vrstva pak tvoˇrí výslednou mapu. Mˇeˇrítkomapy urˇcujetakzvaná úroveˇnpˇriblížení1, která urˇcujemˇeˇrítkokonkrétní vrstvy. Nízká úroveˇnpˇriblíženíznamená vysoké mˇeˇrítkoa menší celkový poˇcetdlaždic ve vrstvˇe.Vysoká úroveˇnpˇriblížení znamená menší mˇeˇrítkoa vˇetšípoˇcetdlaždic. Celková mapa je pak tvoˇrena souborem vrstev, odpovídajících jednotlivým mˇeˇrítk˚um. 1. z anglického zoomlevel 2 1. NAVIGACN͡ SOFTWARE PRO MOBILNÍ ZARÍZEN͡ S OS LINUX Hlavní výhodou bitmapových dlaždic jsou nízké nároky na výkon zob- razujícího zaˇrízenía proto, jelikož na sobˇedlaždice nezávisí, je možné dlaž- dice snadno stahovat podle aktuální potˇreby, popˇrípadˇestažené dlaždice aktualizovat. Pro velké oblasti s nízkým mˇeˇrítkemvšak výraznˇeroste poˇcetdlaždic a nároky na úložný prostor. Bitmapové dlaždice také neobsahují žádné in- formace o svém obsahu, takže napˇríkladhledání cesty a upozorˇnovánína body zájmu musí navigaˇcnísystém ˇrešitjinými prostˇredky. Dlaždice používají napˇríkladwebové mapové aplikace nebo navigaˇcní systémy Rana a TangoGPS. Tˇemtonavigaˇcnímsystém ˚umse podrobnˇejivˇe- nuji v sekcích 1.3.3 a 1.3.1 1.1.2 Navigaˇcnísoftware používající vektorové mapové podklady Vektorové mapové podklady fungují na principu vektorové grafiky, jed- notlivé geografické vlastnosti jsou popsány pomocí ˇretˇezc˚usložených ze znak ˚ua ˇcísel. Na rozdíl od binárních dílc ˚unelze tato data zobrazit pˇrímo a je nutné nejdˇríveprovést zpracování do grafické podoby. Takto ostatnˇetaké vzniká vˇetšinabinárních mapových dílc ˚u(s výjimkou oskenovaných historických map a satelitních snímk ˚u).Generování mapy z grafických dílc ˚uje pomˇernˇe nároˇcnouˇcinností, ale na druhou stranu umožˇnujez jednoho souboru dat vykreslit mnoho úrovní pˇriblížení anebo stejná data využít pro hledání trasy. Mezi navigaˇcnísystémy, které používají vektorové mapové podklady, patˇrínapˇríkladnavigaˇcnísystém Navit a mnoho komerˇcníchjednoúˇcelo-

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    71 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us