Típusreform
A típusreform célja az, hogy a turistautak.hu térképének szerkesztésekor használatos típuskészletet olyanná alakítsuk, amelyben szerepel és jól megkülönböztethető minden olyan típus, amit ábrázolni szeretnénk.
Tartalomjegyzék |
Előzmények
A turistautak.hu indulásakor, 2003-ban elsősorban Garmin kézi GPS-eket használtunk. Ehhez egyetlen programmal lehetett saját készítésű térképeket előállítani: ez a cgpsmapper, amelyet egy lengyel srác, Stanislaw Kozicki készített el a Garmin mindenféle segítsége nélkül, sőt a cég legnagyobb ellenkezése mellett. A cgpsmapper elsődleges bemeneti formátuma egy saját szöveges (ASCII) fájl, amely időközben az .mp végződést kapta (a név a lengyel eredetre utal, map polski). Ehhez egy orosz fejlesztő, Константин Галичский (Konstantin Galichsky) fejlesztette a GPSMapEdit (továbbiakban: mapedit) programot, amely egyúttal a Russa (később Navitel) program térképeinek szerkesztőfelülete is lett.
Típuskészletek
Típuskészlet alatt azt értjük, hogy a rajzi elemekhez egy előre definiált listából kiválasztunk egy típust, és ez meghatározza annak megjelenését, viselkedését. Mivel három alapvető rajzi elemmel dolgozunk (pont, vonal, felület), ezért egy típuskészlet három típuslistát tartalmaz. Alapvetően szám - név - kinézet összerendelés, ahol egy adott szám (típuskód) meghatározza típus nevét a megjelenését.
A mapedit programban többféle típuskészlet is található, ezek közül alapértelmezett a Garmin típuskészlet. A Russa típuskészlete alapvetően a Garminéra épül, csak kiegészíti néhány új típussal, pl. trolibusz-megálló.
A turistautak.hu-ban a Garmin típuskészletet kezdtük használni, így a szerkesztéskor választott típus mindjárt mehetett ki a Garmin kimenetre. Azonban beláttuk, hogy ez a típuskészlet szűk, például a terepi utak különbségei nehezen írhatók le kétféle típussal (földút és ösvény). A Garmin típuskészlet további nehézsége, hogy bizonyos típusokat többször is tartalmaz, ráadásul rendkívül sok olyan elemet is tartalmaz, amelyet nem használunk, ezek zavaróak a szerkesztés közben.
Turistautak típuskészlet terve
Az előzményekből tanulva elhatároztuk, hogy saját típuskészletet vezetünk be a helyi jellegzetességek (pl. gémeskút) és a saját szempontjaink miatt. Segített a tervben, hogy a mapedit program forrásának nagyobbik része nyilvános, csak azon funkciók forrása nem érhető el, amelyek a fizetős változat sajátosságai. Így lehetőség nyílt arra, hogy a mapeditet kiegészítsük a Turistautak típuskészlettel, amely ezen cikk írásakor (2008. november 5.) félkész állapotban van.
Aktuális állapot
A típuskészlet mindhárom elemére (pontok, vonalak, felületek) elkészült a típuslista, ezek szerepelnek a mapeditben. Hiányzik a sokféle POI típushoz tartozó ikonok többsége, ezeket 16x16 pixeles .ico fájlban várja a mapedit forráskódja.
Fejlesztési munkát igényel a típuskészlet kezelése, ugyanis eddig a kimeneteken a Garmin készletből indultunk ki, mostantól a Turistautak készletből kell előállítani a megfelelő kimeneti típust.
Át kell írni a POI-kezelést is, mert a webfelület néhány típus kezelésére készült, a 100 feletti elemű típuslista áttekintéséhez szükség van a csoportosítások kezelésére is.
Nyitott kérdések
A típuslisták elemeinek kialakításánál nem egyszerű meghúzni a határt, hogy mit tekintünk egy típusnak és mikor érdemes többfelé bontani. Klasszikus példa a büfé és a gyorsétterem kérdése. Igyekeztünk azt az elvet követni, hogy amit a turistatérképeken különböző ikonnal szeretnénk jelezni, az legyen külön típus.
Ütemterv
- típuskészlet előzetes terve — ez már megvan
- egyeztetés az OMP típuskészletével, hogy oda-vissza átjárható legyen
- típus-átalakító programok (pont, vonal, felület) elkészítése, szükség esetén a típuslisták kiegészítése
- típusok megjelenésének beépítése a mapeditbe (főleg a pontok hiányosak)
- le- és feltöltőprogram (download.php és upload.php) felkészítése az új típusok kezelésére
- kimenetek (Garmin, Russa, Magellan, rasztertérkép, svg?) felkészítése
- webfelületek (POI, vonalak) felkészítése
- próba-átállás és próbaüzem egy helyi gépen
- áttérés időpontjának kitűzése, aztán azon a napon (egyetlen nap alatt):
- minden tájegység és webfelület befagyasztása
- típuskészletet meghatározó konfigurációs változó átírása, konvertálás futtatása
- éles teszt szűk körben
- zárolások feloldása, további ellenőrzés