ESPA Tools

Documentation Status PyPI Build Status Documentation Built by gendocs GitHub

An open-source Python package for simple loading of Landsat imagery as NumPy arrays. When downloading Landsat imagery from USGS Earth Explorer, the datasets contain many bands (.tif files) and a few metadata files (.txt and .xml files). espatools is built to parse the .xml metadata file to read all of the bands for that dataset and provide a convenient and intuitive means of accessing that metadata along side the raw data in a Python environment. espatools can be found on GitHub and PyPI.

Collage of RGB colors


  • The package heavily uses properties for the creation of strongly typed objects in a consistent, declarative way.
  • PVGeo has implemented an interface for espatools to read Landsat imagery via XML metadata files. Check out PVGeo’s Landsat Reader for more details.

Getting Started

espatools is available from PyPI

$ pip install espatools


We think espatools is easy to use; give it a try and let us know what you think as this is just the alpha-release!

  1. First, take a look at this example for PVGeo where espatools has an interface for direct use in ParaView.
  1. Then checkout this Jupyter Notebook for a demonstration of some simple plotting after reading Landsat imagery in a Python environment.

Example False Color

import espatools
import matplotlib.pyplot as plt

# Create the reader to manage I/O
reader = espatools.RasterSetReader(filename='metadata.xml')

# Perform the read and yield a raster set
raster = reader.Read()

# Get an RGB color scheme
color = raster.GetRGB('false_a')

# Now plot the false color image

The results of the above code yield the following false color image:

RGB False Color