
Context
Building 3D models for a city digital twin usually means weeks of manual work: tracing footprints one by one, guessing heights and roof shapes, then pasting photos onto walls in 3D software. The results often look good, but they are not measured β nobody knows how far the model roofs deviate from reality.
A second problem appears when the model is put to use. Models from architectural software rarely carry correct coordinates, their heights ignore the vertical datum, so in CesiumJS buildings appear to float or sink, and per-building attributes get lost along the way.
The Solution We Built
We developed Digital Twin Studio, an in-house desktop application that chains the whole process into 6 modules within a single project. Each module's output automatically becomes the next module's input, so work can be resumed, repeated, or audited at any time.
Key Features
- Point cloud processing β SMRF ground classification (PDAL), then DTM, DSM, nDSM, slope, and aspect as GeoTIFF.
- AI building footprints β Segment Anything (SAM) on the GPU, squared corners, topology checked and fixed automatically.
- Assisted roof digitizing β roof slope, aspect, and type (gable, hip, flat) computed directly from the DSM.
- LoD2 reconstruction β three algorithms (LoD2.2 Smart Regularized, LoD2.5 TIN, LoD1.3). All produce watertight solids, giving exact volumes and valid CityJSON Solids.
- Real-photo textures β roofs from the orthophoto at full resolution; walls from drone photos via COLMAP SfM, with the best photo chosen per wall using an occlusion test.
- Facade refinement β point-to-plane ICP snaps SfM points onto the model, followed by manual per-facade correction when needed.
- Automatic QA/QC β per-building roof RMSE, bias, and P90 against the DSM, delivered as HTML, PDF, CSV, and GeoJSON ready to send to clients.
Results & Measured Figures
The application was tested end to end on real data from a residential area: a drone LiDAR point cloud and 115 aerial photos.
- 115 of 115 photos reconstructed by COLMAP (75,440 points), GPS georegistration to UTM with 0.63 m RMS.
- Mean roof RMSE against the DSM of 0.24 m (median 0.22 m); 100% of buildings watertight.
- 3D Tiles georeferencing error of about 0.000002 m thanks to an exact ENU frame; the tileset passes validation and lands exactly in CesiumJS.
- After ICP, SfM points attached to the model rose from 6 to 2,614, and facades with real photos rose from 13 to 15 of 17.
- Four textured buildings packed into a 0.95 MB GLB β light enough for WebGIS.
Output Formats
One model, usable anywhere: 3D Tiles 1.0 (mesh and semantic with per-building attributes), CityJSON LoD2, GLB/GLTF/OBJ with a placement file, KMZ for Cesium and Google Earth, plus GeoTIFF DTM/DSM. The CRS is detected automatically (including Indonesia's DGN95 and SRGI2013) and heights are corrected with the EGM2008/EGM96 geoid, so buildings stand exactly on the ground.
An Honest Note
Photorealistic roofs can almost always be produced from the orthophoto. Fully photorealistic facades are only possible with GPS-tagged oblique photos. With the nadir photos in this test, walls never seen by the camera use a procedural facade β a data limit, not an application limit. That is why we plan oblique photo acquisition from the start of a project.
Next Steps
This application is the 3D production engine behind our Digital Twin City service, and pairs with drone survey & mapping for data acquisition. The results can be published straight to a web platform, as in the Digital Twin City 3D case study.














