Skip to main content

Landsat raster file I/O

Project description

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.
  • This package implements a way to convert these datasets to a PyVista dataset (vtkImageData).
  • 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, checkout this Jupyter Notebook for a demonstration of some simple plotting after reading Landsat imagery in a Python environment.
  1. And take a look at the .to_pyvista() method on RasterSet objects to have a 3D dataset of the imagery in PyVista/VTK
  2. Then take a look at the Landsat Reader in PVGeo’s documentation where espatools has an interface for direct use in ParaView.

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 =

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

# Now plot the false color image

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

RGB False Color

You can also view the dataset in 3D using PyVista:

mesh = raster.to_pyvista()
mesh.plot(scalars='false_a', rgb=True, cpos='xy')

Project details

Download files

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

Files for espatools, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size espatools-0.1.1.tar.gz (9.7 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page