Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Yhteensovitus yhteisten komponenttien julkaisuversion kanssa (kaavamääräysten rakenne) #128

Open
ilkkarinne opened this issue Jan 20, 2023 · 3 comments

Comments

@ilkkarinne
Copy link
Contributor

ilkkarinne commented Jan 20, 2023

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 aliluokkaan AlueidenkäyttöJaRakentamismääräys, joka puolestaan on Kaavatietomallin Kaavamääräys- ja luokan yläluokka. Kaavatietomallin Kaavasuositus- ja Kaavamääräysryhmä puolestaan ovat suoraan Tietoyksikkö-luokan aliluokkia.

Tietoyksikkö-luokan varsinainen tietosisältö on kuvattu Kaavatietomallissa käytössä olevassa versiossa attribuutin arvo avulla, ja sen tietotyyppi on OminaisuudenArvo. Uusimmassa yhteiset-versiossa sama sisältö on kuvattu attribuutin ominaisuus avulla, joka on tyyppiä AbstraktiSuureenArvo. Olennaisesti tämä tarkoittaa, että nykyisellään Kaavamääräys- ja Kaavasuositus-luokassa arvo-attribuutti sisältää suoraan tietyn numeerisen tai tekstiarvon ilman että erikseen kuvataan, minkä suureen arvo tuo arvo on. Toisin sanoen Kaavamääräys-luokan arvo-attribuutin arvon voi tulkita semanttisesti vain yhteydessä sen laji-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 saman ominaisuus-attribuutin avulla kuin kaavamääräyksen muutkin suureet. AbstaktiSuureenArvo-luokan attribuutti suure 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:

Kaavakohde
   Kaavamääräys 1
      laji: 0101 - Alueen käyttötarkoitus: Asuminen
   Kaavamääräys 2
      laji: 0103 - Alueen käyttötarkoitus: Liike- ja toimistorakentaminen
   Kaavamääräys 3
      laji: 0301 - Rakentamisen määrä: Sallittu kerrosala
      arvo:
         NumerinenArvo
            arvo: 5000
            yksikkö: '"k-m2"
      lisätieto:
         Lisätieto
            laji: 01 - Käyttötarkoituksen osuus kerrosalasta
            arvo:
               NumeerinenArvoväli
                  minimiarvo: 400
                  yksikkö: "k-m2"
            arvo:
               Koodiarvo
                  koodisto: Kaavamääräyslaji - Asemakaava
                  koodi: 0103 - Alueen käyttötarkoitus: Liike ja toimistorakentaminen 

Sama esimerkki käyttäen uusimman Rakennetun ympäristön tietokomponenttikirjaston dev-version muutettuja Tietoyksikkö- ja AlueidenkäyttöJaRakentamismääräys-luokkia:

Kaavakohde
   Kaavamääräys 1
      laji: 01 - Alueen käyttötarkoitus
      ominaisuus:
          SuureenArvo
             suure:
                 Suure
                    suureenNimi: "Alueen käyttötarkoitusluokka"
                    tunnus:
                       KoodiArvo
                          koodisto: "Kaavamääräyssuureet"
                          koodi: 01 - Alueen käyttötarkoitusluokka
             arvo:
                KoodiArvo
                   koodisto: "Alueen käyttötarkoitusluokat - Asemakaava"
                   koodi: 01 - Asuminen
             arvo:
                KoodiArvo
                   koodisto: "Alueen käyttötarkoitusluokat - Asemakaava"
                   koodi: 03 - Liike- ja toimistorakentaminen
   Kaavamääräys 2
      laji: 03 - Rakennusoikeus
      ominaisuus:
         SuureenArvo
             suure:
                Suure                 
                   suureenNimi: "Sallittu kerrosala"
                   tunnus:
                      KoodiArvo
                         koodisto: "Kaavamääräyssuureet"
                         koodi: 02 - Sallittu kerrosala
             arvo:
                NumerinenArvo
                   arvo: 5000
                   yksikkö: '"k-m2"
      ominaisuus:
           SuureenArvo
             suure:
                Suure
                   suureenNimi: "Käyttötarkoituksen osuus kerrosalasta"
                    tunnus:
                       KoodiArvo
                          koodisto: "Kaavamääräyssuureet"
                          koodi: 03 - Käyttötarkoituksen osuus kerrosalasta
             arvo:
                NumeerinenArvoväli
                   minimiarvo: 400
                   yksikkö: "k-m2"
             arvo:
                Koodiarvo
                   koodisto: Alueen käyttötarkoitusluokat - Asemakaava
                   koodi: 03 - Liike- ja toimistorakentaminen 

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:

Kaavakohde
   Kaavamääräys 1
      laji: 0101 - Alueen käyttötarkoitus: Asuminen
   Kaavamääräys 2
      laji: 0103 - Alueen käyttötarkoitus: Liike- ja toimistorakentaminen
   Kaavamääräys 3
      laji: 0301 - Rakentamisen määrä: Sallittu kerrosala
      ominaisuus:
         SuureenArvo
             suure:
                 Suure
                    tunnus:
                       KoodiArvo
                          koodisto: "Kaavamääräyslaji (asemakaava)"
                          koodi: 0301 - Rakentamisen määrä: Sallittu kerrosala
             arvo:
                NumerinenArvo
                   arvo: 5000
                   yksikkö: '"k-m2"
      ominaisuus:
           SuureenArvo
             suure:
                 Suure
                    tunnus:
                       KoodiArvo
                          koodisto: "Kaavamääräyksen lisätiedon laji (Asemakaava)"
                          koodi: 01 - Käyttötarkoituksen osuus kerrosalasta
             arvo:
                NumeerinenArvoväli
                   minimiarvo: 400
                   yksikkö: "k-m2"
             arvo:
                Koodiarvo
                   koodisto: "Kaavamääräyslaji (asemakaava)"
                   koodi: 0103 - Alueen käyttötarkoitus: Liike- ja toimistorakentaminen
@teempek
Copy link

teempek commented Jan 20, 2023

Vertasitko muutosta Githubissa olevaan kaavatietomalliin vai tietomallit.ymparisto.fi sivulla olevaan kaavatietomalliin? Githubissa on pull requestina se uusin versio #127

@ilkkarinne
Copy link
Contributor Author

Vertasin tietomallit.ymparisto.fi sivulla olevaan kaavatietomallin dev-versioon (commitissa 24f8763).

En ole tutkinut tuota pull requestia #127, mutta kuvauksen perusteella se ei vaikuta tähän asiaan.

@ilkkarinne
Copy link
Contributor Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants