A simple CLI interface to generate download urls for Landsat Collection 2 Level 1 product bundles
1.4K
landsatlinks offers a simple command line interface to retrieve download links for Landsat Collection 2 Level 1 product bundles through the USGS/EROS machine-to-machine API.
Features include:
User credentials to login to the USGS EarthExplorer interface are required. The user account needs to have access to the machine-to-machine API, which can be requested through the user profile here.
Python >= 3.6 is required.
Simply install using pip:
python -m pip install git+https://github.com/ernstste/landsatlinks.git
or download the Docker image here:
https://hub.docker.com/repository/docker/ernstste/landsatlinks
There are three mandatory arguments required to run the tool and several optional arguments that allow a more detailed search for scenes. Scroll down for a quick explanation of every argument. A call may look like this:

required arguments:
optional arguments:
A note on 'resuming':
Links are only valid for a certain time and then expire. If there is a large number of downloads, it's likely that not all files could be downloaded before the links expired. landsatlinks will check the filesystem (the directory where the 'results' file is stored and it's subdirectories) for downloaded products and only generate download links for scenes that weren't found in the file system. This should also work if the .tar archives have already been extracted. Note that this does not include a check to see if archives are broken or only partially downloaded.

Unfortunately, the API access is not always 100% reliable. Timeouts have been observed on and off, particularly when the size of the response grows. The requests are split into chunks of 1000 elements to mitigate issues. On a normal day this should work fine. It should be mentioned though that we've also seen days where this had to be reduced drastically or where it was simply not possible to get responses. Good luck :)
To keep things lightweight, this tool only allows a list of footprints (path/row) to define the area of interest. Don't know which footprints (path/row) you need? You can download the Landsat WRS-2 shapefile here or use the EOLab EO Grids Web Feature Service (WFS).
MIT
Content type
Image
Digest
sha256:0fe2d0231…
Size
113.1 MB
Last updated
over 1 year ago
docker pull ernstste/landsatlinks