Több cikkünk is szólt már a téradatok kezeléséről és vizualizációjáról, amelyekben már meglévő téradatokat felhasználva végeztünk műveleteket. (Legutóbb QGIS - Hőtérkép (heatmap) készítése címmel olvashattatok hasonló témáról.) Ideje arról is szót ejteni, hogy milyen módszerekkel lehet előállítani a bemeneti adatokat, hiszen nem biztos, hogy ezek mindig rendelkezésre állnak. Először a vektoros adatok létrehozásáról ejtünk szót, azokon belül is a pontszerű adatokat vizsgáljuk meg.
Bár nap mint nap rengeteg digitális adat keletkezik a világban, és a téradatok is egyre nagyobb mennyiségben érhetők el, egyáltalán nem biztos, hogy a nekünk kellő adatok
- léteznek már vektoros formátumban,
- ha léteznek is, tudunk a létezésükről,
- ha tudunk is róluk, elérhetők számunkra,
- ha elérhetők is, megfizethető áron megszerezhetők.
Végső soron marad az a megoldás, hogy mi magunk állítjuk elő a szükséges adatokat. Mivel az előttünk álló feladat és a rendelkezésre álló erőforrások (idő, pénz, energia, stb.) ismeretében hatékony megoldást kell találnunk, érdemes tisztázni, hogy milyen sajátosságokkal (vagy ha úgy jobban tetszik, előnyökkel és hátrányokkal) jár ez a megoldás:
- azonnal elkezdhető a munka, nem kell az információkutatás eredményére (amíg meg tudjuk, létezik-e az adat és hol), valamint vásárolt adat esetén a szerződéskötésre, szállításra várni,
- a munka megkezdése után szinte azonnal elérhető részeredmény,
- a létrejövő adat struktúrája teljes mértékben megfelel az igényeinknek, hiszen mi határozzuk meg, milyen attribútum adatokat kívánunk rögzíteni,
- a vektoros téradat létrehozásához is szükség van valamilyen bemeneti információra, pl. raszteres referencia felület, alfanumerikus adatok, stb.
A következőkben három módszert is bemutatunk, amelyek eredményeként pontszerű adatokat tartalmazó vektoros téradat réteg jön létre.
Digitalizálás
Ebben az esetben az információ, amelyre szükségünk van, egy raszteres téradat rétegen érhető csak el. Ez lehet egy papír alapú térkép szkennelt és georeferált példánya vagy egy WMS, esetleg WMTS szolgáltatáson keresztül elérhető alaptérképi réteg, pl. az OpenStreetMap vagy a Google Maps. A digitalizálási folyamat során létrehozunk egy üres vektoros téradatállományt, amelyen a referencia felület alapján elhelyezzük a szükséges pontokat és rögzítjük a hozzájuk kapcsolódó alfanumerikus adatokat.
Hogyan tudjuk ezt lépésről lépésre végrehajtani QGIS-ben?
1. Referencia felület hozzáadása
A példában az OpenStreetMap XYZ Tiles rétegét használjuk referencia felületként. A Browser panelben az XYZ Tiles lehetőségek közül kiválasztjuk az OpenStreetMap-et és duplán kattintva rá hozzáadjuk a projekthez, majd a megfelelő területre navigálunk.
2. Üres vektoros réteg létrehozása
A Layer menü Create Layer menüpontjában kiválasztjuk a New Shapefile Layer... opciót. A felugró New Shapefile Layer ablakban megadjuk, hogy hova hozza létre az új fájlt, milyen karakterkódolással hozza létre (javasolt: UTF-8), milyen geometriatípust szeretnénk tárolni benne (Point) és milyen vetületi rendszerben tárolja az adatokat (a példában EOV-t, EPSG:23700-at választunk).
Az ablak alsó felében hozhatjuk létre a téradathoz kapcsolódó alfanumerikus adattábla oszlopait. Ha szeretnénk a hegycsúcsokat eltárolni pontszerű adatként, akkor minden egyes ponthoz rögzíthetjük a hegycsúcs nevét és a magasságát. Az előbbihez létrehozzuk a name oszlopot, aminek a típusa szöveg (String), hossza pedig 100, vagyis 100 karakter hosszúságú szöveget adhatunk meg ebben az oszlopban értékként. Az utóbbihoz létrehozzuk a height oszlopot, aminek típusa egész szám (Integer). Az OK gomb megnyomása után az egyelőre üres shapefájl létrejön a megadott helyen és a réteg pedig megjelenik a projektben is.
A folyamat ugyanígy működik akkor is, ha nem shapefájlt, hanem más fájlformátumot választunk. Ha nincs ötletetek, milyen formátummal dolgozzatok, akkor vagy a shapefájlt javaslom, mert ezt a formátumot sok térinformatikai szoftver ismeri és kezeli, vagy a geojson formátumot, ha a WGS84 vetület is elfogadható számotokra. Ha felfrissítenéd a vetületekre vonatkozó ismereteidet, olvasd el a QGIS - Gyakran használt vetületek kezelése című írásunkat!
3. Üres vektoros réteg szerkesztése
A rétegkezelőben (Layers panel) az újonnan létrehozott réteget kijelölve szerkeszthetővé tesszük azt az eszköztár ceruza (Toggle editing) ikonját megnyomva vagy a rétegre jobb egérgombbal kattintva és a Toggle Editing opciót választva. A szerkeszthetővé tett rétegre ezután új pontokat tudok adni az Add Point Feature tool segítségével. A kurzor célkeresztté változik, s minden kattintás után felugrik egy űrlapszerű ablak, amelyben megadhatjuk az utolsóként lehelyezett pont alfanumerikus adatait. Az OK gomb megnyomását követően pedig megjelenik a térképen a pont a réteg beállításainak megfelelő szimbólummal.
4. Mentés és a szerkesztés lezárása
Időről időre célszerű menteni az elhelyezett pontokat. Ezt a szerkesztő eszköztáron lévő Save layer gombbal tudjuk megtenni vagy a rétegre jobb egérgombbal kattintva a Save layer edits opció kiválasztásával.
A Save Layer nem azonos a Project menüben lévő Save funkcióval, amely a projektet menti! A Save layer nélkül bezárva a QGIS-t minden pont, amit lehelyeztünk, elvész!
Ha átmenetileg vagy teljesen végeztünk a munkával, a szerkesztést a ceruza ikon (Toggle editing) megnyomásával vagy a jobb egérgombbal kattintva a Toggle Editing opciót választva tudjuk lezárni. A réteg bármikor újra megnyitható szerkesztésre, így a digitalizálást több részletben is elvégezhetjük.
Ha referencia felületnek szkennelt állományt szeretnél használni, akkor fontos, hogy előtte georeferálni kell, azaz a földrajzi térben a megfelelő helyre mozgatni, forgatni, nagyítani-kicsinyíteni, hogy amikor a képhez viszonyítva pontokat hozunk létre, akkor azok a tényleges helyükön jöjjenek létre.
A digitalizálás során a ráfordítandó idő és energia a feldolgozandó adatmennyiséggel együtt nagyjából lineárisan nő, így nagy adatmennyiségnél nagyon időigényes megoldásról van szó. Ezért bár sokszor egyszerűbbnek és/vagy könnyebbnek tűnik a "majd én megcsinálom!" megközelítés, mégis arra biztatnék mindenkit, hogy szánjon egy kis időt az információkutatásra! Ha létezik már az adat, amire szükségünk van, rengeteg fáradtságtól tudjuk megkímélni magunkat és nagyon sok időt nyerhetünk!
Mintaadat
Előfordul, hogy (egyelőre) nincs szükség pontos pontszerű adatra, csak szeretnénk kipróbálni, tesztelni egy funkciót, kinézetet vagy folyamatot. Ilyenkor gyorsan kellene néhány véletlenszerűen generált pont. Ehhez ad segítséget a Vector menü, Research Tools menüpontjában található Random points in extent, illetve Random points in layer bounds opció.
A véletlenszerű pontok által lefedett területet megadhatjuk a térképen kijelölve vagy egy poligon réteget kiválasztva is, utóbbi esetben a véletlenszerű pontok a poligonokat befoglaló téglalap által fedett területen belül helyezkednek majd el. Megadjuk még, hány pontot szeretnénk generáltatni, és ha szükséges, megadhatjuk, hogy ezek között mennyi legyen a legkisebb távolság. A tool rákérdez még a létrehozandó pontréteg vetületére és (ha menteni szeretnénk), akkor a mentés helyére és formátumára. A Run in background gomb megnyomása után megjelennek a véletlenszerű pontok
Koordináták szöveges fájlokban
A pontszerű adatok információ forrása lehet egy szöveges állomány is, amelyben a pontokhoz kapcsolódó szöveges és számszerű adatok mellett a pont X és Y koordinátáját is eltárolták. Ha ilyen szöveges fájl áll a rendelkezésünkre, akkor először is tudnunk kell, mi a tagolókarakter, amely az oszlopok határát jelzi. Ez leggyakrabban vessző, pontosvessző vagy tabulátor, de igazából lehet bármi más is. A példámban a tagolókarakter a pontosvessző.
A Layer menüből kiválasztjuk az Add Layer menüpontot, azon belül pedig az Add Delimited Text Layer... opciót. A megjelenő Data Source Manager ablakban kitallózzuk a szöveges fájlt, majd a File format részen belül kiválasztjuk a Custom delimiters opciót és a megfelelő tagolókaraktert. A Record and fields options részen belül beállítjuk, mi legyen a tizedestagoló és hogy az első sorban vannak-e az oszlopnevek. A Geometry database részen belül beállítjuk, hogy a szöveges fájl pontok koordinátáit tartalmazza (Point coordinates) és kiválasztjuk, melyik oszlopban vannak az X és melyikben az X koordináták, végül megadjuk, milyen vetületben értelmezettek a tárolt koordináták. Az Add gomb megnyomása után megjelenik egy pontréteg a projektben, amely attribútum táblájában tartalmazza azokat az alfanumerikus adatokat, amelyek a szöveges fájlban a koordináták mellett szerepeltek.
A fent bemutatott módszereken kívül is van még lehetőség pontszerű adatok előállítására (pl. poligon vagy vonal geometriából származtatva), de érdemes a fenti megoldásokkal megismerkedni először, hogy tudjuk, miként épül fel egy pontszerű, vektoros téradatréteg. Így később jobban megértjük azoknak a tool-oknak a működését is, amelyek pontszerű adatokat állítanak elő működésük során.
Ha adatbázis-építés, adatelemzés, vizualizáció, térinformatika témában segítségre van szükséged, írj nekünk az Ez az e-mail-cím a szpemrobotok elleni védelem alatt áll. Megtekintéséhez engedélyeznie kell a JavaScript használatát. címre és megpróbálunk egy tippel, ötlettel segíteni!