
Rozhodně tento příkaz neumí můj starší smartphone T-Mobile SDA. Jak jsem ale záhy zjistil netřeba věšet hlavu. Procesor Texas Instruments OMAP 730, který na sobě integruje ARM jádro a DSP jádro zajišťující GSM komunikaci, má totiž mezi těmito procesory sdílenou část paměti a přímo z ní lze vyčíst všechny potřebné informace. KamLex si toto uvědomil a tak jeden z režimů podporovaných VirtualGPS je právě přímý přístup do paměti a přečtení hodnot z ní.
Informace: Tento článek původně vyšel na autorově blogu i-logout.cz.
Jak to funguje prakticky? Pustíte VirtualGPS, ono se připojí na Internet a kontaktuje CellID databázi (případně použije hodnoty v lokální cache, pokud je tam najde). KamLex nabízí editor souborů s CellID cache, takže je možné si přidat vlastní souřadnice BTS vysílačů. Zjistí z ní polohy BTS, které vidíte, a podle toho vypočítá a vrátí vaše souřadnice na virtuálním COM portu v standardním NMEA protokolu. V Google Maps si posléze vyberete v nastaveních port, na kterém je GPS a Google Maps se k němu připojí. Tlačítko 0 v Google Maps pak na mapě ukáže vaší polohu. Prosté a jednoduché.
Udělal jsem po Praze několik pokusů a vesměs jsem byl spokojen. Určování polohy na tomto principu samozřejmě nelze použít na věci jako je geocaching nebo klasická navigace, ale pokud se potřebujete zorientovat na mapě, tak je příjemné, když nemusíte zadávat do vyhledávání vaši současnou polohu, protože ji (byť s nepřesností v řádech stovek metrů) máte. Podle následujících obrázků si můžete udělat sami představu, jak VirtualGPS funguje. Vlevo nahoře je vždy VirtualGPS, vpravo nahoře Google Maps a dole pak obrázek z Mapy.cz, kde je modře označené skutečné místo, kde jsem polohu zjišťoval a červeně poloha, kterou udala VirtualGPS.
První zjišťování polohy proběhlo při snídani v McDonnald’s na Václavském náměstí. Google Maps ukázaly, že se nacházím u Národního muzea, což je zhruba 100m odsud, prakticky stačí jen přejít silnici.
Podruhé jsem zkusil určit polohu cestou do práce. Tady už byla nepřesnost poměrně větší, zhruba půl kilometru. Zřejmě díky husté zástavbě vysokými činžáky telefon nepřijímal tolik BTS, kolik je třeba pro přesnější výpočet.
Potřetí jsem vybral samotný kraj Prahy – Kbely. Tady mně přesnost celkem překvapila, necelých 200 metrů vedle.
VirtualGPS má dvě varianty – Lite, která je zdarma a umí určovat polohu pouze podle veřejné CellId databáze, a pak verzi Pro, která má přístup do placené databáze BTS, umí navíc ještě i triangulaci podle WiFi sítí a poskytuje systému intermediate driver, díky kterému může k GPS přistupovat více aplikací najednou. Lite verze je zdarma, Pro verze stojí 12 USD. Odkazy pro stažení verze pro smartphone i Pocket PC naleznete na webu výrobce. Pro verzi si můžete po dobu jednoho týdne vyzkoušet ze všemi podporovanými funkcemi, do programu stačí zadat tento trial klíč 7928511.


