Skip to main content

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

Installation and Setup

Three methods for using your username and password

  1. Using a .env file
EE_USER="user_name"
EE_PASS="user_pass"
  1. Set your environment variables manually
$ export EE_USER="user_name"
$ export EE_PASS="user_pass"
  1. During each execution you will be prompted for your user:pass if one of the above two options are not set
  2. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

usgs-m2m-api-0.2.0.tar.gz (16.9 kB view hashes)

Uploaded Source

Built Distribution

usgs_m2m_api-0.2.0-py3-none-any.whl (22.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page