The Constraint
You are not allowed to define a fixed function for your project.
Every parameter in this simulator refuses to stay still. There is no locked formula, no stable input-output relationship, no moment where the city can be read as a finished equation. Temperature changes the noise model. Rain changes the traffic weight. The hour of the day changes which streets open. A location change rewrites the entire map. Nothing is frozen.
The Absurdity
Access to certain areas is changing dynamically and unpredictably.
The city you see is not a map. It is a live negotiation between weather, time, traffic density, and the morphology of real streets pulled from OpenStreetMap in real time. The access layer does not describe a fixed route network — it describes the network as it is right now, subject to conditions that no urban plan has ever been able to lock in place. A pedestrian path that was open at 8 am may be congested by 5 pm. A street that was clear in dry weather becomes impassable under a WMO storm code 95. The absurdity is not a glitch. It is the point.
What This App Is
A browser-based urban performance simulator with no fixed state.
The Urban 3D Simulator renders a real city — any city on Earth — by fetching live building footprints, street networks, parks, waterways, and railways from OpenStreetMap. It overlays that geometry with real-time climate data from the Open-Meteo API: temperature, humidity, wind speed, precipitation, UV index, and weather code. From those continuously shifting inputs it computes six urban performance scores — walkability, thermal stress, air quality, solar access, noise, and pedestrian comfort — and renders them as visual analysis layers draped across the real street network.
None of the scores are calibrated constants. All of them are functions of other functions, themselves functions of data that changes every minute.
OpenStreetMap buildings
Open-Meteo live weather
Open-Meteo air quality API
Time-of-day traffic model
Lden road noise model
2D isovist ray marching
Three.js WebGL
Why It Matters
Cities are not solved. They are continuously approximated.
Conventional urban analysis tools produce a snapshot — a GIS layer, a shadow study, a noise contour — valid for one moment, one scenario, one set of assumptions. This simulator rejects that logic. By coupling environmental input to spatial output in real time, it forces the designer to confront the instability that planning documents routinely suppress.
Toggle the time slider from midnight to noon and watch thermal stress invert. Change the location from Wolfsburg to Chennai and watch every metric shift. Enable the traffic layer during the evening peak and see the road network darken under congestion load. Turn on air quality and read live PM2.5 and NO₂ values pulled from the API at the moment you pressed the button.
The benefit is not a better answer. The benefit is a clearer picture of why the answer keeps changing — and what it means to design inside that condition.
How To Use It
1. Set a location — type any city name and press Fetch, or use GPS. This loads live weather and pulls OSM geometry for a 1–2 km study area.
2. Toggle Real City — switches from the procedural baseline to the real street network. Scenario buttons are suspended; the map becomes the site.
3. Activate analysis layers — each layer reads live data and the current time slider to colour the street network by traffic load, noise level, air quality dispersion, solar shadow, isovist visibility, or pedestrian access.
4. Move the time slider — everything recalculates. Morning peak, inter-peak, evening peak, night quiet — the city performs differently at each.
5. Click the map with Isovist on — place a 360° visibility ray from any point on the real street network to understand sightlines and enclosure.
6. Press Analyse ↗ — sends the full state (location, weather, scores, active layers, scenario) as a structured prompt to an AI urban design analysis engine.
How It Works — Flow
From location to live urban intelligence
🌍 Set Location start here
Type any city name · or use GPS button · Geocoding API resolves lat / lon
fetch
⛅ Live Data Pull 2 APIs
Open-MeteoTemp · Humidity · Wind
UV · Weather code · AQI
OpenStreetMapBuildings · Roads · Rails
Parks · Waterways
Auto-refreshes every 5 min · Updates all scores instantly on change
build
🏙 3D City Renders
Real buildings
Street network
Rail + water
Land use colours
Live sun angle
Three.js WebGL · OSM footprints extruded to real heights · Ribbon road bands
compute
⚡ Dynamic Scores — 6 metrics live
Walkability
Thermal stress
Air quality
Solar access
Noise level
Comfort
Scores shift with every weather update, time slider move, scenario change, and drawing placed — no value is ever fixed
overlay
🔲 Analysis Layers
Traffic
Heat island
Isovist
Daylight
Noise
Access
🎨 Design
Scenarios
Draw paths
Place trees
Markets
report
📊 Urban Access Report + AI Analysis
Live access dynamics · Scenario performance comparison · Time-of-day model · Recommendations via Analyse ↗