Software Open Access
The script allows performing Spectral indices and Spectral decomposition analysis on Google Earth Engine satellite image collections. The script was developed using Google Colaboratory and does not need any desktop installation.
This Python script code was developed by dr. F. Brandolini and G. Domingo-Ribas to accompany the paper: "Brandolini F., Domingo-Ribas G., Zerboni A. & Turner S. "A Google Earth Engine/enabled Python approach to improve identification of anthropogenic palaeo-landscape features", submitted to Open Research Europe.
The necessity of sustainable development for landscapes has emerged as an important theme in recent decades. Current approaches take a holistic approach to landscape heritage and promote an interdisciplinary dialogue to facilitate complementary landscape management strategies. With the socio-economic values of the “natural” and “cultural” landscape heritage increasingly recognised worldwide, remote sensing tools are being used more and more to facilitate the recording and management of landscape heritage. Satellite remote sensing technologies have enabled significant improvements in landscape research. The advent of the cloud-based platform of Google Earth Engine has allowed the rapid exploration and processing of satellite imagery such as the Landsat and Copernicus Sentinel datasets. In this paper, the use of Sentinel-2 satellite data in the identification of palaeo-riverscape features has been assessed in the Po Plain, selected because it is characterized by human exploitation since the Mid-Holocene. A multi-temporal approach has been adopted to investigate the potential of satellite imagery to detect buried hydrological features along with Spectral Index and Spectral Decomposition analysis. This research represents one of the first applications of the GEE Python API in landscape studies. The complete FOSS-cloud protocol proposed here consists of a Python code script developed in Google Colab which could be simply adapted and replicated in different areas of the world.
The Sentinel 2 (S2) satellite data were accessed through the Python  module geemap  in Colab , a serverless Jupyter notebook computational environment for interactive development . The native GEE Python API has relatively limited functionality for visualizing results but the geemap Python module was created specifically to fill this gap. Finally, the python code developed enables the analysis of the S2 filtered image collection through Spectral Index (SI) and Spectral Decomposition (SD) techniques. Each image was exported in Geo.TIFF format in QGIS  where the Min/Max values were adjusted with the Cumulative Count Cut tool. Finally, the figures presented in this paper were generated in the QGIS Layout Editor. The Python modules rasterio  and matplotlib  were used respectively to create individual plots for each band of the raster and histograms of their values.
The authors thank Prof. Qiusheng Wu (The University of Tennessee, Knoxville - USA) for his suggestions during the development of the script code. Part of the research has been defined with the support of the Dipartimento di Scienze della Terra “Ardito Desio” (Università degli Studi di Milano, Italy) in the framework of the project ‘Dipartimenti di Eccellenza 2018–2022’ (WP4—Risorse del Patrimonio Culturale) - Italian Ministry of Education, University, and Research (MIUR).
1. Python Software Foundation. Python Language Reference. 2020. Available: http://www.python.org
2. Wu Q. geemap: A Python package for interactive mapping with Google Earth Engine. Journal of Open Source Software. 2020;5: 2305
3. Bisong E. Google Colaboratory. In: Bisong E, editor. Building Machine Learning and Deep Learning Models on Google Cloud Platform: A Comprehensive Guide for Beginners. Berkeley, CA: Apress; 2019. pp. 59–64
4. Project Jupyter. Jupyter Notebook. 2020. Available: https://jupyter.org/
5. QGIS Development Team. QGIS Geographic Information System. Open Source Geospatial Foundation Project. 2019. Available: https://www.qgis.org/en/site/index.html
6. Gillies S et al. Rasterio: geospatial raster I/O for Python programmers. Mapbox; 2013. Available: https://github.com/mapbox/rasterio
7. Hunter JD. Matplotlib: A 2D Graphics Environment. Comput Sci Eng. 2007;9: 90–95.