Revealing Motion with Satellite Imagery
By: Bob Hammell
Tags: Satellite Technology, Remote Sensing, Geospatial, Python, Satellite Imagery

Revealing Motion with Satellite Imagery

Cloud movement as seen from PlanetScope imagery (Image by Author)

This article gives an overview of my planet-movement project, demonstrating how to find and process pairs of Planet images to highlight rapid change. See the project code here.

Satellite imagery is used extensively to monitor changes that are happening everywhere on Earth. From observing the health of crops throughout a season, to tracking the melting of glaciers over the course of a decade, this imagery can be used to chronical how objects on Earth change over time.

Google Timelapse Interface (Image by Author)

Google recently released Timelapse, an interactive tool showcasing some of the long term changes that have been captured from years of satellite imagery.

The length of time between when a satellite can capture successive images over the same spot on earth is referred to as a ‘revisit rate’. Historically this rate has been on the order of days to weeks for most places on earth, determined by the periodic orbit of single imaging satellites. Revisit rates of this length are useful for tracking long term changes, but would miss capturing any action that occurs over a shorter period of time.

Newer commercial imagery providers, such as Planet, are instead using constellations of small satellites which work together to collect images on a much shorter timescale. Their PlanetScope constellation images the entire Earth every day, and their SkySat satellites can image the same spot on Earth in under an hour. These shortened revisit rates provide new insights into more rapidly changing events.

Still, there are events on Earth happening too quickly to be captured at even these rates. However, one opportunity for change detection on a much shorter timescale exists within Planet’s already collected imagery.

‘2 Second’ Revisit Rate

Planet’s PlanetScope images are collected in a linear flight scan, where a new image is collected periodically, every couple of seconds, as an individual satellite moves along its orbital path. Due to the timing of when each image is taken, and how far the satellite has traveled, back-to-back images within the scan each contain a small amount of geographical overlap between them.

The image below shows an example of this. The left and middle show two images captured in a flight scan a few seconds apart, with their geographic footprint highlighted in red. The right shows an overlay of both images, and highlights the sliver of overlap between them in green.

A pair of PlanetScope images with their overlap highlighted in green (Image by Author)

This overlapped area, which is being captured twice over in the spance of ~2 seconds, is essentially providing a ‘2 second’ revisit rate for this portion of the Earth. The opportunity to see much quicker changes exists where this overlap is captured.

Finding Image Pairs

Where this overlap occurs on a given flight scan is completely fortuidous. There is no planning by Planet on where these overlaps happen, so having them occur over a specific area of interest is just luck and never a guarentee.

In order to help find and process pairs of images that exhibit this overlap, I’ve developed the planet-movement project. It contains Python scripts that include functions for filtering Planet API search results to identify image pairs, and for processing images into visual outputs.

This code can be used to search a specific geospatial region to find if any overlap pairs exists there, and after downloading the images from Planet, processes them by cropping out the overlapped region and creating a GIF animation flipping between the two images.

The animated output makes for an easy to interpret visualization, with the changes between the two images naturally perceived by our eyes as the images flicker back and forth.

View Planes Taking Off

Below are examples of the types of events that can be captured by this process. The GIF animations here show movement of objects on the ground that is typically never seen when working with remote sensing imagery.

This first pair of images was captured over San Francisco Airport and reveals the motion of multiple planes. One airplane is seen mid-takeoff while another one taxis on the runway.

Airplane takeoff at San Francisco Airport (Image by Author)

Another image pair over the same airport shows two airplanes taxing at different rates of speed, as well as the motion of cars on a nearby highway.

Airplane taxiing and car movement in San Francisco (Image by Author)

This image pair was captured over a wind farm. Here the shadows from the turbines’ blades reveal that they have spun in the few seconds between the images. The movement of clouds and their shadows can also be observed.

Cloud movement and turbine shadow (Image by Author)

In this pair of images over San Francisco Bay you can see the movement of two boats as well as cars on the highway.

Boat and car movement in San Francisco (Image by Author)

Each of these image pairs demonstrates a different object motion that is typically never observed when just viewing static satellite imagery. The added context that this movement provides can give greater insights into what exactly is happening in the places being monitored.

In the near future satellites providing video from space will become more prevalent and better provide the benefits seen here. However, since this process works with Planet’s PlanetScope images, which are still routinely collected, it will remain an option for analyzing this motion where it can be found.