Calculating satellite image cloud cover
Satellite images give us a powerful bird’s-eye view of Earth. They are useful for a variety of purposes, which we saw in Chapter 7, Python and Remote Sensing. However, they have one flaw—clouds. As a satellite passes around Earth and collects imagery, it inevitably images clouds. And in addition to obstructing our view of Earth, the cloud data can adversely affect remote sensing algorithms by wasting CPU cycles on useless cloud data, or skew the results by introducing unwanted data values.
The solution is to create a cloud mask. A cloud mask is a raster that isolates the cloud data in a separate raster. You can then use that raster as a reference when processing the image in order to avoid cloud data, or you can even use it to remove the clouds from the original image.
In this section, we’ll create a cloud mask for a Landsat image using the rasterio
module and the rio-l8qa
plugin. The cloud mask will be created as a...