Peltomalli 2.0

Peltomalli 2.0 on digitaalinen kaksonen (digital twin, DT), joka tarjoaa UNS:n avulla SSOT-automaatiolle pellon sensoritietojen ja avoimen datan analyysin.

UNS (Unified Namespace) on Peltomallin perusta. UNS tarjoaa digitaaliselle kaksoselle yhden totuuden lähteen (Single Source of Truth, SSOT), joka on digitaaliselle kaksoselle paikka, josta voi lukea ja johon voi myös kirjoittaa.
Kun Peltomalli kirjoittaa takaisin UNS:iin, sen tuottama tieto on käytettävissä:
automaatiossa, visualisoinnissa, raportoinnissa, tekoälyn hyödytämisessä ja päätöksenteossa. UNS ajattelutavan ansiosta digitaalisen kaksonen on yhtä luonnollinen osa SSOT-automaatiota kuin järjestelmän omat sensorit.

Mitä hyötyä digitaalisesta kaksosesta on pellolla?

Digitaalinen kaksonen ei ole taikuutta, eikä se ratkaise kaikkea. Mutta kun se rakennetaan UNS:n päälle, se auttaa ymmärtämään pellon dynamiikkaa ja parantaa ennustettavuutta ja helpottaa päätöksentekoa. Mutta ennen kaikkea se tarjoaa tekoälyn käyttöön hyvin soveltuvaa tietoa pellon dynamiikasta.

Peltomallin kehitystyö

Tein loppuvuodesta 2025 salaojasuunnittelun avuksi peltomallin, joka haki peruslohkon ja korkeusmallin sekä tuotti .geojson tiedostoja QGIS-ohjelmalle. (https://github.com/raisiope/peltomalli). Ajatuksena oli kolmioverkkojen ja avoimen datan avulla muodostaa ”pellon malli” suunnittelun pohjaksi.

Peltomallin toiminta ei vastannut digitaalisen kaksosen ajattelutapaa. Se ei ollut fyysinen ohjausjärjestelmä, vaan tietojen havainnollistamiseen liittyvä malli. Pintavalunnan ja notkojen havainnollistaminen onnistui vain välttävästi. Tekoäly ei ymmärtänyt peltomallin kolmioverkojen käytöstä ”yhtään mitään”.

Kolmioverkkojen hidas geoprosessointi QGIS ohjelmistolla teki Peltomallista vain testeihin soveltuvan, mutta antoi samalla idean parempaan ratkaisuun.

Digitaalinen kaksonen, Peltomalli 2.0

Peltomalli 2.0:n kehitystyö alkoi tutustuttuani DuckDB-tietokannan ominaisuuksiin. DuckDB:n Spatial-laajennus tuo tietokantaan kattavat paikkatieto- ja GIS-ominaisuudet. Se muuttaa DuckDB:n tehokkaaksi paikkatietokannaksi, jonka laskentamalli pystyy käsittelemään maantieteellistä dataa salamannopeasti suoraan SQL-kyselyillä.

Mikä on digitaalisen kaksosen laskentamalli?

Laskentamalli on matemaattinen tai sääntöpohjainen kuvaus siitä, miten järjestelmä käyttäytyy ajan suhteen. Simulaattori vastaa kysymykseen “Mitä voisi tapahtua?”, kun taas digitaalinen kaksonen vastaa reaaliaikaisen datan pohjalta: “Mitä tapahtuu seuraavaksi, kun maailma on tällainen?”

Tietograafi antaa laskentamallille rakenteen. Jotta tekoäly tai automaatio osaa vastata tähän kysymykseen, laskentamalli tarvitsee taustalleen tietograafin (Knowledge Graph). Tietograafi sitoo DuckDB-tietokannan raa’at tilastot, sensorien sijainnit ja ajanhetket loogiseksi suhdeverkostoksi. Se kääntää puhtaat numerot asiayhteyksiksi, joita tekoäly pystyy tulkitsemaan.

Paras on hyvän vihollinen

Pellon täydellinen laskentamalli olisi raskas ja vaatisi paljon parametreja. Pellon täydellisen mallin ylläpito olisi vaikeaa, joten täydellisyyteen ei tule pyrkiä vaan käytettävyyteen. Digitaalisen kaksosen laskentamallin tulee olla kevyt, päivitettävä, riittävän tarkka ja reaaliaikainen. Hyvä, mutta ei paras.

Laskentamalli + tekoäly + skills

Tekoäly ei korvaa laskentamallia. Tekoäly selittää laskentamallin tuloksia. Tekoäly ei keksi omia vastauksiaan, vaan se käyttää hyödykseen UNS-arkkitehtuurin ja DuckDB:n tarjoamaa dataa.

Tekoäly ei kuitenkaan ymmärrä tuhansien aarien pistepilviä tai monimutkaisia SQL-taulukoita sellaisenaan. Tässä kohtaa tietograafi toimii välttämättömänä siltana. Kun DuckDB prosessoi 10×10 metrin ruutujen arvot, tietograafi pukee nämä tilastot semanttiseen muotoon (esim. ”Kasvulohkon pohjaveden kuivavaran keskiarvo on 50 cm, minimi 30 cm ruudussa X, maalaji on hiuesavi”). Tietograafi antaa laskentamallille tiedot, jota tekoäly voi käsitellä ja selittää taitojensa (skills) avulla.

Laskentamalli on digitaalisen kaksosen sydän

Digitaalinen kaksonen ei ole tekoäly, mutta tekoäly auttaa löytämään riippuvuudet lohkokohtaisesti. Tekoälyn merkittävin hyöty tulee mallin tulkinnasta, joka on lohtokohtaisesti haastavaa ja erittäin työlästä.

Peltomalli 2.0 on reaaliaikainen laskentamalli, joka perustuu tietograafi-periaatteeseen. Se lukee jatkuvasti UNS-arkkitehtuuria, hyödyntää DuckDB-kantaan tallennettua historiatietoa ja kirjoittaa analyysin tulokset GraphQL-kyselykielellä takaisin UNS-väylään. Näin muodostuu kontekstirikas ja yhtenäinen tilannekuva (SSOT) tekoälyn funktiorajapintojen poimittavaksi.

Tilastosta älykkääseen ohjaukseen: Tietograafin kausaalisuus

Laskentamallista johdetut tilastolliset indeksit – kuten tietyn 10x10m ruudun maaperän kosteuden keskiarvo ja -hajonta – tarjoavat tekoälylle loistavan tilannekuvan siitä, mitä lohkolla tapahtuu juuri nyt. Digitaalisen kaksosen perimmäinen potentiaali saavutetaan kuitenkin silloin, kun tietograafi rakennetaan toimimaan myös ”toisinpäin” eli kuvaamaan fyysisen maailman syy-seuraussuhteita (kausaalisuutta).

Kun tietograafiin mallinnetaan peltolohkojen ja mittausdatan sijaintien lisäksi säätösalaojituksen verkosto ja säätökaivot solmuina, tekoäly oppii ymmärtämään järjestelmän dynaamiset riippuvuudet:

  • Kohde: Pohjaveden pinnan keskiarvon nostaminen 10 cm lohkolla X viikon kuluessa.
  • Graafin ratkaisu: Tekoäly ei vain raportoi matalaa pohjavettä, vaan se osaa tietograafin suhteiden ja viivetietojen perusteella päätellä vaadittavan toimenpiteen: ”Jotta tavoite saavutetaan, säätökaivon Y padotuskorkeutta on nostettava 15 cm, ottaen huomioon vallitseva maalajin ja 5 päivän kuluessa saapuva sääennusteen sademäärä.”

Tietograafi muuttaa Peltomalli 2.0:n passiivisesta datanäytöstä proaktiiviseksi ohjauskonsultiksi, joka osaa tarjota funktiorajapinnan kautta suoraan oikeat automaatiotoimenpiteet haluttujen ympäristömuutosten saavuttamiseksi.

Peltomalli 2.0 toteutus DuckDB-tietokannalla

DuckDB + spatiaalinen analyysi on maaperän muisti. DuckDB ei ole vain tietokanta. Se on analyyttinen moottori, joka pystyy yhdistelemään tietoja ja laskemaan viiveitä, korrelaatioita ja riippuvuuksia sekä aikajonoanalyysejä.

Kun UNS syöttää DuckDB:lle: sademäärät, maaperän kosteudet, pohjaveden vaihtelut, säätökastelun toimenpiteet ja sääennusteen sateet, lämpötilat sekä kasvuston, ravinteet, viljelytoimenpiteet ja luonnollisesti myös dronella tehdyt kuvaukset kasvuston kasvukunnosta… tämän tiedon pohjalta DuckDB pystyy laskemaan jokaiselle aarin ruudulle omat arvot ja niiden pohjalta kasvulohkon rajaamalle alueelle tunnusluvut. Tekoäly ei ymmärrä satojen aarien pistepilviä, mutta ymmärtää erittäin hyvin lohkon sisäistä vaihtelua tunnuslukujen avulla. Tämä on laskentamallin perusajatus.

Peltomalli 2.0 ja DuckDB

DuckDB:n laskentateho

Pystyykö DuckDB laskemaan reaaliajassa satojen hehtaarien peltomallin?

Testasin DuckDB laskentatehoa peruslohkoilla, joita on vajaa miljoona. Laskennassa käytettiin Ryzen AI 7 prosessoria ja 24 Gt muistia.

Avasin DuckDB ohjelman: duckdb .\LC.LandCoverSurfaces.LPIS.gpkg

DuckDB laskee 857520 peruslohkon geometrioista pinta-alan kaksi kertaa noin sekunnissa

Käyttäjä saa tuloksen sekunnissa. Laskentaan ja tiedoston lukemiseen ym. menee yhteensä noin 3.5 sekunttia, mutta nämä tehtävät tehdään rinnakkain usealla prosessorin ytimellä.

Jos pinta-alojen laskenta jätetään pois ja vertaillaa vain tiedoston valmiiksi laskettuja pinta-aloja saadaan tulos noin 0.5 s ja laskentaan menee vain 0.2 s.

Peruslohkojen pinta-alojen vertailuun menee noin 0.2 s, tiedoston lukemiseen lähes sekuntti.

Mitä DuckDB:n laskentateho tarkoittaa Peltomallin 2.0 käyttäjälle?

Digitaalinen kaksonen 100 ha peltoalasta muodostaa 10 000 kpl aarin ruutuja, joita laskentamalli hyödyntää laskennassa. Jos ruudulla on 50 parametriarvoa menee kaikkien lohkojen laskentaan muutama sekuntti ja ruutujen laskentaan uusilla antureiden lähtöarvoilla ehkä yksi silmäräpäys (0.1 – 0.4 sekunttia)