Category: data

  • Heat map analysis sripts

    The script is freely available and can be modified freely.
    Further information can be found on the download page.

    Step-by-step analysis of thermal orthophotos

    One of the most effective ways to map urban heat islands is to analyze thermal images taken from above (top-down). Below, we present a Python script that can be used to automatically evaluate, group, and visualize the temperatures of roofs, streets, and other surfaces.

    Why is this script useful?

    • In a single run, it compares the visual orthophoto with the thermal image.
    • It filters out shadows so that they do not distort the statistics.
    • It clusters roofs and streets by color and material.
    • It produces detailed statistics (min, max, average, median, standard deviation).
    • Finally, it generates PNG graphs so that the results can be presented immediately.

    The processing flow in 9 steps

    1. Input check

    Loads the orthophoto, thermal image, structure mask, and color palette; checks the parameters. cv2, argparse

    2. Preprocessing

    Image resizing, brightness normalization, roof and road masks are cut out. cv2, numpy

    3. Shadow identification

    (optional) Roof shadow pixels are filtered out based on a brightness threshold. numpy

    4. Heat color → °C conversion

    Assigns a temperature to each heat pixel based on the palette; saves the result to the cache. numpy

    5. Color clustering

    Uses K-Means to divide the colors/materials of roofs and streets into n clusters. sklearn.cluster.KMeans

    6. Heat statistics

    Calculates the min-max-average-median-standard deviation values for each cluster and names the color group (e.g., “Fresh Asphalt”). custom dep.

    7. Coverage measurement

    Tells you what percentage of the entire mask is roof or street. numpy

    8. Graph generation

    • Temperature distribution (with error bars)• Coverage + average temperature matplotlib

    9. Logging & saving

    Console log, PNG graphs, optional debug images, cached .npy heat map. logging, os

  • Taking the city’s temperature from above

    Drones transforming urban thermal mapping

    Satellites are great for spotting regional hot spots, but their resolution is rarely fine enough for street-level action. A quadcopter or multirotor carrying an infrared sensor can fly a few hundred meters above the ground, capture centimeter-scale pixels, and return to your desktop before the asphalt cools off.

    Drone thermal imaging is a key technology for understanding and monitoring the urban heat island effect. It enables the planning and implementation of effective, location-specific interventions. It allows for mapping fine spatial and temporal heat distributions in urban areas.


    Infrared cameras measure heat radiation emitted from surfaces in real time, clearly revealing heat sources such as overheated roofs, pavements and streets that contribute to the heat island effect. The data collected in this way can be used to create detailed heat maps. These maps help to identify critical hotspots, such as overheated buildings or materials, and can inform the planning of urban interventions, such as green roofs, cool roof coatings, and high-albedo pavements.
    Drone thermal imaging is fast, non-invasive and cost-effective as it does not require a built-in sensor network, and it can collect data from hundreds or even thousands of measurement points in a single flight.

    A drone-based thermal mapping (Budapest case study)

    On 14 August 2023 Budapest LL teamed up with the AirScan company to map two adjoining districts in central Budapest.

    • Flights:
      • In Erzsébetváros: Three back-to-back flights (20:00, 20:45, 21:15) kept below the 22:00 curfew yet captured the full decay phase of the day’s heat load.
      • In Terézváros: Two separate flights (20:09 – 21:41) captured the district in both visible and thermal wavelengths, creating a complete, night-time snapshot of its residual heat.
    • Altitude: 350 m AGL – the sweet spot between wide swath (≈ 46 cm / px in thermal) and legal ceiling.
    • Assets:
      • Thermal: DJI Mavic 3 Thermal, 640 × 512 px, 46 cm / px ground sampling distance, ±2 °C.
      • Reference RGB: DJI Mavic 2 Pro, 20 MP, 6.8 cm / px.
    • Coverage: The entire administrative boundary of District VI (Terézváros) and VII (Erzsébetváros)

    All 824 radiometric frames from the DJI Mavic 3 Thermal and the companion 434 RGB frames from the Mavic 2 Pro were first radiometrically-corrected and aligned, then stitched in Agisoft/Pix4D into two georeferenced orthomosaics. The thermal mosaic was exported as a 16-bit GeoTIFF (ground-sampling distance ≈ 46.4 cm / px, calibrated –20 °C … +150 °C, accuracy ±2 °C), while the visual mosaic was delivered as a 32-bit RGB GeoTIFF at 7.05 cm / px. Both rasters share the same EPSG-23700 project grid, so they can be stacked without reprojection.

    The orthomosaics for both districts studied are available for public use in the Maps section of the website. Researchers requiring raw sensor data can find this in the APPs section,

    This thermal data can also be used to analyse residential thermal comfort; for example, it can be used to calculate the Human Comfort Index (HCI), which helps us to understand personal heat stress.
    Furthermore, thermal data can be processed using machine learning, visual analytics, and geostatistical
    methods, which reveal spatial patterns in heat distribution and can automatically identify hidden heat bridges or heat source anomalies, for example.

  • CityZcanView: Thermal image interpretation plugin for the Lepton 3.5 sensor found in CityZcan

    CityZcanView is an open source plugin that allows you to open and interactively analyse thermal images in .tiff format taken with a Lepton 3.5 sensor.


    The plugin aims to provide a direct and clear tool for interpreting thermal camera data, especially for urban microclimate research, heat island effect analysis, or environmental monitoring.


    The plugin is designed for the open source Fiji image processing environment, which is widely used for scientific image analysis.


    CityZcanView is freely available and can be modified freely.
    Further information can be found on the download page.

    Key features:

    Display temperature for any pixel

    Lock temperature for any pixel


    Save upscaled image with fixed points in .png format

    Generate temperature scale based on LUT(Look-up table)