Praktikum 9 Georefereerimine

Georefereerimine on kaartide või ka aerofotode sidumine geograafilise koordinaatsüsteemiga. Tänapäeval tehakse seda peamiselt digitaalselt. Projektsioonidest ja koordinaatsüsteemidest oli lähemalt juttu 4. praktikumis.

Georefereerimiseks tuleb märkida samad kohad võimalikult täpselt georefereeritaval kaardil või fotol ja (tänapäevasel) kindlas koordinaatide referentssüsteemis oleval aluskaardil. Georefereerimise tulemusel luuakse rasterkujutisest uus GeoTIFF fail või lisatakse olemasolevale failile nn world file, milles on defineeritud rastri asukoht, mõõtkava ja pöördenurk. GeoTIFF-faili nägime ka 6. praktikumis, kui laadisime QGISi Tartu 1995. ja 2020. aasta ortofotod.

Tänases praktikumis otsime välja ajaloolised kaardid, mida soovime GISis kasutada, georefeerime need, lõikame vajalikku suurusesse ning digiteerime neilt huvipakkuvad objektid.

9.1 Kaartide otsimine ja allalaadimine

Otsime Rahvusarhiivi kaartide infosüsteemist ra.ee/kaardid kaardi 19. saj Tartust ning 17. saj kaardi Jõelähtme ja Jägala-Joa piirkonnast. Näidetes kasutame järgmisi kaarte:

  • Plan der Stadt Dorpat mit Bezeichnung der hervorragenden Gebäude und Sämmtlicher Hausnummern, EAA.402.5.637 (leht 73), 1870. Tartu linna kaart koos silmapaistvate hoonete ja majanumbritega.
Tartu kaart 1870. a

Joonis 9.1: Tartu kaart 1870. a

  • Jackowal Hofs Byar uti Jegelecht Sochn belägne, EAA.1.2.C-III-8, 1688. Jägala mõisa külad Jõelähtme kihelkonnas.
Jägala mõisa kaart 1688. a

Joonis 9.2: Jägala mõisa kaart 1688. a

Võib kasutada samu või muid sarnaseid kaarte nendest piirkondadest. Laadime kaardid alla ning tõstame need enda arvutis kursuse kaustas andmete või kaartide kausta.

9.2 Harjutus 1: vana Tartu kaardi georefereerimine

Avame QGISi. QGISis on georefereerimise tööriist Georeferencer leitav ülevalt menüüst Layer alt.

Vanemates QGISi versioonides leiad tööriista Raster menüü alt. Juhul, kui seal valikut Georeferencer ei ole, siis tuleb see aktiveerida. Selleks vali Plugins → Manage and Install Plugins → otsingusse kirjuta Georeferencer → tee linnuke Georefencer GDAL Plugin ette ja sulge see aken. Nüüd on tööriist Georeferencer rastrimenüü all näha. Tööriista sisselülitamine on ühekordne tegevus, järgmisel korral QGISi avades on see juba olemas.

Georefereerimise tööriista kohta saab täpsemalt lugeda QGIS 3.28 juhendist.

Avame kaardi pildifaili

Avame Georeferencer-tööriista ning selles 19. saj Tartu kaardi. File → Open Raster. Selles aknas liikumine käib samamoodi nagu tavalises kaardiaknas. Saab suumida hiire rullikuga või Ctrl-nuppu all hoides ning liikuda nooltega ja hiirega, kui valitud on käekujuline Pan ikoon. Vaatame kaardil ringi. Milliseid kohti ära tunneme?

Lisame aluskaardi

Georefereerimiseks on vaja aluskaarti, mille pealt leida ühised punktid ajaloolise kaardiga. Selleks avame Maa-ameti WMS-teenusest Hübriidkaardi, värvilise rasteriseeritud Eesti Põhikaardi ja ortofoto.

  • Hübriidkaardi kasutamiseks tuleb luua ühendus näiteks aadressiga https://kaart.maaamet.ee/wms/ajalooline?.
  • Põhikaardi kasutamiseks tuleb luua ühendus aadressiga https://kaart.maaamet.ee/wms/alus?.
  • Ortofoto kasutamiseks tuleb luua ühendus aadressiga https://kaart.maaamet.ee/wms/fotokaart?.

Võimalik, et mõni neist ühendustest on juba varasemates praktikumides seadistatud. WMS-ühenduse loomisest on täpsemalt juttu näiteks 6. praktikumis.

Lisaks võime ajalooliste kaartide WMS-teenusest võtta ka üheverstase kaardi, millega on hea georefereerimisel tänapäevast olukorda kõrvutada. Ka üheverstane kaart ise on georefereeritud ning võib olla seetõttu kohati ebatäpne.

Georefereerime kaardi

Märgime ära mõned ühesugused geograafilised punktid ajaloolisel kaardil ja tänapäevasel aluskaardil. Selleks võtame ette jälle Georeferencer akna. Georefereerija aknas valime Edit → Add point ja klikime ajaloolisel kaardil mõnel hästi tuvastataval objektil. Näiteks TÜ peahoone, raekoda, kaarsild, tähetorn, Jaani kirik vms. Seejärel valime From map canvas ning klikime tänapäevasel aluskaardil samas kohas.

Sama asukoha märkimine

Joonis 9.3: Sama asukoha märkimine

Märgime samamoodi veel neli kuni kümme punkti kaardil. Võimalusel asetame punktid kaardil võimalikult laiali, sest nii saab suurema ala kohta täpsema tulemuse.

Seejärel tuleb valida georefereerimise sätted. Klikime georefereerija aknas kollasel hammasrattal ja vaatame, et sätted oleksid nii nagu siinsel pildil.

Georefereerimise sätted

Joonis 9.4: Georefereerimise sätted

Vajutame rohelisel noolekesel Start Georeferencing. Nüüd ilmub georefereeritud kaart QGISi peaaknasse (juhul, kui sätetes oli tehtud linnuke valiku Load in QGIS when done ette).

Vaatame, kui hästi tänapäevase koordinaatide referentssüsteemiga sidumine õnnestus. Kui kaart on väga paigast ära, siis saame lisada rohkem punkte või muuta transformatsiooni tüüpi. Vastavatest algoritmidest saab täpsemalt lugeda tööriista Georeferencer juhendist, ent lühidalt:

  • Linear algoritm sobib põhiliselt siis, kui tegu on kõrge kvaliteediga rasterkaardiga, mille koordinaatide referentssüsteem on teada. See kohandab kaardi mõõtkava, ent ei võimalda kujutist pöörata ega muul moel muundada, kuna ei muuda originaalkujutise piksleid. Enamasti sobib see seega uuematele kaartidele, mis on (kindlas projektsioonis) suure täpsusega.
  • Helmerti algoritm sobib hea kvaliteediga suuremõõtkavalistele rasterkaartidele või ortofotodele, mille koordinaatsüsteem ei pruugi ühtida aluskaardi omaga. Võimaldab kujutist ka pöörata.
  • Polynomial 1. algoritm lubab georefereeritavat kujutist rohkem muundada, aga tagab siiski selle, et sirged jooned kaardil jääksid sirgeteks ja paralleelsed jooned paralleelseteks.
  • Polynomial 2. ja 3. algoritm lubavad kujutist veelgi rohkem muundada, sh painutada kujutisel olevaid sirgeid jooni.
  • Projective algoritm on nagu Polynomial 1. algoritm, aga ei säilita joonte paralleelsust ning eri punktidel võib georefereeritud kaardi ulatuses olla lõpuks pisut erinev mõõtkava.
  • Thin Plate Spline algoritm sobib eriti hästi väga ebatäpsetele kaartidele või kaartidele, mille projektsioon ei ole teada. Sälitab märgitud punktide asukohad, ent võib moonutada kõike, mis jääb punktidest eemale. Nõuab heaks tulemuseks algoritmidest kõige enam punkte (vähemalt 10).
Põhilised georefereerimise algoritmid ([gis.stackexchange.com](https://gis.stackexchange.com/questions/367659/differences-between-different-georeferencing-transformation-algorithms-in-qgis))

Joonis 9.5: Põhilised georefereerimise algoritmid (gis.stackexchange.com)

Kui georefereerimise algoritmid moonutavad algse kujutise piksleid, tuleb uues, georefereeritud rasterfailis määrata korrapärases rastris sellistele pikslitele mingid uued väärtused. Seda tehakse originaalkujutise naaberpikslite abil. Resampling method määrabki ära, kui palju ja milliseid naaberpiksleid uue väärtuse määramisel arvestada.

Georefereerimise *Resampling* meetodid ([The Core of GIS Science 2020](https://ltb.itc.utwente.nl/498/concept/81586))

Joonis 9.6: Georefereerimise Resampling meetodid (The Core of GIS Science 2020)

Georefereeritud Tartu kaart hübriidkaardi ja ortofoto taustal

Joonis 9.7: Georefereeritud Tartu kaart hübriidkaardi ja ortofoto taustal

Võime soovi korral lisada nüüd juurde punkte, neid liigutada või mängida sätetega, et saada paremat tulemust. Proovime näiteks ka Helmerti algoritmi ja Polynomial 1 algoritmi.

Lõikame georefereeritud kaardist välja ainult vanalinna osa.

Selleks valime Raster → Extraction → Clip raster by extent.

  • Vaatame, et Input layer oleks georefereeritud kaart,
  • Clipping extent juures klikime sirvimise ikoonil, valime Draw on canvas
  • ning joonistame peaaknas nelinurga, mis kataks suurema osa vanalinnast.
  • Clipped (extent) juures klikime sirvimise ikoonil, valime Save to File ning salvestame faili sobiva nimega kursuse kausta.
  • Klikime Run.
Georefereeritud Tartu vanalinna kaart

Joonis 9.8: Georefereeritud Tartu vanalinna kaart

Nüüd on lõigatud kaart peaaknas näha. Sellist lõikamist (ingl clipping) saab teha ka vektorkihi abil, aga sellest hiljem.

9.3 Harjutus 2: ajalooline maakasutus Jägala mõisa külades

Harjutuse eesmärk on uurida ühe Põhja-Eesti küla ajaloolist maakasutust. Selleks tuleb georefereerida kaart, see osaliselt digiteerida ning arvutada digiteeritud alade pindalad.

Kaardi georefereerimine

Georefereerime Jägala mõisa külade 17. sajandi kaardi, kasutades samu aluskaarte, mida varem. Parema võrdlemise jaoks võime aluskaarti alumisel menüüribal oleva Rotation tööriistaga u 20 kraadi keerata.
Kuna niivõrd vanal kaardil on hooneid, teid ja muid pidepunkte vähem, siis on soovitatav pidepunktidena kasutada looduslikke objekte. Sellel kaardil on heaks ühiseks objektiks jõgi. Valime sobiva transformeerimise algoritmi (nt Helmert). Võime ajaloolist kaarti pisut läbipaistvamaks teha, et vaadata, kui hästi see aluskaardiga klapib.

Jägala jõe ümbruse georefereeritud kaart

Joonis 9.9: Jägala jõe ümbruse georefereeritud kaart

Digiteerimine

Loome tühja vektorkihi alade (Polygon) märkimiseks: Layer → Create Layer → New Geopackage Layer ja paneme selle nimeks nt koila_maakasutus. Lisame kihi atribuutide hulka ka tekstilise tunnuse/atribuudi/tulba (string) nimega tyyp.

Maakasutuse digiteerimise kihi tegemine

Joonis 9.10: Maakasutuse digiteerimise kihi tegemine

Digiteerime georefereeritud 17. sajandi kaardilt Koila küla põllud ja heinamaad. Iga märgitud ala juurde kirjutame, kas see on põld või heinamaa. Digiteerimisest ja kihtide loomisest on täpsemalt juttu 7. praktikumis. Kaardi tingmärkide tuvastamisel on abiks Rahvusarhiivi leppemärkide juhend.
Koila küla põllumaade tuvastamisel vaadake ajaloolise kaardi vasakul all nurgas olevat legendi. Koila küla on tähistatud B tähega (Koillküla, vt nt EKI kohanimeraamatut).
Kuna põllu- ja heinamaad piirnevad üksteisega, siis on kasulik aktiveerida haakumine ehk snapping, et üksteisega külgnevate alade ühised käänupunktid oleksid täpselt samade koordinaatidega. Selleks valime Project → Snapping options → klikime punasel magneti ikoonil ja valime selleks, mille külge haakida, käänupunktid (Vertex). Nüüd haakub kursor kihi läheduses automaatselt selle käänupunktide külge.

Alade digiteerimine

Joonis 9.11: Alade digiteerimine

Haakimise lihtsustamiseks võib sisse lülitada ka tööriista Enable tracing , mis võimaldab üht vektorobjekti teise külge haakida, ilma et peaks kõiki punkte käsitsi läbi klikkima. Piisab vaid kursori liigutamisest üle teise vektorobjekti käänupunktide.

Kui oleme alad digiteerinud, vajutame Save ja uuesti kollase pliiatsi ikooni, et lõpetada korraks kihi muutmine.

Pindalade arvutamine

Arvutame igale märgitud alale selle pindala. Selleks tuleb atribuuttabelisse luua pindala tulp ja sisestada avaldis selle arvutamiseks. Avame tööriista Field Calculator (nt tööriistapaneelilt või atribuuttabeli juurest). Teeme linnukese valiku Create a new field ette, tulba nimeks paneme pindala_ha ja tulba andmetüübiks määrame kümnendarvu (Decimal number (real)).
Expression lahtrisse, mis ütleb, kuidas ja mille põhjal loodud tulpa väärtusi lisada, kopeerime koodi round($area / 10000, 2). See arvutab iga ala pindala ruutmeetrites ($area), jagab selle 10 000-ga ehk teisendab hektariteks ja lõpuks ümardab tulemuse (round()) kahe komakohani.

Pindala arvutamiseks tulba loomine ja kasutatud funktsioon

Joonis 9.12: Pindala arvutamiseks tulba loomine ja kasutatud funktsioon

Tulemuseks on kiht, mille atribuuttabelis on olemas alade pindalad. Seda saab kasutada näiteks maakasutuse ulatuse ja muutuste uurimiseks.

Digiteeritud maa-alad

Joonis 9.13: Digiteeritud maa-alad

9.4 Harjutus 3: käsikirjalise kaardi georefereerimine

Georefereerime 3. praktikumis käsitsi joonistatud kaardid Tartu kesklinnast. Valime sobivaima algoritmi.

9.5 Veebilahendus

georeferencer.com töötab sisuliselt täpselt samamoodi nagu QGISi Georeferencer, aga võimaldab georefereerida internetis ja ilma spetsiaalse tarkvarata.

9.6 Järgmisel korral

Kolmapäevases praktikumis vaatame lähemalt, kuidas saab QGISis ruumiandmetega töötamisel kasutada avaldisi ja päringuid.