+ All Categories
Home > Documents > OpenStreetMap - Aplikace offline mapových podkladůrobotika/2012_MRBT/2012_M12_Open...3.2...

OpenStreetMap - Aplikace offline mapových podkladůrobotika/2012_MRBT/2012_M12_Open...3.2...

Date post: 18-Jan-2020
Category:
Upload: others
View: 9 times
Download: 0 times
Share this document with a friend
19
OpenStreetMap – Aplikace offline mapových podkladů Autoři: Vojtěch Erben, Dávid Muzika, Boris Benko, Rastislav Jančuš Petr Maslák, Michal Gábriš
Transcript
Page 1: OpenStreetMap - Aplikace offline mapových podkladůrobotika/2012_MRBT/2012_M12_Open...3.2 Souřadný systém WGS-84 WGS-84 (World Geodetic System 1984, Světový geodetický systém

OpenStreetMap – Aplikace offlinemapových podkladů

Autoři: Vojtěch Erben, Dávid Muzika, Boris Benko, Rastislav JančušPetr Maslák, Michal Gábriš

Page 2: OpenStreetMap - Aplikace offline mapových podkladůrobotika/2012_MRBT/2012_M12_Open...3.2 Souřadný systém WGS-84 WGS-84 (World Geodetic System 1984, Světový geodetický systém

Obsah1 Zadání 2

2 Poskytovatelé map 22.1 OpenStreetMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.2 Google Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.3 Yahoo! Maps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.4 Mapy.cz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.5 Cykloatlas on-line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.6 Mapy iDNES.cz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3 Souřadné systémy ETRS89 a WGS-84 53.1 Souřadný systém ETRS89 . . . . . . . . . . . . . . . . . . . . . . . . . . 53.2 Souřadný systém WGS-84 . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.2.1 Primární parametry . . . . . . . . . . . . . . . . . . . . . . . . . . 63.2.2 Sekundární parametry . . . . . . . . . . . . . . . . . . . . . . . . 6

3.3 Převod mezi souřadnými systémy . . . . . . . . . . . . . . . . . . . . . . 7

4 Získávání mapových podkladů 84.1 GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84.2 Stahování mapových podkladů . . . . . . . . . . . . . . . . . . . . . . . . 94.3 Proces stahování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94.4 Spouštění z příkazového řádku . . . . . . . . . . . . . . . . . . . . . . . . 10

5 Vykreslování mapy 105.1 Složení mapy z mapových dlaždic . . . . . . . . . . . . . . . . . . . . . . 115.2 Posun mapy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

6 Trasa 116.1 Vykreslování trasy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116.2 Editace trasy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

7 Externí řízení aplikace 137.1 Změna pozice mapy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147.2 Přidávání bodů trasy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

8 Grafické uživatelské rozhraní aplikace OSMapViewer 148.1 Práce s tabulkou . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

9 Závěr 17

1

Page 3: OpenStreetMap - Aplikace offline mapových podkladůrobotika/2012_MRBT/2012_M12_Open...3.2 Souřadný systém WGS-84 WGS-84 (World Geodetic System 1984, Světový geodetický systém

1 ZadáníVytvořte seznam současných poskytovatelů mapových podkladů a prozkoumejte jejichmožnosti. Realizujte aplikaci v jazyce C# pro platformu .NET, která umožní získánímapových podkladů pro omezené území z projektu OpenStreetMap pro následné offlinepoužití a která na základě těchto offline dat umožní zobrazení trasy zadané jako množinybodů v souřadném systému ETRS89 (případně WGS-84). Zajistěte konzistentnost sou-řadných systémů ve kterém je zadána množina bodů trasy a ve kterém jsou kalibroványmapové podklady. Pro zadanou trasu bude automaticky zvolen vhodný mapový podklad.Aplikace by také měla umožňovat online vykreslování aktuální trasy.

2 Poskytovatelé map

2.1 OpenStreetMap

Open Street Maps jsou mapové podklady které jsou založeny na koncepci Open source.Data jsou poskytována pod licencí Creative Commons Attribution-ShareAlike 2.0. Open-StreetMap využívá a vyvíjí vlastní souborový formát pro vektorová geodata postavenýna XML. Jako referenční souřadnicový systém je použit WGS-84, pro rychlou a jednodu-chou vizualizaci dat pak často Mercatorova projekce, ve výsledku používá topologickoudatovou strukturu.

Obrázek 1: Centrum Brna v Open Street Maps

Data se ukládají do centrální databáze jako primitiva a to:

Uzly - body lokalizované souřadnicemi v daném referenčním systému.Cesty - posloupnost uzlů, reprezentující polylinii nebo v případě uzavření polylinie pak

polygon.Relace - skupina uzlů, cest a dalších relací, které může být přiřazena daná vlastnost.Atributy - mohou být přiřazeny uzlům, cestám nebo relacím ve formě <klíč>=<hodnota>.

Určují, jaký objekt reálného světa reprezentují. Tyto atributy mohou být rozšiřo-vány a modifikovány.

2

Page 4: OpenStreetMap - Aplikace offline mapových podkladůrobotika/2012_MRBT/2012_M12_Open...3.2 Souřadný systém WGS-84 WGS-84 (World Geodetic System 1984, Světový geodetický systém

2.2 Google Maps

Google Maps je webová mapová služba aplikace a technologie společnosti Google, kterýpohání mnoho map, služeb založených na webových stránkách, včetně Google Maps,Google Ride Finder, Google Transit. Satelitní snímky Google Maps jsou několik měsícůči let staré.

(a) Centrum Brna v Google maps (b) Centrum Brna ve Wikimapii

Mapy Google používají Mercatorovo zobrazení, takže nemohou zobrazit oblast kolempólů.

S mapovými podklady google maps pracuje například WikiMapia, která kombinujemapové podklady a databázi wikipedia.

2.3 Yahoo! Maps

Yahoo! Maps jsou bezplatné mapové podklady poskytované Yahoo!

Obrázek 2: Centrum Brna v Yahoo! maps

3

Page 5: OpenStreetMap - Aplikace offline mapových podkladůrobotika/2012_MRBT/2012_M12_Open...3.2 Souřadný systém WGS-84 WGS-84 (World Geodetic System 1984, Světový geodetický systém

2.4 Mapy.cz

Mapy.cz jsou poskytovatel bezplatných mapových podkladů. Obsahují mapové podkladycelé Evropy části západní Asie a severní Afriky.

Obrázek 3: Centrum Brna v Mapy.Cz

2.5 Cykloatlas on-line

Cykloatlas, jedná se o mapové podklady které jsou založeny na mapových podkladechGoogle maps pouze upravené a rozšířené pro českou republiku.

Obrázek 4: Centrum Brna v Cykloatlasu

2.6 Mapy iDNES.cz

Mapy iDNES jedná se o mapový portál s vlastními mapovými podklady. Obsahuje mapyEvropy a mapy české republiky ve vyšších detailech.

4

Page 6: OpenStreetMap - Aplikace offline mapových podkladůrobotika/2012_MRBT/2012_M12_Open...3.2 Souřadný systém WGS-84 WGS-84 (World Geodetic System 1984, Světový geodetický systém

Obrázek 5: Centrum Brna v Mapy iDNES

3 Souřadné systémy ETRS89 a WGS-84Tato kapitola čerpá ze zdroje [3].

3.1 Souřadný systém ETRS89

Jedná se o Evropský terestrický referenční systém 1989. Je realizován souborem pozem-ních stanic systému GNSS na Evropském kontinentu. Byl vytvořen ze systému ITRS.Systémy ETRS89 i WGS-84 jsou svázány s dynamickým povrchem země a proto je důle-žitá epocha jejich ustanovení.

TRF (terestrický referenční rámec) je tvořen konečným počtem bodů na zemskémpovrchu, které mají přiřazené souřadnice X(t), tyto souřadnice jsou funkcemi času. Nareálné Zemi jsou 𝑋(𝑡) ovlivněny tektonickými pohyby, pohybem souvisejícím s odledně-ním, slapy zemského tělesa, nepřímým vlivem oceánských slapů, polárními slapy (defor-mace způsobená změnou polohy vektoru rotace vůči zemskému tělesu), vlivem zatíženíatmosférou, vlivem změny hladiny podzemních vod, lokálními nestabilitami, seismickýmia vulkanickými efekty a variací geocentra. Pro souřadnice v epoše t je tedy možné psát:

𝑋(𝑡) = 𝑋0 +𝑑𝑋0

𝑑𝑡(𝑡− 𝑡0) +

∑︁𝑥

∆𝑋𝑥(𝑡)

kde ∆𝑋𝑥 jsou korekce souřadnic Rychlost dX0 / dt může být vyjádřena:

𝑑𝑋0

𝑑𝑡= 𝑉𝑝𝑙𝑎𝑡𝑒 + 𝑉𝑖𝑐𝑒 + 𝑉𝑟

kde 𝑉𝑝𝑙𝑎𝑡𝑒 je horizontální rychlost pohybů tektonických desek, 𝑉𝑖𝑐𝑒 je vertikální rychlostpůsobená pohyby po odlednění a 𝑉𝑟 je residuální rychlost. 𝑋0 a 𝑉𝑟 jsou produktem analýzya určování při zpracování měření.

5

Page 7: OpenStreetMap - Aplikace offline mapových podkladůrobotika/2012_MRBT/2012_M12_Open...3.2 Souřadný systém WGS-84 WGS-84 (World Geodetic System 1984, Světový geodetický systém

3.2 Souřadný systém WGS-84

WGS-84 (World Geodetic System 1984, Světový geodetický systém 1984) je geodetickýgeocentrický systém armády USA, ve kterém pracuje globální systém určování polohyGPS a který je zároveň standardizovaným geodetickým systémem armád NATO.

WGS-84 je konvenční terestrický systém (CTRS), realizovaný na základě modifikaceNámořního navigačního družicového systému (Navy Navigation Satellite System, NNSS).Modifikace spočívá v posunu počátku souřadnicové soustavy, rotaci a změně měřítkadopplerovského systému NSWC 9Z-2 tak, aby systém byl geocentrický a referenční nultýpoledník byl identický se základním poledníkem definovaným Bureau International deľHeure (BIH).

Počátek souřadnicové soustavy a směry souřadnicových os systému WGS-84 jsou de-finovány následujícím způsobem:

počátek: těžiště Země,

osa Z: směr ke konvenčnímu terestrickému pólu (Conventional Terrestrial Pole, CTP,identický s CIO) definovanému BIH na základě souřadnic stanic definujících systémBIH,

osa X: průsečnice referenčního poledníku WGS-84 a roviny rovníku vztaženého k CTP,referenční poledník je nultý poledník definovaný BIH,

osa Y: doplňuje systém na pravotočivý pravoúhlý souřadnicový systém, směr kladnéčásti osy je 90∘ východně vzhledem k ose X.

WGS-84 je globální geocentrický geodetický referenční systém, pevně spojený se zemskýmtělesem. Systém je definován primárními a sekundárními parametry.

3.2.1 Primární parametry

Definují rozměry referenčního elipsoidu přiřazeného systému, jeho úhlovou rychlost ro-tace vůči nebeskému referenčnímu systému a součin gravitační konstanty a hmoty Země,soustředěné v referenčním elipsoidu.

3.2.2 Sekundární parametry

Definují model detailní struktury zemského gravitačního pole (Earth Gravity Model,EGM), definovaný pomocí rozvoje geopotenciálu do sférických harmonických funkcí dostupně a řádu 360. Model gravitačního pole WGS-84 EGM96 je možné využít pro vý-počet průběhu plochy geoidu WGS-84, tížnicových odchylek, středních hodnot tíhovýchanomálií v síti 10′ × 15′ s využitím tohoto modelu.

Počátek a orientace souřadnicových os jsou prakticky realizovány souřadnicemi X, Y,Z dvanácti stanic, které monitorují dráhy GPS družic. Souřadnice těchto monitorovacíchstanic byly (do roku 1994) určeny na základě dopplerovských měření systému TRAN-SIT na základě zpracování časově dlouhodobých „absolutních“ observačních kampaní.Od 1.1.1994 jsou WGS-84 souřadnice 10 sledovacích stanic GPS, zpřesněny na WGS-84(G730) (Malys, Slater, 1994) a připojeny přesným relativním měřením pomocí technolo-gie GPS k systému ITRF-91, později byl systém rozšířen na 12 stanic v dále zpřesněnémsystému WGS84 (G873).

6

Page 8: OpenStreetMap - Aplikace offline mapových podkladůrobotika/2012_MRBT/2012_M12_Open...3.2 Souřadný systém WGS-84 WGS-84 (World Geodetic System 1984, Světový geodetický systém

3.3 Převod mezi souřadnými systémy

Souřadný systém WGS84 je považován za totožný se systémem ITRS (International Te-restrial Reference System) nazývaným také IERS, který je vázaný na referenční rámecITRF (International Terestrial Reference Frame) fixovaný v určitých obdobích. Našetransformace uvažuje pro WGS-84 rámec fixovaný v roce 2008 tedy ITRF20081 a prosystém ETRS89 uvažuje referenční rámec ETRF20002.

Převod mezi souřadnými systémy je definován v kartézské soustavě, takže nejdřív jepotřeba převést úhlové souřadnice (lat, lon, h) na kartézské (x, y, z). Tento převod a takyzpětný je přepis ze zdrojového dokumentu [4] v jazyce Visual Basic. Postup je popsán v[5] přičemž jde o jednu z iteračních metod.

Názorný převod je znázorněný na obrázku 6.

Obrázek 6: Shéma převody mezi souřadnými systémy

I. část – má zpřesňující charakter a vychází z data (epochy) kdy byli data získány.Tato část nebyla implementována.

II. část – tvoří nejpodstatnější krok transformace. Je realizována podle [6] kde jsme dorovnice (1) dosadili parametry z tabulky 5 v dokumentu [6] (pro převod z ITRF2008v epoše 2000 do ETRF2000 v epoše 2000). Pro zpětný převod bylo potřebné řešit

Tabulka 1: Parametry transformace

Obrázek 7: Transformační rovnice

tuto rovnici jako inverzní funkci (viz obrázek 8). Tato úloha je analyticky těžkořešitelná kvůli hledání inverzní transformační matice takže jsme použili symbolickýtoolbox z Matlabu3.

1V epoše 20082V epoše 20003Důležité je použít symbolický toolbox protože Matlab měl paradoxně značné problémy s řešením

inverzní transformační matice tohoto typu.

7

Page 9: OpenStreetMap - Aplikace offline mapových podkladůrobotika/2012_MRBT/2012_M12_Open...3.2 Souřadný systém WGS-84 WGS-84 (World Geodetic System 1984, Světový geodetický systém

Obrázek 8: Inverze transformační rovnice

III. část – má stejně jako I. Část zpřesňující charakter a byla implementovaná pro převodz ITRF2008 epocha 2008 do ITRF2008 epocha 2000 a naopak. Použili jsme rovnici(2) z [6] spolu s parametry v tabulce 1, řádek "rates".

𝑋𝐼𝑌 𝑌 (𝑡𝑐) = 𝑋𝐼

𝑌 𝑌 (𝑡0) + �̇�𝐼𝑌 𝑌 · (𝑡𝑐 − 𝑡0)

Tato část byla stejně jako II. část ověřená pomocí stránky http://www.epncb.oma.be.

Kompletní algoritmus byl taktéž ověřen na stránce a ve směru z ITRF2008 v epoše2008 do ETRF2000 v epoše 2000 fungoval správně. V opačném směru se naše transformaceneshodovala. Vzhledem na to, že částečné testy (testování jednotlivých částí odděleně)dopadly úspěšně a po spuštění naší transformace v obou směrech za sebou jsme dostalivýsledek shodný se zadáním, považujeme algoritmus za správný.

4 Získávání mapových podkladůPro získání mapových podkladů byla vytvořena aplikace OSMapLoader, která umožňujezadat rozsah zeměpisných souřadnic a rozsah úrovní zoomů, které se následně stáhnou auloží na disk (implicitně do složky Maps).

4.1 GUI

Grafické uživatelské rozhraní aplikace OSMapLoader je na obrázku 9. V sekcích Od a Dose zadávají souřadnice oblasti stahování. Úroveň zoomu je možné zadávat od 1 do 18,tedy ve stejném rozsahu jaké poskytuje server OSM (více o serveru v kapitole 4.2).

Aplikace umožňuje mapové podklady stáhnout nebo zobrazit pouze náhled dané sou-řadnice (podle zvolené sekce). Při náhledu se v mapové dlaždici zobrazuje červený bod,označující pozici daného bodu v mapové dlaždici. Během stahování se ve spodní lištězobrazuje průběh stahování, počet stažených dlaždic a celkový počet dlaždic naplánova-ných ke stažení. Stahování je možné přerušit tlačítkem Zrušit, které se objeví po zahájenístahování. Během stahování není možné ovládat ostatní tlačítka.

V případě, že během stahování dojde k chybě, zobrazí aplikace upozornění pomocíkomponenty ErrorProvider jako například to na obrázku 10.

8

Page 10: OpenStreetMap - Aplikace offline mapových podkladůrobotika/2012_MRBT/2012_M12_Open...3.2 Souřadný systém WGS-84 WGS-84 (World Geodetic System 1984, Světový geodetický systém

Obrázek 9: Uživatelské rozhraní aplikace OSMapLoader

Obrázek 10: Zobrazení chybové zprávy v aplikaci OSMapLoader

4.2 Stahování mapových podkladů

Pro mapové podklady byl vybrán server OSM Mapnik [2]. URL adresa pro mapové dlaž-dice je:

http://[abc].tile.openstreetmap.org/zoom/x/y.png

Mapové podklady je možno stahovat ze tří subdomén určených první písmenem URLadresy (a, b nebo c) [1]. Parametr zoom určuje pro jaký zoom se daná dlaždice stáhne(rozsah je 1 – 18). Parametry x a y určují adresu mapové dlaždice.

Pro výpočet souřadnice mapové dlaždice platí následující vztahy:

𝑥 =𝑙𝑜𝑛 + 180

360· 2𝑧𝑜𝑜𝑚 (1)

𝑦 =

⎡⎢⎢⎢⎢⎣1 −ln

(︃tan(︀𝑙𝑎𝑡180

· 𝜋)︀

+1

cos(︀𝑙𝑎𝑡180

· 𝜋)︀)︃

𝜋

⎤⎥⎥⎥⎥⎦ · 2𝑧𝑜𝑜𝑚−1 (2)

4.3 Proces stahování

Před samotným stahováním je sestaven seznam stahovaných dlaždic, vypočtený ze za-dané oblasti stahování pro všechny zadané úrovně zoomu. Pokud seznam obsahuje více

9

Page 11: OpenStreetMap - Aplikace offline mapových podkladůrobotika/2012_MRBT/2012_M12_Open...3.2 Souřadný systém WGS-84 WGS-84 (World Geodetic System 1984, Světový geodetický systém

jak 300 dlaždic, je uživatel dotázán zda provést stahování takového množství dlaždic.Maximální počet stahovaných dlaždic je 50 000 000. Při překročení tohoto počtu by jižnebylo dostatek paměti pro uchování seznamu stahování a pokus o stažení tedy skončíchybovým hlášením.

Jakmile je sestaven seznam stahovaných dlaždic, jsou spuštěny tři vlákna. Každévlákno stahuje z jedné subdomény a pouze třetinu podkladů ze seznamu (každou třetípoložku). Před stažením dlaždice je provedena kontrola, zda již není dlaždice uložena nadisku. Poku již na disku je, přeskočí se a pokračuje se další dlaždicí v seznamu. Každévlákno se po stažení jedné dlaždice uspí na 100 ms aby příliš nevytěžovalo server. Mapovépodklady jsou ukládány do adresářové struktury, kde názvy jednotlivých složek jsou číslaúrovní zoomu. V každé složce jsou uloženy mapové dlaždice v daném zoomu a jejich názevje X-Y.png, kde X a Y jsou adresy mapových dlaždic.

Pokud dojde během stahování k chybě, dané vlákno pokračuje ve stahování a po jehoskončení je uživatel upozorněn, že k chybě došlo.

4.4 Spouštění z příkazového řádku

Program OSMapLoader je možné ovládat i z příkazového řádku. Podporovány jsou tytoparametry:

osmaploader [--help | /?]osmaploader --directory výstupní_složkaosmaploader [--nogui] Long1 Lat1 Zoom1 Lon2 Lat2 Zoom2 výstupní_složkaosmaploader [--nogui] X-Y-Z X-Y-Z ... výstupní_složka

Popis parametrů:

--help | /? vypíše nápovědu

--directory výstupní_složka nastaví složku pro uložení mapových podkladů

--nogui spustí program bez grafického rozhraní

Long1 Lat1 Zoom1 Lon2 Lat2 Zoom2 výstupní_složka stáhne všechny mapové pod-klady v definované oblasti

X-Y-Z X-Y-Z ... výstupní_složka stáhne konkrétní mapové dlaždice určené jejichsouřadnicemi

5 Vykreslování mapyPro zobrazení mapy byla vytvořena aplikace OSMapViewer, v jejímž GUI je možné zobrazitmapu v úrovních zoomu 7 – 18 a pomocí myši jí posouvat.

Mapové podklady jsou uloženy v adresářové struktuře, kde názvy jednotlivých složekjsou čísla úrovní zoomu. V každé složce jsou uloženy mapové dlaždice v daném zoomu ajejich název je X-Y.png, kde X a Y jsou adresy mapových dlaždic.

Při načtení mapy je prozkoumána zvolená složka a je nalezena nejnižší obsažená úroveňzoomu. V této úrovni zoomu je mapa načtena tak, aby se první nalezená mapová dlaždicenacházela v levém horním rohu zobrazené oblasti.

10

Page 12: OpenStreetMap - Aplikace offline mapových podkladůrobotika/2012_MRBT/2012_M12_Open...3.2 Souřadný systém WGS-84 WGS-84 (World Geodetic System 1984, Světový geodetický systém

Mapa se vykresluje do komponenty pictureBox rychlostí maximálně 30 fps. Vykreslo-vání je prováděno po uplynutí doby 33ms časovače při posuvu mapy. Pokud není s mapoupohybováno a jsou z internetu stahovány mapové podklady, probíhá vykreslování každých200ms (5 fps), jinak vykreslování neprobíhá vůbec.

5.1 Složení mapy z mapových dlaždic

Pro práci s dlaždicemi byla vytvořena třída mapFiles, která obsahuje proměnné jako jenapříklad aktuálně zobrazený střed mapy, aktuální zoom, načtené mapové podklady av neposlední řadě metody, které dané mapové díly skládají do jednoho obrazce a následnězobrazují v komponentě pictureBox1. Po zadání složky s mapovými podklady si programpomocí funkce GetFirstTile přečte veškeré složky s danými zoomy. Program dále najdesložku s nejnižším číslem zoomu a vybere první dostupnou dlaždici. Středová souřadnice(ve světovém souřadném systému) této dlaždice je uložena do proměnné MiddlePoint.

Pro zobrazení mapy slouží metoda LoadCuttedImagesArroundMiddlePointInZoom(LCIAMIPZ), která jako vstupní parametry požaduje střed mapy a daný zoom. Tatometoda si spočítá z rozměrů pictureBox1, jaké dlaždice (třeba i části dlaždice) budezapotřebí. Pomocí metody LoadAllImagesAtRangeCoordinates se tedy načtou všechnymapové podklady a návratová hodnota tedy bude jeden obrázek složený ze všech po-třebných dlaždic. Pokud je uživatelem vypnuté stahování online a daná dlaždice se ne-nachází na disku, potom se místo dlaždice objeví nadpis: "Podklady nenalezeny". Me-toda LCIAMIPZ následně celý obrázek složený z jednotlivých dlaždic ořízne dle rozměrůpictureBox1 a následně do něj zobrazí. Celý tento proces se opět opakuje, jakmile senapříklad změní zoom nebo poloha středového bodu posunutím myší uživatelem.

Dlaždice načtené z disku jsou uloženy do paměti a při dalším požadavku na danoudlaždici se již nenačítají z disku ale pouze z paměti. Pokud počet uložených dlaždicv paměti přesáhne 500, dojde ke smazání dlaždic ve všech úrovních zoomu kromě tohoaktuálně zvoleného. Pokud je v aktuální úrovni zoomu uloženo více jak 500 dlaždic dojdeke smazání i těchto dlaždic a aplikace si z disku znova načte potřebné mapové podklady.

5.2 Posun mapy

Mapu je možné posouvat pomocí stisku levého tlačítka myši a jejím táhnutím. Stisk myši azměna její pozice vyvolávají události, které aplikace zpracovává a na jejich základě změnípozici vykreslované mapy. Program vypočítá o kolik pixelů a jakým směrem uživatelposunul mapu. Poté na základě této informace a aktuálně zobrazeného zoomu se vypočítázměna zobrazovaného středu ve světových souřadnicích a aplikuje se opět metoda popsanáv předchozí kapitole 5.1.

6 Trasa

6.1 Vykreslování trasy

Pro načítaní trasy se využívá metody LoadRouteFromFile. Tato metoda načte trasu zesouboru a uloží jí do paměti.

11

Page 13: OpenStreetMap - Aplikace offline mapových podkladůrobotika/2012_MRBT/2012_M12_Open...3.2 Souřadný systém WGS-84 WGS-84 (World Geodetic System 1984, Světový geodetický systém

Obrázek 11: Posun mapy pomocí myši – video pouze v elektronické verzi

Formát souboru s trasou je následující: na prvním řádku je název souřadného systému(WGS84 nebo ETRS89). Na každém dalším samostatném řádku je souřadnice bodu trasy –zeměpisná délka a zeměpisná šířka odděleny mezerou.

Souřadnice bodů se načítají do seznamu, přičemž se zjistí nejmenší a největší souřad-nice zeměpisné délky a šířky. Na základě těchto souřadnic se potom mapa vycentruje apřiblíží na potřebný zoom k zobrazení celé trasy.

Samotné vykreslení trasy potom probíhá v metodě DrawRoute tak, že se červenou čá-rou spojí všechny body trasy, přičemž body jsou zvýrazněny žlutým kroužkem. Počátečníbod trasy má zelenou barvu, koncový červenou a aktuálně vybraný bod je modrý jakukazuje obrázek 12.

Obrázek 12: Grafické zobrazení trasy

6.2 Editace trasy

Přidání bodů do trasy je možné realizovat pomocí vyvolání kontextové nabídky v tabulcenebo stiskem tlačítka Přidat pod tabulkou. Nový bod se přidává vždy za aktuálně vy-braný. Okno pro přidávání bodů obsahuje souřadnice aktuálně zobrazeného středu mapy.Dalšími možností je přidávaní bodů kontextovou nabídkou přímo v mapě nebo v režimukontinuálního přidávání bodů.

Kontextová nabídka tabulky obsahuje i další funkce pro práci s body jako je editacea smazání vybraného bodů a přesouvání pořadí bodů (výměna bodů). Tyto funkce jsou

12

Page 14: OpenStreetMap - Aplikace offline mapových podkladůrobotika/2012_MRBT/2012_M12_Open...3.2 Souřadný systém WGS-84 WGS-84 (World Geodetic System 1984, Světový geodetický systém

přístupné i tlačítky pod tabulkou. Všechny tyto funkce pracují se seznamem Points, kterýobsahuje aktuální body trasy a následně v něm provádí požadované operace. Kontextovánabídka v tabulce také obsahuje funkci centrování mapy na vybraný bod.

Zobrazování bodů v tabulce zahrnuje souřadnice daného bodu a jeho index (pořadív seznamu). Výpis bodů do tabulky je řešen s ohledem na maximální výkon aplikace. Přizměně některého bodu trasy jsou tedy prováděny pouze nezbytné změny v tabulce.

Za zmínku také stojí kontinuální přidávaní bodu v kontextové nabídce mapy. V tomtorežimu je možné přidávat více bodů kliknutím v mapě, přičemž první bod se přidá zaaktuálně vybraný trasový bod. Další bod se přidá za dříve přidaný bod. Při kliknutí myšia jejím posunutí v tomto režimu nedojde k přidání nového trasového bodu ale pouzek posunutí mapy. V kontextové nabídce mapy nebo tlačítkem Smazat trasu je možnécelou trasu smazat.

Po ukončení práce s jednotlivými body trasy, je možné celou trasu exportovat dotrasového souboru *.trk v příslušném formátu. Takto získanou trasu je možné pozdějiopět načíst a použít na další úpravy.

Trasu je také možné editovat najetím kurzoru myši v mapě na daný bod trasy a stis-kem středního tlačítka posouvat trasový bod. Při posouvání bodu myší je možné přesunu-tím bodu k okraji mapy vyvolat posun mapy. Rychlost posunu je závislá na vzdálenostiod okraje mapy. Posouvání bodu trasy pomocí myši je na videu 13 (pouze v elektronickéverzi).

Obrázek 13: Editace trasového bodu pomocí myši – video pouze v elektronické verzi

7 Externí řízení aplikaceAplikace může být řízena externě jinou aplikací zápisem hodnot do souborů CenterOfMap.dat a RoutePoints.dat vytvořené ve stejném adresáři jako spustitelná aplikace. Tutofunkci je možné zapnout v menu Nastavení → Externí ovládání. Při aktivním externímovládání aplikace reaguje na zápis do těchto dvou souborů pomocí třídy FileSystem-Watcher, která samovolně spustí patřičnou metodu při zápisu do sledovaných souborů.

13

Page 15: OpenStreetMap - Aplikace offline mapových podkladůrobotika/2012_MRBT/2012_M12_Open...3.2 Souřadný systém WGS-84 WGS-84 (World Geodetic System 1984, Světový geodetický systém

7.1 Změna pozice mapy

Změnu pozice mapy je možné realizovat zápisem do souboru CenterOfMap.dat ve for-mátu:

Format Lon Lat

Při zápisu do souboru aplikace aktualizuje pozici středu mapy dle údajů v souboru. Jakoformát může být použit wgs84 nebo etrs89 (na velikosti písmen nezáleží). Pokud jsouúdaje zadané v nesprávném formátu aplikace tyto údaje ignoruje.

7.2 Přidávání bodů trasy

Zápisem do souboru RoutePoints.dat se nově zapsaný bod přidá na konec aktuálnítrasy. Formát souboru je:

Format Lon1 Lat1Format Lon2 Lat2

...Soubor obsahuje body trasy, vždy jeden na samostatném řádku. Jako formát může

být použit wgs84 nebo etrs89 (na velikosti písmen nezáleží). Při změně tohoto souborujej aplikace načte a body, které ještě nejsou v aktuální trase přidá na konec trasy. Chybnépoložky v souboru jsou ignorovány.

8 Grafické uživatelské rozhraní aplikace OSMapViewerGrafické uživatelské rozhraní programu OSMapViewer se skládá ze tří základních částí.

• Část pro zobrazení a práci s mapou

• Část pro načtení mapy a trasy

• Část pro práci s načtenou nebo vytvořenou trasou

OSMapViewer může využívat dvou zdrojů mapových podkladů. Buď z pevného diskunebo stahované z internetu. Tlačítkem Načíst složku map nebo klávesovou zkratkouCTRL+O je možné vybrat umístění mapových podkladů na disku. Do tohoto umístěníse také budou stahovat mapové podklady v on-line režimu nebo při ručním stahování. Jetaké možné načíst naposledy zvolenou složky map v menu Soubor → Otevřít → Otevřítposlední nebo klávesovou zkratkou CTRL+R.

Stahováním mapových podkladů přímo z internetu je možné přepnutím programu doonline režimu tlačítkem Stahovat obsah online v menu Nastavení, viz obrázek 15. Mapovépodklady je také možné stahovat ručně spuštěním aplikace OSMapLoader v menu Soubor→ Stáhnout mapy nebo klávesovou zkratkou CTRL+M. Položka Soubor → Reset mapy(nebo klávesová zkratka CTRL+Q) způsobí novou inicializaci mapy na nejnižší dostupnýzoom a zarovnání první nalezené mapové dlaždice do levého horního rohu zobrazovanéoblasti.

Aplikace může pracovat v souřadném systému ETRS89 nebo WGS-84. Pracovní režimje možné nastavit v menu Nastavení. V tomto menu je také možné zapnout externíovládání aplikace (viz kapitola 7).

14

Page 16: OpenStreetMap - Aplikace offline mapových podkladůrobotika/2012_MRBT/2012_M12_Open...3.2 Souřadný systém WGS-84 WGS-84 (World Geodetic System 1984, Světový geodetický systém

Obrázek 14: Grafické uživatelské rozhraní OSMapViewer

Obrázek 15: Hlavní menu uživatelského rozhraní

OSMapViewer umožňuje také přímo upravovat otevřené soubory tras pomocí tabulkya ovládacích tlačítek, nebo pomocí prostředního tlačítka myši viz obrázek 16. Programje možné přepnout do režimu kontinuálního přidáváni bodů pomocí kontextové nabídkymapy (viz obrázek 18) nebo klávesovou zkratkou CTRL+A. V režimu kontinuálního přidá-vání bodů lze klikáním do mapy přidávat do trasy další body.

15

Page 17: OpenStreetMap - Aplikace offline mapových podkladůrobotika/2012_MRBT/2012_M12_Open...3.2 Souřadný systém WGS-84 WGS-84 (World Geodetic System 1984, Světový geodetický systém

(a) Zobrazení kon-textového menu

(b) Pohyb v mapo-vém podkladu

(c) Přesun již existu-jícíhc bodů trasy

Obrázek 16: Popis ovládání OSMapViewer

Aplikace OSMapViewer podporuje dva typy formátů trasy, formát track file .trk atextový soubor .txt. Tyto soubory musí mít speciální formát (viz kapitola 6.1). Aplikaceexportuje trasy do souboru .trk.

8.1 Práce s tabulkou

Tabulka v aplikaci OSMapViewer představuje nástroj na práci s načtenou nebo vytvoře-nou trasou. Po načtení trasy, tlačítkem Načti trasu, se zobrazí v tabulce výčet všechbodů a jejich zeměpisných souřadnic. Při vybrání jednoho bodu trasy v tabulce (levétlačítko myši) se vybraný bod zvýrazní. Při zobrazení kontextové nabídky (levé tlačítkomyši) můžeme s daným bodem dále pracovat, viz obrázek 17. V tabulce je možné vy-branému bodu měnit jeho pozici (pořadí v tabulce) tlačítkem Přesunout nahoru neboPřesunout dolů a jeho zeměpisnou pozici tlačítkem Upravit. Také je možné jednotlivébody mazat nebo přidávat na aktuální pozici v tabulce tlačítky Smazat a Přidat. Jemožné také centrovat mapu na právě vybraný bod v trase, což je vhodné při práci s roz-lehlou trasou. Vybrat a měnit pozici jednotlivých bodů trasy je také možné přímo v mapěa to pomocí středního tlačítka myši.

Obrázek 17: Kontextová nabídka ta-bulky bodů trasy

Obrázek 18: Kontextová nabídka mapy

16

Page 18: OpenStreetMap - Aplikace offline mapových podkladůrobotika/2012_MRBT/2012_M12_Open...3.2 Souřadný systém WGS-84 WGS-84 (World Geodetic System 1984, Světový geodetický systém

9 ZávěrV práci byl zpracován seznam poskytovatelů mapových podkladů a jako nejvhodnějšíbyly zvoleny mapy OpenStreetMap (OSM). Dále byla vytvořena aplikace OSMapLoadervčetně grafického uživatelského rozhraní. Tato aplikace stáhne vybranou oblast ve zvo-lených úrovních zoomu a uloží je na disk do adresářové struktury popsané v kapitole4.3. Tato aplikace může být ovládána i z příkazového řádku a díky tomu může sloužitk automatickému stahování chybějících mapových podkladů.

Také byla vytvořena aplikace OSMapViewer, která slouží k zobrazení mapy a k vy-kreslení a editaci trasy. Aplikace pracuje s mapovými podklady staženými aplikací OSMa-pLoader, které jsou uložené na pevném disku a je tedy schopna pracovat plně v režimuoff-line. Aplikace je také schopna v režimu on-line stahovat chybějící mapové podkladyspuštěním aplikace OSMapLoader na pozadí. Potřebné parametry stahování jsou předánypomocí příkazového řádku. Je také možné stahovat podklady spuštěním aplikace OSMa-pLoader s grafickým uživatelským rozhraním přímo v menu aplikace OSMapViewer.

Se zobrazenou mapou je možné pohybovat pomocí myši a měnit úrovně zoomu v roz-sahu 7-18 pomocí kolečka myši. Nižší úrovně zoomu vykazovaly značnou chybu při ur-čování pozice kurzoru myši vlivem nelineární transformace zeměpisné šířky. Posun mapyv těchto úrovních zoomu také vykazoval značnou nelinearitu a proto byly tyto úrovněv aplikaci zakázány.

Aplikace umožňuje zobrazení trasy, která je načtena ze souboru trasy .trk nebo tex-tového souboru .txt. Při načtení trasy je zvolena vhodná oblast zobrazení mapy a úroveňzoomu tak, aby byla viditelná celá trasa. Jednotlivé body trasy jsou zobrazeny v tabulcea je možné měnit jejich pořadí, editovat jednotlivé body nebo je mazat. Je také možnécentrovat mapu na konkrétní bod trasy. Tyto akce jsou přístupné také přes kontextovémenu tabulky. Přidávání bodů trasy je možné i v tzv. režimu kontinuálního přidáváníbodů, který je přístupný přes kontextovou nabídku mapy. V tomto režimu je možnépřidávat body klikáním myši do mapy. Trasový bod je možné editovat také kliknutímstředního kolečka myši a jeho posunem. V tomto režimu je možné posouvat mapu posu-nutím uchopeného bodu k okraji mapy. Rychlost posunu je úměrná vzdálenosti od okrajemapy.

Aplikaci je možné také ovládat jinou aplikací pomocí zápisů do speciálních souborů(viz kapitola 7). Takto je možné měnit pozici středu mapy a přidávat nové body trasy.Tento režim je vhodný například pro on-line vykreslování pozice pohybujícího se robota.

Aplikace je schopna pracovat v souřadných systémech ETRS89 a WGS-84 a to jakv zarovnání mapových podkladů tak i při práci s trasou.

17

Page 19: OpenStreetMap - Aplikace offline mapových podkladůrobotika/2012_MRBT/2012_M12_Open...3.2 Souřadný systém WGS-84 WGS-84 (World Geodetic System 1984, Světový geodetický systém

Reference[1] Slippy map tilenames. OpenStreetMap wikipedia [online]. [cit. 2012-04-15]. Dostupné z:

http://wiki.openstreetmap.org/wiki/Slippy_map_tilenames

[2] Mapnik. OpenStreetMap wikipedia [online]. [cit. 2012-04-20]. Dostupné z: http://wiki.openstreetmap.org/wiki/Mapnik

[3] Poskytovatele map. Výzkumný ústav geodetický, topografický a kartografický [online].[cit. 2012-04-20]. Dostupné z: http://www.vugtk.cz/odis/sborniky/cd/cd_zak/systemy/

[4] Ordnance Survey: Projection utility programs. [online]. 2012 [cit. 2012-05-08].Dostupné z: http://www.ordnancesurvey.co.uk/oswebsite/gps/information/coordinatesystemsinfo/gpsspreadsheet.html

[5] BURTCH, Robert. A Comparison of Methods Used in Rectangular to Geodetic Co-ordinate Transformations. [online]. s. 25 [cit. 2012-05-08]. Dostupné z: http://www.ferris.edu/faculty/burtchr/papers/cartesian_to_geodetic.pdf

[6] BOUCHER, Claude a Zuheir ALTAMIMI. Memo: Specifications for reference framefixing in the analysis of a EUREF GPS campaign [online]. 8. vyd. 2011, 10 s., 18-05-2011 [cit. 08-05-2012]. Dostupné z: http://etrs89.ensg.ign.fr/memo-V8.pdf

18


Recommended