Public Lab Research note

How to download and analyze Landsat imagery

by donblair , karenv , nedhorning | July 14, 2014 22:55 14 Jul 22:55 | #10690 | #10690

donblair was awarded the Basic Barnstar by warren for their work in this research note.

Video tutorial

This morning, Ned Horning provided a tutorial on downloading Landsat imagery to Cape Cod Baywatch. Cape Cod Baywatch's specific interest is in acquiring thermal imagery of the Cape Cod Bay, in order to assess the environmental impacts of the thermal plume caused by the Plymouth nuclear power plant; but there are many other applications for Landsat imagery in the Public Lab community, too. The tutorial, linked to below, covers:

  • Navigating to the USGS satellite imagery archive website:
  • Locating a preview of the Landsat imagery for a specific historical date, and location
  • Registering on the site, to enable downloading the high resolution image layers (visible band, thermal, etc)
  • Selecting and downloading the imagery
  • Opening up the images in a QGIS (open source GIS software)
  • Changing display settings (contrast, false color) in order to highlight features of interest (in this case, a thermal plume in the Bay water)
  • Extracting information from the image metadata in order to correlate thermal image brightness levels with temperature

Here it is:

Details on temperature calibration

As a follow-up, Ned sent along the following information:

As far as calculating brightness temperature you can use these two equations:

Top of the atmosphere radiance: TOA Radiance = DN * RADIANCE_MULT_BAND_10 + RADIANCE_ADD_BAND_10

DN is the pixel values in the image.

Here is the formula that I used in QGIS Raster Calculator: "LC80120312014173LGN00_B10@1" * 0.0003342 + 0.1

You would replace "LC80120312014173LGN00_B10@1" with your image.

To calculate brightness temperature use this equation:

T = K2_CONSTANT_BAND_10 / (ln((K1_CONSTANT_BAND_10 / TOA Radiance) + 1))

If you want to combine both of these so you only have to run it once the equation is: T = K2_CONSTANT_BAND_10 / (ln((K1_CONSTANT_BAND_10 / (DN * RADIANCE_MULT_BAND_10 + RADIANCE_ADD_BAND_10)) + 1))

Here is the formula that should work in the QGIS Raster Calculator but it doesn't since it appears that the natural logarithm, "ln", isn't supported yet in this new version of the raster calculator. The user guide mentions that it will be supported in a future release.

1321.08 / ln(774.89 / ("LC80120312014173LGN00_B10@1" * 0.0003342 + 0.1) + 1)

Next steps ...

Next, we're hoping to dig more into pulling out meaningful temperature values from the thermal images, and talking with Ned more about developing scripts (in R, say) that go some way towards automating some of the analysis we'd like to do on the images.


Thanks to Ned for a great, easy-to-understand tutorial! And for the great discussion and ideas generated by Karen, Pine, Alex, and Adam.

I did this Help out by offering feedback!

People who did this (1)


Thanks so much again, @nedhorning and everyone at Cape Cod Baywatch!

Reply to this comment...

looping in @karenv!

Reply to this comment...

Thanks to Don for setting this up, and thanks to Ned for the amazing tutorial. We're excited to start working with the thermal images - the possibilities seem endless!

Reply to this comment...

Yes! We should loop in some folks from FarmHack, too -- @dorncox and others have lots of good ideas around using Landsat imagery ...

Reply to this comment...

This is fantastic!!! Are there ways to automate downloads from the glovis website instead of going to the website each time? And it was mentioned that you could also use photoshop to work with images? Are there any research notes on that process?

Is this a question? Click here to post it to the Questions page.

Reply to this comment...

I was wondering if @davidmanthos knows a bit about how to access this in an easier way - David, is there a way to get a TMS or even WMS of the Landsat thermal data? To colorize it we could pipe it through a version of Infragram which runs as a proxy service. Leaflet.infragram.js would be a great plugin!

Is this a question? Click here to post it to the Questions page.

Reply to this comment...

Reply to this comment...

I don't know enough about Google Earth Engine, but they are working on ways to make Landsat imagery, or at least 8-day composites, more accessible for big processing efforts.

Reply to this comment...

API for downloading LANDSAT from friends at Development Seed! @nicholas @lprashad

Reply to this comment...

yahoo!!!!! I'm going to give this a go and will write a research note on the outcomes...

Reply to this comment...

new announcement: Landsat 8 data is available for anyone to use via Amazon S3.

Reply to this comment...

Login to comment.