Skip to content

Sochukwumaobim/IFC2CITYGML

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IFC to CityGML Conversion Using FME 2025

Automated BIM-to-GIS conversion pipeline — transform IFC building models into valid CityGML for use in 3D city platforms, digital twins, and urban analytics.

License: MIT FME Version CityGML IFC Hackathon


🏗️ Overview

IFC2CITYGML is a workflow-based tool that bridges Building Information Modeling (BIM) and 3D Geospatial City Modeling by converting .ifc files into standards-compliant .gml (CityGML) format using Safe Software's FME 2025.

This project was developed during a BIM–GIS Interoperability Hackathon to demonstrate that IFC building data can be automatically translated into semantically rich CityGML outputs — without manual re-modeling.

Why does this matter?

  • BIM tools (Revit, ArchiCAD, IFC-native) store detailed building geometry and metadata in IFC format.
  • 3D City platforms (Cesium, 3DCityDB, QGIS, Esri) consume CityGML for urban simulation, digital twins, and smart city applications.
  • There is no native bridge between these two ecosystems — this project provides one.

✨ Features

  • 🔄 Automated IFC → CityGML conversion using an FME workspace (.fmw)
  • 🏢 Semantic preservation — building elements (walls, roofs, slabs, doors, windows) mapped to CityGML Building and BuildingPart modules
  • 🌍 CRS / coordinate system reprojection — local IFC coordinates transformed to real-world geodetic reference systems
  • 📐 LoD2 geometry output — surface-based building geometry suitable for 3D city viewers
  • Valid GML output — tested against 3DCityDB import and Cesium ion tiling
  • 🖼️ Visual workflow documentation — PDF screenshots of the full FME transformation pipeline

📁 Repository Structure

IFC2CITYGML/
├── ifc-input/                # Sample IFC source files (.ifc)
├── fme-workflow/             # FME workspace file(s) (.fmw)
├── citygml-output/           # Generated CityGML output files (.gml / .xml)
├── IFC_TO_GMLscreenshots.pdf # Step-by-step FME pipeline screenshots
├── report.md                 # Detailed technical report on methodology
└── README.md

🚀 Getting Started

Prerequisites

Tool Version Purpose
FME Desktop 2025+ Run the conversion workspace
An IFC file IFC2x3 or IFC4 Your building model input
(Optional) 3DCityDB 4.x Import and visualize CityGML output
(Optional) Cesium ion Stream tiled 3D city output

Running the Conversion

  1. Clone this repository

    git clone https://github.com/Sochukwumaobim/IFC2CITYGML.git
    cd IFC2CITYGML
  2. Open the FME workspace

    • Launch FME Workbench 2025
    • Open fme-workflow/IFC_to_CityGML.fmw
  3. Set your source IFC file

    • In the workspace, update the IFC Reader source path to your .ifc file (or use the provided sample in ifc-input/)
  4. Configure the output path

    • Set the GML Writer destination to citygml-output/ or a path of your choice
  5. Run the workspace

    • Click Run in FME Workbench
    • Output .gml files will be written to the configured destination
  6. Validate the output (optional)

    • Import the .gml file into 3DCityDB Importer/Exporter to validate and visualize
    • Or upload to Cesium ion for web-based 3D viewing

For a detailed walkthrough of each FME transformer used, see IFC_TO_GMLscreenshots.pdf and report.md.


🗺️ Workflow Architecture

┌─────────────┐     ┌───────────────────────┐     ┌──────────────────┐
│  IFC File   │────▶│   FME 2025 Workspace  │────▶│  CityGML (.gml)  │
│  (.ifc)     │     │                       │     │                  │
└─────────────┘     │ • IFC geometry parse  │     └──────────────────┘
                    │ • Semantic mapping    │              │
                    │ • CRS reprojection    │              ▼
                    │ • LoD2 surface gen    │     ┌──────────────────┐
                    │ • GML serialization   │     │  3DCityDB / Cesium│
                    └───────────────────────┘     │  / QGIS / ArcGIS │
                                                  └──────────────────┘

📊 Output Format

The generated CityGML files conform to the OGC CityGML 2.0 standard and include:

  • bldg:Building elements with semantic attributes from IFC IfcBuilding
  • bldg:WallSurface, bldg:RoofSurface, bldg:FloorSurface geometry
  • gml:Solid / gml:MultiSurface geometry representations at LoD2
  • Coordinate system: configurable (default output tested with EPSG:25832 UTM zone 32N)

🔬 Technical Report

A full technical report documenting:

  • IFC schema analysis
  • FME transformer selection rationale
  • Geometry conversion challenges (non-planar faces, coordinate alignment)
  • Validation results against CityGML schema

...is available in report.md.


🎯 Use Cases

  • Digital Twin development — feed converted building models into city-scale digital twins
  • Urban planning — integrate BIM data into GIS platforms for urban analytics
  • Smart city applications — enrich CityGML city models with BIM-level detail
  • Academic research — BIM–GIS interoperability, semantic data translation, LoD conversion studies
  • Infrastructure projects — connect design-phase BIM data with operational GIS systems

🤝 Contributing

Contributions are welcome! If you've extended the FME workflow, added support for additional IFC element types, or improved CRS handling, please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/improve-lod3-support)
  3. Commit your changes
  4. Open a Pull Request with a clear description

Please see CONTRIBUTING.md if available, or open an Issue to discuss ideas first.


📚 Related Resources


📄 License

This project is licensed under the MIT License — see the LICENSE file for details.


🏆 Acknowledgements

Built during a BIM–GIS Interoperability Hackathon to demonstrate automated, standards-compliant conversion between IFC and CityGML using the FME platform.


Keywords: IFC to CityGML, BIM GIS interoperability, FME IFC conversion, CityGML LoD2, 3DCityDB import, digital twin BIM, IFC GML transformation, building model conversion, urban digital twin, smart city GIS

Releases

No releases published

Packages

 
 
 

Contributors