Difference between revisions of "Glacier Change Detection in GRASS GIS"

From CUOSGwiki
Jump to navigationJump to search
Line 128: Line 128:
   
 
[[File:Reclass2.PNG]]
 
[[File:Reclass2.PNG]]
  +
  +
=== Converting Raster to Vector ===
  +
  +
Before starting the time series analysis, we need to create a new vector mask that describes the maximum extent of the glacier. This will help eliminate noise created by remnant sea ice in the Fiord that was incorrectly identified as the glacier in the NDVI raster.
  +
  +
For this step, we will assume that the 2014 reclassified NDSI raster describes the maximum extent of the glacier within the 10 years of imagery in the time series.
  +
  +
First, go to "Raster" > "Map type conversions" > "Raster to vector [r.to.vect]"
  +
  +
[[File:Convert.png]]
  +
  +
Next, input the name of the 2014 reclassified NDSI raster into the "Name of input raster map" box. Name the output vector layer "Extent2014", and change the "Output feature type" to "area". Press run
  +
  +
The output of this tool will be a vector of the 2014 NDSI reclassified raster with values of 1 and 0.
  +
  +
[[File:Convert_2.PNG]]
  +
  +
Then, with the Extent2014 layer displayed on the map, press the select feature's icon, and press on the glacier polygon within the layer. The selection should look like this:
  +
  +
[[File:Convert_3.png]]
  +
  +
Finally,
  +
   
 
=== Time Series Change Detection with Landsat 8/9===
 
=== Time Series Change Detection with Landsat 8/9===

Revision as of 16:04, 5 December 2024


Purpose

The purpose of this tutorial is to visualize and assess the change in the extent of a marine-terminating glacier in the Canadian Arctic over time. To assess the change in extent, this tutorial will demonstrate how to classify the snow/ice cover in Landsat 8/9 images using a generic Normalized Difference Snow Index (NDSI) technique. This tutorial is

Introduction

Software Download and Instillation

This tutorial is demonstrated in Windows using GRASS GIS version 8.4.0. The latest version of GRASS GIS can be downloaded here

Data Sources

Landsat 8/9 Imagery

This tutorial uses the green and Short-Wave Infrared (SWIR) bands from 8 Landsat 8/9 images. The images were captured in late July/august when the Fiord was mostly free of ice. The Landsat imagery used in this tutorial can be found here

Additional Landsat imagery can be downloaded from the USGS Earth Explorer website. To download the data, create a free student account.

The ID and metadata for the specific images used in this lab are in the table below.

Landsat Image ID Bands Used Metadata
LC08_L2SP_060246_20140825_20200911_02_T1 Example Example
LC08_L2SP_046248_20150810_20200908_02_T1 Example Example
LC08_L2SP_057001_20160825_20200906_02_T1 Example Example
LC08_L2SP_046248_20180802_20200831_02_T1 Example Example
LC08_L2SP_048248_20190718_20200827_02_T1 Example Example
LC08_L2SP_074244_20200811_20200918_02_T1 Example Example
LC09_L2SP_046248_20220821_20230401_02_T1 Example Example
LC08_L2SP_067245_20230819_20230826_02_T1 Example Example
LC09_L2SP_052247_20240820_20240821_02_T1 Example Example

Supplementary Vector Data

The supplementary vector data for this tutorial can be found here. The vector data includes a polygon computational region and a polygon outline of the Otto Glacier.

Methods

Set Up

Import Raster Data

Landsat imagery from USGS Earth Explorer will come in a .TAR format when downloaded. Use 7Zip file manager to extract the .TIF files.

To import the Landsat images to the workspace, go to "File" > "Import raster data" > "Import of common raster formats [r.in.gdal]"

Add rasters.png

Next, press "Browse" and find the extracted folders for the Landsat imagery. Import bands 3 and 6 for each image (.TIF files ending in "B6" and "B3"). Use a standardized naming convention for all of the images to make the analysis easier. For example, bands 3 and 6 from the 2014 image can be named L8_2014_B3 and L8_2014_B6, respectively.

Import Vector Data

To import the computation region and Otto Glacier outline vector files, go to "File" > "Import vector data" > "Import of common vector formats [v.in.ogr]".

Using the "Browse" button, find the "CR.shp" and "OttoFiord17N.shp" shapefiles that were downloaded earlier, and import them one at a time.

Add rasters 2.PNG

Set Computational Region

GRASS GIS requires a computational region to properly perform calculations on a raster. To set the computational region, "Settings" > "Computational region" > "Set region [g.region]".

Find the drop-down menu called "[multiple] Set region to match vector map(s)", and select the "CR" vector layer. Press run.

Set region 2.PNG

Mask Rasters

To isolate the glacier tongue from the rest of the image, we will use a vector mask tp mask the Landsat imagery.

To create a mask, go to "Raster" > "Mask [r.mask]". Then, press on the "Vector" tab and select "OttoFiord17N" from the "Name of vector map to use as a mask" drop-down menu. Press run.

Mask.PNG


Calculate NDSI

Use the "Raster map calculator" to calculate the NDSI rasters for each year. To find the raster calculator, go to "Raster" > "Raster map calculator" > "Raster map calculator [r.mapcalc]".

Raster calc1.png

The NDSI formula is "(Green-SWIR)/(Green+SWIR)," where Green is the green band, and SWIR is the SWIR band for an image. For Landsat 8/9 imagery, B3 is the green band, and B6 is the SWIR band.

In the "Expression" text box, paste this formula: (float( raster_B3 ) - float( raster_B6 ) ) /(float( raster_B3 ) + float( raster_B6 ) ). The float function allows the output to have decimal places.

Then, change raster_B3 and raster_B6 to the appropriate names. Raster names can be input by clicking on the raster from the "Insert existing raster map" drop-down menu.

Finally, press "Run". The new NDSI raster will be added to the workspace. Repeat this step for every Landsat image in the time series.

Raster calc 4.PNG

Convert Null values

The rasters contain Null values that will hinder the analysis. To deal with this problem, we will cover the null values to 0.

First, go to "Rasters" > "Develop raster map" > "Manage Null values [r.null]"

Null.png

Then, change the input raster to an NDVI raster in the "Name of raster map" drop-down menu.

Next, go to the "Modify" tab and enter 0 in the "The value to replace the null value by" box. Press run and repeat for all of the NDSI rasters.

Null 2.PNG

Reclassify NDSI Rasters

Once we calculate the NDSI rasters, we need to reclassify them to identify the glacier from the rest of the image. The NDSI rasters have values between -1 and 1, with values greater than 0.4 representing snow or ice.

Open the raster calculator. In the expression box, paste this formula: ```if ( NDSI_raster >= 0.4, 1, if( NDSI_raster < 0.4,0))```, and change the name from "NDSI_raster" to the name of the 2014 raster.

Press run and repeat with the other 7 NDSI rasters.

This formula tells the raster calculator to reclassify the raster values as 1 if they have an NDSI value greater than 0.4 and 0 if they have a value less than 0.4. Cells with a value of 1 represent the glacier, and cells with a value of 0 represent everything else

Reclass2.PNG

Converting Raster to Vector

Before starting the time series analysis, we need to create a new vector mask that describes the maximum extent of the glacier. This will help eliminate noise created by remnant sea ice in the Fiord that was incorrectly identified as the glacier in the NDVI raster.

For this step, we will assume that the 2014 reclassified NDSI raster describes the maximum extent of the glacier within the 10 years of imagery in the time series.

First, go to "Raster" > "Map type conversions" > "Raster to vector [r.to.vect]"

Convert.png

Next, input the name of the 2014 reclassified NDSI raster into the "Name of input raster map" box. Name the output vector layer "Extent2014", and change the "Output feature type" to "area". Press run

The output of this tool will be a vector of the 2014 NDSI reclassified raster with values of 1 and 0.

Convert 2.PNG

Then, with the Extent2014 layer displayed on the map, press the select feature's icon, and press on the glacier polygon within the layer. The selection should look like this:

Convert 3.png

Finally,


Time Series Change Detection with Landsat 8/9

Conclusion