/sentinelhub-py

Download and process satellite imagery in Python using Sentinel Hub services.

Primary LanguagePythonMIT LicenseMIT

Package version Conda version Supported Python versions Build status Docs status Overall downloads Last month downloads Code coverage

Description

The sentinelhub Python package allows users to make OGC (WMS and WCS) web requests to download and process satellite images within your Python scripts. It supports Sentinel-2 L1C and L2A, Sentinel-1, Landsat 8, MODIS and DEM data source.

The package also supports obtaining data from Amazon Web Service. It can either provide data from public bucket with Sentinel-2 L1C imagery or requester pays bucket with Sentinel-2 L2A imagery. If specified the downloaded data can be stored in ESA .SAFE format (all types of .SAFE format are supported).

Installation

The package requires a Python version >= 3.6 and installed C/C++ compiler. The package is available on the PyPI package manager and can be installed with

$ pip install sentinelhub --upgrade

Alternatively, the package can be installed with Conda from conda-forge channel

conda install -c conda-forge sentinelhub 

To install the package manually, clone the repository and

$ python setup.py build
$ python setup.py install

Before installing sentinelhub-py on Windows it is recommended to install package shapely from Unofficial Windows wheels repository

Once installed or updated the package can be configured according to instructions in documentation.

Content

OGC web service

Some of the major features are linked to one's Sentinel Hub account:

  • support for Web Map Service (WMS) and Web Coverage Service (WCS) requests using your Sentinel Hub account;
  • support for standard and custom multi-spectra layers, such as unprocessed bands, true color imagery, or NDVI;
  • support for multi-temporal requests;
  • support for cloud coverage filtering;
  • support for different Coordinate Reference Systems;
  • support to read and write downloaded data to disk in the most common image and data formats;
  • support for various data sources:
    • Sentinel-2 L1C,
    • Sentinel-2 L2A,
    • Sentinel-1,
    • Landsat 8,
    • MODIS,
    • DEM.

AWS data download

The package allows to download Sentinel-2 data from Sentinel-2 on AWS and reconstruct data into ESA .SAFE format.

The following are implemented:

  • support for Sentinel-2 L1C and Sentinel-2 L2A data;
  • support of old and new (i.e. compact) .SAFE format;
  • support for downloading of either entire product, or a map of the .SAFE structure only;
  • support of command lines entries;
  • adjustable threaded downloads, and optional redownloads of existing data (not default);
  • requires either S-2 product ID, or tile name and date of a product.

In case of Sentinel-2 L2A data AWS access key is required.

Documentation

For more information on the package and to access the documentation, visit readthedocs.

Examples

Jupyter notebooks on how to use the modules to execute OGC requests, or download raw data from AWS in .SAFE format can be found in the examples folder, or viewed in the docs:

  • Using OGC web services (link)
  • Using utilities for large geographical areas (link)
  • AWS data download (link)
  • AWS data download from command line in .SAFE format (link)

Blog posts

Questions and Issues

Feel free to ask questions about the package and its use cases at Sentinel Hub forum or raise an issue on GitHub.

You are welcome to send your feedback to the package authors, Sentinel Hub research team, through any of Sentinel Hub communication channel.

License

See LICENSE.