Assignment 5#
Due: Wednesday Oct 16th at 11:59 pm ET
This assignment is only required for those registered at 200-level. If you are a 300-level student, you are highly encouraged to complete the assignment and ask any question during the class or office hours.
The goal of this assignment is to query a STAC API and find satellite imagery given some search parameters.
You should submit this assignment to your existing geog213-assignments
GitHub repository under a new directory named assignment-5
.
Create a Dockerfile with all required packages to complete the following task, and following best practices covered in the class. After you complete your notebook, (re)build the Docker image, and publish it on your Docker Hub account.
Search for Satellite Imagery#
For this part, you will use the Earth Search STAC API available at: https://earth-search.aws.element84.com/v1
. Develop a Jupyter Notebook (name it s2_query.ipynb
) that implements the following using this API:
Connects to the API and prints out the
title
property of all the available collections.Retrieves the number of scenes from
sentinel-2-l2a
collection that intersects with the following point, and are acquired between January 1st, 2024 and September 30th, 2024:point_of_interest_latitude = -2.1334
point_of_interest_longitude = 33.8663
Plots a histogram of the percent vegetation cover present in each scene across all the scenes from the step 2 query. Use 5 as the number of bins for the histogram plot. (vegetation classification is recorded in the
s2:vegetation_percentage
property in the STAC catalog)Returns the
id
of all scenes that follow the query parameters identified in step 2, and have less than 5% pixels covered by cloud and more than 25% of the pixels classified as water.
Documentation#
Include a README
in your assignment-5
directory with all the steps a user needs to follow to pull your Docker image from Docker Hub, run a container, and execute the notebook to complete the query.