An object oriented method for working with the USGS EE machine-2-machine API v1.5
Project description
USGS Python API
An object oriented wrapper around the USGS Earth Explorer JSON API (v1.5.x). The primary objective of this API is to provide a convenient method of requesting and downloading scenes from EE datasets, including robust metadata where available.
API Documentation
https://cast.git-pages.uark.edu/transmap-hub/usgs/usgs/
Prerequisites
- Must have an Earth Explorer account: https://earthexplorer.usgs.gov
- The EE account must have M2M accesss, requested here: https://ers.cr.usgs.gov/profile/access (you will need to wait for approval)
Installation and Setup
Three methods for using your username and password
- Using a
.env
file
EE_USER="user_name"
EE_PASS="user_pass"
- Set your environment variables manually
$ export EE_USER="user_name"
$ export EE_PASS="user_pass"
- During each execution you will be prompted for your user:pass if one of the above two options are not set
- Hard code within script (not recommended) - see below
Installation (development)
$ pipenv install
$ pipenv run python ./example.py
Basic API structure
To query a specific item, like a dataset
or a scene
, you need to construct a Query
object from that namespace (dataset.Query
, scene.Query
) and pass that to the Api
with either a fetch
or fetchone
. This will return a Model
or List[Model]
of that type (dataset.Model
, scene.Model
)
Initialize the API
from usgs_api import Api
api = Api.login()
### If you want to directly type your user:password you can use
api = Api(username="user_name", password="password")
Query a dataset by name
dataset = api.dataset(datasetName="corona2")
Start a scene cursor with a list of scenes
scene_cursor = dataset.scenes()
Collect only available scenes to queue for download
downloadable = scene_cursor.downloadable
Iterate the cursor to collect more scenes
downloadable += scene_cursor.next().downloadable
Enqueue the scenes for download from the Api
api.download(scenes)
Start the download and automate the extraction
api.start_download(extract=True)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for usgs_m2m_api-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 377a8f345dcae49f02f03ba3b6fee2ffbc4659203013e9679943c80d4a48eacb |
|
MD5 | b57ce76e09b3b55413951eab73fbc762 |
|
BLAKE2b-256 | 8c88d26963c44be45daf540d7c64cb511e40742a43467b9ad7360e95c513111b |