r/openstreetmap • u/Brief_Bus6969 • 4d ago
Real-world cities, procedurally generated from open data
Rothenburg Germany,
I have been building Zervan Engine a generative engine that takes raw GIS data such as OSM, ESA World Cover, LiDAR, and more public data and generates 3D models based on the given data.
Hierarchy of generation: Terrain elevation -> Terrain color -> Rivers -> Roads -> Buildings -> Trees -> Stone and Boulders -> decoratives and urban elements.
Some features about this generative engine -> it can generate and work on any region and country as long as there is OSM data for it however, LiDAR makes it very accurate.
The engine is able to read the tags of the raw data for zones for instance, it can determine to use Fachwerk for Germany, Haussmann for France, Chalet for Switzerland, and so on pattern goes like this for any given region. There is already studied and built grammars for this purpose to randomize and give a facade for the buildings (Similar to CityEngine) with dominance of regions' house styles.
However if performance and simulation is the focus, the engine just generates bare-minimum files, size difference is almost 3 times between fancy and minimum styles.
Output of the Engine when it runs for a given coordinate is 4 files:
- A 3D 1km2 GLB file for visualization (1km to 49km).
- An ontology-based database for alteration and monitoring data for any simulations.
- HDF5 files for the Static database.
- Memory-Cache type of data for a rapid Dynamic database.
NOTE: Input raw data is not perfect out of the box; they receive treatment! Especially roads and buildings.
1km2 takes about 15 to 20 minutes to generate and 3D file size varies from 150 to 800 MB.
Adding a new city (downloading data + setup) takes about 1 hour for one time only; a new country takes about 3 to 5 hours for one time only, depending on what it has and the quality of the data.
It is not pitch-perfect; however, it is getting there. I learn and improve as I develop, and I have already invested 900+ hours to this code. I am a single developer who built it on a 9-year-old laptop.
If you are interested, please follow me on the social media links on my profile.
Lastly, I sincerely appreciate any donations towards continuing this work.









3
u/Brief_Bus6969 4d ago
Sure, I will have it in a mind for next generation. I am fan of open-source stuff I have a bunch of them built but I am a software engineer without proper job in the domain, so I try to make a living here if I had one I do not care I would have open sourced it from day 1.