Air quality monitoring using Sentinel

Air pollution is the presence of substances suspended in the atmosphere that are considered harmful to the health of human beings and other living things. Some of the pollutants include harmful gases such as nitrogen dioxide, Sulphur dioxide and carbon monoxide. These gases may be released into the atmosphere through either natural sources or anthropogenic sources. Natural sources include volcanic eruptions, forest fires and lighting. Anthropogenic sources include the burning of fossil fuels by locomotives, local industries and power plants. This article focuses on air quality monitoring in the atmosphere using Sentinel 5P TROPOMI in Google Earth Engine.

Select an Area of Interest

You can choose an area of interest by importing a shapefile of the region you are interested in. To achieve this, proceed as follows:

  1. On the left side panel, click on Assets. A list of your previously ingested tables (shapefiles) will appear.
  2. Navigate to your shapefile of interest and click on the arrow to import the shapefile into the script.
air quality monitoring
Select an image collection.
  1. Select an image collection from Sentinel 5P image collections by Copernicus for each gas.
  2. Proceed to perform a filter for the dates, to obtain the date the image was acquired.
var col1 = ee.ImageCollection('COPERNICUS/S5P/NRTI/L3_NO2')
  .filterDate('2021-01-01', '2021-05-31');
var col2 = ee.ImageCollection('COPERNICUS/S5P/NRTI/L3_SO2')
.filterDate('2021-01-01', '2021-05-31');

var col3 = ee.ImageCollection('COPERNICUS/S5P/NRTI/L3_CO')
  .filterDate('2021-01-01', '2021-05-31');

Apply visualization parameters to the image bands.

var band_viz = {
  min: 0,
  max: 0.0005,
  palette: ['black', 'blue', 'purple', 'cyan', 'green', 'yellow', 'red']
Display the Final Result
Map.addLayer(col1.mean().clip(table), band_viz, 'S5P N02');
Map.addLayer(col2.mean().clip(table), band_viz, 'S5P S02');
Map.addLayer(col3.mean().clip(table), band_viz, 'S5P CO');
Map.centerObject(table, 11);
Nitrogen dioxide
Sulphur dioxide
Carbon Monoxide
Add a Legend

Add a legend to the map to help interpret the results i.e. to identify the levels of pollution from high to low.

var legend = ui.Panel({
  style: {
    position: 'bottom-left',
    padding: '8px 15px',
    margin: '10px'
// Create legend title
var legendTitle = ui.Label({
  value: 'Concentration Levels',
  style: {fontWeight: 'bold',
    fontSize: '18px',
    margin: '0 0 4px 0',
    padding: '0'
// Add the title to the panel
// Creates and styles 1 row of the legend.
var makeRow = function(color, name) {
      // Create the label that is actually the colored box.
      var colorBox = ui.Label({
        style: {
          backgroundColor: color,
          // Use padding to give the box height and width.
          padding: '8px',
          margin: '0 0 4px 0'
      // Create the label filled with the description text.
      var description = ui.Label({
        value: name,
        style: {margin: '0 0 4px 6px'}
      // return the panel
      return ui.Panel({
        widgets: [colorBox, description],
        layout: ui.Panel.Layout.Flow('horizontal')
//  Palette with the colors
var palette = ['red', 'yellow', 'green', 'cyan', 'purple', 'blue', 'black'];
// name of the legend   
var names = ['Very High', 'High', 'Moderately High', 'Moderate', 'Moderately Low', 'Low', 'Very Low'];

// Add color and names
for (var i = 0; i < 7; i++) {
  legend.add(makeRow(palette[i], names[i]));
// add legend to map (alternatively you can also print the legend to the console)

High levels of nitrogen dioxide around the Central Business District area due to the burning of fossil fuels by vehicles due to many transportation activities. Air quality monitoring is an important measure to ensure lives within these areas are safeguarded from pollution by using measures that are stringent on such emissions.

Be sure to check out the article on Burn severity mapping

Leave a Reply

Your email address will not be published. Required fields are marked *

Risper Mutinda

Hello. I am Risper Mutinda. I am a passionate Web and GIS Developer but more importantly, I am passionate about Technology.

More Reading

Post navigation