Skip to main content

A utility to search, download and process Landsat 8 satellite imagery

Project description

Landsat-util
===============

.. image:: https://travis-ci.org/developmentseed/landsat-util.svg?branch=v0.5
:target: https://travis-ci.org/developmentseed/landsat-util

Landsat-util is a command line utility that makes it easy to search, download, and process Landsat imagery.

This tool uses Development Seed's `API for Landsat Metadata <https://github.com/developmentseed/landsat-api>`_.

This API is accessible here: https://api.developmentseed.org/landsat

You can also run your own API and connect it to this tool.

Installation
============

**On Mac**

.. code-block:: console

$: pip install landsat-util

**On Ubuntu 14.04**

Use pip to install landsat-util. If you are not using virtualenv, you might have to run ``pip`` as ``sudo``.

.. code-block:: console

$: sudo apt-get update
$: sudo apt-get install python-pip python-numpy python-scipy libgdal-dev libatlas-base-dev gfortran
$: pip install landsat-util

**On Other systems**

.. code-block:: console

$: python setup.py install


**To Upgrade**

.. code-block:: console

$: pip install -U landsat-util

If you have installed previous version of landsat using brew, first run:

.. code-block:: console

$: brew uninstall landsat-util

Overview: What can landsat-util do?
============
Landsat-util has three main functions:

- **Search** for landsat tiles based on several search parameters.
- **Download** landsat images.
- **Image processing** and pan sharpening on landsat images.

These three functions have to be performed separately.

**Help**: Type ``landsat -h`` for detailed usage parameters.

Step 1: Search
============

Search returns information about all landsat tiles that match your criteria. This includes a link to an unprocessed preview of the tile. The most important result is the tile's *sceneID*, which you will need to download the tile (see step 2 below).

Search for landsat tiles in a given geographical region, using any of the following:

- **Paths and rows**: If you know the paths and rows you want to search for.
- **Latidue and Longitude**: If you need the latitude and longitude of the point you want to search for.

Additionally filter your search using the following parameters:

- **Start and end dates** for when imagery was taken
- **Maximum percent cloud cover** (default is 20%)

**Examples of search**:

Search by path and row:

``$: landsat search --cloud 4 --start "january 1 2014" --end "january 10 2014" -p 009,045``

Search by latitude and longitude:

``$: landsat search --lat 38.9004204 --lon -77.0237117``


Step 2: Download
============

You can download tiles using their unique sceneID, which you get from landsat search.

Landsat-util will download a zip file that includes all the bands. You have the option of specifying the bands you want to down. In this case, landsat-util only downloads those bands if they are available online.

**Examples of download**:

Download images by their custom sceneID, which you get from landsat search:

``$: landsat download LC80090452014008LGN00``

Download only band 4, 3 and 2 for a particular sceneID:

``$: landsat download LC80090452014008LGN00 --bands 432``

Download multiple sceneIDs:

``$: landsat download LC80090452014008LGN00 LC80090452015008LGN00 LC80090452013008LGN00``

Step 3: Image processing
============

You can process your downloaded tiles with our custom image processing algorithms. In addition, you can choose to pansharpen your images and specify which bands to process.

**Examples of image processing**:

Process images that are already downloaded. Remember, the program accepts both zip files and unzipped folders:

``$: landsat process path/to/LC80090452014008LGN00.tar.bz``

If unzipped:

``$: landsat process path/to/LC80090452014008LGN00``

Specify bands 3, 5 and 1:

``$: landsat process path/to/LC80090452014008LGN00 --bands 351``

Process *and* pansharpen a downloaded image:

``$: landsat process path/to/LC80090452014008LGN00.tar.bz --pansharpen``


Important Notes
===============

- All downloaded and processed images are stored at your home directory in landsat forlder: ``~/landsat``

- The image thumbnail web address that is included in the results can be used to make sure that clouds are not obscuring the subject of interest. Run the search again if you need to narrow down your result and then start downloading images. Each image is usually more than 700mb and it might takes a very long time if there are too many images to download

- Image processing is a very heavy and resource consuming task. Each process takes about 5-10 mins. We recommend that you run the processes in smaller badges. Pansharpening, while increasing image resolution 2x, substantially increases processing time.

- Landsat-util requires at least 2GB of Memory (RAM).

Recently Added
++++++++++

- Add longitude latitude search
- Improve console output
- Add more color options such as false color, true color, etc.


To Do List
++++++++++

- Add Sphinx Documentation
- Add capacity for NDVI output
- Add alternative projections (currently only option is default web-mercator; EPSG: 3857)
- Connect search to Google Address API
- Include 16-bit image variant in output
- Add support for color correct looping over multiple compressed inputs (currently just 1)

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

landsat-util-0.5.0.tar.gz (7.4 MB view details)

Uploaded Source

Built Distributions

landsat_util-0.5.0-py2.py3-none-any.whl (7.4 MB view details)

Uploaded Python 2 Python 3

landsat_util-0.5.0-py2.7.egg (7.4 MB view details)

Uploaded Source

File details

Details for the file landsat-util-0.5.0.tar.gz.

File metadata

File hashes

Hashes for landsat-util-0.5.0.tar.gz
Algorithm Hash digest
SHA256 0846be66320314054140975b251bcbb0c39d0dc172d07f04d560a28639b22b6c
MD5 cc16b20a6b3b6eef52c2a4aaedd7e784
BLAKE2b-256 ba86ecba4fc78e3cbd598f8b3c1c03f526f3a0024ea8833c7817748eb5582197

See more details on using hashes here.

File details

Details for the file landsat_util-0.5.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for landsat_util-0.5.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a083371c799df272c1ec1ebe14341af85c30b48f756899a2605ef3bae2bf8638
MD5 4117b972dbd0dec08d958e2bc8d00255
BLAKE2b-256 a4ed111c3e654e852f87bb5aeb763c7f08c9d263793e80e96d1225238c3dc98a

See more details on using hashes here.

File details

Details for the file landsat_util-0.5.0-py2.7.egg.

File metadata

File hashes

Hashes for landsat_util-0.5.0-py2.7.egg
Algorithm Hash digest
SHA256 789928ed9f65287a4220cd1ef4b638bbcd8fd48cc7ef11f14551d056b9d6d248
MD5 c4cecfd886eadc9025fc71b5bbc797aa
BLAKE2b-256 63918537a945cb454e84dc1ae21db89350e58c5b6307d6e18e45291a29abe826

See more details on using hashes here.

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