Lis 212012
 
Křižovatka

Silniční mapy a test navigace

Po dvou a půl letech trvalého vývoje vyšla verze OsmAnd 1.0 s tak jsem se podíval na novinky této kulaté sváteční verze. Nejprve si představíme aktuální novinku silniční mapy a poté jsem pro vás otestovat hledání cesty nově odladěnou offline navigační službou. Zpočátku mi výpočet cest trval delší dobu než ve vývojové verzi a nemohl jsem přijít na to čím je doba výpočtu ovlivněná … až mě osvítil Duch Svatý a napadlo mě čím bude hledání zpomalováno. Vše se dočtete v článku.

Novinka verze 1.0 – silniční mapy *

Novinkou poslední verze jsou silniční mapy. Je to mnohem lepší obdoba průjezdových map, které známe z minula. Ovšem na rozdíl od nich jsou momentální silniční mapy plnohodnotné a nemají proti běžným mapám žádné omezení v kvalitě a v routovacích schopnostech. Novinka přímo vybízí opět k používání silničních map jako průjezdových pro dlouhé trasy, při průjezdech celých států. Je tak možné ušetřit spoustu prostoru v paměťových médiích, jelikož pak standardní mapy nemusí být potřeba.

Na obrázku je vidět rozdíl běžné a silniční mapy

ČB standardní mapa ČB silniční mapa

A ještě jeden příklad z Ostravy

Ostrava standardní mapa Ostrava silniční mapa

Velikost silniční mapy je více než desetkrát menší a může tak výrazným způsobem šetřit prostor v paměti

Velikost offline map

Silniční mapy se stahují jako obvykle ve správci offline dat a v menu je možné si je vyfiltrovat volbou Menu – Silniční mapy a případně dalším filtračním stringem. Použití map se nastavuje v profilu, kde zcela dole je k dispozici volba Silniční mapy. Pod volbou se skrývá výběr ze tří zatím nepřeložených položek.

Zvolte kdy zobrazovat silniční mapu

  • Vždy – nezobrazovat nikdy běžnou mapu
  • Pokud není běžná mapa k dispozici
  • Nikdy

Silniční mapy v nastavení profilu Volba použití silničních map

Offline navigace v testech *

Jak probíhalo testování *

Na testování jsem se rozhodl použít nepřiměřeně dlouhou trasu. Z popisu aplikace víme, že offline navigační služba umí navigovat až do 250km. Tuto vzdálenost ale, jak jsem psal v předešlém článku, navigace počítá velice rychle a tak jsem se rozhodl, navigaci trochu situaci ztížit, aby byly výsledky lépe měřitelné.

Testoval jsem proto trasu Cheb – Ostrava (~570km), nastaveno jsem měl vyhýbání pouze nezpevněným cestám a počítal jsem nejrychlejší trasu.

Prováděl jsem dva základní testy a to normální výpočet trasy a pak se zaškrtnutou volbou „Počítat možná méně výhodnou trasu na dlouhé vzdálenosti“. Tento podivný překlad znamená to, co asi tušíte, počítání trasy na dlouhou vzdálenost s možností jisté nepřesnosti. Této volbě budu dále v textu přezdívat kratším názvem rychlejší výpočet trasy. Na kvalitu trasy neměla tato volba valný vliv a tak je možné jí klidně pro používání na takovéto dlouhé trasy doporučit.

Testováno bylo na třetí generaci Galaxy Nexusu.

Test start – cíl *

První dva testy (horní dva řádky ve výsledcích) byly prováděny jednoduše metodou start – cíl, bez přerušování průjezdními body. Zde jsem očekával špatné výsledky vzhledem k délce vypočítávané trasy. Nakonec jsem ale byl příjemně překvapen.

Na obrázcích je vidět průběh vyhledávání trasy jako žlutý teploměr v horní části mapy.

Průběh hledání trasy Průběh hledání trasy

Test s průjezdním bodem *

Protože navigace počítá každé úseky k průjezdnímu bodu zvlášť, vyplatí se na dlouhých trasách nějaký bod vytvořit. V tomto případě jsem vytvořil průjezdní bod na dálnici u Jihlavy, což odpovídá zhruba polovině trasy.

Výsledky *

  způsob výpočtu                            obě mapy        běžná mapa     silniční mapa
normální  výpočet start-cíl ................(15 min )........ 2.2 min........ 2.1 min
rychlejší výpočet start-cíl.................(3.7 min)........ 1.4 min........ 0.8 min
normální  výpočet start-průjezd-cíl.........(4.5 min)........ 1.5 min........ 0.8 min
rychlejší výpočet start-průjezd-cíl.........(1.7 min)........ 0.5 min........ 0.4 min

Co znamenají testy s různými mapami ? *

Když jsem začal testovat na recenzi, zdálo se mi, že časy jsou příliš dlouhé proti mým prvním pokusům ve vývojové verzi, ještě před oficiálním vydáním verze 1.0. Začal jsem tedy hledat chybu a přesto, že jsem chybu dost rychle našel, všechny testy jsem dokončil a časy pro zajímavost zapsal. Prodloužený výpočet v prvním sloupci způsobují silniční mapy používané současně s běžnými mapami. Proto kvůli špatným výsledkům routování vůbec nedoporučuji mít obě verze map v jednu chvíli jako aktivní. Pokud z nějakého důvodu chcete mít obě mapy pro jednu zemi, zazálohujte si nepoužívanou mapu přes správce offline map.

Pro zajímavost jsem ještě zkusil pro routování použít pouze silniční mapu (normální mapa byla zálohována správcem offline map) a nakonec to nebyl úplný nesmysl. Tyto výsledky jsou nejlepší, i když ne vždy výrazně.

Závěr *

Všichni asi víme jaké bylo offline routování ve verzích 0.8.x a nižších. Zpravidla nešlo offline enginem vypočítat delší trasu než několik desítek kilometrů a po překročení této vzdálenosti se obvykle aplikace odporoučela na vytečení paměti. Nyní je ale situace jiná. Paměť mi při testech nikdy nevytekla a časy výpočtů jsou velice dobré i na dlouhých trasách, které oficiálně nejsou podporovány. Připomínám, že v OsmAndu je volitelně samozřejmě stále možné používat online routovací služby.

Závěr z testování si každý udělá sám při pohledu na tabulku výsledků, jen bych upozornil na téměř stejný výsledek rychlé trasy bez průjezdního bodu a normální trasy s průjezdním bodem. Tato diference by se samozřejmě prohlubovala s délkou trasy a počtem průjezdních bodů, kdy by začala jasně vítězit druhá varianta.

  Jedna reakce na “Verze 1.0 v testech”

  1. Stejně mi ten výpočet přijde neskutečně pomalý. Ostatní navigace mají podobně dlouhou cestu spočítanou v řádu několika vteřin. Očekával bych, že podobné algoritmy už budou mnohokrát zpracované a stačí je pouze aplikovat.

    Snad se toho v budoucnu chopí nějaký slušný matematik třeba v rámci nějakého GSoC projektu a vypracuje lepší algoritmus.

    Otázkou také je, co všechno umí brát routovač v potaz. Bylo by pěkný, kdyby dokázal zohlednit počet semaforů, předností v jízdě, křižovatek obecně a i podle toho zvolit správnou trasu. Jinak výborně navigující Mapfactor třeba neváhá poslat mě přes 3 křižovatky, aby ušetřil 10 metrů jízdy.

QR Code Business Card