CityGML muotoisen kaupunkimallin automaattiseen tuottamiseen IFC aineistosta 19.5.2016 Tässä dokumentissa kuvataan rakennuksen tekniset mallinnusohjeet jolla saadaan muutettua IFC rakennuksen tietoja CityGML kaupunkimallimuotoon. Kirjoittajat: Jiri Hietanen, Datacubist Oy Petri Kokko, Sova3D Oy
IFC Mallinnusvaatimukset CityGML muotoisen kaupunkimallin automaattiseen tuottamiseen IFC aineistosta KM3D projekti Building Smart kaupunkityöryhmä yhdessä Kuntaliiton kanssa kehittää kaupunkimallinnuksen standardointia. Projektin aikana on saatu kohtuullinen konsensus siitä, että uutta, erillistä kansallista standardia ei kannata kehittää, mikäli on käytettävissä avoin kansainvälinen vaihtoehto. OGC on standardoitunut CityGML standardia ja se on jo valittu kansallisesti Saksassa sekä Hollannissa standardiksi. Sama standardi on myös tulossa Euroopan Unionin Inspire-direktiivillä eurooppalaiseksi standardiksi. Edellisten perusteella KM3D projektissa on vahva käsitys että CityGML kaupunkimallistandardia kannattaa käyttää jo nyt myös Suomessa. IFC standardi ja Yleiset Tietomallivaatimukset 2012 IFC mallintamisen yleiset tietomalliohjeet on kuvattu Building Smartin ylläpitämällä sivustolla osoitteessa: http://www.buildingsmart.fi/8. IFC avoin rakennuksen tietomalli on kansainvälinen ISO-standardi joka on laajasti käytössä maailmalla. Rakentamisessa käytettävä tieto on paljon tarkempaa mitä tarvitaan kaupunkimallissa. IFC semanttinen tietosisältö tarjoaa mielenkiintoisen lähtökohdan tuottaa ja päivittää kaupunkimallia. Tässä dokumentissa kuvataan ne vaatimukset jotka IFC mallin pitää täyttää jotta muunnos IFC mallista onnistuu koneluettavasti CityGML muotoon. IFC2CityGML IFC (Industry Foundation Classess) standardi kuvaa rakennuksen avoimessa tietomalliformaatissa. CityGML taasen kuvailee kaupungin ja yhdyskunnan eri osia avoimessa tietomalliformaatissa eri tarkkuustasoilla. IFC2CityGML hankkeen ideana on saada tuotettua tarkemmista IFC rakennusmalleista tietosisältöä automaattisesti CityGML standardin rakennusta ja muita mahdollisia osia kuvaaviin tietomallin osiin. CityGML vaatimukset 1
CityGML vaatimukset Seuraavassa esitetään vaatimukset sellaiselle IFC siirtomallille (myöhemmin IFC malli), jota käytetään LoD 1-4 tasoisten CityGML mallien automaattiseen generoimiseen. Suunnittelija tuottaa omasta suunnittelumallistaan yhden IFC mallin, josta generoidaan kaikki eri LoD mukaiset CityGML mallit. Nämä vaatimukset eivät ota kantaa siihen miten ja millä ohjelmistolla IFC malli on tuotettu, vaan ainoastaan IFC mallin tässä käyttötarkoituksessa vaadittuun tietosisältöön ja tietorakenteisiin. Tuotettavien CityGML mallien tietosisällön ja tietorakenteiden suhteen noudatetaan soveltuvin osin https://asiakas.kotisivukone.com/files/buildingsmart.kotisivukone.com/kaupsuun_ohjekirja/ver_0.9 9_-_201311_SIG3D_Modeling_Guide_for_3D_Objects_Part_2.pdf Tavoitteena on, että suunnittelijan tarvitsee sisällyttää mahdollisimman vähän CityGML muunnokseen liittyvää lisätietoa IFC malliin. Aina kun se on mahdollista, CityGML muunnoksessa hyödynnetään mallissa jo muutenkin olevaa tietoa, esimerkiksi ulkoseinässä oleva ikkunan tunnistamiseen CityGML ei aseta muusta IFC tiedonsiirrosta poikkeavia vaatimuksia. On kuitenkin tapauksia, joissa IFC malli ei normaalisti sisällä muunnokseen tarvittavaa tietoa, esim. kun yleisistä IFC objekteista (Building Element Proxy) pitää tunnistaa pihavarusteita tai kasveja esittävät objektit. Näissä tapauksissa IFC malliin tulee sisällyttää erityisiä CityGML ominaisuuksia. Samoja CityGML ominaisuuksia voidaan myös käyttää muunnoksen pakottamiseen, esim. jos ulkoseinässä oleva ikkuna onkin CityGML näkökulmasta ovi, voidaan se erityisellä CityGML ominaisuudella pakottaa oveksi. Näin suunnittelija voi omassa mallissaan ja IFC tiedonsiirrossa käyttää ikkunaa, ja CityGML muunnos saadaan silti toimimaan oikein. IFC mallin tulee täyttää seuraavat ylemmän tason vaatimukset IFC mallin pitää olla IFC2x3 formaatissa IFC mallissa pitää olla kaikki CityGML generoinnin kannalta tarpeelliset objektit IFC mallissa ei saa olla CityGML generoinnin kannalta tarpeettomia objekteja tai ko. objektit pitää voida tunnistaa mallista CityGML generointiin käytettävien objektien pitää olla oikean tyyppisiä, esim. seinien pitää olla seinäobjekteja Mallista pitää pystyä eristämään rakennuksen ulkovaippa Rakennuksen ulkovaipan tulee olla suljettu Mallissa pitää olla kaikki CityGML generoinnin kannalta tarpeelliset ominaisuudet ja näiden ominaisuuksien arvojen pitää olla luotettavia o Ominaisuudet jotka kirjoitetaan ominaisuustietona CityGML malliin tai joita käytetään CityGML objektiluokan päättelemiseen o Ominaisuudet joiden avulla mallista tunnistetaan automaattisesti kunkin CityGML LoD:n vaatimat objektit IFC mallissa saa käyttää vain IFC sertifioinnin sallimia geometrian esitystapoja IFC mallissa saa käyttää vain IFC sertifioinnin sallimia objektien värin ja läpinäkyvyyden määrittelemisen keinoja CityGML vaatimukset 2
Nämä vaatimukset kohdistuvat rakennuksiin, ei infrarakenteisiin. Tyypillinen käyttökohde on arkkitehtimalli, joka toimii pohjana rakennusluvan hakemiselle, energia-analyysille tai rakennusliikkeen kustannuslaskennalle. Tontti (IfcSite) Mallin pitää olla asemoitu siten, että se ilman eri toimenpiteitä löytää oikeaan paikkaan kaupunkimallissa IfcSite objektien attribuutit RefLatitude, RefLongitude määrittelevät tontin sijainnin suhteessa maailman koordinaatistoon IfcSite objektin RefElevation määrittelee tontin korkeusaseman suhteessa merenpintaan IfcBuilding sijaitsee suhteessa tonttiin (x, y, z ja kiertokulma) Rakennus (IfcBuilding) Ominaisuudet Nimi Yksilöllinen tunniste Nimi Luokittelu Pääasiallinen käyttötarkoitus Käyttötarkoitukset Rakentamisvuosi Purkamisvuosi Kattotyyppi Korkeus Osoite IFC määrittely IfcBuilding.GlobalID IfcBuilding.Name IfcBuilding > CityGML.Class IfcBuilding > CityGML.Function IfcBuilding > CityGML.Usage IfcBuilding > Pset_BuildingCommon.YearOfConstruction IfcBuilding > CityGML.YearOfDemolition IfcBuilding > CityGML.RoofType CityGML.MeasuredHeight IfcBuilding.BuildingAddress Jos kohde koostuu useasta erillisestä rakennuksesta on jokaisen rakennuksen oltava erillinen IfcBuilding Rakennuksen kerros (IfcBuildingStorey) Mallissa ei tule olla muita kuin todellisia kerroksia Kerroksella tulee olla tieto korkeusasemasta Kerroksella tulee olla tieto siitä, sijaitseeko se maan alla vain maan päällä Objektien tulee kuulua oikeisiin kerroksiin ja niiden tulee korkeintaan olla yhden kerroksen korkuisia, esim. usean kerroksen korkuiset seinät pitää pilkkoa kerroskohtaisiin osiin. Seinä (IfcWall / IfcCurtainWall) Kaikkien seinien tulee olla IfcWall (tai alaluokka) objekteja Seinällä tulee olla tieto siitä kuuluuko se rakennuksen ulkovaippaan. o Ulkoseinä Pset_WallCommon.IsExternal = TRUE o Sisäseinä <ei muunneta> o Muu <ei muunneta> Verhoseinällä tulee olla tieto siitä kuuluuko se rakennuksen ulkovaippaan. o Ulkoseinä Pset_CurtainWallCommon.IsExternal = TRUE o Sisäseinä <ei muunneta> CityGML vaatimukset 3
o Muu <ei muunneta> Ulkoseinäobjektit eivät saa jatkua rakennuksen sisään, eivätkä sisäseinät saa jatkua rakennuksen ulkopuolelle tai muodostaa osaa rakennuksen ulkovaipasta Laatta (IfcSlab / IfcRoof) Ovi (IfcDoor) Kaikkien laattojen tulee olla IfcSlab (tai alaluokka) objekteja Laatalla tulee olla tieto siitä onko se o Alapohja PredefinedType=.BASESLAB. o Välipohja <ei muunneta> o Katto PredefinedType=.ROOF. o Lattia (ulko) ElementType=OUTERFLOOR o Alakatto (ulko) ElementType=OUTERCEILING o Muu <ei muunneta> IfcRoof objektia saa käyttää vain katon esittämiseen. Kaikki IfcRoof kokoonpanossa olevat laatat tulkitaan katoiksi Laattojen tulee olla jaoteltuna geometrisesti siten, että yhdellä laatalla on vain yksi CityGML rooli. Esimerkiksi välipohjalaattaa ei saa jatkua rakennuksen ulkopuolelle parvekelaattana. Kaikkien ovien tulee olla IfcDoor objekteja Ovella tulee olla relaatio siihen seinään (IfcWall / IfcCurtainWall) josssa se sijaitsee (isäntäobjekti) Ovi perii tiedon siitä, onko se ulko- vai sisäovi isäntäobjektiltaan. Jos isäntäobjekti on osa rakennuksen ulkovaippaa, on ovi ulko-ovi, muuten sisäovi. Oven geometrian tulee esittää suljettua ovea Ikkuna (IfcWindow) Kaikkien ikkunoiden tulee olla IfcWindow objekteja tai vaihtoehtoisesti IfcCurtainWall objektin sisällä olevia paneeleja, joiden esitystapa on osittain läpinäkyvä. Ikkunalla tulee olla relaatio siihen seinään (IfcWall / IfcCurtainWall) tai kattoikkunan tapauksessa kattoa kuvaavaan laattaan (IfcSlab) jossa se sijaitsee (isäntäobjekti) Ikkuna perii tiedon siitä, onko se ulko- vai sisäikkuna isäntäobjektiltaan. Jos isäntäobjekti on osa rakennuksen ulkovaippaa, on ikkuna ulkoikkuna, muuten sisäikkuna. Ikkunan geometrian tulee esittää suljettua ikkunaa Aukko (IfcOpeningElement) Seinissä ja laatoissa saa olla tyhjiä aukkoja Muut objektit ja CityGML roolin pakottaminen CityGML malliin voidaan sisällyttää myös sellaisia objekteja, joiden roolin tunnistamiseen ei ole sovittuja keinoja IFC mallissa. Tällaisia ovat esimerkiksi puut ja pihakalusteet. Lisäksi voi olla joskus tarpeen pakottaa jokin IFC objekti tietynlaiseksi CityGML objektiksi tai pakottaa jokin objekti pois CityGML muunnoksesta. Näitä tapauksia varten mihin tahansa objektiin voi liittää CityGML nimisen PropertySetin, jolla on ObjectClass niminen property (IfcPropertySingleValue / IfcLabel). Sallittuja arvoja ovat: Arvo None Kuvaus Objekti jätetään pois CityGML muunnoksesta CityGML vaatimukset 4
CityFurniture SolitaryVegetationObject PlantCover Track Road Square OuterGroundSurface OuterWallSurface OuterRoofSurface OuterFloorSurface OuterCeilingSurface OuterVirtualBoundarySurface OuterDoor OuterWindow OuterBuildingInstallation InteriorRoom InteriorWallSurface InteriorCeilingSurface InteriorFloorSurface Interior Door Interior Window Interior Building Installation Interior Building Furniture Tontilla oleva varuste Yksittäinen kasvi Kasvipeite Polku Tie Aukio Alapohja Ulkoseinä Vesikatto Ulkolattia Ulko-alakatto Ulkona oleva virtuaalinen pinta Ulko-ovi Ulkoikkuna Rakennuksen ulkovaipan ulkopuolella oleva rakennuksen kiinteä osa Sisätila / huone Huoneen seinäpinta Huoneen kattopinta Huoneen lattiapinta Väliovi Sisäikkuna Varuste Kaluste Jos objektin CityGML rooli olisi tunnistettavissa muilla keinoin IFC mallista ja objektilla on CityGML.ObjectClass ominaisuus, niin CityGML.ObjectClass ominaisuus jää voimaan. CityGML nimi ja luokitteluominaisuudet CityGML mahdollistaa objektien nimeämisen ja objektiluokkaa tarkemman luokittelun. Jos näitä mahdollisuuksia on tarpeen käyttää, niin mihin tahansa objektiin voidaan liittää seuraavat ominaisuudet PropertySet Property Kuvaus CityGML Name Objektin nimi, esim. Eteläjulkisivu CityGML Class Mahdollistaa tarkemman määrittelemättömän luokittelun CityGML Function Objektin käyttötarkoitus tai funktio CityGML Usage Objektin tarkemmin määrittelemätön käyttö Class, Function ja Usage ominaisuuksilla voi olla tarkempia CityGML objektiluokkakohtaisia määriyksiä ja sallittujen arvojen listoja. Esimerkiksi Building objektiluokalla Function on rakennelman pääasiallinen käyttötarkoitus. CityGML vaatimukset 5
Jos objektin jokin yllä luetelluista ominaisuuksista olisi tunnistettavissa muilla keinoin IFC mallista ja objektilla on ko. ominaisuus erikseen määriteltynä, niin ko. ominaisuus jää voimaan. CityGML vaatimukset 6