0% found this document useful (0 votes)
44 views

Satellite Data Analysis and Machine Learning Classification With QGIS - Part 1

Let's explore the main functionalities of SCP through its graphical interface.

Uploaded by

nancer
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
44 views

Satellite Data Analysis and Machine Learning Classification With QGIS - Part 1

Let's explore the main functionalities of SCP through its graphical interface.

Uploaded by

nancer
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 73

Teachers: Gorica Bratic and Maria Antonia Brovelli

[email protected]; [email protected]

Assistants: Francesco Bosso, Thomas Martinoli, Juan Pablo Duque


Ordoñez, Mathilde Puche and Mousa Sondoqah
GEOlab – Politecnico di Milano 1
Before we
start…
• Make sure that you fulfill all the
requirements for following the
workshop:
• QGIS Desktop 3.10.x with GRASS
• scikit-learn library for Python3 in QGIS
• Data unzipped

2
QGIS introduction

3
QGIS main graphical user interface

1. Bar Menu: main


features and
functions
2. Toolbar: common
features in a single
click
3. Layer panel: list of
the project layers
4. Map panel:
geographic display
of active layers
5. Status bar: current
coordinates, scale,
rotation, and
coordinate system

4
Display/hide panels and toolbars

Additional panels and


toolbars can be activated
or deactivated from
1. View menu
2. Panels or
3. Toolbars
4. Alternatively, we can
right-click on an
empty space (without
icons) in the Toolbars
or Menu bar section
and we will get a full
list of available panels
and toolbars.

5
QGIS plugins

6
Install QGIS plugins

For installing a plugin


1. Go to the Plugins menu
2. Select Manage and Install Plugins
3. Go to the tab All
4. Type name of the plugin
5. Select the plugin in the list
6. Click on Install Plugin

Please follow the procedure above to


install following plugins by inserting
their name in the search filed (step
4):
• Semi-Automatic Classification
Plugin
• dzetsaka: Classification tool
• QuickMapServices

7
QGIS plugins – Semi-Automatic Classification Plugin (SCP)

Semi-Automatic Classification
Plugin (SCP) is used for
download preprocessing,
classification (supervised and
unsupervised) and
postprocessing of open
satellite imagery (ASTER,
Landsat, MODIS, Sentinel-2
and Sentinel-3)

We will use SCP plugin for


downloading and
preprocessing Sentinel-2
imagery as well as for algebraic
operations with bands

8
QGIS plugins – QuickMapServices (QMS)

QuickMapServices (QMS)
plugin contains many base
maps created from satellite
imagery:
✓ Bing Satellite /Aerial (Microsoft, up
to 30cm resolution)
✓ Google Satellite (Google, up to 15
cm resolution)
✓ Landsat (USGS, 30m resolution)
✓ Yandex Satellite (Yandex up to
50cm)
✓ …..
In this workshop a basemap
from QMS will be used to
collect training data in the next
session

9
QGIS plugins – dzetsaka: Classification tool

dzetsaka: Classification tool is a


plugin that allows classification
of satellite imagery with
Gaussian Mixture Model,
Random Forest, Support Vector
Machine and K-Nearest
Neighbors.

During the second session of the


workshop, we will use Gaussian
Mixture Model, Random Forest,
and K-Nearest Neighbors
algorithms for classification

10
About satellite imagery

11
Multispectral satellite imagery

✓ Satellite imagery is data that comes from sensors on board of satellites


✓ Multispectral sensors capture electromagnetic (EM) radiation reflected by the Earth surface.
✓ A multispectral image consists of bands. Each band is a raster whose values represent the EM radiation at a
certain range of wavelength. The multispectral imagery captures visible EM radiation (red, green and blue),
but also the short-wave infrared (SWIR) and visible and near-infrared radiation (VNIR).
✓ In the example of the Sentinel-2 satellite
imagery – Band 2, Band 3, and Band 4 are
capturing the visible EM radiation, while
band 8 represents the non-visible near
infrared EM radiation.
✓ From the figure it can be seen also that
not every band has the same range of
values (i.e., range of values in Band 2 is
larger than in Band 3 or Band 4) Different ranges of wavelengths for Sentinel-2 bands at 10m spatial resolution.
Source: https://sentinel.esa.int/web/sentinel/user-guides/sentinel-2-msi/resolutions/spatial

12
Multispectral satellite imagery – Sentinel-2

Central Wavelength
Sentinel-2 Bands [micrometers] Resolution [meters]
Band 1 - Coastal
aerosol 0.443 60
Band 2 - Blue 0.49 10
Band 3 - Green 0.56 10
✓ The SENTINEL-2 Multispectral Instrument Band 4 - Red 0.665 10
(MSI) samples 13 spectral bands: four bands at Band 5 - Vegetation
Red Edge 0.705 20
10 meters, six bands at 20 meters and three Band 6 - Vegetation
bands at 60 meters of spatial resolution. Red Edge 0.74 20
Band 7 - Vegetation
Red Edge 0.783 20
✓ Satellite imagery, including Sentinel-2, is a Band 8 - NIR 0.842 10
valuable source of information for GIS due to Band 8A - Vegetation
Red Edge 0.865 20
frequent updates (revisit every 5 days). Band 9 - Water vapor 0.945 60

Band 10 - SWIR -
Cirrus 1.375 60
Band 11 - SWIR 1.61 20
Band 12 - SWIR 2.19 20
Source: https://sentinel.esa.int/web/sentinel/user-guides/sentinel-2-msi/overview

13
Load auxiliary vector data

14
Load vector of working area (1)

Vector working_area.shp is the


vector file which delineates a
rectangular area of interest. The
area of interest includes Al
Hashimiyya village in northern
Jordan. It was selected arbitrarily.

Load the vector by selecting:


1. Layer menu
2. Add Layer
3. Add Vector Layer

15
Load vector of working area (2)

1. Navigate to the folder with


data and select
working_area.shp
2. Add Layer
3. Close Data Source Manager

16
Apply predefined vector style

Apply vector visualization so that


vector boundaries are in red while
the polygon is transparent. This kind
of visualization is suitable when we
are interested only in vector
boundaries, as it is the case in this
example.
To apply this visualization:
1. Right-click on vector
working_area in the Layers Panel
2. Select layer Properties
3. Go to Symbology tab
4. Select outline red predefined
symbology
5. Click on OK to apply the
symbology

17
Apply predefined vector style - result

18
Apply predefined vector style – result with Bing Map in the background

19
Apply predefined vector style – result with Bing Satellite in the background

20
Start using SCP plugin

21
SCP graphical interface (1)

The functionalities of Semi-


Automatic Classification
Plugin (SCP) can be
accessed from:
1. SCP Menu Bar
2. SCP Working Toolbar
3. SCP Dock Panel
4. When a functionality is
selected it can be
parametrized and
executed from the SCP
Command Panel (4).

22
SCP data provider
✓ We are going to query and browse the data catalogue of the ESA Sentinel-2 mission. This is enabled by the Copernicus
Open Access Hub which provides developers and data users with a set of API to access the imagery catalogue
✓ The API is implemented within the SCP Plugin by enabling the access to Sentinel-2 imagery data (and many others)
directly from QGIS
✓ Recently, SCP introduced access to Sentinel-2 without Copernicus Open Access Hub credentials. However, initial option
of user's authentication to access these services remained. You can create your personal account at any time here

23
SCP plugin – Image download

24
Download satellite imagery using SCP (1)

To visualize the options


for imagery download
1. Go to the SCP menu
2. Select Download
products

25
Download satellite imagery using SCP (2)

1. On the Login data tab, it is


necessary to insert
credentials for specific
data provider.
In this case, we are interested
in Sentinel-2 imagery, which
provides two options –
authentication with
Copernicus Open Access Hub
or without authentication.
2. If you have credentials
insert them in the User
and Password fields,
otherwise
3. If you do not have
credentials select Use
alternative search for
Sentinel-2

26
Download satellite imagery using SCP (3)

1. On the Search tab specify the


parameters of the imagery to
download. In this case it is:
✓ Area of shapefile
‘working_area.shp’
✓ Products: Sentinel-2
✓ Date from: 2020-10-17 to
2020-10-20
✓ Max cloud cover (%): 100
2. For defining the area in which
to search images we can click
on + and keep Show option
active . This allows us to select
the region in the Map panel.
3. Minimize the SCP Command
Panel (3) to visualize Map
panel and select the area

27
Download satellite imagery using SCP (4)

✓ In the Map Panel try to


reproduce rectangle of
working_area.shp
✓ Use left-click of the mouse to
select upper-left corner of the
area
✓ Use right-click of the mouse to
define lower-right corner of
the area
✓ The area selected will be filled
with light red color
✓ The selected area does not
have to be precisely as
working_area.shp

28
Download satellite imagery using SCP (5)

1. When you unminimize SCP


Command Panel go back to the
Search tab
2. You should see coordinates for
Upper-Left (UL) and Lower-Right
(LR) corners of the area of interest
inserted automatically
3. Specify Sentinel-2 for Products
4. Specify initial acquisition date to
2020-10-17
5. Specify final acquisition date to
2020-10-20
6. Leave Max cloud coverage at 100%
7. Hit Find button
8. After some time, you will get list of
imagery with parameters
corresponding to search parameters
defined

29
Download satellite imagery using SCP (6)

As it can be seen, there are 8 images


with the parameters.
1. We can download Preview of
each image (1) preliminary
check
We are going to use:
L1C_T37SBR_A027817_20201019T0
81242_2020-10-19 which is 4th in the
list on the figure. Remove all the
images except the one we want to
download:
2. Hold CTRL and select images to
be removed
3. Click on Remove button

30
Download satellite imagery using SCP (7)

IMPORTANT NOTE

Please pay attention to the fact that, in general, when the level 2A image is available, this image
must be chosen. The level 2A image in fact is corrected by the atmospheric reflectance, on the
opposite the level 1C is not.

Level-2A products are systematically generated at the ground segment over Europe since March
2018, and the production was extended to global in December 2018.

Level-2A generation can also be performed by the user through the official SNAP tool for
atmospheric correction (see http://step.esa.int) using as input the associated Level-1C product.
This correction is the suggested one.

In the following we will show you what you can do with the SCP if you are not familiar with the
SNAP tool. Again, this is a suboptimal optimal way of making the atmospheric correction and we
suggest you learning how to do that with the ESA tool (which is something we don't have time to
show you in this workshop).

31
Download satellite imagery using SCP (8)

Before starting download there are


some of more options to be defined.
1. Unselect Only if preview in
Layers to download images even
if we do not have their preview
downloaded.
2. Unselect Preprocess image
because preprocessing is one of
the following steps
3. Select Load bands in QGIS to
load downloaded bands after
download is complete
4. Run the download

32
Load previously downloaded image (1)

To save time during the


workshop we will load the
data that have been
previously downloaded and
provided to you in folder
L1C_T37SBR_A027817_2020
1019T081242_2020-10-19:
1. Go to Layer menu
2. Click on Add Layer
3. Click on Add Raster
Layer

33
Load previously downloaded image (2)

1. Navigate to the folder


with the image (e.g.
L1C_T37SBR_A027817_2
0201019T081242_2020-
10-19), select all JP2 files
and open them.

2. Click on Add and


3. Close Data Source
Manager

34
Download satellite imagery using SCP – results in QGIS

After the download the


image bands will be
automatically imported in
your QGIS.

Bands appear as graytone


rasters.

35
Download satellite imagery using SCP – results on local File System

Image is saved in a folder of


your local computer. The
folder contains:
✓ multiple jp2 files –
each file represents
a single band of
satellite image
✓ GML file - mask for
clouds and
✓ XML files - metadata

36
SCP plugin – Image preprocessing

37
Satellite images preprocessing - SCP

Now we can preprocess the


satellite image.
In the preprocessing we define
which kind of preprocessing to
be done, as well as which
bands to preprocess.

To open Preprocessing in the


SCP Command Panel

1. Go to SCP menu

2. Select Preprocessing

3. Select Sentinel-2

38
Satellite images preprocessing - SCP – Define preprocessing type

To define preprocessing type (e.g.,


DOS1 atmospheric correction)
1. Navigate to the folder with the
image and open it (e.g.,
L1C_T37SBR_A027817_202010
19T081242_2020-10-19)
2. Navigate to the folder with the
image from step 1 and open
metadata file (e.g.,
MTD_MSIL1C)
3. Check box Apply DOS1
atmospheric correction

With this parameters only Dark


object subtraction atmospheric
correction will be applied on image
bands.

39
Satellite images preprocessing - SCP – Define bands to be preprocessed

Definition of bands to be
preprocessed means removing
bands that we do not want to
preprocess.
We will remove bands 1, 9 and 10
from preprocessing and further
operations because they have very
low resolution – 60 m.

1. Select bands 1, 9 and 10 by


holding CTRL and clicking on
them
2. Click on Remove button
3. Click on Run and select the
folder in which to save outputs

40
Load previously preprocessed image (1)

To save time during the


workshop we will load the
data from folder “RT “ that
have been previously
preprocessed :
1. Go to Layer menu
2. Click on Add Layer
3. Click on Add Raster
Layer

41
Load previously downloaded image (2)

1. Navigate to the folder


with preprocessed image
(e.g., RT), select all
GeoTIFF files and open
them (1).

2. Click on Add (2)

3. Close Data Source


Manager (3)

42
Satellite images preprocessing - result

Preprocessed bands will


be stored as .tif format
with prefix „RT_“ in a
local file system in the
folder you specified

They will be also loaded in


the QGIS project and each
band will be a graytone
raster

43
Remove layers from QGIS

Now that we have


preprocessed image, we can
remove original bands of the
raster as they will not be used
hereafter. To do so:
1. Select all raster bands of
the original image in the
Layers panel. One option is
to hold CTRL and click on
each of them. Alternatively,
you can hold Shift and click
on first and the last original
band in the Layers panel.
2. Right-click on one of the
selected bands
3. Select Remove layer
4. Click OK to confirm
removal

44
SCP plugin – Band set

45
Satellite images preprocessing - SCP - Band set (1)

Band set is creation of


composite raster (multispectral
imagery). This means that all
the bands that are currently
separate files will be merged
into one raster file.

1. Go to SCP menu

2. Select Band set

46
Satellite images preprocessing - SCP - Band set (2)

Choose which bands are going


to be in the final multispectral
image. In this example we will
use all the preprocessed
bands.

1. Press Refresh list to load all


preprocessed band in the
SCP
2. Press Select All to select all
the bands
3. Press Add band to Band set
to add all selected bands
into a band set

47
Satellite images preprocessing - SCP - Band set (3)

Order bands in the way they should be


ordered in the output multispectral
image. In this example they should be
ordered according to the center of the
band wavelength.
1. Select Sentinel-2 bands for the
Wavelength quick settings so that
the bands are ordered according to
the center wavelength
2. Alternatively, using sorting tools
order bands in the ascending order
according to the band number
paying attention that band B8A
should come after B08
3. Select Create virtual raster of band
set
4. Click on Run and select output
folder

48
Satellite images preprocessing - Virtual raster of band set (1)

A clever way of saving “by-


product” raster layers is the
Virtual Raster format (.vrt). It
consists of a text file pointing
on multiple raster datasets
which can be read and
manipulated as a single layer.
It takes less time to create
Virtual Raster than normal for
example .tif raster.

49
Satellite images preprocessing - Virtual raster of band set (2)

We can see that the virtual raster is


not black and white as it was the
case with bands. That is because it is
composite raster now. This aspect
will be tackled a bit later.
Open virtual raster properties to
examine characteristics of
multispectral image created with the
band set
1. Right-click on the virtual raster
(e.g.,
RT_L1C_T37SBR_A027817_20201
019T081242_B0virt_rast.vrt)
2. Select Properties

50
Satellite images preprocessing - Virtual raster of band set (3)

We removed 3 bands before, so the new raster will


have 10 bands in total enumerated again according
to the order we defined in the band set definition
(shown in table below)
It is important to remember this because a lot of
guides refer to the original band numbers.

Sentinel-2 Bands New enumeration


Band 1 - Coastal aerosol -
Band 2 - Blue Band 1 - Blue
Band 3 - Green Band 2 - Green
Band 4 - Red Band 3 - Red
Band 5 - Vegetation Red Edge Band 4 - Vegetation Red Edge
Band 6 - Vegetation Red Edge Band 5 - Vegetation Red Edge
Band 7 - Vegetation Red Edge Band 6 - Vegetation Red Edge
Band 8 - NIR Band 7 - NIR
Band 8A - Vegetation Red Edge Band 8 - Vegetation Red Edge
Band 9 - Water vapour -
Band 10 - SWIR - Cirrus -
Band 11 - SWIR Band 9- SWIR
Band 12 - SWIR Band 10 - SWIR

51
QGIS core - Clip raster/image

52
Satellite images preprocessing – Clip (1)

The composite raster is larger than


the working area. To obtain a
composite raster layer covering
only the working area, thus
preventing further processing on
the full raster layer (i.e. save
time!), we can clip the full Virtual
raster layer on a region of interest
and save the results as a “real”
layer (.tif)

1. Click on Raster menu


2. Select Extraction
3. Select Clip Raster by Extent

53
Satellite images preprocessing - Clip (2)

Define which raster to be clipped and what is the desired extent. In this case we will clip virtual raster of
band set to the exact size of the working area polygon, and we will save output as a tif file.
1. Select virtual raster of band set from
the Input layer drop-down menu
(e.g.,
RT_L1C_T37SBR_A027817_20201019
T081242_B0virt_rast.vrt)
2. Open further options for the Clipping
extent
3. Select Use Layer Extent
4. Select working_area for reference
dataset for extent
5. Click on OK to confirm the layer
extent selection
6. Define the output file folder and
name in the Clipped (extend) field
7. Run the algorithm

54
Satellite images preprocessing - Clip (3)

The Clipped raster layer


(.tif) is saved into your
local memory and
imported in your QGIS
project.

NOTE:
This raster will serve as
input for supervised
classification. Save it
for the next session!

55
Satellite images preprocessing - Clip (4)

Can you recognize something


from previously created
raster?
Maybe yes, but the following
steps will make the scene
clearer

We are going to visualize


raster in True colors/RGB.
This means we are going to
visualize it in the same colors
in which we would see the
scene if we looked at it with
our eyes.
1. Right-click on the raster
(e.g., Clip)
2. Select Properties

56
Satellite images preprocessing – Styling a multispectral raster layer (1)
In original Sentinel-2 image RGB is composed of bands 4, 3, 2. Since we removed band 1 during Preprocessing, and QGIS enumerated
remaining bands again, combination of bands 3, 2, 1 will create the RGB image. Reminder at this slide.

1. Go to the Symbology tab


2. Select Multiband color for
Render type
3. Specify Band 03 for Red
band
4. Specify Band 02 for Green
band
5. Specify Band 01 for Blue
band
6. For a better visualization
Local Histogram Stretch for
Contrast enhancement
7. Use Cumulative count cut
from 2-98% for Min/Max
Value Settings

57
Satellite images preprocessing – Styling a multispectral raster layer (2)

Can you recognize


something from the
RGB raster?

Do you see a village in a


desert area?

58
SCP plugin – Band algebra

59
Band algebra - Computation of typical indexes

There are multiple algebraic operations that we can do with bands in order to obtain graphical
indexes that are useful for analysis of satellite imagery.

NDVI (Normalized Difference Vegetation Index) is the most well known and widely used index. It is a
simple, but effective index for quantifying green vegetation. The NDVI normalizes green leaf
scattering in the near-infrared wavelength and chlorophyll absorption in the red wavelength.
Therefore, the equation for NDVI involves red and near-infrared bands:

𝑁𝐼𝑅 − 𝑅𝑒𝑑
𝑁𝐷𝑉𝐼 =
𝑁𝐼𝑅 + 𝑅𝑒𝑑

In case of Sentinel-2 bands this equation is translated to:

Band 8 − Band 4
NDVI𝑆𝑒𝑛𝑡𝑖𝑛𝑒𝑙−2 =
Band 8 + Band 4

60
Band algebra in QGIS

Conducting calculations based on the


existing pixel values of bands or
rasters is a common GIS task.
QGIS provides different solutions for
performing raster calculus, e.g.:
✓ QGIS core Raster Calculator
✓ GDAL Raster Calculator
✓ SAGA GIS Raster Calculator
✓ SCP Band Calc

In this exercise we are going to use


SCP Band Calc. To activate it go to
the:
1. SCP Menu
2. Band calc

61
Band algebra - SCP Band calc – how to generate an expression

1. Click on Refresh to load all the


bands loaded in QGIS that can be
used for band algebra
With an expression we define which
bands are included in the algebra and
which algebraic operation to perform.
2. By double-clicking on the name of
the band (e.g., Band 4) in the Band
list, the band will be inserted in the
expression.
3. By single-clicking on the operator
(e.g., -), the operator will be
inserted in the expression.

Note that both, band name and


operator can be typed in, however band
name must be quoted with double-
quotes.

62
Band algebra - SCP Band calc – NDVI expression

NDVI equation for Sentinel-2 bands is:

Band 8 − Band 4
NDVI𝑆𝑒𝑛𝑡𝑖𝑛𝑒𝑙−2 =
Band 8 + Band 4

Expression for NDVI applied on preprocessed image RT_L1C_T37SBR_A027817_20201019T081242 is:

("RT_L1C_T37SBR_A027817_20201019T081242_B08" - "RT_L1C_T37SBR_A027817_20201019T081242_B04") /
("RT_L1C_T37SBR_A027817_20201019T081242_B08" + "RT_L1C_T37SBR_A027817_20201019T081242_B04")

Band number is written


at the end of every band
name

63
Band algebra - SCP - Computation of NDVI (1)

Following the logic of the previous two slides, compute NDVI using preprocessed bands (their name starts with “RT_”)
1. Press Refresh button to load all available
bands
2. Double-click on band name and single click on
mathematical operator to form following
expression:
("RT_L1C_T37SBR_A027817_20201019T0812
42_B08" -
"RT_L1C_T37SBR_A027817_20201019T08124
2_B04") /
("RT_L1C_T37SBR_A027817_20201019T0812
42_B08" +
"RT_L1C_T37SBR_A027817_20201019T08124
2_B04")
3. Select extent to be same as Clip layer by
checking the box Same as
4. Select Clip from the list
5. Press Run and select specify output folder and
file name

64
Band algebra - SCP - Computation of NDVI (2)

The NDVI is saved in your local


memory as a GeoTIFF and added to
your QGIS project

NDVI values have range from -1 to 1


where higher values represent larger
presence of vegetation. Thus values
can be interpreted as follows:
✓ -1 – 0.1 – low NDVI typical for
snow, sand and barren rock
✓ 0.2 - 0.5 – moderate NDVI
common for sparse vegetation like
shrubs and grasslands or senescing
crops
✓ 0.6-1 – high NDVI typical for dense
vegetation like forest or cropland
in the growing season

65
Non-mandatory addition: NDVI visualization

66
Band algebra - SCP – NDVI visualization (1)

We can apply style to highlight NDVI


values. To do so
1. Right-click on NDVI layer
2. Select Properties

67
Band algebra - SCP – NDVI visualization (2)

1. Go to the Symbology tab


2. Select Render type to be
Singleband pseudocolor
3. Open list of Color ramp
4. Select All Color Ramps
5. Select the PRGn color ramp
(purple for low values and
green for high values)

68
Band algebra - SCP – NDVI visualization (3)

1. Set the Mode to Equal


interval
2. Set Classes to 4 to have 4
classes/intervals of values
3. Click on classify to apply
the color interpolation for
the defined number of
classes
4. Double-click on a value to
edit it manually. Set the
second class to 0.1
5. Double-click on a value to
edit it manually. Set the
third class to 0.6

69
Band algebra - SCP – NDVI visualization (4)

When all the visualization


parameters are set
1. Click on OK to apply the
style

70
Band algebra - SCP – NDVI visualization - results

When the style is applied the


green and healthy vegetation is
shown in dark green.

You can verify with the Bing


base map if the dark green is
indeed vegetation

71
Maria Antonia Brovelli and Gorica Bratic
[email protected]; [email protected]

Assistants: Francesco Bosso, Thomas Martinoli, Juan Pablo Duque


Ordoñez, Mathilde Puche and Mousa Sondoqah

GEOlab – Politecnico di Milano 72


This work is licensed under a following license:

Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)

You are free to: Under the following terms:


•Share — copy and •Attribution — You must give appropriate credit, provide a link to the
redistribute the material in license, and indicate if changes were made. You may do so in any reasonable
any medium or format manner, but not in any way that suggests the licensor endorses you or your
•Adapt — remix, transform, use.
and build upon the material •NonCommercial — You may not use the material for commercial purposes.
•The licensor cannot revoke •ShareAlike — If you remix, transform, or build upon the material, you must
these freedoms as long as you distribute your contributions under the same license as the original.
follow the license terms.

73

You might also like