Automated BIM-to-GIS conversion pipeline — transform IFC building models into valid CityGML for use in 3D city platforms, digital twins, and urban analytics.
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.
- 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.
- 🔄 Automated IFC → CityGML conversion using an FME workspace (
.fmw) - 🏢 Semantic preservation — building elements (walls, roofs, slabs, doors, windows) mapped to CityGML
BuildingandBuildingPartmodules - 🌍 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
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
| 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 |
-
Clone this repository
git clone https://github.com/Sochukwumaobim/IFC2CITYGML.git cd IFC2CITYGML -
Open the FME workspace
- Launch FME Workbench 2025
- Open
fme-workflow/IFC_to_CityGML.fmw
-
Set your source IFC file
- In the workspace, update the IFC Reader source path to your
.ifcfile (or use the provided sample inifc-input/)
- In the workspace, update the IFC Reader source path to your
-
Configure the output path
- Set the GML Writer destination to
citygml-output/or a path of your choice
- Set the GML Writer destination to
-
Run the workspace
- Click Run in FME Workbench
- Output
.gmlfiles will be written to the configured destination
-
Validate the output (optional)
- Import the
.gmlfile into 3DCityDB Importer/Exporter to validate and visualize - Or upload to Cesium ion for web-based 3D viewing
- Import the
For a detailed walkthrough of each FME transformer used, see IFC_TO_GMLscreenshots.pdf and report.md.
┌─────────────┐ ┌───────────────────────┐ ┌──────────────────┐
│ IFC File │────▶│ FME 2025 Workspace │────▶│ CityGML (.gml) │
│ (.ifc) │ │ │ │ │
└─────────────┘ │ • IFC geometry parse │ └──────────────────┘
│ • Semantic mapping │ │
│ • CRS reprojection │ ▼
│ • LoD2 surface gen │ ┌──────────────────┐
│ • GML serialization │ │ 3DCityDB / Cesium│
└───────────────────────┘ │ / QGIS / ArcGIS │
└──────────────────┘
The generated CityGML files conform to the OGC CityGML 2.0 standard and include:
bldg:Buildingelements with semantic attributes from IFCIfcBuildingbldg:WallSurface,bldg:RoofSurface,bldg:FloorSurfacegeometrygml:Solid/gml:MultiSurfacegeometry representations at LoD2- Coordinate system: configurable (default output tested with EPSG:25832 UTM zone 32N)
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.
- 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
Contributions are welcome! If you've extended the FME workflow, added support for additional IFC element types, or improved CRS handling, please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/improve-lod3-support) - Commit your changes
- Open a Pull Request with a clear description
Please see CONTRIBUTING.md if available, or open an Issue to discuss ideas first.
- OGC CityGML Standard
- BuildingSMART IFC Standard
- Safe Software FME Documentation
- 3DCityDB Open Source City Database
- Cesium ion Platform
This project is licensed under the MIT License — see the LICENSE file for details.
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