Arviointityökalu tieteellisten aineistojen varmistukseen

Muuttuva ilmasto tuo mukanaan erilaisia sään ääriolosuhteita. Suomessa me emme näe tulvia tai hurrikaaneja, mutta metsätuhot rajuista tuulista tulevat mahdollisesti yleistymään tulevaisuudessa. 

Tuulituhohaukka on projekti, jossa rakensimme analyysityökalun Ilmatieteen laitokselle. Ilmatieteen laitos oli kehittänyt algoritmin arvioimaan, missä voimakkaiden tuulivahinkojen riski oli suurin, ja nyt he tarvitsivat työkalun arvioimaan, oliko algoritmi oikea. Tässä Spatineo astui mukaan kuvioihin.

Aluksi tarve oli luoda työkalu, joka vain vahvistaa tuulenilmaisinalgoritmin tulokset. Tiimimme hyppäsi siihen heti, ja koska tiimi oli erittäin kiinnostunut aiheesta, he keksivät työkalulle alun perin ajateltua pidemmälle meneviä tavoitteita. Miksi vain vahvistaa tulokset, kun voimme tehdä niin paljon enemmän? Tällaisilla työkaluilla voidaan tehdä perusteellisia vertailuja ja näyttää aikasarjoja datasta.

Teknologiat taustalla

Koko ohjelmisto on kehitetty käytettäväksi selaimella alusta alkaen. Helppokäyttöinen ja sujuvasti toimiva sovellus, joka silti pystyisi näyttämään periaatteessa rajattomasti muunnelmia saatavilla olevasta tiedosta oli tavoite ja se mihin lopulta päädyttiinkin.

Aloitimme puhtaalta pöydältä luomalla alustavan designin sovellukselle ja sen teknologiavalinnoille, josta siirryimme jouhevasti itse koodin äärelle. Miska ja Isabel työntentelivät backendin parissa kun Pauli aloitteli ensimmäisten fronttiaihioiden parissa.

Frontendkehityksen ensimmäiset askeleet otettiin Figmalla, kun Pauli alkoi luonnostelemaan käyttöliittymää. Käyttöliittymäkirjastoiksi valittiin Material UI sillä se sisälsi runsaasti käyttövalmiita komponentteja ja kuvakkeita jotka toimivat erinomaisesti Reactin kanssa. 

Sovelluksen toteutuksessa käytettiin pitkälti Reactia, TypeScriptiä sekä Reduxia. Ensimmäinen tehtävä oli suunnitella sovelluksen alkutila, ja rakentaa funktionaalisuudet sen päälle. Sovelluksen käyttöliittymäosa koostui kahdentyyppisistä React-komponenteista: uudelleenkäytettävistä komponenteista ja niin sanotuista ”näkymistä”. Näkymissä uudelleenkäytettävien komponenttien avulla koottaisiin käyttöliittymä.

Sovelluksen ydin, karttakomponentti, luotiin avoimen lähdekoodin OpenLayers JavaScript-kirjastolla. OpenLayers ei tarjoa valmista React komponentin toteutusta. React sovelluksessa voidaan kuitenkin hyödyntää ref -attribuuttia sekä useEffect -hookkia, joiden avulla kartta saadaan oikealle paikalleen, sekä toimimaan saumattomasti muun React sovelluksen kanssa.

Yksi Tuulituhohaukan taustakomponenteista oli nk. SpatioTemporal Asset Catalog (STAC). STAC on avoin spesifikaatio sijaintiin ja aikaan sidotun datakokoelman järjestämiseksi. Tässä projektissa kehitetty STAC-builder skripti tuottaa hierarkkisen STAC-luettelon, jonka rakenne mahdollistaa satelliittikuvatuotteiden tehokkaan käytön selainsovelluksessa. 

Lue lisää aiheesta: How to utilize STAC to load satellite images faster in web applications?

Luettelo on käytännössä joukko JSON-tiedostoja. JSON-tiedostot on tallennettu verkkoresurssiin, josta luetteloa hyödyntävä sovellus (tässä tapauksessa Tuulituhohaukka karttasovellus) voi ladata luetteloa tiedosto kerrallaan HTTP-pyyntöjen avulla. Tiedostot viittaavat toisiinsa linkkien avulla, joten luetteloa hyödyntävän sovelluksen tarvitsee vain tietää juurihakemiston sijainti etukäteen. Hierarkkisen rakenteen ja tiedostojen välisten linkkien ansiosta luetteloa hyödyntävän sovelluksen ei tarvitse käydä kaikkia olemassa olevia kuvatuotteita läpi, vaan voi kohdistaa haun tehokkaasti. Tämän tehokkuuden merkitys lisääntyy kuvatuotteiden määrän kasvaessa. Tuulituhohaukka sovellukseen lisätään uusia kuvatuotteita jatkuvasti, sillä uusia satelliittikuvatuotteita syntyy päivittäin. STAC-builder skripti rakentaa luettelon uudestaan joka päivä, jotta uudet kuvatuotteet saadaan lisättyä luetteloon.

STAC luettelomme hierarkkinen rakenne.

Koko sovelluksen taustalla oli tarve selvittää kovasta tuulesta aiheutuvien vahinkojen laajuutta ympäri Suomea. Tavoitteena on luoda sovellus, josta voitaisiin tarkistaa, onko tietty kiinteistö vahingoittunut myrskytuulissa. Rakentamamme vähimmäistuote (“MVP”) on vielä kaukana tästä tavoitteesta, mutta olemme jo alkaneet työstämään sovellukseen uusia ominaisuuksia jatkokehitysprojektissa. Ehkä Ilmatieteenlaitos voisi tulevaisuudessa viitata Tuulituhohaukka-sovellukseen, kun kansalaiset alkavat soittelemaan mahdollisista laajoista tuulivaurioista?

Tällä hetkellä Tuulituhohaukka on Ilmatieteen laitoksen tutkijoiden käytössä ja palaute sovelluksesta on ollut hyvää. Ilmatieteenlaitoksella Space Adviserina työskentelevä Mikko Strahlendorff kuvaili Tuulituhohaukkaa seuraavasti:

”Tuulituhohaukka tehostaa myrskyjen tuulituhoihin liittyvän metsälain toteutumista. Metsäkäyttöilmoitukset voidaan tehdä aikaisemmin ja tehokkaammin kun kaukokartoitusanalyysi on nopeasti ja automaattisesti tehty.” 

Mikko Strahlendorff, Space Adviser, Ilmatieteen laitos

Spatineolla ollaan jo otettu seuraavat askeleet Tuulituhohaukka sovelluksen kehittämisessä. Olemme innokkaita saamaan sovelluksen uuden version Ilmatieteenlaitoksen tutkijoiden käyttöön auttaaksemme heitä vieläkin enemmän! Pysy kuulolla saadaksesi lisää päivityksiä tästä mielenkiintoisesta projektista myös tulevaisuudessa.


Subscribe to Spatineo Newsletter!

Spatineo newsletter features news and topical articles on data flows, written by our experts.
I would like get my newsletter in:
Privacy(Pakollinen)