Ja näin koitti viimeinen kurssin harjoitusviikko! Kurssi sinetöidään samalla tavoin kuin edeltäjänsä, interpoloinnin merkeissä. Itse spatiaalisella interpoloinnilla tarkoitetaan ”jatkuvan pinnan muodostamista pisteaineistosta. Interpolointi perustuu oletukseen tarkasteltavan ilmiön spatiaalisesta autokorrelaatiosta eli siitä, että lähellä toisiaan olevat havainnot ovat keskimäärin samankaltaisempia kuin kauempana olevat havainnot” (harjoitusohje). Tehtävissä 1-2 käytettiin aineistoina Suomessa sijaitsevista sääasemista (198 kpl) ja niistä mitatuista kuukausittaisista keskilämpötiloista vuodelta 2020 ja Suomen rajaavaa viiva-aineistoa, tehtävässä 3 pääkaupunkiseudun maa-alueiden sekä suurimpien saarten rajoja ja typpidioksidihavaintojen keskiarvoja vuodelta 2019.
Tehtävä 1. Deterministiset interpolointimenetelmät
Homma laitettiin käyntiin tutustumalla deterministisiin interpolointimenetelmiin, jotka tarkoittavat ns. ei-statistisia menetelmiä, eli ne eivät hyödynnä tilastotiedettä: ne käyttävät vain pisteistä mitattuja arvoja, joiden perusteella muiden paikkojen arvot päätellään.
Ensimmäiseksi data esikäsiteltiin tekemällä tietokantaliitos saa_asemat.shp ja keskilampotilat_2020-taululle. Käytin itse tässä B-aineistoa sääasemista, ja luin vasta kaikkien toimenpiteiden jälkeen Olivian viestin, että olisi kannattanut käyttää korjattua Q-aineistoa… No, näillä mennään. Se hoitui näppärästi Join Field -työkalulla, jossa liitos tehtiin yhteisten kenttien FMISID avulla. Lisäksi lämpötila-arvojen sisältävien sarakkeiden tyyppi piti muuttaa interpolointia varten tekstistä numeeriseen float-muotoon. Tammikuun lämpötiloille luotiin uusi float-muotoinen sarake ja homma hoitui Calculate Field -työkalulla.
Ensimmäisenä interpolointimenetelmänä käytettiin Thiessenin polygoneita. Se on vektoripohjainen interpolointitapa, jossa pisteen (tässä tapauksessa sääaseman) ympärille rajataan polygoni, josta on lyhyempi matka tämän polygonin sisällä olevaan pisteeseen kuin mihinkään muuhun pisteeseen. Sääasemien väli siis jaetaan puoliksi, ja tästä kulkee Thiessenin polygonien rajat. Kyseessä on lokaali interpolointi, eli uusiin arvoihin vaikuttaa vain yksi / lähimmät pisteet, ja yhden pisteen arvon muuttaminen vaikuttaa lopputulokseen vain paikallisesti. Alie saa sisällä olevan pisteen ominaisuustiedot, eli interpoloidulla pinnalla on sama arvo kuin sääasemalla, eikä pinta sisällä yli- tai aliarvioita. Käytännössä tämä interpolointi tehtiin Create Thiessen Polygons -työkalulla, mikä oli vaivatonta. Clip-työkalulla interpolointi rajattiin Suomen alueelle suomi.shp-tason avulla, eli merellä olevat havaintopisteer ajattiin tarkastelusta pois. Kuvassa 1 on valmis kartta tästä. En asettanut mittakaavoja näihin koko Suomea koskettaviin karttoihin.

Seuraavaksi siirryttiin trendipintainterpolointiin. Se on rasterimuotoinen globaali interpolointitapa, eli yhden pisteen arvon muuttuminen vaikuttaa koko pintaan, ja se laskee havaintoaineistosta ”trendipinnan”. Trendipintainterpolointi hyödyntää polynomifuntkiota, jonka aste määritellään halutuksi kokonaisluvuksi – tässä harjoituksessa tehtin ensimmäisen, toiseen ja kolmannen asteen trendipintainterpoloinnit. Trendipinta yksinkertaistaa havaintoaineistoa, ja riippuen interpoloinnin asteesta, pinta sisältää ali- tai yliarvioita. Aineiston alkuperäiset arvot eivät aina säily. Ensimmäiseksi prosessointiasetuksista määritettiin tulosrasterin laajuudeksi sekä alueeksi, jolle analyysi suoritetaan (mask) suomi_maski. Itse interpolointi hoitui Trend-työkalulla, ja lopputulokset leikattiin Clip raster -työkalulla Suomen kokoisiksi. Kuvissa 2-4 on valmiit lopputulokset. Valitsin karttojen väriskaalaksi sinisestä (kylmin arvo) keltaiseen (lämpimin), ja luokkien jakotavaksi Natural Breaks, koska ne havainnollistavat mielestäni lämpötilat hyvin.



Seuraavaksi tehtiin Inverse Distance Weighted -interpolointi eli IDW. Kyseessä on rasteripohjainen lokaali funktio, jossa yksittäisen pisteen arvo johdetaan läheisten havaintopisteiden arvoista: mitä lähempänä havaintopiste on, sitä vahvemmin sen arvo vaikuttaa. Tässä interpoloinnissa voi muuttaa useita eri parametreja, kuten havaintopisteiden määrää tai maksimietäisyyttä muuttamalla.
Oivasti nimetyn Geostatistical Wizard -toiminnon avulla interpolointiprosessi pysyi keveänä ja käyttäjäystävällisenä. Kuvassa 5 on on käyttämäni parametrien arvot, joilla interpoloinnin Mean-arvoksi eli tuloksen yli-/aliarvioksi tuli vain vähän yli 0, eli mallinnus ei juurikaan vääristä arvoja ylöspäin. Tuloksena syntynyt taso muutettiin rasteriksi GA Layer to Raster -työkalulla ja leikattiin Suomen muotoiseksi. Kuvassa 6 on valmis visualisointi tästä.


Tehtävä 2. Spline -interpolointi
Seuraavaksi tutustuttiin Spline-interpolointiin. Se on lokaali ja myös deterministinen interpolointimenetelmä, joka minimoi pinnan kaarevuuden: ”Splinellä on alun perin tarkoitettu joustavaa viivoitinta, joka on voitu taivuttaa kulkemaan halutun pistejoukon kautta. Spline-funktiot ovat näiden joustavien viivaimien matemaattinen vastine” (harjoitusohje). Se käy hyvin vähitellen muuttuvien ilmiöiden interpolointiin; Weight-argumenttia muuttamalla lopputulosta voi pehmentää, ja Tension-optiolla interpoloinnista tulee ”karkeampi”. Tässä tehtävässä interpoloitiin vuoden 2020 jokaisen kuukauden keskilämpötilat Spline-menetelmällä. Mukaan otettiin tuttu ModelBuilder-ohjelma apukädeksi. Jokaisen kuukauden keskilämpötilat muutettiin numeeriseen float-muotoon, ja malliin lisättiin Add Field-työkalu jokaisen kuukauden lisäämistä varten. Samat toimenpiteet siis mitä aiemmin, mutta tällä kertaa jokaiselle kuukaudelle. Kuvassa 7 on valmis malli tämän maratonin jälkeen, johon kului melko paljon aikaa omien sekoilujeni (esim. samojen kuukausien interpoloiminen monta kertaa) takia. Onneksi visualisointi hoitui vaivattomasti valmiin tyylitiedoston ansiosta. Liitin nämä valmiit kartat samalle layoutille, joka on kuvassa 8.


Tehtävä 3. Kriging-interpolointi
Viimeiseksi interpoloinniksi tehtiin geostatistiset Kriging-interpoloinnit HSY:n aineistosta typpidioksidipitoisuuksista pääkaupunkiseudulla v. 2019. Tämä ilmanlaatu_2019-aineisto sisältää pisteitä kovin epätasaisesti: Helsingin keskustassa pisteitä on tiuhaan, ja etäälle mennessä ne harvenevat, mikä vaikuttaa interpolointien luotettavuuteen negatiivisesti. Geostatistisissa interpolointimentelmissä käytetään apuna tilastotiedettä, jossa mitattujen pisteiden avulla ennustetaan tilastollisesti, mitä muualla todennäköisesti on. Näistä selviää myös interpolointien virhemarginaalit. Kriging-interpolointi perustuu semivariogrammeihin, joiden funktio ei rehellisesti sanoen vielä auennut itselleni. Oheiskirjallisuudesta Krigingistä sanotaan seuraavaa: “Kriging-menetelmät on spatiaalinen interpolointimenetelmäperhe, jossa perusajatus on, että analysoimalla ominaisuuden spatiaalinen vaihtelu ja mallintamalla se, voidaan kullekinhavaintopisteelle määrätä optimaalinen paino ennustepintaa laskettaessa. Kriging-menetelmä eroaa liukuvien keskiarvojen menetelmästä siinä, että ryhmittäisyyden vaikutus otetaan automaattisesti huomioon ja ryhmän havaintoarvot saavat pienemmän painon, kuin vastaava yksittäinen havaintoarvo. Kriging-menetelmässä havaintoarvojen painot määrätään alueellisen vaihtelun perusteella.” (Holopainen et al. 2015)
Ensimmäiseksi typpidioksidiarvot muutettiin numeeriseen Float-muotoon, ja ilmanlaatu_2019-tasosta tehtiin histogrammi, joka visualisoi, miten eri arvojen määrä jakautuu (kuva 9). Ilmanlaatuaineiston huonoimmat, yli 33,88 µg/m3. arvot sijaitsevat ydinkeskustan ja Kallion alueilla (kuva 10). Parhaimmat, max 13,25 µg/m3 arvot taas sijaitsevat kauempana Helsingin keskustasta (kuvat 11-12).




Seuraavaksi tehtiin Simple Kriging -interpolointi Geostatistical Wizardissa. Vaihtoehdoksi valittiin Simple Kriging: Prediction, eli ennustepinta NO2-pitoisuuksille. Kriging sisälsi monia parametrejä, jotka jäivät vielä itselleni tuntemattomiksi, joten seurasin lähinnä manuaalisesti vain harjoitusohjetta, jonka mukaan määritin interpolointiasetukset. Tämän jälkeen samaisella ohjelmalla tehtiin Empirical Bayesian Kriging, joka on hiukan uudempi ja edistyneempi Kriging-menetelmä. Ohjeiden avulla tuloksista tuli melko luotettavia: Mean-arvot olivat lähellä nollaa, eli niissä ei juurikaan esiinny ali- tai yliarvioita.
Koska Kriging ei tee ennustepintaa havaintoaineiston ulkopuolelle, niin tasot muutettiin vastaamaan koko pääkaupunkiseutua. Kartat visualisoitiin HSY:n ilmanlaatuluokkia mukaillen, jossa 40 µg/m3 pidetään raja-arvona huonolle ilmanlaadulle – tässä aineistossa niitä ei onneksi ole. Kuvassa 13 on valmiit lopputulokset Kriging-interpoloinneista.

Mitä jäi käteen?
Spatiaalinen interpolointi on kiehtova työkalu, jonka avulla voidaan tehdä mitä monipuolisimpia spatiaalisia ja temporaalisia ennustuksia ja mallinnuksia muutaman valmiin lähtöarvon avulla. Ne pitävät sisällään monia parametrejä, joiden toiminnallisuuden sisäistämiseen menee oma aikansa – näin kurssin loppupuolella tuntui, että aika kävi vähiin tämän viimeisen harjoituskerran parissa. Erityisesti Kriging-interpoloinnin salat jäivät itselleni vielä hämärän peittoon, mutta eiköhän tulevilla gis-kursseilla niihinkin perehdytä vielä tarkemmin.
Kokonaisuudessaan kurssi tarjosi kattavasti lisää työkaluja gis-pakkiin, ja ArcGIS:iin tutustuminen toi varmuutta ja innostusta gis-opintojen jatkamiseen. Toki harjoituksia tehdessä usein epävarmuuden tunteet ovat läsnä, mutta kun ongelmat lopulta ratkeavat (jos ratkeavat), niin se on palkitsevaa – tällä kurssilla selkeät ja yksityiskohtaiset harjoitusohjeet säästivät monilta negatiivisilta emotioilta. Kiitos antoisasta kurssista!
Lähteet
Holopainen et al. (2015). Geoinformatiikka luonnonvarojen hallinnassa. Helsingin yliopiston metsätieteiden laitoksen julkaisuja 7. s. 67-80