JHS 162 Paikkatietojen mallintaminen tiedonsiirtoa varten

Liite 2 Paikkatietojen yleinen kohdemalli (GFM)

  • Versio: 2.0
  • Julkaistu: 31.10.2011
  • Voimassaoloaika: toistaiseksi

1 Yleistä

ISO-standardoinnissa on lähtökohdaksi otettu perusperiaate paikkatietojen mallintamisesta yksittäisinä paikkatietokohteina. Tämä lähtökohta soveltuu parhaiten vektorimuotoisen tiedon mallintamiseen. Standardissa SFS-EN ISO 19109 Geographic information -Rules for application schema on määritelty säännöt sovellusskeemojen luontiin ja dokumentointiin sekä periaatteet skeemoihin sisältyvien kohdetyyppien määrittelyyn. Tämä liite keskittyy em. standardissa esitettyyn paikkatietojen yleiseen käsitemalliin, jota käytetään aineistokohtaisten kohdetyyppien määrittelyn pohjana. Mallia kutsutaan nimellä General Feature Model (GFM).

ISO TC 211 -työn periaatteita noudattaen GFM on formaalisti määritelty UML-luokkakaavion muodossa. Seuraavassa esitetään paikkatietojen yhteiskäytön kannalta keskeisiä osia tästä UML-mallista ja tarkastellaan lähemmin joitakin yksityiskohtia. Koska GFM on UML-malli, joka määrittelee, miten UML-malleja tulisi laatia, on GFM ns. metamalli. Ylemmän abstraktiotason käsitteinä GFM:n tietoelementit osoittavat käytännön sovellusskeemojen laatimista ohjaavia periaatteita, eikä niitä ole tarkoitus implementoida sellaisenaan. Kuvassa 1 on esitetty kaikki tämän JHS-dokumentin kannalta merkitykselliset GFM:n käsitteet ja niiden väliset yhteydet.

JHS162_image1

Kuva 1. GFM:n pääkäsitteet ja niiden väliset yhteydet

2 Lyhenteet

ISO : International Organization for Standardization

GFM : General Feature Model

GML : Geography Markup Language

SFS : Finnish Standards Association

TC : Technical Committee

UML : Unified Modeling Language

3 Yleinen kohdemalli

GFM:n keskeisimpiä periaatteita on, että paikkatietokohteiden (paikkatietokohde; feature) katsotaan koostuvan joukosta ominaisuuksia (ominaisuus; property). Paikkatietokohteen sijaintitiedolla ei ole mitään erityisasemaa, vaan sijainti esitetään ominaisuutena (sijaintiominaisuus) muiden ominaisuuksien joukossa. Sijaintiominaisuuden arvona on sijaintiobjekti (geometriatiedon ja mahdollisen topologiatiedon muodostama kokonaisuus). Tämä järjestely mahdollistaa myös sen, että yhdellä paikkatietokohteella voi olla monia sijaintiominaisuuksia. Näin kohteella voi olla samanaikaisesti esimerkiksi sekä aluemaisen, viivamaisen että pistemäisen sijaintitiedon sisältäviä ominaisuuksia.

Mallinnettavat kohteet kategorisoidaan kohdeluokkina (feature class), joiden tietosisältö määritetään vastaavassa kohdetyypissä (feature type). Kohdetyyppi koostuu joukosta ominaisuustyyppejä (property type), joita ovat attribuutit, operaatiot ja suhderoolit.

Lisäksi GFM sisältää käsitteet

  • periytymissuhde (inheritance relation)
  • Kohdetyypit voivat muodostaa tyyppihierarkioita periytymismekanismia noudattaen.
  • yhteys (association)
  • Kohteiden väliset yhteydet mallinnetaan yhteystyyppeinä (jos yhteyksiin ei liity omia ominaisuuksia, voidaan yhteydet yksinkertaisemmin esittää suhderooleilla).
  • rajoite (constraint)
  • Kohdetyyppiä tai ominaisuustyyppiä rajaava lisämääre, joka tyypillisesti annetaan käyttäen OCL-kieltä (Object Constraint Language); ei käsitellä tarkemmin tässä dokumentissa.

3.1 Kohdetyyppi

Kuvassa 2 esitetyn GFM:n kohdetyyppiä vastaavan metaluokan ’GF_FeatureType’ attribuutit ilmaisevat, että sovellusskeemassa kohdetyypit tulee nimetä (’typeName’), niille tulee antaa määritelmä (’definition’) ja että kohdetyyppien abstraktisuus tulee osoittaa (’isAbstract’). Attribuutilla 'typeName' olevan toistuvuusmääreen [0..1] osoittama valinnaisuus liittyy vain tilanteisiin, jossa kohdeluokalla mallinnetaan reaalimaailman kohteiden välistä yhteyttä. Kohdeluokan yksityiskohtaiset määritelmät ja selostukset ovat osa kohdeluokkaluetteloa (Feature Catalogue), jonka sisältö on määritelty standardissa SFS-EN ISO 19110.

Kohteen ja ominaisuuden (’GF_PropertyType’) välillä vallitsee vahva koostumussuhde (komposiitti). Toistuvuusmääre '0..*' osoittaa, että kohteella voi olla mielivaltainen määrä ominaisuuksia. Suhderooli 'carrierOfCharacteristics' korostaa sitä, että ominaisuudet sisältävät kohteen luonteenomaiset piirteet.

JHS162_image2

Kuva 2. Kohdetyyppi koostuu joukosta ominaisuustyyppejä

3.2 Ominaisuus

Kuvassa 3 on esitetty se osa GFM:n UML-luokkakaaviosta, joka liittyy kohdetyyppien sisältämiin ominaisuuksiin. Metaluokan ’GF_PropertyType’ attribuutit ilmaisevat, että ominaisuudelle on annettava nimi (’memberName’) ja että ominaisuudella on oltava määrittely (’definition’). Nimi on valinnainen, jos ominaisuus on suhderooli.

Ominaisuudella (’GF_PropertyType’) on GFM:n mukaan kolme alityyppiä: operaatio, attribuutti ja suhderooli. Operaatiot (’GF_Operation’) eivät ole paikkatietojen siirron kannalta oleellisia, eikä niitä käsitellä tarkemmin tässä dokumentissa. Ominaisuuden tärkein alityyppi on attribuutti (’GF_AttributeType’). Tämä tyyppi kattaa kaikki perinteisesti attribuutteina nimetyt kuvailevat ominaisuustiedot, myös sijaintiominaisuudet. Suhderooleja (’GF_AssociationRole’) käytetään kohteiden välisten yhteyksien esittämiseen sovellusskeemassa ja niitä käsitellään luvussa 3.4.

JHS162_image3

Kuva 3. Ominaisuuden alityypit

Kuvassa 4 esitetään attribuuttityyppi ja sen alityypit. Metaluokan 'GF_AttributeType' attribuuttien määrittelyt ilmaisevat, että attribuutille tulee antaa tietotyyppi (’valueType’), että attribuutin sallittua arvoa voidaan rajata antamalla attribuutille arvoalue ('domainOfValues') ja että toistuvuusmääreet tulee ilmaista ('cardinality').

Kohdetta kuvaava attribuutti on GFM:n mukaan jokin seuraavista:

  • aikaan liittyvä ominaisuus (’GF_TemporalAttributeType’).
  • sijaintiominaisuus (’GF_SpatialAttributeType’).
  • epäsuoraa sijaintia osoittava ominaisuus (’GF_LocationAttributeType’).
  • metatieto-ominaisuus (’GF_MetadataAttributeType’).
  • muu kohdetta kuvaava ominaisuus (’GF_ThematicAttributeType’).

Metaluokkaan 'GF_AttributeType' itseensä viittaava UML-suhde 'attributeOfAttribute' edustaa tilannetta, jossa attribuuttiin olisi tarpeen liittää sitä itseään kuvaava ominaisuus, 'attribuutin attribuutti'. Tällaisen attribuutin tietotyyppinä on UML-luokka, jonka attribuutteina ao. attribuutin ominaisuudet ovat.

JHS162_image4

Kuva 4. Attribuuttityyppi ja sen alityypit

Aikaan liittyvän ominaisuuden (GF_TemporalAttributeType) arvoalueena ovat standardin SFS-EN ISO 19108 mukaiset aikaobjektit (TM_Instant, TM_Period, TM_Node, TM_Edge, TM_TopologicalComplex).

Sijaintiominaisuus (GF_SpatialAttributeType) arvoalueena ovat standardin SFS-EN ISO 19107 mukaiset geometriset ja topologiset objektit (geometriset primitiivit, kompleksit ja koosteet sekä topologiset primitiivit ja kompleksit). Sijaintiominaisuus voidaan mallintaa joko kohdeluokan attribuuttina, jonka tyyppinä on jokin em. standardin määrittelemistä objekteista tai suhteena kohdeluokan ja sellaisen toisen UML-luokan välillä, joka vastaa jotakin em. standardin määrittelemistä objekteista. Vaatimus yhteisen jaetun geometrian käyttämisestä kahden kohdeluokan välillä voidaan osoittaa sisällyttämällä malliin UML-suhde kummastakin kohdeluokkaa vastaavasta luokasta yhteen ja samaan geometrista tai topologista objektia vastaavaan luokkaan. Esimerkki tästä on esitetty kuvassa 5.

Liite2_Kuva5a

Kuva 5. Kahden kohdeluokan kesken jaettu geometria

Kuvan 6 esimerkissä UML-luokan ’Joki’ attribuutin ’nimi’ tietotyyppinä on käytetty perustietotyyppiä ’CharacterString’ ja attribuutin ’leveys’ tietotyyppinä johdettua tyyppiä ’Distance’. Nämä tietotyypit on määritelty standardissa ISO/TS 191 03 Conceptual schema language. Attribuutin ’sijainti’ tietotyyppi ’GM_Curve’ on määritelty standardissa SFS-EN ISO 19107 Spatial schema.

Attribuutin ’liikenneLuokka’ tietotyyppinä on UML-luokka ’LiikenneLk’. Tämä luokka edustaa lueteltua joukkoa mahdollisia arvoja (stereotyyppi ’Enumeration’). Sallitut arvot on ilmaistu ao. luokan attribuuttien niminä.

Jos UML-kaaviossa ei ole annettu attribuutin toistuvuusmäärettä, sen oletetaan olevan '[1]' eli ko. attribuutti on pakollinen, eikä se voi toistua. Attribuutin 'leveys' toistuvuusmääre '[0..1]' osoittaa sen valinnaiseksi, ei-toistuvaksi.

JHS 170 -suosituksen mukaan XML-elementtien nimissä ei saa esiintyä skandinaavisia merkkejä. Siksi tiedonsiirtoon liittyvässä mallinnuksessa ei ole suositeltavaa käyttää skandinaavisia merkkejä kohdeluokkien eikä ominaisuuksien nimissä.

Liite2_Kuva5

Kuva 6. Esimerkki attribuuttien käytöstä

3.3 Kohdetyyppien välinen periytymissuhde

GFM määrittelee kohdetyyppien välisen periytymishierarkian. Tämän mukaisesti kohdetyyppien välillä voi vallita periytymissuhde, jossa tiettyyn kantatyyppiin liittyy 1-n alityyppiä, jotka perivät kantatyypin ominaisuudet. Objektiorientoituneen mallintamisen periaatteiden mukaisesti alityyppiin kuuluva kohde voi esiintyä myös kantatyypin kohteena. GFM tukee moniperiytymistä (tietyllä alityypillä voi olla monta kantatyyppiä). Tiedonsiirtoon liittyvissä sovellusskeemoissa moniperiytymiseen liittyy kuitenkin merkittäviä rajoitteita SFS-EN ISO 19136:n (GML) mukaisten implementointikäytäntöjen takia.

GFM:n periytymishierarkia on esitetty UML-luokkakaaviona kuvassa 7. UML-luokan ’GF_InheritanceRelation’ attribuuttien määrittelyt ilmaisevat, että periytymissuhdetta on selostettava sovellusskeemassa (’description’) ja että suhteelle voidaan antaa nimi (’name’). Toistuvuusmerkintä [0..*] UML-suhteessa ’Specialization’ mahdollistaa moniperiytymisen. Periytymissuhteiden yksityiskohtaiset määritelmät ja selostukset annetaan kohdeluokkaluettelossa (Feature Catalogue).

JHS162_image6

Kuva 7. Paikkatietokohdetyyppien perintähierarkia

Kuvassa 8 on esimerkki siitä, kuinka perintäsuhde esitetään sovellusskeemassa. Esimerkissä mm. kohde, joka kuuluu luokkaan 'Lampi', kelpaisi aineistossa kohteeksi myös luokalle 'Vesialue' (yo. mallissa 'Vesialue' on tosin merkitty abstraktiksi, joten tämän luokan instansseja ei voi esiintyä aineistossa). Kantaluokan 'Vesisto' attribuutti 'nimi' periytyy jokaiseen mallin kohdeluokkaan. Kohdeluokan 'Vesialue' sisältämä attribuutti 'pintaAla' periytyy vain kohdeluokille 'Meri', 'Jarvi', 'Lampi' ja kohdeluokan 'Vesiuoma' sisältämä attribuutti 'leveys' vain kohdeluokille 'Joki' ja 'Puro'. Kohdeluokalla 'Meri' on lisäksi attribuutti 'suolaisuus'. Kohdeluokan 'Meri' attribuutteja ovat siis: 'nimi', 'pintaAla' ja 'suolaisuus'.

Liite2_Kuva7

Kuva 8. Esimerkki kohdeluokkien välisten periytymissuhteiden esittämisestä

3.4 Kohteiden väliset yhteydet

Kohteiden välisiä yhteyksiä voidaan sovellusskeemassa kuvata kahdella eri tavalla. Ensimmäinen tapa on mallintaa kohteiden välisiä yhteyksiä itsenäisinä kohteina. Tätä mallinnustapaa käytetään silloin, kun yhteyteen liittyy omia, kohteista erillisiä ominaisuustietoja. Toisessa tavassa kohteiden välinen yhteys mallinnetaan kohteen ominaisuutena (suhderooli, kts. luku 3.2).

Kuvassa 9 on esitetty GFM:n kohdetyyppien välisiä yhteyksiä käsittelevä osa UML-kaaviona. Ensimmäinen mallinnustapa osoitetaan GFM:ssä periyttämällä yhteyttä vastaava UML-luokka 'GF_AssociationType' (yhteystyyppi) kohdetyyppiä vastaavasta UML-luokasta 'GF_FeatureType'. Periyttämisen johdosta myös yhteystyyppi koostuu joukosta ominaisuustyyppejä. Nämä voivat edustaa mitä tahansa ominaisuuden alityyppiä, kuten operaatiota, attribuutin eri alityyppejä tai suhderooleja. Suhderooleista koostuminen on osoitettu omalla koostumussuhteella luokkien ’GF_AssociationType’ ja ’GF_AssociationRole’ välillä. Tämän koostumussuhteen toistuvuusmääre on ’1..*’, eli yhteyteen tulee liittyä vähintään yksi suhderooli.

Toista mallinnustapaa edustaa GFM:ssa se, että suhderoolia vastaava UML-luokka 'GF_AssociationRole' on aliluokka ominaisuutta vastaavalle UML-luokalle 'GF_PropertyType'.

JHS162_image8

Kuva 9. Kohteiden välisen yhteyden mallintaminen yhteystyyppinä tai suhderoolina

Kuvissa 10 ja 11 on mallinnettu kahden kohdetyypin (Meri, Joki) välillä vallitsevaa yhteyttä. Kuvassa 10 näkyy Meren ja Joen välinen yhteys mallinnettuna suhderooleilla. Tässä tapauksessa ei yhteydelle voida antaa ominaisuuksia.

Liite2_Kuva9

Kuva 10. Meren ja Joen välinen yhteys mallinnettuna suhderooleilla

Kuvassa 11 Meren ja Joen välinen yhteys on mallinnettu itsenäisenä kohteena (Jokisuu), johon voidaan liittää ominaisuuksia (virtaus). Esimerkin yhteyskohde on myös paikannettavissa, joten sillä on oma sijaintiominaisuutensa (sijainti). On syytä huomata, että myös suhderooleihin liittyvät toistuvuusmääreet muuttuvat, jos suhde mallinnetaan UML-suhteen sijasta itsenäisenä kohteena.

Liite2_Kuva10

Kuva 11. Meren ja Joen välinen yhteys mallinnettuna yhteyskohteena (Jokisuu)

GFM tunnistamat erilaiset suhdetyypit on esitetty kuvassa 12. Näitä ovat koostumussuhde (GF_AggregationType), spatiaalinen suhde (GF_SpatialAssociationType) ja temporaalinen suhde (GF_TemporalAssociationType).

Liite2_Kuva11a

Kuva 12. GFM:n mukaiset suhdetyypit

Yleinen UML-mallinnuksessa käytettävä luokkien välinen yhteys on koostumussuhde (GF_AggregationType). Koostumussuhteessa tietyn luokan kohteiden katsotaan muodostuvan tai koostuvan toisen luokan kohteista. Koostumussuhteita on kahta eri laatua: muodostesuhde (komposiitti) ja koostesuhde (aggregaatti). Muodostesuhde on kiinteä suhde: komponenttiluokan kohde voi kuulua vain yhteen muodosteluokan kohteeseen ja komponenttiluokan kohde ei voi esiintyä datassa itsenäisenä, muodosteluokan kohteesta erillisenä kohteena. Koostesuhde on löyhä suhde: komponenttiluokan kohde voi kuulua samanaikaisesti moneen koosteluokan kohteeseen ja esiintyä myös itsenäisenä kohteena.

GFM:n mukainen kohteiden välinen yhteys voi olla skeemassa mallinnettu muodostesuhteena. Tällöin muodosteluokan kohteista muodostuu kompleksisia kohteita eli kohteita, jotka sisältävät muita kohteita.

Esimerkkinä koostumussuhteen soveltamisesta kuvassa 13 on esitetty kuvan 8 mukaiset kohdeluokat. Nyt kuitenkin kohdeluokat ’Vesisto’, ’Vesialue’ ja ’Vesiuoma’ ovat konkreettisia, kompleksisia kohdeluokkia. ’Vesisto’ -kohdeluokkaan kuuluva kohde sisältää aineistossa kohdeluokkien ’Vesialue’ ja ’Vesiuoma’ kohteita. Luokan ’Vesialue’ kohteet puolestaan sisältävät luokkien ’Meri’, ’Jarvi’ ja ’Lampi’ kohteita ja luokan ’Vesiuoma’ kohteet luokkien ’Joki’ ja ’Puro’ kohteita. Muodostesuhteena mallinnetussa rakenteessa ei luokkien välille synny perintäsuhteita.

Liite2_Kuva11

Kuva 13. Muodostesuhde; esim. muodostekohde ’Vesialue’ sisältää komponenttikohteet ’Meri’, ’Jarvi’ ja ’Lampi’.

Muita standardin GFM:n esittelemiä kohdeluokkien välisiä suhdetyyppejä ovat spatiaalinen suhde (GF_SpatialAssociationType) ja temporaalinen suhde (GF_TemporalAssociationType). Spatiaaliset suhteet edustavat kohdeluokkiin kuuluvien kohteiden sijainnillisista tai topologisista asemaa toistensa suhteen. Temporaaliset suhteet edustavat kohteiden keskinäistä asemaa aika-akselilla tarkasteltuna.

3.5 Rajoitteet

Sekä kohdeluokkia että niiden ominaisuuksia voidaan tarkemmin kontrolloida määrittelemällä niille rajoitteita (constraints). Näillä voidaan määrätä esimerkiksi, että vain tietynlainen kombinaatio ominaisuuksien arvoja on sallittu, tai että käytettävä konkreettinen geometriaobjekti riippuu tietyn riippuvuussuhteen mukaisesti vastaavan todellisen maastokohteen koosta. Rajausehtoja voidaan lisätä malliin käyttäen UML-kielen osana määriteltyä rajauskieltä OCL (Object Constraint Language).

4 Kohdeluettelo

Kohdeluettelo (feature catalogue) on taulukon muotoon laadittu esitys UML-mallina laaditusta sovellusskeemasta. Tämän luettelon rakenne ja sisältö on määritelty standardissa SFS-EN ISO 19110 Geographic information – Methodology for feature cataloguing. Kohdeluettelo sisältää myös mallin komponenttien tarkat määritelmät ja yksityiskohtaiset kuvaukset. Kohdeluettelo voi myös olla monikielinen, toisin kuin UML-mallina toteutettu sovellusskeema. Mallinnusprosessi voidaan toteuttaa kahdella erilaisella tavalla:

  • kootaan ensin mallin sisältö kohdeluetteloon ja käytetään sitten tätä informaatiota pohjana UML-mallin laatimisessa.
  • UML-malli laaditaan ensin ja kohdeluettelo tuotetaan vasta tämän jälkeen mallin pohjalta.

Jälkimmäisen lähestymistavan toteuttamiseen on olemassa myös automatisoituja menetelmiä.