A dolgozat egy közösségi térképépítő alkalmazás tervezését és megvalósítását ismerteti addig a szintig, ami az elképzelés helyességének megítéléséhez elegendő. Az alkalmazás segítségével önkéntes adatrögzítők sávszintű részletességgel mérhetnek fel területeket, és ennek eredményeképpen áll elő egy navigációra alkalmas térkép.
Az alkalmazás támogatja a csoportmunkát oly módon, hogy az önkéntesek egy-egy kis térképszelvényt választhatnak, amely bejárásáért ők a felelősek addig, amíg a változtatásokat fel nem töltik a szerverre. Ezekből a szelvényekből fogja egy központi szerver a teljes térképet összeállítani a jövőben. Az alkalmazást elosztott módon valósítottam meg, amelynek a központi szerver mellett további két fő komponense van.
Az egyik ilyen fő komponens egy modellező- és térképszerkesztő alkalmazás, aminek segítségével a felhasználó minden tudását még a bejárás előtt rögzítheti, így minimalizálva a terepmunka mennyiségét. Ez a komponens lehetővé teszi a rögzített adatok utólagos feldolgozását és egy közel optimális bejárási terv készítését is. A rendszer saját modellt használ, amelyet a dolgozatban részletesen ismertetek.
Az optimális bejárási terv készítéséhez különféle gráf-algoritmusokat implementáltam, amelyek működését a dolgozatban részletezem. Egyik legérdekesebb ilyen algoritmus Hamilton kört keres közelítő módszerekkel.
A terepmunka közben egy Android platformra írt alkalmazás van az adatrögzítők segítségére, amely a bejárási terv alapján kéri a hiányzó – a modellezés fázisában nem ismert – adatok rögzítést, amiből egy naplóállományt készít. Ezt a naplóállományt a modellező alkalmazás dolgozza fel.
A dolgozatban kitértem a GPS helymeghatározó rendszer működésére, amely a földrajzi koordinátákat szolgáltatja a készülő térkép számára. Kiemelt hangsúlyt kapott a mérési hibák okainak és lehetséges ellenszereinek tárgyalása, mivel ez a problémakör a leglényegesebb a térképkésztés szempontjából.
A rendszer Java nyelven írt komponensekből épül fel. A téma másodlagos célja a Java nyelv valamint a hozzá kapcsolódó API-k megismerése, és felhasználásuk gyakorlása volt szerver- és kliensoldalon éppúgy, mint az Android mobil platformon.