Open ilkkarinne opened 1 year ago
Vertasitko muutosta Githubissa olevaan kaavatietomalliin vai tietomallit.ymparisto.fi sivulla olevaan kaavatietomalliin? Githubissa on pull requestina se uusin versio https://github.com/sykefi/kaavatietomalli/pull/127
Vertasin tietomallit.ymparisto.fi sivulla olevaan kaavatietomallin dev-versioon (commitissa https://github.com/sykefi/kaavatietomalli/commit/24f876300cd25a3b4382a30b0b45d5c7e30c348e).
En ole tutkinut tuota pull requestia #127, mutta kuvauksen perusteella se ei vaikuta tähän asiaan.
Kaikista karuin karvalakkiversio olisi lisätä Kaavatietomallin Kaavamääräys
- ja Kaavasuositus
-luokkiin aiemman version attribuutti arvo:OminaisuudenArvo
ja Kaavamääräys
-luokkaan attribuutti lisätieto:Lisätieto
. Sitten vaan kielletään Kaavatietomallin laatusäännöissä Kaavamääräys
- ja Kaavasuositus
-luokkien perittyjen ominaisuus
-attribuuttien käyttö. Tämä olisi sitten jo todella huono vaihtoehto yhtään pidemmänpäälle, mutta taaksepäin yhteensopiva.
Rakennetun ympäristön tietokomponenttikirjaston uusimmassa dev-versio on uudempi kuin Kaavatietomallin dev-versiossa käytössä oleva Yhteiset tietokomponentit-paketti. Kaavatietomallin osalta olennaiset muutokset liittyvät
Tietoyksikkö
-luokkaan ja sen aliluokkaanAlueidenkäyttöJaRakentamismääräys
, joka puolestaan on KaavatietomallinKaavamääräys
- ja luokan yläluokka. KaavatietomallinKaavasuositus
- jaKaavamääräysryhmä
puolestaan ovat suoraanTietoyksikkö
-luokan aliluokkia.Tietoyksikkö
-luokan varsinainen tietosisältö on kuvattu Kaavatietomallissa käytössä olevassa versiossa attribuutinarvo
avulla, ja sen tietotyyppi onOminaisuudenArvo
. Uusimmassa yhteiset-versiossa sama sisältö on kuvattu attribuutinominaisuus
avulla, joka on tyyppiäAbstraktiSuureenArvo
. Olennaisesti tämä tarkoittaa, että nykyisellään Kaavamääräys- ja Kaavasuositus-luokassaarvo
-attribuutti sisältää suoraan tietyn numeerisen tai tekstiarvon ilman että erikseen kuvataan, minkä suureen arvo tuo arvo on. Toisin sanoen Kaavamääräys-luokanarvo
-attribuutin arvon voi tulkita semanttisesti vain yhteydessä senlaji
-attribuutin arvoon.Mikäli Kaavatietomallissa otetaan käyttöön uusin Rakennetun ympäristön tietokomponenttikirjaston uusin dev-versio, niin Kaavamääräys-luokan arvojen yhteydessä voidaan kuvata eksplisiittisesti minkä suureen arvosta on kyse. Tämä selkeyttää mallin rakennetta varsinkin kun samassa Kaavamääräys-objektissa on käytössä useampi kuin yksi arvo. Lisäksi nykyisestä
Lisätieto
-luokasta voidaan luopua, kun kaavamääräyksen lisätiedot voidaan antaa samanominaisuus
-attribuutin avulla kuin kaavamääräyksen muutkin suureet.AbstaktiSuureenArvo
-luokan attribuuttisuure
on pakollinen, sillä ilman suureen nimeämistä "suureen arvo"-käsite ei ole mielekäs.Esimerkki valaissee asiaa:
Nykyisen Kaavamääräys-luokan mukainen esimerkki:
Sama esimerkki käyttäen uusimman Rakennetun ympäristön tietokomponenttikirjaston dev-version muutettuja
Tietoyksikkö
- jaAlueidenkäyttöJaRakentamismääräys
-luokkia:Tämä olisi nähdäkseni pidemmällä tähtäimellä järkevä tapa mallintaa Kaavatietomallin kaavamääräysten tietoja, mutta muuto on aika suuri nykyiseen rakenteeseen verrattuna, ja vaatisi myös koodistojen uudelleenorganisointia.
Siirtymävaiheen mahdollisimman pieniä muutoksia aiheuttava ratkaisu voisi olla se, että pidetään nykyinen koodistorakenne ennallaan ja korvataan lisätieto omalla
ominaisuus
-attribuutillaan, jonka suureena käytetään nykyistä lisätiedon laji -koodistoa: