Fyysiset mallit (Kaava-JSON ja Postgre) on siirretty Asema- ja yleiskaavojen tietomallit -kehitysprojektin alle
Laatusäännöt
- Johdanto
- Yhteiset laatusäännöt
- Luokkakohtaiset säännöt
Johdanto
Yhteiset laatusäännöt
UML-mallin mukaisuus
Kaavatietomallin loogisen tietomallin toteutusten tulee noudattaa tietomallin UML-kielisen luokkakaavion määrityksiä luokkien attribuuttien ja assosiaatioiden kardinaliteetin ja tyypin suhteen.
Kunkin fyysisen tietomallin kuvauksessa tulee määritellä minkälaista rakennetta ja tietotyyppiä kukin loogisen tietomallin luokka ja attribuutin tyyppi vastaa fyysisessä mallissa. Attribuutit ja assosiaatiot, joiden kardinaliteetti on loogisessa tietomallissa 0..1
tai 0..*
voivat puuttua fyysisen tietomallin mukaisista objekteista.
Tunnisteet ja sisäisten viittausten eheys
Kaavatietomallin versioitavilla tietokohteilla tulee olla yksilöivät tunnukset, joiden luomisessa ja käyttämisessä viittaamiseen toisiin tietokohteisiin tulee noudattaa elinkaarisääntöjen luvun Tunnukset ja niiden hallinta vaatimuksia.
Elinkaarisääntöjen mukaisuus
Kaavatietomallin mukaisten aineistojen tulee noudattaa Kaavatietomallin elinkaarisääntöjen vaatimuksia, ja niiden on suositeltavaa noudattaa elinkaarisääntöjen suosituksia. Vaatimukset ja suositukset on erotettu selkeästi elinkaarisääntöjen muusta sisällöstä.
Soveltamisohjeiden mukaisuus
Kaavatietomallin mukaisten aineistojen tulee noudattaa niiden kaavalajikohtaisten soveltamisprofiilien (Asemakaava, Yleiskaava) vaatimuksia, ja niiden on suositeltavaa noudattaa soveltamisprofiilien suosituksia. Vaatimukset ja suositukset on erotettu selkeästi soveltamisprofiilien muusta sisällöstä.
Merkkijonojen käyttö
Merkistöt
Kaikki Kaavatietomallin tekstimuotoiset sisällöt on tiedonsiirtoa varten koodattava käyttäen UTF-8 -merkistökoodausta.
Monikielinen sisältö ja kielikoodit
Kaikki kaavatietomallin tekstimuotoinen sisältö ilmaistaan ISO 19103 -standardin määrittelemän LanguageString-luokan avulla.
Kunkin LanguageString-luokan objektin tulee toteuttaa language
-attribuutti, jonka arvona on ISO 639-2 -standardin mukainen terminologinen, kolmekirjaiminen kielikoodi code (ISO 639-2/T).
fin
(suomi), swe
(ruotsi), smn
(inarinsaami), sms
(koltansaami) ja sme
(pohjoissaami). Muita Suomessa paljon puhuttujen kielten ISO 639-2/T -koodeja: rus
(venäjä), est
(viro), ara
(arabia), eng
(englanti), som
(somali), kur
(kurdi).Tekstimuotoiset attribuutit on määritelty siten, että ne sisältävät nolla tai enemmän LanguageString-tyyppisiä arvoja.
Kunkin tekstimuotoista sisältöä kuvaavan attribuutin arvoina tulee olla enintään yksi LanguageString-tyyppinen arvo kutakin kielikoodia (language
-attribuutti) kohti.
Enimmäispituudet
Kunkin yhdellä kielellä annetun LanguageString-tyyppisen merkkijonon enimmäispituus on 2048 merkkiä.
Tekstiarvojen käyttö
Tekstimuotoisina annettujen kaavamääräysten ja niiden lisätietojen koneellinen tulkittavuus on monimutkaisempaa, epätäsmällisempää ja epäluotettavampaa kuin kuvattaessa sama ohjausvaikutus koodistojen arvojen tai numeeristen arvojen avulla. Tekstimuotoiset arvot ovat kuitenkin toisinaan tarpeen, koska kaikkia mahdollisia yksityiskohtaisia kaavamääräystietoja ei ole mielekästä koodittaa. Ihmisen tulee todennäköisesti aina tarkistaa tekstimuotoisten kaavamääräysten tulkinta, mikä heikentää konetulkittavan kaavatiedon käsittelytehokkuutta. Tämän vuoksi tekstimuotoisia kaavamääräysten ja niiden lisätietojen arvoja ei tule käyttää tarpeettomasti, esimerkiksi kuvaamaan uudelleen jo kaavamääräyslajikoodin otsikkoon, määritelmään tai kuvaukseen sisältyvää sisältöä.
Mikäli Kaavamaarays- tai Lisatieto-luokkien arvo
-attribuuteille on sallittu nollasta poikkeava määrä TekstiArvo-tyyppisiä arvoja, tulee niitä käyttää ainoastaan tapauksissa, joissa teksti on välttämätön täydentämään kaavamääräyksen tai lisätiedon muiden attribuuttien avulla kuvattua merkitystä. Mikäli sama ohjausvaikutus saavutetaan myös jättämällä TekstiArvo-tyyppinen arvo pois, ei sitä tule käyttää.
Kaavamaarays-, Kaavasuositus- ja Kaavakohde-luokkien instanssien mahdolliseen ei-oikeusvaikutteiseen otsikointiin tulee käyttää niiden nimi
-attribuutteja.
Geometriat
Geometriatyypit
Pistemäiset geometriat toteuttavat ISO 19107 -standardin määrittelemän Point
-rajapinnan.
Viivamaiset geometriat toteuttavat ISO 19107 -standardin määrittelemän Curve
-rajapinnan.
Aluemaiset geometriat toteuttavat ISO 19107 -standardin määrittelemän Surface
-rajapinnan.
3-ulotteiset kappalegeometriat toteuttavat joko ISO 19107 -standardin määrittelemän Solid
-rajapinnan.
Geometriakokoelmat toteuttavat ISO 19107 -standardin määrittelemän Collection
-rajapinnan. Monipiste (multipoint) -geometriat rakentuvat Point
-rajapinnan, moniviiva (multicurve) -geometriat Curve
-rajapinnan, monialue (multisurface) -geometriat Surface
-rajapinnan ja monikappale (multisolid) -geometriat Solid
-rajapinnan toteuttavista osista (element
-attribuutti).
Sallitut koordinaatistot ja koordinaattijärjestys
Rakennetun ympäristön tietojärjestelmä tukee seuraavia koordinaatistoja:
Tiedon luovutuksen koordinaatistot
- EPSG:4326, WGS84
- Käytössä myös IFC-mallissa
- EPSG:3857, Google Web Mercator
- Tiedon luovutusrajapinnan käyttäjä voi pyytää vastauksen haluamassaan tuetussa koordinaatistossa, jolloin tietojärjestelmä muuntaa tarvittaessa varannossa olevan tiedon haluttuun kohdekoordinaatistoon.
Tiedon luovutuksen ja vastaanoton koordinaatistot
- EPSG:3067, valtakunnallinen koordinaatisto.
- EPSG:3873-3885 koordinaatistot tiedon luovutuksessa / tiedon vastaanotossa
- Tiedon toimituksen yhteydessä tulee tallentaa tieto koordinaattijärjestelmästä ja korkeusjärjestelmästä (N2000), jossa tieto toimitettu.
Geometrioiden ilmaisemisessa tulee noudattaa kunkin koordinaatiston määritelmässä annettua virallista koordinaattijärjestystä.
Geometrinen ja topologinen eheys
Mikäli viiva on osa aluemaisen geometrian reunaviivaa, on sen oltava suljettu, eli sen alku- ja loppuppisteiden on oltava samat.
Viivamainen geometria ei saa leikata itseään.
Aluemaisen geometrian ulkoreunan ja reikien reunaviivat eivät saa leikata itseään tai toisiaan. Kukin reunaviiva saa koskettaa alueen ulkoreunaa tai reiän reunaa, mukaanlukien se itse, vain yksittäisissä pisteissä.
Aluemaisen geometrian sisäosan on oltava yhtenevä, eli minkä tahansa kahden alueen sisäpisteen välillä on voitava muodostaa yhtenäinen käyrä, joka kulkee kokonaan alueen sisällä.
Aluemaisen geometrian sisäosan pinta-ala on oltava mitattavissa, eli alueeseen tulee sisältyä pisteitä, jotka eivät ole osa alueen ulkoreunaa.
Aluemaisten geometrioiden kiertosuuntien tulee noudattaa ISO 19107 -standardin määritelmää: Geometrioiden reunojen kiertosuunnat tulee valita siten, että pinnan yläpuolelta katsottuna ulkorajan reunan kiertosuunta on vastapäivään ja pinnan mahdollisten reikien reunojen kiertosuunnat ovat myötäpäivään. Mikäli pinta on osa 3-ulotteisten geometrian ulkorajaa, ulkopuoli vastaa yläpuolta.
Paikkatietokohteiden geometrioiden sisäkkäisyys ja päällekkäisyys
Kaava-luokan objektin aluerajaus
-attribuutin ilmaiseman kaava-alueen tulee pitää sisällään kaikki kaavaan sisältyvien AbstraktiKaavakohde-luokan objektien geometriat, poislukien sellaiset Kaavakohde-luokan objektit, joiden kaikki kaavamääräykset ja kaavasuositukset ovat kumottuja.
Päivämäärät ja kelloanajat
Kaavatietomallin yksittäisiä ajanhetkiä kuvaavat attribuutit ovat ISO 19108 -standardin määrittämää tyyppiä TM_Instant ja aikavälejä kuvaavat attribuutit tyyppiä TM_Period. Päivämäärät annetaan käyttäen Gregoriaanista kalenteria ja kellonajat käyttäen 24 tunnin kelloaikamuotoa alkaen kellonajasta 00:00:00.000 ja päättyen ajanhetkeen 23:59:59.999 (tunti, minuutti, sekunti, millisekunti).
Yksittäisiä ajanhetkiä kuvaavat attribuutit ilmaistaan joko pelkän päivämäärän tai päivämäärän ja kelloajan avulla. Päivämäärät ilmaistaan antamalla vuoden, kuukauden ja kuukauden päivän numeeriset arvot. Kellonajat ilmaistaan vähintään yhden minuutin ja enintään yhden millisekunnin tarkkuudella antamalla tunnin, minuutin, sekunnin ja millisekunnin numeeriset arvot.
Päivämäärien ja kellonaikojen yhteydessä voidaan antaa myös tieto aikavyöhykkeestä tai aikojen poikkeamasta UTC-ajasta. Mikäli muuta ei tietoa ei anneta, tulee ajanhetkitiedot tulkita siten, että ne kuvaavat Suomen aikaa noudattaen kyseisellä ajanhetkellä voimassaolleita asetuksia kesäaikaan liittyen.
Mikäli fyysinen tietomalli ei aseta ajanhetken muodolle rajoituksia, on suositeltavaa käyttää IETF RFC 3339 Date and Time on the Internet: Timestamps-standardin määrittelemää syntaksia.
Aikavälejä kuvaavat attribuutit voidaan antaa joko sekä alku- että loppuajanhetken avulla tai vain joko alku- tai loppuajanhetken avulla. Mikäli alkuajanhetkeä ei anneta, tulkitaan aikavälin sisältävän minkä tahansa ajanhetken loppuajanhetkeen saakka. Vastaavasti mikäli loppuajanhetkeä ei anneta, tulkitaan aikavälin sisältävän minkä tahansa ajanhetken alkujanhetkestä lähtien.
Luokkakohtaiset säännöt
AbstraktiMaankayttoasia
AbstraktiMaankayttoasia-luokan objektien aluerajaus
-attribuutin arvon tulee kuvata kaavan suunnittelualue joko aluemaisena geometriana tai monialueena.
Lahtotietoaineisto
Lahtotietoaineito-luokan objektien aluerajaus
-attribuutin arvon tulee kuvata aineiston maantieteellinen kattavuus joko aluemaisena geometriana tai monialueena.
KaavanKumoamistieto
KaavanKumoamistieto-luokan objektien kumottavanKaavanAlue
-attribuutin arvon tulee kuvata kumottava alue joko aluemaisena geometriana tai monialueena.
Kaava
Kaavatietovarastossa ei tule olla kahta Kaava-luokan objektia, joiden
laji
-attribuutin arvot ovat samat,voimassaoloAika
-attribuutin arvojen kuvaamat aikavälit ovat sisäkkäisiä tai lomittain, jaaluerajaus
-attribuuttien kuvaavat geometriat leikaavat toisiaan tai ovat sisäkkäisiä.
Kaava-luokan objektilla, jonka elinkaatila on kaavaehdotus tai myöhempi (koodi 04, 05, 06, 07, 08, 09, 10, 11 tai 12) tulee olla ei-tyhjä aluerajaus
-attribuutin arvo.
Kaava-luokan objektilla, jonka elinkaatila on virelletullut tai myöhempi (koodi 02, 03, 04, 05, 06, 07, 08, 09, 10, 11 tai 12), tulee olla ei-tyhjä virelletuloAika
-attribuutin arvo.
Kaava-luokan objektilla, jonka elinkaatila on hyväksytty kaava tai myöhempi (koodi 06, 07, 08, 09, 10, 11 tai 12), tulee olla ei-tyhjä hyvaksymisAika
-attribuutin arvo.
Kaava-luokan objektilla, jonka elinkaatila on osittain voimassa, voimassa, tai niitä myöhempi (koodi 09, 10, 11 tai 12) tulee olla ei-tyhjä voimassaAika
-attribuutin alkuajanhetken arvo.
Kaava-luokan objektilla, jonka elinkaatila on kumottu tai kumoutunut (koodi 11 tai 12), tulee olla annettu ei-tyhjä voimassaAika
-attribuutin loppuajanhetken arvo.
Kaavakohde
Kaavakohde-luokan objektin geometria
-attribuutin arvon tulee olla piste, viiva, alue, 3-ulotteinen kappale, moniviiva, monialue tai monikappale.
Mikäli Kaavakohde-luokan objektin geometria
-attribuutin arvo on 3-ulotteinen kappale tai monikappale, ja sille on annettu pystysuuntainenRajaus
-attribuutti, tulee geometria
-attribuutin arvon sijaita pystysuuntaisen rajauksen määrittämien korkeuksien ala- ja ylärajojen väleissä.
Kaavatietovarastossa ei tule olla kahta Kaavakohde-luokan objektia, joiden
kaava
-attribuutin arvo viittaavat eri kaavoihin,voimassaoloAika
-attribuutin arvojen kuvaamat aikavälit ovat sisäkkäisiä tai lomittain, jageometria
- japystysuuntainenRajaus
-attribuuttien yhdessä kuvaavat geometriat leikaavat toisiaan tai ovat sisäkkäisiä.