Geoinformatika a környezetvédelemben
1
11. Georeferálás Feladatunk az, hogy az eddigiekben használt tokaji terület topográfiai térképét frissítsük a Google Earth légifotója alapján. Ebben a gyakorlatban:
megtanuljuk, a Google Earth-t használni, valamint hogyan kell légifotót/műholdfelvételt lementeni; megtanuljuk, hogy miként lehet ezt a térképet vetületi koordinátákkal ellátni.
Töltsük be az 1b.tif térképi állományt. Sok olyan helyzet állhat elő munkánk során, amikor egy vetületi rendszer nélküli térképpel, légifotóval vagy akár műholdfelvétellel kell dolgoznunk. Ilyen eset, ha például egy térkép csak papíron áll rendelkezésünkre, amit előbb be kell szkennelni, majd az itt következő műveletet végrehajtani. A feladatban szereplő Google Earth kivágat magán, valamint oktatási és kutatási célokra ingyenesen felhasználható és így kiváló alapot ad a vizuális kiértékeléshez és gyakorláshoz. Az elmúlt időszakban nagyságrendekkel növekedett az igen jó minőségben elérhető területek aránya. Első lépésként keressük meg az 1b.tif térkép által lefedett terület légifotóját a Google Earth-ben. Nagyítsuk ki a keresett részletet kb. akkorára mint a térképen lévő részlet, majd a File/Save/Save Image … opcióval (vagy Ctrl+Alt+S billentyű kombinációval) mentsük le a képet a munkakönyvtárunkba tokaj.jpg néven. A most következő művelet neve georeferálás, vagyis a koordináták nélküli képet vetületi koordinátákkal fogjuk ellátni. Az elnevezés itt nem teljesen helyes, mivel ez a kifejezés önmagában csak arra utal, hogy a képet ellátom koordinátákkal, holott itt többről van szó: a képet nem egyszerűen csak vetületbe illesztem, hanem transzformálom is és egyúttal a torzításokat is megszüntetem. Ezt a műveletet nevezzük rektifikálásnak. A gyakorlatban azonban nem nagyon fordul elő tisztán csak georeferálás, ez rendszerint a transzformálást is magában foglalja, így a továbbiakban a jegyzetben a két fogalom között nem teszünk különbséget, de az elméleti hátteret ismerni kell. Az ArcView magában nem képes erre a műveletre, ehhez a művelethez egy ImageWarp 2.0 nevű scriptre van szükségünk. A bővítmény ingyenesen letölthető a support.esri.com oldalról, azonban csak akkor működik, ha rendelkezésünkre áll a (nem ingyenes) Spatial Analyst bővítmény is. A bővítményt másoljuk be a c:/ESRI/Av_gis30/Arcview/Ext32 könyvtárba, majd az ArcView-ban a File -
Geoinformatika a környezetvédelemben
2
Extensions ablakában pipáljuk ki a neve melletti kis négyzetet. Az ImageWrap-pal egyidejűleg betöltődik a Spatial Analyst is. Amennyiben nem áll rendelkezésünkre a Spatial Analyst, úgy ingyenes megoldásként az Ilwis 3.4 open source program használatát javaslom, mellyel ez a művelet minden igényt kielégítően elvégezhető. Most tehát töltsük be az ImageWarp bővítményt és vele együtt tegyünk egy pipát a JPEG (JFIF) Image Support mellé is. Ez utóbbira azért van szükség, mert a Google Earth-ben lementett kép csak így jeleníthető meg. A művelet alapelve az, hogy betöltjük mindkét állományt, vagyis a georeferálandó képet és a koordinátákat tartalmazó térképet, majd megkeressük rajtuk azokat a pontokat, amelyek egyértelműen azonosíthatók mindkettőn. Ezek alapján elvégezhető a vetületi rendszerbe illesztés. A 11-1. ábra szerinti X’ és Y’ a képi (vetület nélküli) koordináták, míg X és Y a térképi (vetületi) koordinátáknak felelnek meg. A rektifikálás során meghatározunk egy matematikai függvényt, ami összekapcsolja a kép és a térkép koordinátarendszerét a megadott kapcsolópontok (GCP-k, lásd később) segítségével.
11-1. ábra. A vetületbe illesztés sémája
a
11-2. ábra. Az ImageWarp indítása (a) és a kezdő lépések (b)
b
Geoinformatika a környezetvédelemben
3
Az ImageWarp egy új legördülő menüként jelenik meg akkor, ha a navigátor ablak az aktív. Válasszuk ki az ImageWarp Session menüpontot. Ebben az ablakban az Image to be rectified pontban meg kell adnunk azt a képet, amit vetületi koordinátákkal szeretnénk ellátni (tokaj.jpg). A Theme to rectify to pontban a térképet kell megadnunk, amiről a koordinátákat szeretnénk kiolvasni (1b.tif). Ez utóbbi akár egy shape fájl, vagyis vektoros állomány is lehet, aminek segítségével a koordinátákat megadjuk. Az OK gomb lenyomása után a program rákérdez, hogy be szeretnénk-e állítani a vetületi rendszert, ami egy fontos lépés lenne, de az ArcView-ban a magyar EOV rendszer nincs definiálva. Az EOV viszont egy síkkoordinátarendszer, melynél ha ezt nem állítjuk be, akkor is tudjuk tartani a geoinformatikában megkövetelt pontosságot, így válasszuk a „No” opciót.
11-3. ábra. A GCP megadási módjának a kiváklasztása
A következő lépésben meg kell adni a táblázat nevét, mely az azonosító pontokat (Ground Control Point - GCP) tartalmazza majd (legyen gcp1.dbf). Most a New GCP Table pontot válasszuk ki, de ha már vannak korábban lementett adataink, akkor az Existing GCP Table pont is választható.
Ezután három View ablakot kapunk: FROM, TO, TO***ROAM. Nagyon fontos, hogy mindig adatpárokat kell kijelölnünk (a vetületi rendszerbe illesztendő fedvényen és a forrás állományon), mert ez az alapszabály bármilyen szoftverben. Vagyis előbb leteszünk egy pontot a légifotón, majd ugyanazt megkeressük a térképen. Ehhez az ImageWarp menüablakból válasszuk ki a (GCP Pick Tool) gombot. Az első pontot a TO ablakban kell letenni és miután megjelöltük ugyanazt a pontot a FROM ablakban, a program rákérdez, hogy tényleg meg akarjuk-e tartani a pontot, melyre igent (ha jól sikerült), vagy nemet (ha rosszul sikerült) mondhatunk. A 11-4 ábrán látható pontok jó GCP-k, mivel mindkét állományon jól azonosíthatunk. Legalább 4 pont szükséges, de jobb ha kb. 10 pontot fel tudunk venni. Különösen akkor, ha a két állomány között időben nagy az eltérés, vigyázni kell a templomokkal (újat építhettek egy másik helyre), a folyótorkolatokkal (áthelyeződhetett), hidakkal (áttelepíthették). Az is fontos, hogy a pontok elhelyezkedése egyenletes legyen, vagyis a teljes területről próbáljunk meg pontokat gyűjteni, ugyanis csak így juthatunk pontosan georeferált térképhez.
Geoinformatika a környezetvédelemben
4
11-4. ábra. GCP-k a légifotón és a térképen Amint a 11-5. ábrán látszik, 9 pontot vettünk fel, melyek elhelyezése ideális, bár lehet kritikát is megfogalmazni. Mivel azonban a térkép kisebb, mint a légifotó, ezért nem is volt esély mindenhonnan GCP-t gyűjteni, továbbá a meglévő területen sem volt mindenhol olyan pont, ami alkalmas lett volna GCP-nek. 11-5. ábra. A GCP-k eloszlása a légifotón Ilyen nagyon gyakran előfordulhat (pl. összefüggő erdőterület), ami ellen nem nagyon lehet védekezni. A fenti térképen és légifotón látszik, hogy a hibák forrása az, hogy az utcák, kereszteződések a térképen és a légifotón nem ugyanúgy jelennek meg, így nehezebb pontosan ugyanazt a részletet megjelölni. A néhány méteres kis hibák befolyásolják a végső eredmény minőségét. A (Calculate from GCP) gomb segítségével (legalább 4 pont elhelyezése után) kérhetjük a programtól az új pont előkalkulációját a georeferálandó térképen. Ehhez előbb a TO ablakban tegyük le a GCP-t, majd nyomjuk le a gombot és az ArcView automatikusan leteszi a FROM ablakban a GCP-t. Ennek a pontosságából láthatjuk, hogy mennyire jók az eddig lerakott GCP-ink. Ha nem jó helyre került (általában ez így van), át tudjuk helyezni a megfelelő helyre, de ez egyben azt is mutatja, hogy nem árt megnézni, melyik GCP miatt lett rossz a kalkuláció. A javítás során a GCP-k szerkesztéséhez AZ IMAGEWARP PANELEN LÉVŐ (Select Tool) gomb szükséges, majd válasszuk ki a mozgatni kívánt GCP-t.
Geoinformatika a környezetvédelemben
5
Következő lépésben a (Move GCP) gomb lenyomása után kattintsunk arra a helyre, ahová a GCP-t át akarjuk helyezni. A Calculate from GCP segítségével meghatározott pont elmozgatása növeli az RMS hiba mértékét (lásd később), mivel a kiszámított pont az eddigi GCP-k alapján meghatározott térben elviekben a legjobb helyre kerül, elmozgatásával a hiba mértéke nőni fog. A javítást viszont el kell végezni, mert anélkül pontatlan lesz a térképünk. Ha megvan az elegendő számú pont, a következő lépés az RMS Error (Root Mean Square) kiszámítása. Az RMS hiba azt mutatja meg, hogy az eredeti GCP-k, valamint az új pontok között mekkora különbség keletkezik a transzformáció során. A pontosság relatív mérőszámának is nevezhetjük. Kiszámítása a következő képlet alapján történik:
E RMS
(x
r
- x i ) 2 /(y r - y i ) 2
ahol xi és yi az eredeti koordináták, az xr és yr a transzformációs függvény alapján számított koordináták, az N pedig a GCP-k száma. A hiba mértékének ideális esetben kisebbnek kell lennie, mint a felbontás fele. Ha ez 1 pixel, még jónak számít, de bizonyos helyzetekben 2-3 pixel is elfogadható. Sokszor rajtunk kívülálló okok miatt nem lehet a hibát 1 alá szorítani, mert a különböző forrásból származó térképek, légifotók stb. tartalmilag nagyon eltérhetnek, lehetetlenné téve a pontos megfeleltetést a GCP-k között. Mindig az elérhető legkisebb RMS hibát célozzuk meg, ami lehet 0,1, de akár 3 is (pixelben kifejezve). A (Calculate RMS) gomb lenyomása után a program megkérdezi, hogy hányadfokú polinommal akarunk georeferálni. Itt nem érdemes harmadfoknál magasabb polinomszámot választani, mert bár a GCP-k környéke pontos lesz, a köztes helyeken igen nagy hibák keletkeznek. Most válasszunk első fokú polinomot és futtassuk le. Az eredmény lehetne jobb is, jelen pillanatban el is fogadhatjuk. A hibát akkor tudjuk csökkenteni, ha pontosabban tesszük le a GCP-ket. Ehhez meg kell nézni a táblázatot és megkeresni a legnagyobb RMSű pontokat, ezeket kitörölni és vagy újra letenni őket, vagy 11-6. ábra. Az RMS hiba megállapítása egyszerűen nélkülük megnézni, milyen lesz az eredmény.
Geoinformatika a környezetvédelemben
6
A táblázatban azonosítsuk a legmagasabb XError és YError értéket (a példa esetében ez 4,325), majd jelöljük ki ezt az értéket a térképen. A párbeszédpanelen nyomjuk meg a hibát.
(Delete Selected GCP) gombot és számoljuk újra az RMS
11-7. ábra. A legnagyobb RMS hibájú GCP a táblázatban A hiba csökkent, amit még tovább is javíthatunk az utómunkálatok során. Ezután már nincs más dolgunk, mint a (Go Write the new Image file) 11-8. A csökkent RMS hiba ellenőrzése gombbal készítsük el a georeferált állományt. A Resampling Method (újramintavételezés módszere) ablakban három lehetőség közül választhatunk: Nearest Neighbour, Bilinear interpolation, Cubic interpolation. Az újramintavételezés azt jelenti, hogy az eddigi pixelértékeket át kell számolni egy új mátrixra, ami nem ugyanolyan helyzetű (az eredetihez képest elforgatott), valamint kisebb, vagy nagyobb felbontású. A 11-9. ábrán látható képek közül a bal oldali (a) a vetületbe illesztés, rektifikálás előtti a jobb oldali (b) a transzformált, vetületbe illesztett, újramintavételezett állomány.
Geoinformatika a környezetvédelemben
7
a
b
11-9. Rektifikálás és újramintavételezés előtti (a) és utáni (b) állomány
Az átszámolás módja az eredménytérkép értékeit jelentősen befolyásolja: - Nearest Neighbour: az új pixelhez azt a régi értéket rendeljük, ami a legközelebb esik hozzá, a legjobban lefedi (11-10. ábra). Gyors módszer, viszont egyes értékek elvesznek, mások többszöröződnek, ezenkívül jelentős hibák keletkezhetnek hirtelen értékbeli váltásoknál, ami különösen a lineáris objektumok képét változtathatja meg. Ha azonban fontos az eredeti értékek megtartása, akkor ezt a módszert kell választanunk. Ezt a módszert használjuk szkennelt térképek újramintavételezésénél.
11-10. ábra. A Nearest Neighbour sémája
-
Bilinear interpolation: az új pixel értéke a legközelebbi 4 szomszéd lineáris interpolációjával áll elő (11-11. ábra). Pixelméretek átméretezése során alkalmazzák, az eredmény egyenletes, hirtelen ugrásoktól mentes, de a pixelértékek statisztikai paraméterei lényegileg megváltoznak.
Geoinformatika a környezetvédelemben
8
11-11. ábra. A Bilinear Interpolation sémája
-
Cubic Convolution: az új pixel értéke 4x4 pixel nem lineáris intepolációval áll elő (11-12. ábra). A pixelértékek statisztikai jellemzőit az előzőtől eltérően kevéssé változtatja meg, a meglévő trendet erősíti. Nagymértékű pixelméret változtatásnál, illetve műholdfelvételeknél használják.
11-12. ábra. A Cubic Convolution sémája
Sem a Bilinear interpolation, sem a Cubic Convolution nem használható, ha szükségünk van az eredeti pixelértékekre, vagyis akkor, ha további feldolgozást, pl. osztályozást akarunk végezni. Ilyenkor jobb elvégezni a feldolgozást és utána újramintavételezni.
Geoinformatika a környezetvédelemben
9
Most (mivel a légifotót a későbbiekben már nem karjuk feldolgozni) válasszuk ki a Bilinear Interpolationt, majd adjuk meg a készítendő kép formátumát (itt javasolható a TIF használata). A Cell Size, vagyis pixelméret ablakban a felbontást adjuk meg. Itt vigyázni kell, mert a túl kis felbontás használhatatlanná teszi a végeredményt (mert nem látszik rajta semmi), a túl nagy pedig használhatatlanul nagy fájlokat eredményezhet. Próbáljunk az eredeti felbontásnál maradni, bár ezt sokszor csak megközelítőleg tudjuk megállapítani. Ebben a feladatban a cellaméret legyen 1, azaz 1 méter. A fájl neve legyen legifoto.tif. A végeredményt jelenítsük meg egy új View ablakban és tegyük mellé a forrásként használt 1b.tif fájlt is. A két állomány tartalmi egyezése fogja megmutatni, hogy mennyire jó mérőszám az RMS Error, mennyire kapcsolódnak egymáshoz a térkép tartalmi elemei (utcák, házak, folyók stb.). Ezen az eredményen (11-13. ábra) mind a folyó, mind az utcák a helyükön vannak, így elfogadhatjuk, dolgozhatunk vele a továbbiuakban.
11-13. ábra. A rektifikált légifotó és a térképi kivágat együttes megjelenítése Most digitalizáljuk át a Tokaj felirat környéki területeket, melyek a város fejlődésének eredményeként épültek be. A térkép az 1970-es évek második felében készült, azóta számos változás történhetett (11-14. ábra). Új épületek, sőt egész utcák épülhettek ki, míg mások megszűntek.
Geoinformatika a környezetvédelemben
10
a b 11-14. ábra. Újonnan beépült területek 2003-ig (a) és ugyanez a terület az 1970-es évek végén
GYAKORLATOK 1. Mentsük le az 1a.tif térkép által lefedett terület légifotóját a Google Earth-ről és az állomány rektifikációja után állapítsuk meg a szántók területének a változását!