This tutorial describes the SCP tool Edit raster that allows for the direct editing of pixel values in a raster. Direct editing is very convenient in case of large rasters, reducing the computational time and easing the process of updating a raster such as land cover classification.
In this tutorial we are going to edit a very large raster, which is the Corine Land Cover referred to year 2006 (but it is available also for 1990, 2000 and 2012). This raster is produced by the European Environment Agency (EEA), and covers the whole European Countries with a spatial resolution of 100m and a very detailed classification system. For more information read this page .
1. Edit Raster Using ROI Polygons
First, download the raster data from this link Corine Land Cover 2006 (Version 17) provided for free by the EEA .After the download of the Corine Land Cover, extract the archive and load the file
g100_06.tif
in QGIS. The complete list of raster values corresponding to each land cover class is included in the file clc_legend.xls
, which was downloaded along with the raster. For instance, value 1 corresponds to class Continuous urban fabric
, value 2 corresponds to class Discontinuous urban fabric
, value 23 corresponds to class Broad-leaved forest
. We are going to update the classification by photo-interpretation and manual editing.We can use a Sentinel-2 image acquired in 2016 (provided by the Copernicus Scientific Data Hub) for updating the land cover classification. See Data Download for the details about Sentinel-2 download. Of course, other plugins such as QuickMapServices or OpenStreetMap) can be used for displaying high resolution images.
Now open the tab Band set (for further instructions see Create the Band Set) and set the raster Corine Land Cover as the only input band. This is required for the creation of ROI polygons.
After loading a recent image in QGIS, zoom to an area where land cover changes occurred, and draw a temporary ROI (for further instructions see Create the ROIs).
Now open the SCP Edit Toolbar, which is designed for the manual editing of rasters. There are three values that can be modified according to the value that we want to apply to the raster. Click the button beside each of these values, and the raster is updated using the selected constant value for all the pixels intersecting the temporary ROI.
Attention: the input raster is directly edited; it is recommended to create a backup copy of the input raster before using this tool in order to prevent data loss.Also, the button can undo the most recent editing.
Considering that we are editing a very large raster, the new value is applied almost instantaneously. We can repeat the ROI creation and update the raster values of other areas.
To ease the editing process, we can use conditional expressions with the structure
where(condition, true, false)
. In the Edit raster, check the checkbox Use expression and enter a conditional expression.The variable name
raster
is used for the input raster. For instance, the expression where(raster == 1, 2, raster)
will change only the pixels of class 1 intersecting the temporary ROI, while other pixels will be unchanged. Of course we can change the expression according to our needs, always using the variable name raster
. For instance the expression where(raster == 2, 1, where(raster == 20, 21, raster))
will change values to 1 for pixel values equal to 2, or change the value to 21 for pixel values equal to 20. If the expression text is green, then the structure of the expression is correct.2. Edit Raster Using a Vector file
We can use a vector file in order to change raster values for all the polygons at once. It is possible to select a vector field containing the new values that will be applied to the raster.Add a vector file to the QGIS project (for instance download this shapefile ). Open the tab Edit raster, check the checkbox Edit values using a vector and select the vector layer (click the button for reloading the layer list). Also, check the checkbox Use the value field of the vector and select the attribute field containing the values to be applied to the raster (in this example the field
Class
).Now click the button and all the changes will be applied to the raster according to polygon values.
Attention: the input raster is directly edited; it is recommended to create a backup copy of the input raster before using this tool in order to prevent data loss.This method is very rapid, especially if vector polygons have a small area (the larger are the polygons, the longer is the process).
For any comment or question, join the Facebook group and the Google+ Community about the Semi-Automatic Classification Plugin.