# Relation mellan CityGML och IFC
## CityGML
CityGML är en internationell standard för geografisk data (geodata) med fokus på stadsmiljöer. CityGML utvecklas av OGC (Open Geospatial Consortium), som är en sammanslutning av över femhundra offentliga och privata organisationer.
CityGML beskriver de geometriska och semantiska (betydelse) aspekterna av olika företeelser i en stadsmiljö, såsom byggnader, tunnlar och broar. Med hjälp av GityGML kan objekt beskrivas med olika geometriska detaljeringsnivåer vilket uttrycks som Level of Detail (LOD). Nationella Riktlinjer tillämpar LOD enligt CityGML för geodata, men även för byggnader och anläggningar.
Detaljeringsgrad (LOD) Nivåer av geometrisk representation, baserade på CityGML:
* LOD0 Dimensionalitet 2DY eller 3DY. Detta motsvaras av metoden ”förenklat ritsätt”, som i plan visar objektets ytterkonturer, och används i ytmodeller i 2D och 3D och i planritningar.
* LOD1 Dimensionalitet 3DY eller 3DS. Detta kan användas för tidiga 3D-studier och för samordning mellan teknikområden.
* LOD2 Dimensionalitet 3DY eller 3DS som visar objektets alla huvudsakliga ytor. Samma användning som LOD1\. För anläggningsprojektering som visar volymer eller kroppar.
* LOD3 Dimensionalitet 3DY eller 3DS som visar objektets alla utvändigt synliga delar. Samma användning som LOD1.
* LOD4 Dimensionalitet 3DS som visar objektets alla delar, inklusive inre uppbyggnad. CAD-modeller för arkitektur och konstruktion har denna nivå.
![Visualisering av LOD-nivåer](https://storage.googleapis.com/storage.infopack.io/swe-nrb/nrb-metoder/3.0.0/relation-mellan-citygml-och-ifc/media/lod.png)
(Figur: Visualisering av LOD-nivåer)
## IFC
IFC (Industry Foundation Classes) är ett internationellt standardiserat öppet filformat för utväxling av CAD-data. IFC är en ISO-standard och utvecklas av buildingSMART.
IFC används främst för utbyte av data för byggnader och anläggningar mellan olika CAD-programvaror. Även i IFC finns LOD specificerat men indelningen skiljer sig till viss del från den i CityGML.
## Domän för format
Generellt sett är CityGML användbar för informationshantering gällande domänen GIS och är IFC gällande domänen BIM.
Vad gäller geometrisk beskrivning kan man grovt sett säga att CityGML visar ytan av byggnadsverk, medan IFC beskriver den konstruktiva uppbyggnaden av byggnader eller anläggningar med hjälp av olika typer av komponenter såsom väggar, pelare, m.m.
I den högsta detaljeringsnivån i CityGML kan dock byggnadsverk innehålla våningsplan, inredning och andra detaljer.
## Konvertering mellan CityGML och IFC
Det kan finnas behov av att konvertera information från IFC till CityGML eller tvärtom.
Det kan exempelvis vara ett sätt att uppdatera en digital tvilling av en stadsmiljö med hjälp av bro som är byggt. I detta fall konverteras en IFC-modell av en bro till en CityGML-fil som underlag till en stadsmodell.
Eller det kan vara ett sätt att ta fram underlag till en arbetsplatsdispostion (APD)-modell i byggproduktion som visar byggarbetsplatsen och omliggande byggnader och anläggningar i en stadsmiljö.
## Att beakta
Det finns ett antal aspekter att beakta vid konvertering mellan CityGML och IFC.
Generellt sett behöver egenskaper i båda formaten matchas vid konvertering. Vid konvertering talas om källdata (t.ex. IFC-modell till bron enligt ovan) och destinationsdata (t.ex. stadsmodellen i CityGML-format).
Egenskaperna indelas i följande huvudkategorier:
### Semantik
Semantik avser betydelse av företeelser och kan definieras som sättet hur världen beskrivs. Konstruktören till bron kan ha använt ett eget språk för att beskriva bron olika delar. Är exempelvis en brostödet definierat som en vägg eller pelare, eller inte alls och kallas det för objekt eller proxy?
Klassifikation of objekt och egenskaper med hjälp av CoClass kan underlätta matchningen av objekt i egenskaper i IFC och CityGML.
CityGML och IFC innehåller i sig också en semantik i form av så-kallade klasser och egenskaper som kan användas. I IFC beskrivs exempelvis en byggnad som ifcBuilding. I CityGML definieras byggnad som building. Det är viktigt att säkerställa att samma klass (exempelviss byggnad) innebär samma sak i respektive schema eller filformat.
### Kodning
Koder för identifikation av objekt eller egenskaper kan användas. CoClass kan underlätta identifikation av objekt eller egenskaper och innehåller koder för typiska objekt i stadsmodeller såsom koder för byggnadsverk eller byggnadsverkskomplex, men även koder för byggnader och anläggningar i sig och dess ingående delar såsom system, utrymmen och (konstruktiva) komponenter. CoClass innehåller dessutom principer för hur koder kan sättas ihop med varandra så att lokalisering, funktion, typ och individ kan beskrivas. CoClass innehåller även koder för egenskaper.
### Geometri
Geometrisk information kan specificeras med avseende på:
* Dimensionalitet,
* Utseende,
* Detaljeringsgrad,
* Lokalisering och koordinater
* Parametriskt beteende och topologi .
#### Dimensionalitet
Dimensionalitet, grafisk representation:
* 0D_ Icke-grafisk objektet beskrivs enbart alfanumeriskt.
* 2DP 2D Punktobjekt punktobjekt (0D) lägesbestämt i två dimensioner.
* 3DP 3D Punktobjekt punktobjekt (0D) lägesbestämt i tre dimensioner.
* 2DL 2D Linjeobjekt linjeobjekt (1D) lägesbestämt i två dimensioner.
* 3DL 3D Linjeobjekt linjeobjekt (1D) lägesbestämt i tre dimensioner.
* 2DY 2D Ytobjekt ytobjekt (2D) lägesbestämt i två dimensioner.
* 3DY 3D Ytobjekt ytobjekt (3D) lägesbestämt i tre dimensioner.
* 3DS 3D Solidobjekt solidobjekt (3D) lägesbestämt i tre dimensioner.
#### Utseende
Utseende Visuell representation, från symbolisk till realistisk:
* 0 Ingen: punkt, linje eller yta utan symbol-, mönster- eller kulörbetydelse.
* 1 Symbol: punkt, linje eller yta med symbol-, mönster- eller kulörbetydelse.
* 2 Efterliknande: yta med efterliknande kulör.
* 3 Realistisk: yta med realistisk yta (kulör, textur, glans).
#### Detaljeringsgrad (LOD)
Nivåer av geometrisk representation, baserade på CityGML, enligt ovan.
#### Lokalisering och koordinater
Konvertering mellan olika koordinatsystem eller orientering av objekt kan behövas för att säkerställa objektets lokalisering i en konvertering mellan två olika filformat. Modeller över byggnader eller anläggningar finns of ta i ett lokalt koordinatsystem med en insättningspunkt och en vridning av byggnaden som passar projektering och produktion av byggnaden eller anläggningen. Stadsmodeller och geodata finns i regel i ett globalt koordinatsystem.
#### Parametrisk beteende och topologi
Topologi av ser den matematiska beskrivningen av objekt. Parametrisk beteende av ett objekt är nära relaterat till topologi. Parametrisk beteende innebär till exempel att form, läge och orientering av objekt kan påverkas av annan information som är associerad med objekt, eller i vilket sammanhang det är placerat. Vi konvertering mellan olika filformat behöver sådana relationer eller sådant beteende beaktas.
## Verktyg
Följande programvaror kan användas för att konvertera filer mellan IFC och CityGML:
### Safe Software – FME
FME är ett av programvaror som används av många organisationer inklusive kommuner och tekniska konsulter för konvertering av olika format. Det finns ett utvecklat stöd för båda CityGML och IFC i FME.
För FME finns det att antal skript för olika LOD-nivåer:
Grafisk exempel på hur en skript byggs upp i FME:
![Grafisk exempel på hur en skript byggs upp i FME](https://storage.googleapis.com/storage.infopack.io/swe-nrb/nrb-metoder/3.0.0/relation-mellan-citygml-och-ifc/media/relation2.png)
(Figur: Grafisk exempel på hur en skript byggs upp i FME)
### ESRI – ArcGIS
ArcGIS används av många organisationer inklusive kommuner och teknikkonsulter som GIS-verktyg. Det finns stöd för konvertering av CityGML och IFC i ArcGIS. Se relaterat för länkar.
### IAI/KIT – FZK Viewer
En viewer och en toolbox utvecklat av Institute for Automation and Applied Computer Science (IAI) / Karlsruhe Institute of Technology (KIT) för CityGML. Med hjälp av toolkit som finns kan CityGML läsas och manipuleras. Det finns även ett antal exempel på CityGML filer. Se relaterat för länkar