The Shrinking Great Salt Lake: A Visual Time-lapse
In this project we use Google Earth Timelapse images of the Great Salt Lake between 1984 and 2022 to create a time-lapse visualization of the lake's changing boundaries and to then compute the area of lake over time. We primarily use python's OpenCV library to extract the lake's boundaries from the images and then compute the area of the lake.
The scrollable animation concept is inspired by visualizations in the The New York Times.
Final results first ...

Process
Let's examine the process involved in deducing the lake's boundaries from satellite imagery.

An individual image frame from Google Earth Timelapse
Channel selection
The original image has Red, Green and Blue Channels. We need to select the channel that has the highest contrast between the lake and the surrounding land. We do this sort of manually given that we only have 3 channels to choose from and no near infrared. We find that the blue channel has the highest contrast between the lake and the surrounding land. So we extract the blue channel from the original image and carry out the image analysis on this channel. At the end, we apply the boundaries back to the original images.

Left: Extracted blue channel image, with a mask applied that corresponds to the lake's boundaries in 1984. Right: The same image with thresholding applied to reveal exposed land (within the bright green polygons).
Baseline year and lake boundaries
1984 being the first year of our images, we select it as our baseline year. Then we apply thresholding to the blue channel to get the lake's boundaries. Again, this step is done manually. If we have access to more information such as a digital elevation models, we can use that to automatically determine the lake's boundaries.
Once we have determined a suitable threshold, then we create a mask for the lake's boundaries in 1985. We then use this mask to extract the lake's boundaries from the original set of images.
Computing areas
Applying the mask to the images now gives us the lake's maximum extent for each year. Within the mask, we then find the lake boundaries in each year. In practice it may be easier to find the exposed land boundaries, depending on the contrast in the images. Subtracting the total area of the exposed land from the total area of the lake, we can get the area of the lake for each year.
Applying boundaries to images
To show explicitly how the boundaries have changed over time, we apply the boundaries from our blue channel onto the original images.

Exposed land polygons applied to the original image. Bright green polygons enclose exposed land.
Trend
We can now plot the change in area of the lake over time.
The quasi-periodic fluctuations in the lake's are are due to variations in precipitation.
Here is a great article on how climate change has altered the Great Salt Lake.
Code Base
All work demo'd here, front and back end, was done by me.
You can find the code base for this project here.