Urban IoT and public spaces

Synthetic Smart City datasets for urban IoT research

The Smart City and Public Spaces reference engine models outdoor thermal conditions, air quality, environmental noise, pedestrian presence, and decision-layer outputs for a hypothetical public space.

Engine maturity

Reference Engine — Internally Verified

Documented reference implementation with a fixed data contract, reproducible generation, and internal validation. External empirical validation remains limited.

engine 4.5.0 · maturity reference · validation internally_verified

Research scope

The v4.5.0 reference boundary, preserved v4.4.0 artifacts, and external-comparison limits appear in the specification and the associated public research record.

UTCI, PM2.5, NO2, LAeq noise, pedestrian arrivals, and reconstructed occupancy

Scenario controls and provenance artifacts for reference-environment reproduction

Column schema

Every record in this domain emits the same 64 columns in a normative order retained by the v4.5.0 CSV contract . Types and ranges below are read from the generator itself, so they cannot drift from the files it produces.

Column Type Unit
timestamp string iso8601
step_duration_seconds integer s
day_type enum
cloud_state enum
cloud_fraction float dimensionless
precipitation_mm_h float mm/h
air_temperature_c float degC
vapour_pressure_pa float Pa
relative_humidity_pct float %
wind_speed_10m_m_s float m/s
wind_speed_pedestrian_m_s float m/s
mean_radiant_temperature_c float degC
crowd_state enum
crowd_state_mechanism enum
offered_arrivals_count integer persons
admitted_arrivals_count integer persons
rejected_arrivals_count integer persons
deferred_arrivals_count integer persons
deferred_timeout_count integer persons
queue_length_persons integer persons
occupancy_persons integer persons
operational_capacity_ratio float dimensionless
audience_general_public_persons integer persons
audience_families_persons integer persons
audience_elderly_persons integer persons
audience_students_persons integer persons
audience_commuters_persons integer persons
audience_event_attendees_persons integer persons
dominant_audience enum
traffic_flow_vehicles_h float vehicles/h
pm25_emission_ug_s float ug/s
pm25_background_ug_m3 float ug/m3
pm25_physical_ug_m3 float ug/m3
pm25_sensor_raw_ug_m3 float ug/m3
pm25_sensor_calibrated_ug_m3 float ug/m3
pm25_rolling_24h_ug_m3 float ug/m3
pm25_rolling_complete boolean
no2_emission_ug_s float ug/s
no2_background_ug_m3 float ug/m3
no2_physical_ug_m3 float ug/m3
no2_sensor_raw_ug_m3 float ug/m3
no2_sensor_calibrated_ug_m3 float ug/m3
no2_rolling_24h_ug_m3 float ug/m3
no2_rolling_complete boolean
LAeq_15min_dBA float dB(A)
noise_window_complete boolean
utci_c float degC
utci_stress_category enum
utci_input_clamped boolean
wbgt_outdoor_c float degC
thermal_risk_level enum
air_quality_risk_level enum
noise_risk_level enum
crowding_risk_level enum
overall_action_level enum
dominant_issue enum
co_dominant_issues json array of enum
elevated_issues json array of enum
elevated_hazard_count integer
compound_risk_flag boolean
risk_completeness_fraction float dimensionless
overall_action_level_provisional boolean
risk_communication_template_id string
risk_communication_message string

Generative models

Values come from explicit equations, not from a trained generative model. Each component below is documented in the methodology.

Solar geometry

iotsyn_solar_v1 - declination, hour angle and solar elevation drive the radiative terms.

Meteorology

AR(1) and Markov drivers for air temperature, wind and cloud state.

Thermal comfort

Section 7, v4.5.0 spec

UTCI operational polynomial over air temperature, mean radiant temperature, wind at 10 m and vapour pressure, domain-clamped.

Air quality

Single-box mass balance dC/dt = E/(H.A) - (u/Lx + k_dep + k_chem)(C - C_bg) for PM2.5 and NO2.

Presence

Non-homogeneous Poisson process arrivals with occupancy reconstruction.

Acoustics

Energy-sum aggregation to LAeq.

Risk layer

Compound thermal, air-quality, noise and crowding scores aggregated to an overall action level.

Randomness

Portable MT19937 with SHA-256 named-substream derivation from a decimal master_seed.

Research uses

The common thread is known ground truth: the generator records the true state alongside the observation of it, which a real deployment cannot supply.

Benchmarking sensor-reconstruction methods against known ground truth

Stress-testing multi-hazard alarm logic under declared observation error

Time-series forecasting with controllable scenario severity

Teaching urban environmental analysis without procurement or privacy barriers

Measured datasets in this area remain the reference for site realism. A generator answers a different question: what a method does when the true state is known and the scenario can be set deliberately. These are complements, not substitutes.

Measured dataset What it provides What a generated record adds
CityPulse Smart-city sensor streams from Aarhus. Ground truth for the true state behind each reading, and scenario severity you can set.
Array of Things Urban sensor nodes deployed across Chicago. Arbitrary scenario counts without waiting for weather or events to occur.
UTD19 Large multi-city urban traffic measurements. Coupled thermal, air-quality, noise and presence channels in one record.

Scope and limits

What the published evidence establishes

  • — Implementation verification: the generator executes its stated model.
  • — Byte-level reproducibility in the tested reference environment, from domain, parameters and seed.
  • — Declared internal signatures hold across the reference scenarios.

What it does not establish

  • — Site realism, or transfer to any specific real deployment.
  • — Calibration against a named site, sensor network, fleet or population.
  • — A held-out comparison with City of Melbourne observations met none of the predeclared diurnal-profile criteria across 30 seeds, and is reported as a negative result.

Read the full research record →

Browse Smart City generated records

Each card links to the original citable record. IoTSyn keeps that URL, its dataset file, and its citation guidance unchanged.

Open the full library

Frequently asked questions

Is this calibrated to a real city?

No. A held-out comparison with City of Melbourne observations met none of the predeclared diurnal-profile criteria for pedestrian-flow proxy, air temperature or PM2.5 across 30 seeds, and is reported as a negative result. The records represent a hypothetical public space, not a named site.

Can a published run be reproduced exactly?

Yes, within the tested reference environment. An identical domain, parameter set and master_seed reproduce byte-identical artifacts. Every record publishes its seed and engine version.

What licence applies to the data?

Generated datasets are released under CC0 1.0 public domain where the record's own metadata says so, which permits any use including commercial use, without attribution.

How many columns does a Smart City record contain?

64, in a normative column order retained by the v4.5.0 CSV contract.

What is the difference between physical truth and sensor observation here?

The generator keeps them separate. Physical truth, the sensor observation of it, and the decision derived from that observation are emitted as distinct columns, so a method can be scored against the truth it never sees.