Vissza az előzőleg látogatott oldalra (nem elérhető funkció)Vissza a tananyag kezdőlapjára (P)Ugrás a tananyag előző oldalára (E)Ugrás a tananyag következő oldalára (V)Fogalom megjelenítés (nem elérhető funkció)Fogalmak listája (nem elérhető funkció)Oldal nyomtatása (nem elérhető funkció)Oldaltérkép megtekintése (D)Keresés az oldalon (nem elérhető funkció)Súgó megtekintése (S)

Az OpenStreetMap / Az OSM adatok szerkezete

Tanulási útmutató

Összefoglalás

Az OpenStreetMap adatok szerkezetének részletes bemutatása

Követelmény

A tanuló legyen tisztában az OSM alapvető elemtípusaival.

Önállóan megoldható feladatok

  • Töltse le egy kis terület térképét OSM XML formátumban, és figyelje meg a különféle elemek attribútumait és egymáshoz való viszonyát (pl. vonalakat alkotó pontok, kapcsolatok stb.)!

Az OSM adatok szerkezete

Geoadatbázisok tervezésekor érdemes megfigyelni az OSM adatok szerkezetét, mivel számos olyan megoldást találhatunk, amelyet érdemes követni hasonló, összetett adatbázisok esetén.

Az adatok legkisebb építőeleme a pont (node). A pont helyzetét annak földrajzi koordinátáival (szélesség, hosszúság) adjuk meg. A pontok jelölhetnek különálló objektumokat is (pl. telefonfülke, hegycsúcs, stb.), de lehetnek vonalak (ways) alkotóelemei is.

A vonalak több pont összekapcsolásával definiált elemek. Ezek lehetnek nyílt (pl. egy utca) vagy zárt görbék (pl. egy tó partvonala).

Fontos megjegyezni, hogy nincs külön „felület” vagy „poligon” elemtípus. Azt, hogy egy zárt görbe vonalat, vagy felületet jelent-e, annak attribútumai, címkéi döntik el.

A pontok és vonalak tetszőleges számú különféle címkével rendelkezhetnek. Ezek a címkék az adott elem egészére érvénye tulajdonságokat leíró, kulcs=érték formájú adatok. Egy hegycsúcs címkéi lehetnek pl.: natural=peak, name=Róka-hegy, ele=260; míg egy utcáé: highway=residential, name=Üveges utca.

A címkék alapján történik az egyes elemek térképi megjelenítése, ezért alapszabály, hogy minden vonalnak, és minden olyan pontnak, amely önálló objektumot is jelöl, legalább egy címkét kell tartalmaznia. Az egységes megjelenítés érdekében a szerkesztők ajánlásokat is kidolgoztak a különféle objektumoknál alkalmazandó kulcsokra és értékekre.

A különféle pontokat és/vagy vonalakat ún. kapcsolatok (relations) segítségével rendezhetjük logikai csoportokba. Ilyen kapcsolatokkal fűzhetjük össze például egy turistajelzés, vagy egy autóbuszjárat nyomvonalát alkotó vonalakat, de ezekkel írhatjuk le a közlekedőkre vonatkozó különféle megszorításokat is, például ha egy útkereszteződésben nem lehet valamelyik irányból balra fordulni, stb.

Az OSM ajánlása szerint nem célszerű 300-nál több elemet tartalmazó kapcsolatot létrehozni. Ennél nagyobb elemszám esetén több kapcsolatot kell definiálni, és azokat egy „szuper-kapcsolat” segítségével összefogni.

Kapcsolatok használhatók az úgynevezett „multipoligonok” létrehozásához is. Ezekre akkor lehet szükség, ha lyukas és/vagy több, egymáshoz nem csatlakozó részből álló poligonokat akarunk ábrázolni. Lyukas poligonok gyakran előfordulnak (pl. erdő tisztással a közepén vagy Pest megye Budapest nélkül). Több részből álló poligonok elsősorban (köz-)igazgatási területi egységeknél lehetségesek (pl. Azerbajdzsán, vagy a Kiskunsági Nemzeti Park).

Mintapéldák OSM XML formátumban

Példa egy pontra (egy magassági pont):

Forráskód <node id="938105613" version="1" changeset="5957998" lat="47.4309464" lon="18.8860779" user="grin" uid="38952" visible="true" timestamp="2010-10-04T22:34:50Z"> <tag k="ele" v="260"/> <tag k="name" v="Róka-hegy"/> <tag k="natural" v="peak"/> </node>

Példa egy vonalra (egy rövid utca):

Forráskód <way id="16613076" visible="true" timestamp="2007-12-16T22:26:46Z" version="2" changeset="343349" user="Kádár Márton" uid="20848"> <nd ref="171573049"/> <nd ref="171570824"/> <nd ref="171573050"/> <tag k="created_by" v="Potlatch 0.5d"/> <tag k="highway" v="residential"/> <tag k="name" v="Üveges utca"/> </way>

A vonalat alkotó pontok sorrendje kötött. Ezt az XML formátumban az <nd> tag-ek sorrendje jelzi.

Példa egy kapcsolatra (piros háromszög turistajelzés a Budai-hegységben):

Forráskód <relation id="2471333" visible="true" timestamp="2012-11-24T17:38:18Z" version="4" changeset="14016198" user="Doroszlai Attila" uid="448036"> <member type="way" ref="185406385" role=""/> <member type="way" ref="185406359" role=""/> <member type="way" ref="126530398" role=""/> <member type="way" ref="126530404" role=""/> <member type="way" ref="108376679" role=""/> <tag k="jel" v="p3"/> <tag k="name" v="P^ (Vörös-pocsolyás-hát)"/> <tag k="network" v="lwn"/> <tag k="osmc:symbol" v="red:white:red_triangle"/> <tag k="route" v="hiking"/> <tag k="symbol" v="red triangle"/> <tag k="symbol:hu" v="piros háromszög"/> <tag k="type" v="route"/> </relation>

A vonalakhoz hasonlóan a kapcsolatok leírásában is meghatározott sorrendben szerepelnek az elemek.

Vissza a tartalomjegyzékhez

OSM adatok reprezentációja geoadatbázisban

A fentebb ismertetett szerkezet geoadatbázisban való tárolásához számos táblára van szükség. A 2.2.2. szakaszban említett Osm2postgresql segédprogram által generált Postgres adatbázis a következő megoldást alkalmazza:

id

a pont azonosítója (egész)

geom

az elem geometriája (ebben a táblában mindig pont)

tagshstore

az elemhez tartozó címkék (hstore típus)

way_id

a vonal azonosítója

node_id

a pont azonosítója

sequence_id

a pont sorszáma a vonalon belül

A sequence_id határozza meg a pontok sorrendjét a vonalon belül.

Vissza a tartalomjegyzékhez

A legfontosabb címkék

Az OSM elemek minden fontos tulajdonságát (a geometriától eltekintve) a különféle címkék írják le. A következőkben ezek közül a leggyakrabban használt csoportok áttekintése következik. A különféle térképi elemekhez használható címkék részletes, kategorizált leírása a http://wiki.openstreetmap.org/wiki/Map_Features címen olvasható.

Utak

Azok a vonalas elemek az utak, amelyeknél megtalálható a highway kulcsú címke. A kulcshoz rendelt érték adja meg az út típusát. Néhány lehetséges érték:

highway=

út típusa

motorway

autópálya

motorway_link

autópálya felhajtó

trunk

autóút

trunk_link

autóút felhajtó

primary

elsőrendű főút

secondary

másodrendű főút

residential

egyszerű belterületi utca

track

szekérút

footway

gyalogút

cycleway

kerékpárút

steps

lépcső

Az utak egyéb tulajdonságait további címkék határozhatják meg. Ilyenek pl.: lanes=… (sávok száma), surface=… (burkolat típusa), stb.

Kötöttpályás közlekedés

A különféle vasutak, és néhány hozzájuk kapcsolódó objektum közös kulcsa a railway. Néhány lehetséges érték:

railway=

jelentés

rail

normál vasút

narrow_gauge

keskeny nyomközű vasút

funicular

sikló

subway

földalatti, metró

tram

villamos

monorail

egysínes vasút

A vasútvonalaknál is lehetséges további információk megadása, pl.: electrified=yes (villamosított), tracks=… (vágányok száma).

Külön kategóriát képeznek a drótkötélpályák. Ezeket az aerialway kulcs jelöli. Pl.: aerialway=chair_lift (libegő), aerialway=drag_lift (csákányos vagy tányéros sífelvonó), aerialway=goods (teherfelvonó), stb.

Vizek

A vízfelületeket a natural=water címke jelzi, melyhez további információt adhat a water kulcs, pl.: water=lake (tó), water=river (folyó), satöbbi. A különféle lápokat, mocsarakat a natural=wetland, míg a szárazföldek partvonalait a natural=coastline jelzi. Ez utóbbinál figyelni kell arra, hogy mindig a vonal jobb oldalán (a töréspontok sorrendjét figyelembe véve) legyen a víz.

A vízfolyásoknál a waterway kulcsot használhatjuk, különféle értékekkel. Pl.: waterway=stream (patak), waterway=canal (csatorna), stb. Ugyanez a kulcs használható gátak (waterway=dam), zsilipek (waterway=lock) jelölésére is.

Felszínborítás

Az erdők, mezők stb. elkülönítésére elsősorban a natural kulcs különböző értékei szolgálnak. Néhány példa:

natural=

jelentés

grassland

füves terület

wood

erdő

scrub

bozót

glacier

gleccser

A mesterséges felszínborítottságot a landuse kulccsal jelezzük. Fontos megjegyezni, hogy a fakitermelési céllal ültetett erdők is ide kerülhetnek. A leggyakoribb értékek:

landuse=

jelentés

forest

telepített erdő

meadow

legelő

vineyard

szőlő

farmland

szántó

residential

lakott terület

industrial

ipari terület

Szolgáltatások

Az amenity kulcs különféle értékei számtalan, különféle szolgáltatásokkal kapcsolatos objektumot jelölhetnek. Néhány példa:

amenity=

jelentés

restaurant

étterem

pub

kocsma, söröző

university

egyetem

school

iskola

car_rental

autókölcsönző

fuel

benzinkút

atm

ATM

hospital

kórház

hunting_stand

magasles

prison

börtön

police

rendőrörs

Vissza a tartalomjegyzékhez

Új Széchenyi terv
A projekt az Európai Unió támogatásával, az Európai Szociális Alap társfinanszirozásával valósul meg.

A Társadalominformatika: moduláris tananyagok, interdiszciplináris tartalom- és tudásmenedzsment rendszerek fejlesztése az Európai Unió támogatásával, az Európai Szociális Alap társfinanszírozásával, az ELTE TÁMOP 4.1.2.A/1-11/1-2011-0056 projekt keretében valósult meg.
A tananyag elkészítéséhez az ELTESCORM keretrendszert használtuk.