SDG 15.3.1#

SDG Indicator 15.3.1 measures the proportion of land that is degraded over the total land area. It is part of the SDG 15 which promotes “Life on Land” and target 15.3 states: ‘By 2030, combat desertification, restore degraded land and soil, including land affected by desertification, drought and floods, and strive to achieve a land degradation–neutral world.’

This module allows generating data for reporting on SDG indicator 15.3.1. The SEPAL SDG indicator module follows SDG good practice guidance version 2.

The methodology for SDG 15.3.1 module for GPG v1 (good practice guidance from UNCCD on SDG 15.3.1) was implemented in consultation with the team and Conservation International.


What is Land degradation?#

UNCCD defines land degradation as “the reduction or loss of the biological or economic productivity and complexity of rain-fed cropland, irrigated cropland, or range, pasture, forest and woodlands resulting from a combination of pressures, including land use and management practices” (UNCCD 1994, Article 1). This definition was adopted for the SDG 15.3.1

UNCCD Good Practice Guidelines#

UNCCD published the first version of the good practice guidance (GPG) in 2017. A revised version of the GPG was published in 2021. The module is based on the latest version (version 2) of the GPG.


Under the definition adopted by UNCCD, the extent of land degradation for reporting on SDG Indicator 15.3.1 is calculated as a binary - degraded/not degraded - quantification using its three sub-indicators:

  • Trends in land cover

  • Trends in land productivity, and

  • Trends in carbon stocks (above and below ground), currently represented by soil organic carbon (SOC) stocks

Essentially, any significant reduction or negative change in one of the three sub-indicators is considered to comprise land degradation. That means the results of the sub-indicators are integrated using the one out all out statistical principle.


The land productivity sub-indicator measures the changes in land productivity. A continuous decrease in productivity for a long time indicates potential degradation in land productivity. Three matrices are used to detect such changes in productivity:

Productivity trend

It measures the trajectory of changes in productivity over time.

The Mann–Kendall trend test is used to describe the monotonic trend or trajectory (increasing or decreasing) of the productivity for a given time period.

To identify the scale and direction of the trend a five-level scale is proposed:

  • Z score < -1.96 ============= Degrading, as indicated by a significant decreasing trend

  • Z score < -1.28 AND ≥ -1.96 ============= Potentially Degrading

  • Z score ≥ -1.28 AND ≤ 1.28 ============= No significant change

  • Z score > 1.28 AND ≤ 1.96 ============= Potentially Improving, or

  • Z score > 1.96 ============= Improving, as indicated by a significant increasing trend

The area of the lowest negative z-score level (< -1.96) is considered degraded, the area between z-score -1.96 to 1.96 is considered stable and the area above 1.96 is considered improved for calculating the sub-indicator.

trend z score

Productivity state

The state represents the current level of productivity in a land unit compared to the historical observations of productivity for that land unit over time. It is measured as follows:

\[ \begin{align}\begin{aligned}\begin{split}\mu ============= \frac{\sum_{n-15}^{n-3}x_n}{13} \\\end{split}\\\sigma ============= \sqrt{\frac{\sum_{n-15}^{n-3}(x_n-\mu)^2}{13}}\end{aligned}\end{align} \]

Where, \(x\) is the productivity and n is the year of analysis.

The mean productivity of the current period is given as:

\[\bar{x} ============= \frac{\sum_{n-2}^nx_n}{3}\]

and the \(z\) score is given as

\[z =============\frac{\bar{x}-\mu}{\frac{\sigma}{\sqrt{3}}}\]

The five-level stats are as follows:

  • Z score < -1.96 ============= Degraded, showing a significantly

    lower mean in the recent years compared to the longer term

  • Z score < -1.28 AND ≥ -1.96 ============= At risk of degrading

  • Z score ≥ -1.28 AND ≤ 1.28 ============= No significant change

  • Z score > 1.28 AND ≤ 1.96 ============= Potentially Improving

  • Z score > 1.96 ============= Improving, as indicated by a significantly higher mean in recent years compared to the longer term.

The area of the lowest negative z-score level (< -1.96) is considered degraded, the area between z-score -1.96 to 1.96 is considered stable and the area above 1.96 is considered improved for calculating the sub-indicator.

Productivity performance

Productivity performance indicates the level of local land productivity relative to other regions with similar productivity potential.

The maximum productivity index, \(NPP_{max}\) value (90 th percentile) observed within the simillar ecoregion is campared the observed productivty value (observed NPP). It is given as:

\[\text{performance} ============= \frac{NPP_{observed}}{NPP_{max}}\]

The pixels with an NPP (vegetation index) less than 0.5 of the \(NPP_{max}\) is considered as degraded.

Either of the following look-up tables can be used to calculate the sub-indicator:

Look-up table to combine productivity metrics

Look up table

Available Dataset:

Sensors : MODIS, Landsat 4, 5, 7 and 8, Sentinel 2

NPP metric: NDVI, EVI and MSVI, Terra NPP

Land cover#

The land cover sub-indicator is based on transitions of land cover from the initial year to the final year. A transition matrix is used to mark the transitions as degraded, stable or improved. A default matrix with predefined transition statuses is given based on UNCCD land cover categories. The transitions can be altered in the matrix considering local context and settings.

Default land cover dataset: ESA CCI land cover (1992 - 2020)

Transition matrix for custom land cover legends

A custom transition matrix can be used in combination with the custom land cover legend. The matrix needs to be a comma-separated value(.csv) file in the following form:

The first two columns, excluding the first two cells (\(a_{31}...a_{n1} \text{and } a_{32}...a_{n2}\) ), must contain class labels and pixel values for the initial land cover respectively. The first two rows, excluding the first two cells, (\(a_{13}...a_{1n} \text{and } a_{23}...a_{2n}\) ) must contain class labels and pixel values for the final land cover respectively. The rest of the higher indexed cells \(\left(\left[\begin{matrix}a_{33}&\cdots&a_{3n}\\\vdots&\ddots&\vdots\\2_{n3}&\cdots&3_{nn}\end{matrix} \right]\right)\) must contain the transition matrix. Cells \(a_{11},a_{12},a_{21}, \text{and } a_{22}\) can be used to store some metadata. Use 1 to denote improved transitions, 0 for stable and -1 for degraded transitions.

\[\begin{split}\mathbf{A} ============= \left[ \begin{matrix}% a_{11}&a_{12}&a_{13}&\cdots&a_{1n}\\ a_{21}&a_{22}&a_{23}&\cdots&a_{2n}\\ a_{31}&a_{32}&a_{33}&\cdots&a_{3n}\\ \vdots&\vdots&\vdots&\ddots&\vdots\\ a_{n1}&a_{n2}&a_{n3}&\cdots&a_{nn}\end{matrix}\right]\end{split}\]

An example of a custom transition matrix:

custom transition matrix
Soil Organic Carbon#

Based on the IPCC methodology (Chapter 6).

Final indicator#

The final indicator is calculated based on the one out all out the principle.

Users Guide#

Select AOI#

SDG indicator 15.3.1 will be calculated based on the user inputs. The first mandatory input is the Area Of Interest (AOI). In this step you’ll have the possibility to choose from a predefined list of administrative layers or use your own datasets, the available options are:

Predefined layers

  • Country/province

  • Administrative level 1

  • Administrative level 2

Custom layers

  • Vector file

  • Drawn shapes on the map

  • Google Earth Engine Asset

After selecting the desired area, click over Select these inputs and the map shows up your selection.


You can only select one area of interest. In some cases, depending on the input data you could run out of resources in GEE.

AOI selection


To run the computation of SDG 15.3.1, several parameters need to be set. Please read the Good practice guidelines to better understand the parameters required to calculate SDG 15.3.1 indicator and it’s sub-indicators.

Mandatory parameters#
  • Dates: They are set in years and need to be in the correct order. The end date that you select will change the list of available sensors. You won’t be able to choose sensors that were not launched by the end date

  • Sensors: After selecting the dates, all the available sensors within the timeframe will be available. You can deselect or re-select any sensor you want. The default value is set to all the Landsat satellites available within the selected timeframe.


Some of the sensors are incompatible with each other. Thus selecting Landsat, MODIS or Sentinel dataset in the sensors dropdown will deselect the others.

  • Vegetation index: The vegetation index will be used to compute the trend trajectory, default to NDVI.

  • trajectory: There are 3 options available to calculate the productivity trend that describes the trajectory of change, default to productivity (VI) trend.

  • land ecosystem functional unit: default to Global Agro-Environmental Stratification (GAES), other available options are:

  • climate regime: default to Per pixel based on global climate data but you can also use a fixed value everywhere using a predefined climate regime in the dropdown menu or select a custom value on the slider

Advanced parameters#
advanced parameters
Productivity parameters#

Assessment periods for all the metrics can be specified individually. Keep them blank to use the Start and End dates for the respective metric.


If you only specify either the start or the end year of a particular metric, the module will ignore the value.

The default productivity look-up table is set to GPG version 2. You could also select GPG version 1. Please refer to the approach section for the tables. Please read section 4.2.5 of the GPG version 2 to know more about the look-up table.

productivity parameters
Land cover parameters:#

Water body data

The default water body data is set to JRC water body seasonality data with a seasonality of 8 months. An ee.Image can be used for the water body data with a pixel value greater than equal to 1. Waterbody can be extracted from the land cover data by specifying the corresponding pixel value. Set the slider at 70 to use the waterbody extent from ESA CCI land cover data in case of default land cover and land cover data using UNCDD land cover categories (default matrix).

water body

The default land cover is set to the ESA CCI land cover data. The tool will use the CCI land cover system of the start date and the end date. These land cover images will be reclassified into the UNCCD land cover categories and used to compute the land cover sub-indicator. However, You can specify your own data for the start and the end land cover data. Provide the ee.Image asset name and the band that need to be used and the default dataset will be replaced in the computation with the specified land cover data.


If you would like to use the default land cover transition matrix, the custom dataset needs to be classified in the UNCCD land cover categories. Please refer to sdg_reclassify to know how to reclassify the local dataset into different classification systems.

To compute the land cover sub-indicator with the UNCCD land cover categories, the user can modify the default transition matrix. Based on the user’s local knowledge of the conditions in the study area and the land degradation process occurring there, use the table below to identify which transitions correspond to degradation (D), improvement (I), or no change in terms of land condition (S).

The rows stand for the initial classes and the columns for the final classes.

water body

Custom land cover transition matrix

If you would like to use a custom land cover transition matrix, select the Yes radio button and select the CSV file. Use this matrix as a template to prepare a matrix for your land cover map.


The module varifies the land cover pixel values with the values mentioned in the transition matrix. If there is/are missing class/es in your land cover data, switch of Verify land cover pixel to bypasss the exact matching of pixel values.

SOC parameters:#
Launch the computation#

Once all the parameters are set you can run the analysis by clicking on Load the indicators. It takes time to calculate all the sub-indicator. Look at the Alert at the bottom of the panel that displays the current state of analysis.

validate data


The results are displayed to the end user in the next panel. On the left, the user will find the transition and the distribution charts on the right, an interactive map where every indicator and sub-indicators are displayed.

Click on the donwload button to export all the layers, charts and tables to your SEPAL folder.

The results are gathered in the module_results/sdg_indicators/ folder. In this folder a folder is set for each AOI (e.g. SGP/ for Singapore) and within this folder results are grouped by run computation. the title of the folder reflect the parameters following this symbology: <start_year>_<end_year>_<satellites>_<vegetation index>_<lc units>_<custom LC>_<climate>.


As an example for computation used in this documentation, the results were saved in : module_results/sdg_indicator/SGP/2015_2019_modis_ndvi_calculate_default_cr0/

validate data


The results are interactive, don’t hesitate to interact with both the charts and the map layers using the widgets.

result interaction

Transition graph#

This chart is the Sankey diagram of the land cover transition between baseline and target year. The colour is corresponding to the initial class.

transition graph

Distribution graph#

This chart displays the distribution of the SDG 15.3.1 indicator by land cover classes.

distribution chart

Interactive map#

Following layers are available on the interactive map:

  • Final indicator SDG 15.3.1

  • land cover sub-indicator

  • Productivity sub-indicator

  • Land cover sub-indicator

  • SOC sub-indicator

  • Land cover maps, and

  • AOI




To reclassify a land cover data, it needs to be available to the user as a ee.Image in GEE.


In order to use a custom land cover map, the user needs to first reclassify to a classification system.

First, select the asset in the combobox. It will be part of the dropdown value if the asset is part of the user’s asset list. If that’s not the case simply set the name of the asset in the TextField.

Then select the band that will be reclassified.

For the default UNCCD land cover categories, values between 10 to 70 are used to describe the following land cover classes:

  1. Tree-covered areas (10)

  2. Grassland (20)

  3. Cropland (30)

  4. Wetland (40)

  5. Artificial surface (50)

  6. Other lands (60)

  7. Water bodies (70)

These categories are specified in the default UNCCD classification system. For a custom legend/classification system, upload a matrix with first clomun as pixel values, second column as class label and third as colour code HEX format. An example is given below:


Rural settlement



Mixed plantation



Urban settlement






Bare soil
























This band need to be a categorical band, the reclassification sytem won’t work with continuous values.

Click on get table. This will generate a table with all the categorical values of the asset. In the second column the user can set the destination value.


  • If the destination class is not set, the class will be interpreded as no_ata i.e. 0;

  • click on save to save the reclassification matrix. It’s useful when the baseline and target map are in the same classification system;

  • click on import to import a previously saved reclassification matrix.

Click on reclassify to export the map in GEE using the IPCC classification system. The export can be monitored in GEE.

The following GIF will show you the full reclassification process with an simple example.

reclassification demo