GispoCoding / hame-ryhti

HAME regional land use planning database compatible with national Ryhti data model
MIT License
0 stars 0 forks source link

Validointisääntöjen toteutus tietokantaan #41

Open Rikuoja opened 9 months ago

Rikuoja commented 9 months ago

Ryhti-järjestelmän speksin mukaiset validointisäännöt muuttuvat ja tarkentuvat jatkuvasti.

Ennen kuin Ryhti-vientiskriptiä aletaan toteuttaa, lisätään tietokantaan Ryhti-validointisäännöistä ne, jotka on syytä tarkistaa jo kaavan luontivaiheessa, jotta paikkatietoasiantuntija ei tee Ryhti-yhteensopimatonta kaavaa:

-geometria/topologiasäännöt (sekä kohteen liittäminen kaavalle geometrian mukaan) -tiettyjä koodeja vastaavat rajoitteet (eli tietylle koodiston koodille on tietyn kentän oltava täytetty/tyhjä tai kaavakohteen on oltava tietynlainen)

Osa säännöistä voidaan toteuttaa siinä vaiheessa, kun Ryhti-sanomaa luodaan. Tällöin voidaan jättää viemättä ylimääräiset tiedot, jotka eivät ole Ryhti-sääntöjen mukaisia? Miten käyttäjälle ilmoitetaan tästä?

Osa säännöistä voidaan toteuttaa QGISissä.

Selvitetään/mietitään, olisiko olemassa joku rakenteinen tapa toteuttaa iso joukko sql-validointisääntöjä, tai toteutetaan itse. Olisi kätevää, että kaikki validointisäännöt ovat yhdessä paikassa rakenteisesti luettavissa, voidaanko sql-constraintit tai validointifunktiot luoda rakenteisesta datasta??

Yksi tapa luoda validointifunktiot on https://github.com/olirice/alembic_utils .

Kokeillaan alembic_utilsia ja tallennetaan validointifunktiot omaan tiedostoonsa (validation.py). Yritetään kirjoittaa validointifunktiot mahdollisimman strukturoidusti (esim. samojen taulujen/kenttien validointifunktiot yhteen paikkaan).

Katsotaan pystytäänkö noita refaktoroimaan myöhemmin niin että kokonaisuus pysyy hanskassa ja validointeja on helppo lisätä/muokata sekä nimetä. Näin on helppo nähdä, että kaikki ryhdin vaatimat validoinnit on hoidettu.

### Tasks
- [ ] https://github.com/GispoCoding/hame-ryhti/issues/244
- [ ] https://github.com/GispoCoding/hame-ryhti/issues/287

ks. https://github.com/sykefi/Ryhti-rajapintakuvaukset ks. https://ryhti.syke.fi/alueidenkaytto/tietomallimuotoinen-kaavoitus/kaavatietomallin-elinkaari-ja-laatusaannot/ ja sieltä pdf:nä validointisäännöt

SannaJokela commented 7 months ago

Sannan pitää tsekata validointisäännöt, koska maakuntakaavan osalta osa on mahdottomia toteuttaa

rlindb commented 6 months ago

https://docs.google.com/spreadsheets/d/15JWT8jIVAxEPvxLowTH6ZFgrYzEVNigsOz0jnIs-sQQ/edit?usp=drive_link