Keri sisuni

Siffer — Mullaliigi koodi parser

Mis on Šifri väli?

Iga Eesti mullakaardi polügoon on varustatud ühe või mitme šifri (siffer) koodiga — tähtnumbrilise tähisega, mis tuvastab selle kaardistusüksuse domineeriva(d) mullaliigi(d). Üks polügoon võib kanda kuni nelja šifri koodi, mis on eraldatud semikooloniga ja loetletud domineerimise järjekorras:

Ko;D;LPe;LP

See näide kodeerib neli mullaliiki:

Kood Eestikeelne nimetus Ligikaudne rahvusvaheline vaste
Ko Korestikmaa Skeletic Leptosol / shallow rocky soil
D Deluviaalmuld Colluvic Regosol / slope deposit soil
LPe Leetjas-paepealne erosioonimuld Eroded Albeluvisol on limestone
LP Leetjas-paepealne muld Albeluvisol on limestone

Šifri sõnavara koosneb mitmest tuhandest riiklikus mulla klassifikatsioonisüsteemis määratletud koodist. Praeguse andmestiku kehtivad koodid on toodud failis updated_uniq_jan25_2026.csv.


Miks toorandmed parandamist vajavad

Mullakaart digitaliseeriti analooglehtedelt paljude erinevate operaatorite poolt mitme aastakümne jooksul. See tekitas laia valiku kodeerimise artefakte:

Segatud eraldajad — semikoolonite asemel esineb komasid, tühikuid, kooloneid või kriipse (nt Ko Ko LP või Ko,LP asemel Ko;LP).

Erosiooniastme märkused — mulla koodidele on lisatud numbrilised erosiooni intensiivsuse klassid, mis sinna ei kuulu (nt E1, E(1;2), C3 variandid baaskoodidest E ja C).

OCR- ja transkriptsioonivead — märgiülekanded, ühinenud märgid, juhuslikud sulud, mis tekkisid analoogteksti skannimisel või uuesti tippimisel.

Ajaloolised lühendid — vanemad kaardistusringid kasutasid veidi erinevat koodide kirjapilti, mis ei kuulu enam praegusesse standardisse.

Parser rakendab enne grammatika valideerimist mitmeastmelist parandamise töövoogu:

  1. Terve sõne otsing ~700 kureeritud täpse vastega asenduse hulgast.
  2. Erosiooniastme eemaldamine (E-tüüpi, C-tüüpi ja sulgudes olevad numbrid).
  3. Kooloniga eraldatud numbriraaride eemaldamine (viimase abinõuna).
  4. Eraldajate normaliseerimine (kõik eraldajad → ;).
  5. Märgi-tasemel otsing iga märgi kohta (~200 kirjet).

Alles pärast neid samme valideeritakse sõne ametliku Arpeggio grammatika vastu.


Väljundväljad

Parser tagastab 7 tulpa iga mullapolügooni rea kohta:

Väli Tüüp Kirjeldus
siffer_1 str Esimene (domineeriv) mullaliigi kood, standardiseeritud. Tühi, kui puudub.
siffer_2 str Teine mullaliigi kood. Tühi, kui puudub.
siffer_3 str Kolmas mullaliigi kood. Tühi, kui puudub.
siffer_4 str Neljas mullaliigi kood. Tühi, kui puudub.
n_siffers int Selles polügoonis leitud mullaliikide koodide arv (0–4).
parse_ok_s bool True, kui grammatika tuvastas kõik koodid. Kasutatakse kaardivaaturi veaülevaates koos parse_ok_l ja parse_ok_h veergudega.
parse_error str Kirjeldus sellest, mida ei saanud parsida. Edukuse korral tühi.

Tühi vs puudub

Väljad siffer_1 kuni siffer_4 täidetakse järjestikku. Kui polügoonil on ainult kaks mullaliiki, kannavad koodid siffer_1 ja siffer_2 ning siffer_3, siffer_4 on tühjad sõned.


Näide

Toores välja väärtus: "Ko Ko LP"

Samm Tulemus
Täpse vaste otsing muudatuseta
Erosiooni eemaldamine muudatuseta
Eraldajate normaliseerimine "Ko;Ko;LP"
Grammatika parsimine siffer_1=Ko, siffer_2=Ko, siffer_3=LP
Duplikaatide eemaldamine siffer_1=Ko, siffer_2=LP

Väljund: siffer_1="Ko", siffer_2="LP", n_siffers=2, parse_ok=True


Parsimise kattuvus

Kogu andmestiku puhul (~800 000 polügooni rida) lahendab šifri parandamise töövoog valdava enamuse mittestandardsetest kirjetest. Read, kus parse_ok=False, tähistavad koode, mis puuduvad praegusest viitesõnavarast või on lahendamatud artefaktid; need märgistatakse manuaalseks kontrolliks.