Geoinformatika a környezetvédelemben 1 9. Műveletek a táblázatban és diagramszerkesztés Feladatunk az, hogy GPS-szel gyűjtött, de csak papírra feljegyzett koordinátáinkat megjelenítsük az ArcView-ban. A táblázatot ki kell egészítenünk saját adatainkkal, melyekkel műveleteket végzünk. Ebben a gyakorlatban: megtanuljuk, x, y adatokból hogyan lehet fedvényt készíteni; megtanuljuk, hogy miként lehet műveleteket végezni a táblázat oszlopai között; megtanuljuk, hogyan tudunk koordinátát, hosszt, területet, kerületet számítani az ArcViewban. Töltsük le a 9_gyak.xls fájlt az internetről (geo.science.unideb.hu/9_gyak.xls). A fájlban x és y koordinátákkal ellátott porgyűjtő csapdák találhatók, melyekhez a por fémtartalmát rendeltük hozzá. Kevéssé valószínű, hogy papírra kell feljegyeznünk a terepen mért GPS koordinátákat, a legtöbb (és már igen olcsó) eszköz is képes nemcsak a mentésre, hanem a pozícionálást lehetővé tevő átlagolt adatgyűjtésre is (vagyis nemcsak egyetlen pont koordinátáját menti le, hanem átlagol egy általunk megadott számú adatot, így nem 5-20 méteres pontossághoz, hanem akár kb. 2 métereshez is juthatunk). Mindazonáltal találkozhatunk olyan feladattal, hogy egy táblázatban koordinátákat találunk és szeretnénk területileg is megjeleníteni. Most Excelben alakítsuk át az *.xls állományt *.dbf formátumúvá (Fájl/Mentés másként) majd adjuk a projektünkhöz a 9_gyak.dbf fájlt. Ehhez a navigátor ablakban a Tables ikonra kell kattintani, majd az Add gombot lenyomni. Tallózással keressük meg a szóban forgó fájlt és adjuk a projekthez (9-1. ábra).
Geoinformatika a környezetvédelemben 2 9-1. ábra. Táblázat hozzáadása a projecthez Ezzel beolvastuk a táblázatot és még hátravan a területi megjelenítés: szükségünk van egy View ablakra, vagyis, ha az elején nem kértünk a szoftvertől, akkor most kell megtenni: navigator ablak, View ikon, New gomb, majd ha ez aktív, akkor a View legördülő menüből válasszuk az Add Event Theme parancsot. Az itt feltűnő párbeszédpanelt egyszerűen, értelemszerűen ki lehet tölteni (9-2. ábra). Félreértésre adhat okot, illetve hibához vezethet, ha az EOV koordinátákra nem figyelünk rendesen. A koordinátarendszer eredeti állapotban a matematikai koordinátarendszerhez képest fordítva tartalmazza az x és y 9-2. ábra. Pontfedvény létrehozása táblázatból, koordinátákat, vagyis amit mi x koordináták alapján alatt értünk, az valójában y, az y pedig az x (lásd a 9-3. ábrán). Ezt a komolyabb (térinformatikai, geodéziai, vagyis nem navigációs) GPS-vevők is így
Geoinformatika a környezetvédelemben 3 írják ki. A gyakorlatban azonban már helyesen használjuk, megcseréljük és valójában minden a helyére kerül. Ez viszont okozhat némi zavart az ábrázolásban, amit egyszerűen ki lehet küszöbölni. Gyakorlati okokból (azért, hogy ne kelljen negatív értékekkel dolgozni) az EOV (mint síkkoordináta-rendszer ÉS NEM A VETÜLETI RENDSZER) kezdőpontját eltolták 650 km-rel nyugatra és 200 kmrel délre. A koordinátarendszer méter alapú, így a gyakorlatban 6 jegyű számokkal találkozunk. A mi szempontunkból az a lényeges, hogy azt az oszlopot adjuk meg x-nek, ahol a koordinátának nagyobbak mint 400000 és azt y-nak, amelyek 400000-nél kisebbek. Ha ezt megtanuljuk, akkor sosem fogjuk összekeverni a koordinátákat. 9-3. ábra. Az EOV koordinátarendszer Most megjelentek a koordináták által meghatározott pontok területileg is, de ez még nem fedvény! Csak akkor lesz az, ha elmentjük új shape fájlként (Theme - Convert to Shapefile), legyen a neve ulepedo_por.shp. Tematikus térképet már tudunk készíteni, vagyis színnel, vagy különböző nagyságú szimbólumokkal meg tudjuk jeleníteni a táblázatban lévő adatok nagyságát, de most diagramon szeretnénk ábrázolni a fémtartalmakat. Ehhez kattintsunk duplát az ulepedo_por.shp-n és a megjelenő (már ismerős) párbeszédpanelen válasszuk ki a Legend Type-nál a Chart opciót. Az Add gomb segítségével tegyük át a jobb oldali részbe az As, Cd és Co változókat. A Chart Type legyen oszlopdiagram (9-4. ábra). Az Apply gomb lenyomása után megjelennek az értékek a térképen, az oszlopok magassága a táblázat értékeivel arányos. A Properties gomb segítségével átalakíthatjuk az oszlopok magasságát és szélességét, de erre csak korlátozott lehetőségeink vannak. A színek és kitöltési minták a Symbols oszlopban állíthatók. Mindezeket úgy kell megválasztani, hogy a végső majd nyomtatásra kerülő térképen jól láthatók legyenek és a legkevesebb információt takarják ki (mivel nem biztos, hogy csak
Geoinformatika a környezetvédelemben 4 ezek a diagramok adják majd a térképi tartalmat, sőt nem is lenne túl helyes megfelelő tájékozódási pontok ábrázolása nélkül véglegesíteni). 9-4. ábra. A por fémtartalmának ábrázolása diagramon Normalizálás, vagy kördiagram alkalmazása ezekkel az adatokkal nem lenne helyes, mivel a fémtartalmat egyenként lehetne normalizálni (például egészségügyi határértékhez), amire itt nincs lehetőség, kördiagramon ábrázolni pedig nincs értelme ezeket az adatokat (mert bár mindet mg/kg-ban mérjük, igen eltérő lehet a mennyiségük, ami viszont nincs összhangban a toxicitásukkal). A kördiagramos példához töltsük be egy új View ablakba a már többször is használt uscities.shp állományt és, hogy majd az eredményből lássunk is valamit, válogassuk le a fővárosokat és mentsük le az eredményt fovaros.shp néven. Az Add gombbal tegyük a Females és Males változókat a jobb oldali menübe, majd kördiagramként jelenítsük meg. Az eredmény a 9-5. ábrán látható.
Geoinformatika a környezetvédelemben 5 9-5. ábra. Férfiak és nők arányának ábrázolása diagramon Ha szeretnénk, hogy a körök megfeleljenek valamilyen táblázatban szereplő adatnak (amivel így mennyiségileg tudjuk ábrázolni a kívánt változót), jelen esetben a lakosságnak, a Properties gombbal a Size Field legördülő menüben kell megadnunk azt (9-6. ábra). 9-6. ábra. Férfiak és nők aránya a városok népességével arányosan ábrázolva
Geoinformatika a környezetvédelemben 6 A továbbiakban a táblázatok értékeinek számítását, a velük való műveleteket vesszük nagyító alá. Művelet számokkal: lehetőség van oszlopok közötti matematikai műveletekre, a számok szöveggé alakíthatók, a szöveg pedig számokká. 1. Írjuk ki a férfiak és nők arányát százalékos formában egy új oszlopba (a következő jellemzőkkel: arány/number/7/5). A Field - Calculate menüpont (9-7. ábra) alatt írjuk be a következő kifejezést: ([Males] / [Pop1990]) * 100 9-7. ábra. Új oszlop értékeinek feltöltése a Field Calculator segítségével 2. Alakítsuk át a népesség mezőt szöveg formátumúvá. Hozzunk létre egy új oszlopot (popszöveg/string/10). A művelethez az AsString operátorra lesz szükség, elé egy pontot kell tenni: [Pop1990].AsString 3. Alakítsuk szám formátumúvá a State_city oszlopot. Az új oszlop jellemezői a következők: state_numb/number/10/0. A szükséges operátor az AsNumber lesz: [State_city].AsNumber Művelet szöveggel: 1. Egyesítsük egy oszlopban a State és City_name oszlopokat. Az oszlop legyen: city_state/string/25 és rakjuk össze a következő összefüggést: [City_name]++[State_name]. Az operátor ++, mely összefűzi a két oszlopot. 2. Most változtassuk meg a szövegben a meglévő karaktereket, legyen a Dakota név a változás jól láthatósága miatt csere. Az első idézőjelek
Geoinformatika a környezetvédelemben 7 közé tegyük be a keresett szöveget, a másodikba azt, amire ki akarjuk cserélni: [State_name].Substitute("Dakota","csere") 3. Írassuk ki egy új oszlopba, hogy hány karakterből állnak a városnevek! Hozzunk létre egy új oszlopot: karakter_city/number/2/0. Majd a Field Calculatorban rakjuk össze a következő kifejezést: karakter_city=[city_name].count. 4. Keressük meg azokat a városokat, amelyek nevében szerepel a Lake szó és írassuk ki a táblázatba. Először hozzunk létre egy új oszlopot: lake/boolean. Most rakjuk össze a következő kifejezést: [City_name].Contains ("Lake"). Az eredmény True és False bejegyzésekkel kerül a táblázatba. 5. Alakítsuk fájlnévvé és abszolút elérési úttá a State_city oszlopban lévő számokat (ez a 12. gyakorlatban szereplő HotLink parancsnál hasznos lehet, ha a táblázatban szerepel már egy olyan oszlop, amiből a fájl neve és elérési útja előállítható). Hozzunk létre egy új oszlopot: eleres/string/30. Majd rakjuk össze a kifejezést: "c:/kepek/"+[state_city]+".jpg". Így létrejön egy olyan oszlop, amiben mi írtuk be az karakterek elejét (egy elérési út), a közepe a State_name oszlopban lévő név, a végét pedig szintén mi adtuk meg (ami jelen esetben egy kiterjesztés). Ne feledjük: minden művelet a kijelölésen múlik. Ha akár egy objektum is ki van jelölve, a művelet csak ott kerül végrehajtásra. Ezt most úgy fogjuk kihasználni, hogy a meglévő értékeket átkódoljuk saját szempontrendszerünknek megfelelően. Feladatunk az, hogy a települések lakosságszáma alapján hozzunk létre 3 kategóriát (1: 0-25000; 2: 25001-100000; 3: 100001-100000000). Ennek első lépéseként hozzunk létre egy új oszlopot: kategoria/number/1/0. Ezután készítsünk egy leválogatást az első szempontnak megfelelően (Theme - Query: [Pop1990]<25000), majd a kijelölést kihasználva lássuk el ezeket a rekordokat 1- es kóddal: Field - Calculate: kategoria=1. Ismételjük meg a műveletet a 2-es és 3- as kódnak megfelelő lépésekkel. Ha csak 1 kategóriát akarunk ellátni kóddal, akkor a maradékot a szoftver automatikusan feltölti nullákkal. Példánkban számkódolás szerepelt, de ugyanígy lehetett volna szöveg típusú megoldás is. A fentebb leírtakon kívül számos lehetőség létezik még számokkal és szöveggel is, aminek adott probléma megoldása keretében a Helpben utána lehet nézni. Emellett lehetőség van hosszúságot, területet, kerületet számoltatni az ArcView-ban közvetlenül. Azért írtam közvetlenül, mert scriptek segítségével könnyebben is megtudjuk oldani ezt a feladatot, de ahhoz, kell hogy legyen egy erre alkalmas scriptünk. A mostani megoldáshoz nem kell semmilyen bővítmény.
Geoinformatika a környezetvédelemben 8 Egy új View ablakba olvassuk be a tokaj környéki térképrészletet (1_a.tif és 1_b.tif), állítsuk be a mértékegységet méterre (View - Properties/Map Units, Distance Units) és hozzunk létre egy vonalas fedvényt, melynek legyen a neve utcahossz.shp. Digitalizáljunk be 10 utcát. Ha készen van, hozzunk létre egy új oszlopot: Hossz/Number/10/2. Most a Field - Calculate párbeszédablakában rakjuk össze a következő kifejezést: [Shape].ReturnLength Most hosszunk létre egy poligon fedvényt (poligon.shp) és digitalizáljunk 10 poligont. Hozzunk létre egy oszlopot kerület néven (Number/10/2) és egyet terület néven (Number/10/2). A kerület meghatározásához használjuk a [Shape].ReturnLength, a területhez [Shape].ReturnArea operátorokat. GYAKORLATOK 1. A states.shp fedvény poligonjainak számoljuk ki a területét és kerületét. 2. Válogassuk le a 100000-nél kisebb lakosú városokat a uscities.shp fedvényen, majd alakítsuk szöveg formátumra a lakosságszámot és a háztartások számát. A két szöveg oszlopot vonjuk össze egy új oszlopban és helyettesítsük az egyeseket a betűvel. 3. A ushigh.shp fedvény Admn_class oszlopának kategóriáit kódoljuk számokkal: 1: State highway; 2: Interstate; 3: US Higway.