Aplikace geo zpřístupňuje uživateli geografická data prostřednictvím
mobilního zařízení s podporou technologie Java (J2ME).
Je postavena na architektuře klient-server, přičemž veškerá geografická data
(jak grafická, tak i popisná) jsou uchovávána v serverové části aplikace.
Aplikace umožňuje:
mít vždy po ruce mapu s aktuálními informacemi (např. poloha sledovaných objektů, předpověď počasí, dopravní situace)
plynule pohybovat mapovým výřezem
vyhledávat objekty v mapě
zobrazovat informace o objektech (v podobě textu s obrázky)
vyhledávat nejkratší trasy
využívat formulářové rozhraní ke komunikaci s uživatelem
Downloads
Následující soubory můžete nahrát do Vašeho mobilního zařízení nebo emulátoru.
Aplikace vyžaduje spojení se serverovou částí a je proto nutné si nejdříve
aktivovat datové připojení u svého operátora a nastavit v zařízení odpovídající
datový profil.
Veškerá ukázková data jsou pouze demonstrační a neodpovídají skutečnosti.
GeoClient.JAD
- Java Descriptor obsahující lokální URL
GeoClient.JAD
- Java Descriptor obsahující globální URL
GeoClient.JAR
- Java Archive
Popis aplikace
Klientská část (J2ME)
aplikace uživateli umožňuje:
výběr zobrazené mapy
prohlížení mapového výřezu
uživatel tlačítky ovládá kurzor (ukazatel do mapy)
k překreslení výřezu dochází až na vyžádání (po stisku tlačítka "5")
překreslování mapy na displeji je realizováno s plynulým posuvem původního výřezu
zjištování a nastavování aktuální souřadnice mapového výřezu
vyhledávání bodů zájmu (lokalizovaných objektů v mapě). Aplikace dovoluje uživateli stanovit na seznam vrácených objektů následující omezení:
název objektu (popř. fragment názvu objektu) - např. "kon" vyhovuje objektům "Konečného náměstí", "Konopná", ale i např. "Ulice L. Konečné"
maximální vzdálenost objektu od k aktuální souřadnice (v jednotkách odpovídajících zvolené mapě)
maximální počet vrácených záznamů
aplikace podporuje dva formáty mapových obrázků
PNG - nativní
vlastní formát - monochromatický, bez komprese - na menších obrázcích menší velikost dat než PNG
systémové požadavky na mobilní zařízení
podpora J2ME - CLDC 1.0 / MIDP 1.0 (vyhovují všechny dnešní mobilní telefony s Javou)
aplikace nevyužívá žádné proprietární rozšírení API
Serverová část (J2SE)
obsahuje množství různých map - každá mapa má tyto atributy:
titulek
měřítko
datový soubor s mapou - podporované formáty:
PNG, JPEG - podporované standardním Java API
kompletní data jsou udržována v paměti
(+) rychlejší odezva
(-) větší nároky na virtuální paměť
24-bitové BMP (případně i komprimované GZIPovou kompresí)
data získávána pro každý dotaz zvlášt ze souboru
(+) minimální nároky na virtuální pamet
(-) pomalejší odezva na dotaz
databáze bodů zájmu
dvojice souřadnice - titulek
uložena ve formátu CSV (případně i komprimované GZIPovou kompresí)
každý záznam na nový řádek souboru
atributy jsou odděleny středníkem
definice souřadného systému mapy
zadán pomocí souřadnic tří libovolných bodů v mapě
ostatní souřadnice jsou dopočítány lineární transformací
možnost nastavení defaultní (výchozí) mapové souřadnice
definice metriky mapy
metrika je zadána pomocí souřadnic a vzdálenosti libovolných dvou bodů v mapě v odpovídajících jednotkách
výstupní formát (PNG nebo monochromatický formát)
možnost globálních nastavení (převážně kvůli DoS útokům):
omezení maximálním počtem vrácených záznamů
omezení maximálních rozměrů poskytovaných obrázků
aplikace je spustitelná ve dvou režimech:
jako samostatná serverová aplikace (podporuje HTTP i TCP spojení)
jako HTTP servlet - součást J2EE aplikačního serveru (pouze HTTP protokol)
systémové požadavky:
Java Runtime Environment 1.4.x
na některých platformách vyžaduje určitý typ grafických operací spojení JRE s X-serverem
Několik screenshotů z mobilního telefonu Siemens S55
Příklad č. 1: nalezení a zobrazení objektu v mapě
Příklad č. 2: nalezení nejbližších objektů
Příklad č. 3: zobrazení mapového výřezu podle souřadnice
Struktura dat
Grafická data
Je možné využít dva různé přístupy:
kompletní rastrová data jsou při inicializaci načtena jednorázově do virtuální paměti - data jsou uložena v obrazových formátech podporovaných Java API (formáty png, jpeg, gif)
k datům se přistupuje pro vyřízení každého dotazu zvlášť - je podporován jen formát 24-bitového BMP. Data mohou být případně ještě komprimována GZIPovou kompresí
Popisná data
Jsou podporována dvě možná uložení popisných dat:
data jsou uložena ve formátu CSV se strukturou: