Vectorio Project · 02 · Urban Heat
Projects · 02 · Urban Heat · Munich

Munich,
cooled.

A Sentinel-2/3 pipeline that maps urban heat across Munich. Ingest gigabyte-scale raster scenes, reproject with GDAL, mask cloud, compute thermal indices per pixel, aggregate by neighbourhood, ship a signed GeoJSON map a city planner can act on.

Nodes
30
connected typekeys
Spatial primitives
17
GdalIngest · Reproject · TileEnvelope · …
Source
Sentinel2 / 3
Copernicus L2A · free
Output
GeoJSON
evidence-packed · signed

A city decision
from free satellite data.

Every European city has to answer the same question: which streets, which neighbourhoods, which roof areas get hot enough to threaten the people who live there? The data exists. It is published, for free, by ESA. The hard part is turning gigabyte scenes into a neighbourhood-level map a planner can actually use.

The Urban Heat Pathfinder workflow does that. Sentinel-2 multispectral and Sentinel-3 thermal scenes come in raw. Cloud cover is masked using the SCL band. Thermal land-surface-temperature is computed per pixel, then aggregated zonally into the city's neighbourhood polygons. The output is a GeoJSON layer ready for a planning GIS.

Every transform is signed. The whole run sits inside a forensic.evidence-pack so the city can demonstrate this is the calculation we made, on these inputs, with this code.

Thirty nodes,
one .viow file.

From the actual UHP_Munich_RealData.viow shipped as a Vectorio reference demo. Seventeen unique TypeKeys, three forensic nodes, one orchestration coordinator.

ingestspatial.GdalIngest
reprojectspatial.GdalReproject
tilespatial.TileEnvelope
maskspatial.RasterQualityMask
indicesspatial.RasterBandMath
temporalspatial.TemporalComposite
zonalspatial.ZonalAggregation
fusespatial.LinearFusion
emitspatial.GeoJsonPublisher

Three forensic nodes sit alongside the data path — forensic.EvidenceCollector, forensic.EvidencePack, forensic.EvidenceVerifier — so the city's compliance officer can verify the run after the fact.

Four layers,
one pipeline.

The same UHP_Munich_RealData.viow renders four analytical layers a planner can toggle on the live map — composite Urban Heat Index, Land Surface Temperature, Surface Albedo, Vegetation (NDVI). Real screens from the Vectorio geospatial overlay.

Scene: Sentinel-2 L2A · Munich · 2025-08-15 · Pipeline: UHP_Munich_RealData.viow · Tile zoom 0–13.

What ESA hands you,
scene by scene.

Sentinel data ships at known shapes. The pipeline is sized to absorb them.

SourcePer sceneSpectral bandsCadence
Sentinel-2 MSI L2A~800 MB13every 5 days · 10 m resolution · ~110 × 110 km
Sentinel-3 SLSTR LST~400 MB9daily · 1 km resolution · land-surface temperature
SCL cloud-classification bandincluded1ships with L2A · used directly by RasterQualityMask
City neighbourhood polygons~3 MBstatic · per city · fed to ZonalAggregation

Why this matters.

  • Free data, reproducible result. Anyone can re-run the exact same pipeline a year from now against the same Copernicus archive and get a byte-identical GeoJSON.DATA · Copernicus · public · L2A
  • Signed at every stage. The thermal anomaly map ships with a hash chain showing exactly which input scenes produced it. A regulator or a journalist can verify offline.AUDIT · Vectorio.Forensic · EvidencePack · Verifier
  • Generalises. Swap Munich's polygons for Naples, Athens, Lisbon — same workflow, different city. Swap the thermal-index formula for a vegetation, flood, or methane index — same workflow, different mission.REUSE · ScenarioModel · LinearFusion

Same engine,
different domain.

All eight sample projects on the landing page →