Sentinel Data Download
We will start the lab today by downloading some data you will need for this week’s assignment; once we start the download, we will move on to the rest of the lab while it downloads.
Sentinel data can be downloaded from the European Space Agency Data Hub:
Log in to this site with the account you created in the last lab; once you are logged in, pan somewhere on the map that you find interesting, it could be a city, a mountain, a favourite vacation spot. Regarding area, look for somewhere that will fit within a single tile but not zoomed in so close the resolution is poor (pixels are 20m in the multispectral bands!) You will be using the data you download for the homework at the end of the lab. The image below shows the tile over prince George as a reference for scale.
Once you are over your area of interest, change the map into ‘area mode’ by using the toggle in the upper right corner and draw a selection over your area.
*More information about Sentinel Products is available here: https://sentinels.copernicus.eu/web/sentinel/user-guides/sentinel-2-msi/product-types/level-2a
Once you pick a tile that you are interested you can click on the eye if you wish to take a closer look before downloading once you are confident in your selection, you can press download.
We will let this download in the background while proceeding with today’s lab.
Housekeeping when downloading data:
By default your web browser has likely saved your files in C:\users\<user>\Downloads, once your files have completed downloading, please extract the zip onto your K: drive, once you confirm it has unzipped properly delete the zip from your downloads folder. Our C: drives are limited in size..
Loading and clipping Sentinel Data with PCI
The data we are using for this lab is in L:\GEOG457\Lab2\terrace_imagery.
Open a focus window in PCI Catalyst, navigate through the sentinel folder (into the folder created by unzipping the sentinel data (ending in SAFE)), and open the manifest file. You will be prompted to open data based on its resolution – open the 10-metre data. You will be presented with the visual band data in the “natural look” 4-3-2. Play with the data using the NIR band to see changes in the presentation.
If we were to perform classification with this 10-metre data, what would be missing compared to Landsat data? What features could be more difficult to classify?
Building a Multi Spectral Sentinel-2 Data Set
Using both 10 metre and 20-metre resolution data, we will make a Sentinel dataset with visual bands, SWIR and NIR, approximating OLI data but with Sentinel resolution(s).
These steps produce a pix file containing all the Sentinel-2 bands at a common resolution.
20-metre Resolution dataset
Load in the original SAFE file for Sentinel-2 with both 10 metre and 20-metre data
Clip the 20-metre data to a region containing Terrace and surrounding lakes with a size of 3000X3000 pixels.
To perform this operation using the Clipping/Subsetting tool in the Tool Menu. To define the clip region, use user-entered Coordinates for Method and Raster offset/size for Type. You can then manipulate the red box to your desired coverage and save the file as a .pix in your K: drive (file 1).
Clip the 10-metre data using the extent from the 20-metre data previously clipped (file 1), saving it to a new file (file 2).
Use the RESAMP algorithm to resample the 10-metre data (file 2) into a new 20-metre resolution file (file 3).
Now use the transfer layers utility to move this newly created 20-metre data (file 3) into the original 20-metre clip file (file 1).
At this stage, you should have three pix files in Your K drive
- Sentinel data with 10 bands at 20-metre resolution
- Sentinel data with 6 bands at 10-metre resolution
- Sentinel data with 6 bands at 20-metre resolution
To clean up our workspace, open the Files tab and remove all files except file 1 from the project by right-clicking on the files and selecting Remove.
How do we create a 10-metre resolution dataset using the same tools as above? What additional tool might we use?
At the beginning of this lab, we downloaded S2MSI2A; product 2A already has atmospheric corrections applied; however, if you download scenes that predate 2018, you may need to use product 1C and complete these operations. As is the case of the Terrace data we are using in this lab, we must perform these corrections.
Open the TOA wizard (Analysis –> Atmospheric Correction -> Top of the Atmosphere Reflectance) and select your subsetted pix file for the Sentinel data. Keep all the defaults and create an output directory(s) to put the results in (maybe atmospheric_correction/toa). Review the results from the TOA correction; what do You notice about the TOA layer compared to the original layer?
Next, remove haze from the image (Analysis –> Atmospheric Correction -> Haze Removal and Cloud Masking). Notice this time, we have two pages of settings set your input file and output folder on page 1 and ensure that it is set to compute Cloud Masking and Waster Masking. You should see a noticeable change in image quality when looking at this image.
Finally, computer the Ground Reflectance (Analysis –> Atmospheric Correction -> ATCOR – Ground Reflectance). In this wizard, you have a choice; you may either use the haze removed image as the input or deselect Perform Haze Removal or use the original image, leaving haze removal enabled.
Principal Component Analysis
Now let us try a Principal Component Analysis. PCA is a function in the Algorithm Toolbox. You will include all channels as inputs and write out the same number of Eigenchannels. Set the Output Port to Viewer-Grayscale and set the report to ‘long’.
What happened here!! What order a the PCA Eigenchannels loaded into Focus?
Let’s examine sample log files below.
Run PCA PCA 2222 EASI/PACE 14:25 13Jan2022 C:\Users\Matt\AppData\Local\Temp\11224183.tmp Input Channels: 1 2 3 4 5 6 7 8 9 10 Output Channels: 11 12 13 14 15 16 17 18 19 20 Eigenchannels : 1 2 3 4 5 6 7 8 9 10 Sample Size : 9000000 Channel Mean Deviation 1 812.172 912.86 2 1959.93 1047.77 3 2251.3 1150.41 4 1115.57 625.698 5 2767 1179.38 6 549.487 442.608 7 520.59 958.455 8 470.191 958.371 9 705.704 990.537 10 2459.93 1238.55
Covariance Matrix for input channels: 1 2 3 4 5 6 7 8 9 10 +---------------------------------------------------------------------------------------------------------------------------------------------------------------- 1| 8.333e+05 2| 6.698e+05 1.098e+06 3| 5.633e+05 1.171e+06 1.323e+06 4| 1.245e+05 2.533e+05 2.957e+05 3.915e+05 5| 4.492e+05 1.106e+06 1.282e+06 3.243e+05 1.391e+06 6| 1.34e+05 1.099e+05 1.023e+05 2.535e+05 9.276e+04 1.959e+05 7| 8.217e+05 5.39e+05 3.957e+05 2.181e+04 2.538e+05 8.796e+04 9.186e+05 8| 8.362e+05 5.965e+05 4.647e+05 5.127e+04 3.336e+05 9.961e+04 9.131e+05 9.185e+05 9| 8.615e+05 5.665e+05 4.191e+05 6.52e+04 2.749e+05 1.239e+05 9.424e+05 9.412e+05 9.812e+05 10| 5.259e+05 1.188e+06 1.354e+06 3.186e+05 1.358e+06 1.022e+05 3.688e+05 4.498e+05 3.904e+05 1.534e+06
Eigenchannel Eigenvalue Deviation %%Variance 1 6.362e+06 2522 66% 2 2.497e+06 1580 26% 3 4.932e+05 702.3 5.1% 4 1.077e+05 328.2 1.1% 5 7.826e+04 279.8 0.82% 6 2.865e+04 169.3 0.3% 7 7596 87.16 0.079% 8 5346 73.11 0.056% 9 3547 59.55 0.037% 10 2384 48.83 0.025%
Eigenvectors of covariance matrix (arranged by rows): 0.291 0.4047 0.4198 0.0973 0.3976 0.05126 0.2569 0.2768 0.2696 0.4356 0.3247 -0.1071 -0.2625 -0.1031 -0.3607 0.02127 0.4431 0.412 0.4533 -0.3186 0.08101 -0.05929 -0.07808 0.783 -0.03944 0.5944 -0.06526 -0.04115 0.0383 -0.09169 0.2877 0.2265 0.1864 -0.03408 0.426 -0.05372 -0.09593 -0.1077 -0.07255 -0.7872 0.09134 0.4521 0.4718 -0.04169 -0.7155 0.0745 -0.1012 -0.1501 -0.08475 -0.07459 -0.7885 -0.0272 0.3653 0.09479 0.04582 0.02653 0.3164 0.1846 0.1605 -0.2692 -0.1608 0.5975 -0.4682 0.2776 -0.02988 -0.2933 0.1397 0.2777 -0.3696 -0.02685 0.2451 -0.4442 0.3544 0.3813 -0.1028 -0.4808 0.214 0.1545 -0.4002 -0.003965 -0.04339 0.08865 -0.07248 0.3589 -0.0406 -0.5493 -0.1149 -0.43 0.5956 0.0104 -0.05183 -0.05118 0.08926 0.0613 -0.04177 -0.1244 -0.7317 0.6308 0.1753 -0.0426
The log is split into four sections.
- Information about the dataset we are using
- Covariance Matrix: This is a table showing the level of similarities between input channels. This input was from the 10m Sentinel bands, any theory why band 4 has the lowest covariance?
- Eigenchannel Statistics: This is showing us a summary of how much of the data each eigenvalue represents. For our purposes we are interested in maximising the Variance that can be explained by the fewest number of channels.
- Eigenvectors: In mathematical terms an image is simply a matrix, with dimensions of x, y, and number of band, taking the input image and calculating the product of the Eigenvectors produces the PCA Channels. As such we can examine the magnitudes of values to see how much each input channel affects each component. To do this we will consider the absolute values in the table. In the case above we would say that Channel 3 has the biggest influence on component 1 (Channels 1 and 2 are very close), and component 2 is most influenced by band 4.
The Tasseled Cap Transform
The Tasseled Cap Transform (Kauth, R. J. and Thomas, G. S. 1976, https://docs.lib.purdue.edu/cgi/viewcontent.cgi?article=1160&context=lars_symp) is very closely related to PCA. However, the defining characteristic is that the EigenVectors do not change from scene to scene.
Use the ‘TASSEL’ Algorithm on Your ATCOR file.
Each band is set individually for this algorithm, select input bands, and compare the micron range in the input description and layer name. Next, choose desired Output Ports and select the sensor as Sentinel n the Input Params 1 tab 2.
The output is three bands often referred to as Brightness, Greenness, and Wetness.
To give us something to compare to open Tools -> Raster Calculator, and Calculate an NDVI from your ATCOR file and output as a 32bit real channel on the Display. (Note that your bands may be in a different order, the expression should be equivalent to (NIR – Red) / (NIR + Red)).
Which of the three Tassle bands is most similar to the NDVI you created? You may want to play with View -> Visualization Tools to compare layers.
And why are these the most similar?
Assignment (3 Points)
- (1 Point) Create a 10 metre Resolution data set from the Scene you downloaded using all bands, submit a screen shot of your favorite band combination (other than RGB), and one sentence describing why you chose that combination. Clarification: In the lab we created a file with all 10 bands at 20m resolution, here we are creating a file with all 10 bands at 10m resolution. Use either RESAMP or PANSHARP to convert the data to 10m.
- (1 Point) Compute a Principal Component Analysis on the 10 metre dataset created above, paste the log into your submission and answer the following questions
- How many Eigenchannels do you need to capture 75% of the variance in your data?
- How many Eigenchannels do you need to capture 98% of the variance in your data?
- Which band has the greatest influence on the first Eigenchannel?
- (1 Point) Describe the differece between PCA and Tassle Cap, for each method describe a situation that it would be the superior method, and what the advantage is.
Submission is due before the start of next week’s lab.