Suomen ympäristökeskus

Laatusäännöt

  1. Johdanto
  2. Yhteiset laatusäännöt
    1. UML-mallin mukaisuus
    2. Merkkijonojen käyttö
      1. Merkistöt
      2. Monikielinen sisältö ja kielikoodit
      3. Enimmäispituudet
    3. Geometriat
      1. Geometriatyypit
      2. Sallitut koordinaatistot ja koordinaattijärjestys
      3. Geometrinen ja topologinen eheys
    4. Päivämäärät ja kelloanajat
  3. Luokkakohtaiset säännöt
    1. Osoite

Johdanto

Yhteiset laatusäännöt

UML-mallin mukaisuus

Vaatimus 
laatu/vaat-uml-mukaisuus

Tietomallin loogisen tietomallin toteutusten tulee noudattaa tietomallin UML-kielisen luokkakaavion määrityksiä luokkien attribuuttien ja assosiaatioiden kardinaliteetin ja tyypin suhteen.

Vaatimus 
laatu/vaat-uml-toteutus

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.

Merkkijonojen käyttö

Merkistöt

Vaatimus 
laatu/vaat-merkisto-utf8

Kaikki tietomallin tekstimuotoiset sisällöt on tiedonsiirtoa varten koodattava käyttäen UTF-8 -merkistökoodausta.

Monikielinen sisältö ja kielikoodit

Kaikki tietomallin tekstimuotoinen sisältö ilmaistaan ISO 19103 -standardin määrittelemän LanguageString-luokan avulla.

Vaatimus 
laatu/vaat-monikielisyys-kielikoodi

Kunkin LanguageString-luokan objektin tulee toteuttaa language-attribuutti, jonka arvona on ISO 639-2 -standardin mukainen terminologinen, kolmekirjaiminen kielikoodi code (ISO 639-2/T).

Tekstimuotoiset attribuutit on määritelty siten, että ne sisältävät nolla tai enemmän LanguageString-tyyppisiä arvoja.

Vaatimus 
laatu/vaat-yksi-teksti-per-kieli

Kunkin tekstimuotoista sisältöä kuvaavan attribuutin arvoina tulee olla enintään yksi LanguageString-tyyppinen arvo kutakin kielikoodia (language-attribuutti) kohti.

Enimmäispituudet

Vaatimus 
laatu/vaat-merkijono-pituus

Kunkin yhdellä kielellä annetun LanguageString-tyyppisen merkkijonon enimmäispituus on 2048 merkkiä.

Geometriat

Geometriatyypit

Vaatimus 
laatu/vaat-geom-piste-maar

Pistemäiset geometriat toteuttavat ISO 19107 -standardin määrittelemän Point-rajapinnan.

Vaatimus 
laatu/vaat-geom-2d-alue-maar

Aluemaiset geometriat toteuttavat ISO 19107 -standardin määrittelemän Surface-rajapinnan.

Vaatimus 
laatu/vaat-geom-3d-kappale-maar

3-ulotteiset kappalegeometriat toteuttavat joko ISO 19107 -standardin määrittelemän Solid-rajapinnan.

Vaatimus 
laatu/vaat-geom-kokoelmat-maar

Geometriakokoelmat toteuttavat ISO 19107 -standardin määrittelemän Collection-rajapinnan. Monipiste (multipoint) -geometriat rakentuvat Point-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.
Vaatimus 
laatu/vaat-koord-jarjestys

Geometrioiden ilmaisemisessa tulee noudattaa kunkin koordinaatiston määritelmässä annettua virallista koordinaattijärjestystä.

Geometrinen ja topologinen eheys

Vaatimus 
laatu/vaat-suljetut-ringit

Mikäli viiva on osa aluemaisen geometrian reunaviivaa, on sen oltava suljettu, eli sen alku- ja loppuppisteiden on oltava samat.

Vaatimus 
laatu/vaat-alue-kielletyt-leikkaukset

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ä.

Vaatimus 
laatu/vaat-yhteneva-alue

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ä.

Vaatimus 
laatu/vaat-mitattava-alue

Aluemaisen geometrian sisäosan pinta-ala on oltava mitattavissa, eli alueeseen tulee sisältyä pisteitä, jotka eivät ole osa alueen ulkoreunaa.

Vaatimus 
laatu/vaat-pinnan-orientaatio

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.

Päivämäärät ja kelloanajat

Tietomallin 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).

Vaatimus 
laatu/vaat-ajanhetki-tarkkuus

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.

Vaatimus 
laatu/vaat-aikavyohykkeet

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.

Suositus 
laatu/suos-ajanhetki-muoto

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.

Vaatimus 
laatu/vaat-aikavali-maar

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

Osoite

Vaatimus 
laatu/vaat-osoite-postinumero

Osoite-rajapinnan toteuttavien luokkien tulee toteuttaa operaatio postinumero siten, että sen palautusarvo suomalaisille osoitteille on validi suomalainen postinumero.

Vaatimus 
laatu/vaat-osoite-huoneistotunnuksen-kirjainosa

Osoite-rajapinnan toteuttavien luokkien tulee toteuttaa operaatio huoneistotunnuksenKirjainosa siten, että palautettavan merkkijonon pituus on 1 merkki, ja arvo on iso kirjain välillä ‘A’ - ‘Ö’.

Vaatimus 
laatu/vaat-osoite-huoneistotunnuksennumero-osa

Osoite-rajapinnan toteuttavien luokkien tulee toteuttaa operaatio huoneistotunnuksenNumeroOsa siten, että palautettava kokonaisluku on välillä 1 -999.

Vaatimus 
laatu/vaat-osoite-huoneistotunnuksen-jakokirjain

Osoite-rajapinnan toteuttavien luokkien tulee toteuttaa operaatio huoneistotunnuksenJakokirjain siten, että alautettavan merkkijonon pituus on 1 merkki, ja arvo on pieni kirjain välillä ‘a’ - ‘ö’.

Vaatimus 
laatu/vaat-osoite-osoitenumeron-jakokirjain

Osoite-rajapinnan toteuttavien luokkien tulee toteuttaa operaatio osoitenumeronJakokirjain siten, että alautettavan merkkijonon pituus on 1 merkki, ja arvo on pieni kirjain välillä ‘a’ - ‘ö’, väliviiva (-) tai kauttaviiva (/).