WikiProject Hungary/MTBO

From OpenStreetMap Wiki
Jump to: navigation, search

Tájkerékpáros térkép készítése OSM adatokból

A tájkerékpáros térképeket általában tájfutó térképek felhasználásával készítik, de ha nem akarunk sok időt tölteni a térképezéssel (túrázáshoz vagy edzésre kell), vagy az adott területről nincs használható tájfutó térkép, akkor egy OSM-alapú tájbringa térkép is jól jöhet. A térkép készítéséhez szükségünk lesz a Maperitive programra. Ez egy ingyenes alkalmazás, amely OSM adatokból kiindulva tud térképet rajzolni, előre megadott szabályok szerint formázva a térkép egyes elemeit. Az így készült térképek három részből állnak:

  • Úthálózat. Ez az OSM-ből jön, lehet exportálni (a JOSM térképszerkesztőből), .osm formátumban, és importálni a Maperitive-be, de az Overpass API használatával közvetlenül az OSM-ből is le tudjuk tölteni a kijelölt terület adatait.
  • Domborzat. Ez nem az OSM-ből jön, hanem az Earthdata portálról, ahol ellőbb regisztrálnunk kell (ingyenes). A generált szintvonalak külön rétegre kerülnek, és nem szerkeszthetők.
  • Turistautak. A szabvány MTBO térképeken ilyesmi nem szokott szerepelni, de ha saját célra készítünk térképet (pl. túrázáshoz), akkor ez az információ is hasznos lehet. Az OSM-ből bitmap formátumban (tile server) le lehet kérni egy olyan réteget, ami csak a turistautakat és jelzéseket tartalmazza, ezt azután, némi trükközéssel, rá lehet fektetni a kész tájkerékpáros térképre.


Maperitive

Töltsük le és telepítsük a programo legújabb verzióját.

Ezen felül szükségünk van még a tájkerékpáros térképek formázásához használható szabályokra. Ezt a OSM-MTBO-Maperitive GitHub projectből lehet letölteni. A szabályokat első alkalommal telepíteni kell, a readme útmutatása szerint.

A térkép határainak kijelölése

Indítás után a Maperitive a Mapnik (bitmap alapú) térképet hozza be, amit később majd kikapcsolunk, hogy ne zavarjon, de indulásnál ennek segítségével tudjuk kiválasztani a készítendő térkép határait.

Jobb-klikk a térképen, majd Place Geometry Bounds Here – ekkor egy piros négyzetet kapunk, amelyet az egérrel mozgathatunk és át is méretezhetünk. A kijelölt területen belüli részről készül majd a térkép. Jobb-klikk a térképen, majd Place Printing Bounds Here – a nyomtatási tartomány határát jelölhetjük ki vele.

Érdemes a geometria határokat nagyobbra venni, mint amekkora területről ténylegesen térképet szeretnénk csinálni, mert ha egy zárt poligon objektumot (például lakott terület határai) kettévág a geometriai határ, akkor annak csak a fele fog letöltődni, így a poligon nyitott lesz, és a Maperitive nem fogja nekünk beszínezni a csonka területet.

OSM adatok letöltése

Map > Download OSM Data (Overpass API)

MTBO szabályok alkalmazása

Map > Switch to Rules > MTBO

Ha nem jelenik meg a szabályok között az MTBO menüpont, akkor a telepítéskor eltoltunk valamit.

Szintvonalak

A dokumentáció szerint öt különféle forrásból lehet letölteni domborzati adatokat, ezek közül azonban jelenleg (2017. szeptember) csak a SRTMV3R3 működik, de az is csak úgy, ha előbb regisztrálunk az Earthdata portálon, bejelentkezünk, majd a böngésző sütijei közül kikeressük a szerver által küldött tokent, és ezt megadjuk a Maperitive-nek. Ehhez a következő két parancsot kell kiadnunk a Maperitive parancssorában (az első a tokent állítja be, a második a domborzati adatbázis forrását):

 set-setting name=user.earthdata-auth-token value=<token>
 set-dem-source name=SRTMV3R3

Az egész folyamat lépésről lépésre el van magyarázva itt.

A szintvonalak generálására van parancs a menüben is, de annak nem lehet megadni az alapszintközt. Ha ezt is szeretnénk mi magunk megadni, akkor a Maperitive parancssorába kell begépelnünk a következő parancsot (ha tíz méteres alapszintközt szeretnénk):

 generate-contours interval=10

Parancsfájl

Ha az egymás után végrehajtani kívánt parancsokat beírjuk egy szövegfájlba, és .mscript kiterjesztéssel látjuk el, akkor a program az egészet egyben is le tudja futtatni (File > Run Script…), nem kell külön-külön begépelnünk őket. A következő parancsfájl 1:25 000 léptékű térképet generál a Börzsönyről, 15 méteres alapszintközzel:

 clear-map
 set-geo-bounds 19.052702017220906, 48.050823397897751, 18.790984591938507, 47.815604007201536
 set-print-bounds-geo
 download-osm-overpass
 generate-contours interval=15
 use-ruleset location=Rules/MTB_Orienteering-hadry.mrules as-alias=MTBO
 apply-ruleset
 zoom-map-scale 25000

Turistautak réteg

A Maperitive Web Map-nak hívja azt, amit az OSM szerkesztője (JOSM) légifotónak. A lényeg mind a kettőnél ugyanaz: egy URL segítségével bitmap formátumú képi adatokat tudunk letölteni egy távoli szerverről, és megjeleníteni egy külön rétegen. A Maperitive alapból tud 14 ilyen webtérképet, sajátot sajnos csak egy Python script segítségével lehet hozzáadni. Nyissuk meg a Samples/Python/AddWebMapCustom.py fájlt, és a végére írjuk be a következő sort:

 Map.add_web_map_custom("TuHuCsakJelzesek", ["http://a.tile.openstreetmap.hu/tt/" ])

Az így módosított scriptet futtassuk le a Maperitive parancssorából:

 run-python Samples/Python/AddWebMapCustom.py

Ha minden jól megy, megjelennek a turistajelzések, és az útvonalak, pirossal áthúzva. A web map a legalsó rétegbe kerül, ezért a térkép egyes részletei (például a műutak) letakarják a jelzést. Némi trükközéssel fel lehet hozni a turistajelzéseket a felső rétegbe, de akkor meg az útminősítés nem látszik a piros vonaltól. Mérlegelni kell, hogy az adott térképen melyik a fontosabb.

Nyomtatás (exportálás)

Közvetlenül nem lehet nyomtatni a programból, a térképet ki kell exportálnunk valamilyen fomátumban, és egy másik programból kinyomtatni.

Bitmap

Tapasztalataim szerint bitmapba exportálás során próbálgatással kell belőni a méretarányt, mert az alapártelmezett paraméterekkel készített bitmap mérete egy kissé torz. Ennek az az oka, hogy a méretarányt pixel-per-inch (PPI)-ben számolja, ami monitoronként eltérő lehet. Az exportált kép kép méretét finomhangolni lehet a dpi paraméter értékének változtatásával. Első kísérletként exportáljuk ki a képet 100-as értékkel:

 export-bitmap file=output/borzsony-terkep-25000.png dpi=100

A próbanyomaton mérjük meg a lépték vonalzó (jobb alsó sarok, ha bekapcsoltuk a Map > Show Map Scale opciót) hosszát. Ezt összevetve a ponos értékkel, kiszámíthatjuk a dpi paraméter korrigált értékét. A kísérleteim során az 25 ezres térkép akkor lett pontos méretű, ha a dpi értéket 122-re vettem.


SVG

Két különféle verziójú SVG-t lehet előállítani, az egyiket az Adobe Illustratorhoz lehet használni, a másikat az Inkscape-hez. Én ez utóbbival próbálkoztam, de miután az Inkscape folyton összeszakadt a térkép mozgatása közben, végül feladtam a további próbálkozást.