Today I wanted to show how to create natural color RGB composite images from Landsat 8 data using Python (interested in the code?–scroll to the bottom of the post).

As a use case, I decided to look at a series of Landsat 8 images before and after Hurricane Irma ripped through the Caribbean this past September. All of the images below were created in Python by creating RGB composite TIFF files with the following band designations:

R = Band 4, G = Band 3, B = Band 2.

Our first image comes from August 11th, 2017.

Above, notice the island nation of Antigua (below) and Barbuda (above) in the right-center portion of the Landsat 8 scene. Further south, towards the bottom of the image, is Montserrat. Located near the center of the image, mostly obscured by clouds is St. Kitts & Nevis. In the upper left hand corner of the scene are Saint Barthelemy, St. Martin, and Anguilla.

Fast forward to August 27th, and the mostly cloud-free Landsat 8 natural color composite is showing the lush vegetations on these islands in dark green.

Hurricane Irma moved through these islands on September 6th. The devastation on islands such as Barbuda was described as ‘total destruction’. Some of the after-effects of of the Hurricane can be seen in the next Landsat observation, from September 12th.

In the image above, notice the contrast between the northern islands in the image, which took a direct hit from the hurricane, with the still-green islands further south. Islands such as Barbuda and Anguilla appear brown from vegetation being destroyed, likely from high winds and salt water contamination.

The final Landsat observation below is from September 28th.

Again, a stark contrast exists between the northern islands in the scene in shades of brown and the southern islands in shades of green.

Want to see Landsat 8 natural color composites for another part of the world? Feel free to contact me!

Interested in the code used to generate these images? Check out the Jupyter Notebook below: