Hogyan lehetek én is térképszerkesztő

A Turistautak.hu wikiből
A lap korábbi változatát látod, amilyen olahtamas (vitalap | szerkesztései) 2008. november 12., 11:59-kor történt szerkesztése után volt.

Hogyan lehetek én is térképszerkesztő?

Olvasd el az alábbi útmutatót és ha vállalod, jelentkezz a térképek fórumon!

Tartalom
1. Szükséges eszközök
2. A program, amivel rajzolunk
3. Az alapanyag, amibe rajzolunk
4. A szerkesztett térkép felépítése
5. A rajzoló és az adatbázis közti kommunikáció
6. A rajzolás menete
7. A megrajzolt térkép visszakerülése a szerverre

1. Térképszerkesztéshez szükség van egy saját számítógépre és hálózati kapcsolatra (nem feltétlenül állandóra és nem is kell, hogy a szerkesztésre használt gépen legyen). A számítógépen Windows operációs rendszer legyen, 95-nél magasabb verzióval.Szükség van ezen kívül még sok türelemre és szabadidőre; a precizitás pedig nagy előnyt jelent az elkészült térkép minőségének szempontjából.

2. Töltsd le a mapeditet a http://turistautak.hu/download/mapedit.exe címről. A programot nem a turistautak.hu fejlesztette, viszont a nyilvános forráskódot több ponton kiegészítettük, és innen ez a változat tölthető le. Fontos, hogy a mi változatunkat használd, mert jelenleg ez az egyetlen, ami valódi 6 tizedes pontossággal kezeli a koordinátákat, illetve az alább hivatkozott funkciók és menüpontok egy része csak ebben van meg. Telepítést nem igényel, tedd el valahova a gépeden és próbáld ki, hogy elindul-e. El fog, elég strapabíró szerkezet. Angolul van, de ez ne rémisszen el. Lehet, hogy egyszer lefordítjuk magyarra is, de ez még senkinek nem hiányzott eddig.

3. Ha megkaptad a jogosultságot az .mp fájl letöltésére, akkor a tájegység SVG térképe alatti listában megjelenik az .mp formátum. A sok opció kitöltésével ne fáradj egyenként, alul válaszd a beállítás-sablonok közül a "szerkesztésre" nevűt, majd töltsd le a fájlt. Ha drága vagy lassú a netkapcsolatod, használhatsz tömörítést is, elég jelentős méretcsökkenést jelent.A turistautak.hu-ról letöltött .mp fájl adatbázisból készül a letöltés pillanatában. Ezt egy PHP program végzi a szerveren, a beállított letöltési paramétereknek megfelelően. A javasolt "szerkesztésre" beállításokkal olyat kapsz, ami pont jó a szerkesztésre: rajta van minden pont, vonal és felület, ezeket mapeditben így hívják: point, polyline, polygon. Összességükben rajzi elemeknek, térképi objektumoknak hívjuk ezeket, mikor hogyan.

4. Nyisd meg a letöltött .mp fájlt a mapedittel és kukkants bele. Alapból úgy jelenik meg a tájegység, hogy elférjen a képernyőben. A kezelőszervek magukért beszélnek, súgó nincs hozzá és ha mégis kérdésed lenne, tedd fel a térképek fórumon.Meg kell ismerned a program Garmin-térképekhez készült jellemzőit, mert a mapedit eredetileg Garmin GPS-ekbe szánt térképek szerkesztésére készült.A térkép szintekből (levels) áll, ezek nem tévesztendők össze a vektoros rajzolóprogramokban, CAD és GIS szoftverekben használatos rétegekkel (layers). Ezek a szintek (más néven rétegeknek is nevezzük, ugyanarról beszélünk) a különböző méretarány-tartományokban való különböző megjelenítést szolgálják. Mi a szerkesztés során ezt nem használjuk, de figyelnünk kell azokra a kezelőszervekre, amelyek hatással vannak a rajzolásra.A letöltött .mp-ben minden a 0-ás rétegre van rajzolva. Ez az első, és a legalsó, vagyis a legnagyobb nagyítási szinteken ez jelenik meg. A felsőbb (1, 2, 3, ...) szintekre "kisugároznak" ezek a rajzi elemek (mapedit-beállítás neve erre: Properties / Elements / All elements are extended to levels up to ...), vagyis ha ide például 1 van beállítva, akkor az objektum megjelenik a 0-ás és az 1-es rétegen is. Elvileg lehetne olyan is, hogy valami csak az 1-esen vagy 1-estől a 3-asig jelenjen meg, de ilyenekkel mi nem foglalkozunk.A mapedit alapból hasonlóan viselkedik a Garmin-féle MapSource-hoz, vagyis egyre jobban belenagyítva egyre lejjebbi szintet mutat. Ez azonban mapeditben felülbírálható: View / Levels / Auto helyett megmondhatjuk, hogy melyiket mutassa (akármilyen nagyításban), és ami fontosabb, mindig arra a szintre kerülnek az újonnan létrehozott elemek, amelyiket éppen látjuk. Pontosan emiatt fontos, hogy szerkesztéskor nyomjuk meg a 0-ás gombot (vagy View / Levels / Level0), és így tuti, hogy minden új elem is ugyanoda a Level0-ra kerül, mint a letöltöttek.

5. Meg kell értened az adatbázissal való oda-vissza kommunikáció lényegét.Amit letöltöttél, az az adatbázis kivonatos másolata. A munkád eredményének vissza is kell oda kerülnie, mégpedig mindennek a helyére. Ahhoz, hogy ez hatékonyan működjön, meg kell értened és be kell tartanod a szabályokat.Az adatbázisból letöltött típusok összes tulajdonságaikkal képviseltetik magukat a fájlban, még olyanokkal is, amelyeket a mapedit nem kezel, viszont megjeleníti mint "Extra" paramétert és át is lehet szerkeszteni. A Propertes ablak "Extras" fülén vagy a View / Element properties listában láthatod ezeket, itt van a legtöbb olyan tulajdonság, amely az adatbázis számára fontos. Néhány jellemző kifejezetten mapedit-kezelőszervhez kapcsolódik, a legfontosabb a "Label", amit mi a turistajelzés beállítására használunk, és csak arra. Ha az útnak van száma, akkor azt az Utnev= extra mezőbe írjuk, a települések utcaneveit pedig az Utcanev= mellé. A "Label" mező végén van egy ~[0x1f](0, 5936) formátumú végződés, itt a ~[0x1f] technikai kód a cgpsmapper program számára, ami a Garmin-térképeken azt jelenti, hogy a folytatásnak nem kell megjelennie kis nagyításban, majd zárójelben a felhasznált trackek száma és az adatbázis-azonosító szerepel. Ezeket a ~ jel utáni dolgokat feltöltéskor nem veszi figyelemre a rendszer, tehát letörölhető, illetve hiába változatsz meg valamit benne, az nem kerül sehova.Ha a Garmin .img-t nyitjuk meg a mapedittel (erre is képes!), akkor hasonlót látunk, mint az .mp-ben, viszont az .img két lényeges szempontból alkalmatlan a továbbszerkesztésre: a vonalak egyszerűsítve vannak, ráadásul 24 bites számábrázolással vannak tárolva, így a helyzeti pontosságuk is rosszabb, másrészt nincs a fájlban benne az objektumok adatbázis-azonosítója (ID=), így ennek feltöltése az adatbázisba megduplázná a meglevő vonalakat. Az ID ugyanis éppen arra szolgál, hogy minden feltöltött objektumról el lehessen dönteni, hogy meglevő (ha igen, melyik?) vagy új. Az ID mezőhöz ne nyúlj: ne töröld le, ne hozz ilyet létre és ne változtasd meg!Az adatbázisba való visszatöltés szempontjából a vonalak másképpen viselkednek, mint a pontok és a felületek.A vonalakat tájegységhez rendeljük, mégpedig egyértelműen: minden vonal pontosan egy tájegységhez tartozhat, se többhöz, se kevesebbhez. Ha újként létrehozzuk valamelyik tájegységben, akkor az oda fog tartozni mindörökké (csak az adminisztrátor tudja esetleg átpakolni máshová). Feltöltéskor egyúttal azonosítót is kap, ez egy folyamatosan növekvő sorszám, 1-től kezdődően. Ha a szerkesztés során törlünk egy vonalat, akkor ez a feltöltéskor hiányozni fog a fájlból, így ahhoz, hogy valóban törlődjön az adatbázisból is, a feltöltőprogram végignézi, hogy mi érkezett meg a tájegység vonalai közül, és ami nem érkezett meg, azt törli.Ezt csak akkor teszi, ha a feltöltéskor be van kapcsolva a "[x] a feltöltésben nem szereplő vonalas objektumok törlése a tájegységből (teljes feltöltés)" beállítás. Ezt kikapcsolni akkor van értelme, ha csak egy pár új vonalat akarunk hozzátenni egy tájegységhez, és nem módosítunk semmit (elég ritka eset).Ha egy vonalat kettévágunk (gyakori eset), akkor a két vagy akár több leszármazott örökli az eredeti tulajdonságokat, köztük az adatbázis-azonosítót is. Feltöltéskor ez kezelendő, hiszen nem lehet két vonal ugyanazon azonosítóval. Ilyenkor az azonosító archiválódik, és minden rész-vonal új azonosítót kap. Fontos, hogy a szétvágott részek együtt maradjanak és ugyanazt a szakaszt alkossák, mint amit az eredeti azonosító alatt tárolt vonal jelentett eredetileg. Ez amiatt fontos, hogy az azonosítók sorozataként tárolt útvonalak ne sérüljenek.A feltöltőprogram egyúttal megvizsgálja, hogy minden vonalnak vége van-e a csomópontokban. Ami továbbfut a csomóponton, azt feldarabolja.A mapedit képes egy objektumként több részből álló vonalat is kezelni (ezek nem feltétlenül érnek össze), ezek rendszerint a join objects paranccsal keletkeznek, ezeket is szétdarabolja a feltöltés. Fontos, hogy ha vannak is ilyenek, folytonosak legyenek, különben sérül az azonosítók sora az útvonalakban.Visszatérve a pontokra és a felületekre: ezek nincsenek (feltétlenül) tájegységhez kötve, így azt, hogy melyek kerüljenek a letöltésbe, a letöltés alapjául használt térkép határai határozzák meg: ami belefér, az belekerül. Ezekre így a zárolás sem vonatkozik, ami némi veszélyforrást jelent, de ha pedig mégis megváltozik a pont a weben a zárolás ideje alatt, akkor a feltöltéskor nem frissül, a szerkesztő pedig jelzést kap erről.A pontok esetében ha a zárolás óta módosítás történt (webről vagy más által), akkor nem történik meg a felülírás, helyette hibaüzenet jelenik meg a feltöltő-oldalon. Felületeknél még csak ennyi zárolás sincs, de azok változnak a legkevésbé. Speciális esetet jelentenek a tájegységek között átfedő felületek, pl. nagyvárosok településkontúrja, amelyek a Garmin-térképeken okoztak galibát azzal, hogy mindkét tájegység térképére rákerültek és így letakarták az egyik tájegység útjait. Emiatt van lehetőség ezeket tájegységhez kötni és akkor csak a megadott tájegységhez kerülnek, függetlenül attól, hogy beleesnek-e a térkép határaiba vagy sem.A pontok és felületek törlése a feltöltéskor a fent említett módon nem is valósul meg magától, külön Del=1 paramétert kell megadni, hogy törlődjenek. Ez elvileg a vonalaknál is működik, de egyszerűbb valóban törölni és teljes feltöltést kérni, mint ezt beállítani.

6. Ha mindezeket a fejedbe vésted, kezdj el rajzolni. Ismerkedj meg a kezelőszervekkel. A gyakran használatosak:Create Object: háromállású (point, polyline, polygon), új pont, vonal, felület létrehozására. Utóbbi kettőnél a backspace gombbal tudsz egy-egy ponttal visszalépni, ha rossz helyre kattintottál. Ha éppen rajzolsz egy vonalat, akkor a mentés a félkész vonalra nem vonatkozik! Vigyázz, nehogy eszközt válts közben, mert pl. a D gomb (Tools / Drag) megnyomása kérdés nélkül elveszíti a félig megrajzolt vonalat. Befejezés az Enter gombbal, utána még három teendőd van:a) Ki kell választanod az út típusát az Útvonalszakaszok (polyline) típusai] oldalon megadottak szerint.b) Az előugró Extra paraméterek ablakba be kell írnod a szakasz tulajdonságait. A felhasznált trackek számát mindenképpen írd be a Track= paraméterbe; ez nem feltétlenül abszolút darabszám; 0 azt jelenti, hogy fejből/hasból rajzoltuk, 1 azt, hogy még elég bizonytalan, 2 azt, hogy valószínűleg pontos, 2-nél több pedig azt, hogy ez már tényleg tutira a helyén van. Három bizonytalan track még könnyen lehet 2-es vagy rossz esetben 1-es is. Az extra paramétereket és lehetséges értékeiket itt, az ezeket összefogó leggyakrabban használt sablonokat pedig itt találod.c) A szakaszon megjelenő kis ablak egy címkét vár tőled, ahová a turistajelzéseket kell írnod az ASCII átírási szabályok szerint. Ha nem jelzett turistaút, hagyd üresen!Select Object: shift-el kattintva többet is, bekeretezve szintén többet, jobb gombra kattintva átalakítható track polyline-ra (kapcsold be a Tools / Options / Stick to attachments kapcsolót, hogy meg tudd tenni)Move Points: kiválasztasz egy polyline-t vagy polygont, kiemeli a töréspontjait, lehet egyenként mozgatni; ekkor lehet szabdalni is (jobb egérgomb a szakítási pontra, split polyline). Generalize points: megszűri a túl sok pontot tartalmazó vonalat; pont törlése: kattints a pontra, Delete point; pont beszúrása: kattints a vonalra és Add pointÁltalános szerkesztési irányelvek:Minden csomópontban legyen a vonalaknak közös pontjuk, ne csak szemre érintkezzenek, ehhez a Tools/Options/Stick to neighbours kapcsolót használd! Ügyelj rá, hogy ilyen közös csomópontok semmiképpen se kerüljenek egymáshoz 5,4 m-nél közelebb!A Tools/Options/Snap to grid kapcsolót nem kell használnod, így 2-3 m-nél is pontosabban tudod elhelyezni a pontokat.A Tools/Options/Stick to attachments kapcsoló "mágnesként" vonzza a lehelyezendő térképpontot a mellékelt track(ek)hez. Vigyázz! Több, egymás közelében futó track esetén kapcsold ki, így tudod az ideális köztes utat berajzolni.A turistautak.hu mapedit verziójának további, szerkesztést-rajzolást segítő kapcsolói:- View/All Nodes (Shift+N): szakaszok és felületek összes pontjának megjelenítése- View/Trail Marks (J): turistajelzések ikonjainak megjelenítése- View/Trail Mark Lines (K): a jelzett turistautak vastag, 0x03-as vonallal történő megjelenítéseMapeditben gyakran használd a mentést, viszont fontos, hogy az Undo csak az utolsó mentésig tud visszaállítani. Hosszú munka esetén készíts másolatokat a fájlról, hogy ha valamiért megsérül, legyen honnan újrakezdened.Jó, ha tudod, hogy az egér scroll-gombjával Shift nyomva tartása mellett jobbra-balra görgetheted a térképet, Ctrl lenyomásával pedig zoomolásra használhatod.Több szakasz együttes típusváltásához vagy Extra paramétereinek módosításához jelöld ki a célterületet a Select Object-tel (terület kijelölése vagy Shift+kattintás a szakaszra) majd valamelyik kijelölt objektum fölött a jobb egérgomb menüjéből Modify/Type vagy ExtrasMivel az .mp fájl sima szöveges (ASCII) állomány, ezért tömeges (szöveges) változtatásokat szövegszerkesztővel is meg tudsz benne oldani. Itt ne a M$ Wordre gondolj, hanem valamelyik kicsi és használható ASCII szerkesztőre, pl. http://textpad.com

7. Töltsd fel a munkád eredményét a közös adatbázisba. Elsőre valószínűleg nem kapsz közvetlen feltöltési jogot, ekkor töltsd fel trackként az .mp fájlt és szólj a térképek fórumon, hogy nézzük át és ha jó, akkor feltöltjük. Később, ha megkapod a feltöltési jogosultságot, akkor az SVG térkép alatti "feltöltés fájlból" linkre kattintva tudod elküldeni az .mp-t.[x] feltöltés után a tájegység zárolásának feloldása - ha befejezted a szerkesztést, legyen bekapcsolva, mert csak úgy tud más hozzányúlni, ha feloldod a zárolást (ne tartsd zárolva indokolatlanul sokáig)Fontos, hogy várd végig a feltöltő-oldalt, akármilyen lassan is válaszol. 10 perces a php program időkorlátja, 1-2 perc alatt végezni szokott. Az tart sok ideig, amíg átnézi az adatokat, értelmezi és szabdalja a csomópontokban. Olvasd el a feltöltés végén megjelenő szöveget, mert lehet, hogy hibaüzeneteket ad, ezt másold onnan ki, hogy ha nem tudsz vele magad dűlőre jutni, tudd idézni. Ne nyomj frissítést erre az oldalra, mert akkor újra elküldi a fájlt és megduplázóik minden olyan vonal, amelyet újonnan rajzoltál bele (hiszen ismét újként értelmezi).Feltöltés után az adatbázis frissül azonnal. Az SVG-k cache-ből jönnek, de a frissítés után az érintett tájegység térképe újragenerálódik az első letöltéskor. Ez látványosan lassabb, mint amikor a letárolt svgz-t kapod fájlból, ezért feltöltés után érdemes ránézned az SVG-re, hogy megvan-e kilóra az egész, illetve hogy ne másnak kelljen végigvárnia a generálást. A Garmin-térképeknél éjfélkor-kor van lapzárta, éjjel frissülnek ott és reggeltől (délelőttől) már frissek a telepítők.FONTOS: a feltöltött fájlt ne töltsd fel többé! Mindig az adatbázisból frissen, zárolva letöltött anyagon dolgozz, tehát ha azonnal folytatod is, már egy újonnal letöltött .mp-t kezdj szerkeszteni.Ha bármi kérdésed van, tedd fel a térképek fórumon.