This project analyzes the Urban Heat Island (UHI) effect for Bengaluru city using satellite-derived Land Surface Temperature (LST) data from MODIS. The project demonstrates how to:
- Fetch temperature raster data using Google Earth Engine (GEE).
- Export GeoTIFF for offline analysis.
- Process and visualize UHI intensity using Python (Rasterio, Matplotlib, NumPy).
- Dataset: MODIS/006/MOD11A1 (Land Surface Temperature - Daytime)
- Year: 2022
- Spatial Resolution: 1 km
- Region of Interest: 30 km bounding box around Bengaluru, India.
Note: This analysis uses a rectangular bounding box (30 km buffer) around Bengaluru instead of official administrative boundaries. Future improvements can include precise shapefile-based masking for higher accuracy.
- Script (
UHI_Bengaluru_2022.js
) loads daily LST data for 2022. - Filters images by location and time.
- Computes yearly average temperature (converted to °C).
- Exports raster data (
GeoTIFF
) to Google Drive.
- Script (
uhi_analysis.py
) reads GeoTIFF. - Masks no-data values.
- Plots a heatmap of UHI intensity.
- Computes basic statistics: mean, min, max temperature.
urban-heat-island-gis/
│
├── README.md # Project documentation
├── requirements.txt # Python dependencies
├── UHI_Bengaluru_2022.js # GEE script for data export
├── uhi_analysis.py # Python script for analysis
├── sample_output_map.png # Example UHI heatmap
└── data_instructions.txt # How to access/download dataset
pip install rasterio matplotlib numpy
- Open
UHI_Bengaluru_2022.js
in Google Earth Engine Code Editor. - Click Run → Go to Tasks → Run the Export task.
- Download the generated
GeoTIFF
from Google Drive.
- Place the
.tif
file in the project folder. - Run:
python uhi_analysis.py
- The script will:
- Display a heatmap of UHI intensity.
- Print mean, min, max temperatures.
© 2025 [Ramya MB]. This project is open-source for learning and demonstration purposes. Please provide proper credit if you reuse this code.