Releases: gisgeolab/LCZ-ODC
Processing, co-registration, and classification in LCZ of PRISMA and Sentinel-2 imagery
This repository contains Jupyter Notebooks and Python functions dedicated to the processing, analysis, and classification in Local Climate Zones (LCZ) of hyperspectral PRISMA and multispectral Sentinel-2 imagery.
The first two Notebooks are dedicated to data pre-processing. They allow the user to prepare Sentinel-2 and PRISMA data for the next processing and analysis stages. The remaining Notebooks are meant to explore, analyse, and classify ready-to-use data.
The repository is part of the results of the research activity carried out in the framework of the LCZ-ODC project in collaboration between Politecnico di Milano (Dipartimento di Ingegneria Civile e Ambientale) and Italian Space Agency (ASI), agreement n.
2022-30-HH.0. It represents the official repository linked to the following scientific paper:
Vavassori, A., Oxoli, D., Venuti, G., Brovelli, M. A., Siciliani de Cumis, M., Sacco, P., & Tapete, D. (2024). A combined Remote Sensing and GIS-based method for Local Climate Zone mapping using PRISMA and Sentinel-2 imagery. In International Journal of Applied Earth Observation and Geoinformation (Vol. 131, p. 103944). Elsevier BV. https://doi.org/10.1016/j.jag.2024.103944
Authors of the Notebooks: @capizziemanuele @albertovavassori
Preprocessing Notebooks
1 - S2_Preprocessing.ipynb
: Reads and mosaics the Sentinel-2 tiles covering the area of interest, clips the mosaicked Sentinel-2 image to the extent of a reference PRISMA image, and exports the image to GeoTIFF.2 - PRISMA_S2_coregistration.ipynb
: Coregisters the PRISMA image with the pre-processed Sentinel-2 image using the GeFolki algorithm; allows for the display and coregistration of both hyperspectral and panchromatic bands; exports the original and coregistered PRISMA images in GeoTIFF format and displays coregistration quality.
Exploration & Analysis Notebooks
3 - Plotting_analysis.ipynb
: Facilitates data exploration and visualization by allowing interaction with pre-processed PRISMA and Sentinel-2 imagery. Users can plot the spectral signatures of training samples, compute statistics describing band correlation, and plot histograms of specific bands.3a - Plotting_spectralseparability.ipynb
and3b - Plotting_spectralseparability_pan.ipynb
: Plot the spectral signatures of training samples and assess spectral separability using the Jeffries-Matusita distance.4 - PCA.ipynb
: Performs Principal Component Analysis (PCA) on the hyperspectral PRISMA bands using the scikit-learn Python library, and exports the principal components as a multi-band GeoTIFF file.5 - Classification.ipynb
,5a - Classification_S2.ipynb
: Perform LCZ classification, integrating urban canopy parameter layers with PRISMA principal components or Sentinel-2 bands. Classification can be done using various techniques from the scikit-learn and XGBoost libraries.6 - Validation.ipynb
,6a - Validation_S2.ipynb
, and6b - Validation_LCZGen.ipynb
: Assess the accuracy of the LCZ map on specified testing samples, provided in shapefile or geopackage format. Compute confusion matrices and statistics such as overall accuracy, precision, recall, and F1-score.