Skip to main content

linder is a machine-learning based land use/land cover (LULC) classifier using Sentinel imagery.

Project description

Pipeline for calculating land cover over urban/rural areas:

which file to read first?

Required libraries


for macOS, download and install the grass package:

other python libraries

use conda to create a fresh environment for this pipeline:

conda env create -f GDAL.yml

Dependency details refer to GDAL.yml.

Dependency datasets

nc_spm_08 dataset

This dataset includes projection files required by GRASS. download it here.

GUF dataset (optional)

GUF (Global Urban Footprint) is a global urban coverage dataset produced by DLR. This pipeline use GUF to improve accuracy in predicting urban features.



refer to this page for setting up a new configuration. Then update the sentinelhub instance ID as follows:

sentinelhub.config --instance_id [your-instance-ID]


This is a pipeline for calculating the landcover over desired regions. It includes:

  • Step 1: Getting the location of the region (lat and lon)

  • Step 2: Getting the satellite image for the desired region

  • Step 3: Prediction of the land cover into 3 categories:

    • 1-Water
    • 2-Green
    • 3-Urban and
    • 4-other
  • Step 4: Overlaying the GUF data into the prediction. Therefore the landcover becomes 1-Water 2-Green 3-Urban 4-Other

  • Step 5: Overlaying the building data from OSM or Microsoft data (only for the US). Therefore, the final land cover includes 1-Water 2-Green 3-Buildings 4-Paved 5-Others

Using this pipeline is as simple as choosing the coordinates, and providing the GUF data and/or building data. The user can choose which data is available. For example, in the case of no GUF data, the pipeline uses the prediction, or in the case of no Microsoft data, the pipeline uses the OSM data for buildings. Note that adding GUF data makes the final result of the landcover more accurate.

Some technical details:

  • Merging various maps might be very computationally expensive, and the current Python packages like GDAL are not very efficient. The pipeline instead uses a python interface to use GRASS functions (such as v.overlay) directly to speed up the merging processes.

  • The pipeline uses a pre-trained model to predict the land cover. Currently, the model is trained over Colombo, but various tests has shown it has a good performance on other places as well. A more sophisticated model can be trained by using more datasets.

  • Note that while OSM data are automatically fetched from the website for the desired region, the Microsoft data need to be downloaded for the chosen location manually. This can be automated in the future.

Some examples

Colombo, Sri Lanka

Matara, Sri Lanka

Jaffna, Sri Lanka

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for linder, version 2019.12.18.dev0
Filename, size File type Python version Upload date Hashes
Filename, size linder-2019.12.18.dev0-py3-none-any.whl (20.9 kB) File type Wheel Python version py3 Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page