GHS-LC-SERV (GHSL Land Cover Service) is an end-to-end, fully automated Earth Observation processing and analysis pipeline for generating custom land cover maps from Sentinel-2 data archives.
The classification can be done on S2 tiles (files zip or SAFE directories) or on S2 mosaics (GeoTIFF format).
from pathlib import Path
from ghslc import ghslc
# Sentinel 2 file to classify
s2_file = Path('S2A_MSIL1C_20191210T101411_N0208_R022_T32TQM_20191210T104357.zip')
# Training configuration as yaml file
training_file = Path('training_CGLS.yml')
# Target classes to extract from the classification
target_classes = [
[80, 200], # Permanent water bodies
[111, 112, 113, 114, 115, 116, 121, 122, 123, 124, 125, 126], # Forests
40, # Cultivated and managed vegetation/agriculture (cropland)
50, # Urban / built up
]
# Output folder
output = Path('/tmp')
results = ghslc.generate_classification_from_safe(
filesafe=s2_file,
workspace=output,
training=training_file,
classes=target_classes,
)The easier way to install dependencies is using conda:
conda env create -f environment.ymlActivate the conda environment:
conda activate ghslcInstall ghslc package:
pip install ghslcSimply install tox with:
pip install toxThen run the tests in python 3.10:
tox -e py310This will build, install and test the project in a dedicated python 3.10 environment with all needed dependencies. The tests should take few minutes to complete.
If you want to run it for all supported python versions type:
toxThis takes longer, but it should be less than 30 minutes.
This project is licensed under the GPLv3 License.
Copyright (c) 2021, European Commission, Joint Research Centre. All rights reserved.