deafrica_tools.app.changefilmstrips

This file contains functions for loading and interacting with data in the change filmstrips notebook, inside the Real_world_examples folder.

Available functions:

run_filmstrip_app

Last modified: October 2021

Functions

run_filmstrip_app(output_name, time_range, …)

An interactive app that allows the user to select a region from a map, then load Digital Earth Africa Landsat data and combine it using the geometric median (“geomedian”) statistic to reveal the median or ‘typical’ appearance of the landscape for a series of time periods.

deafrica_tools.app.changefilmstrips.run_filmstrip_app(output_name, time_range, time_step, tide_range=(0.0, 1.0), resolution=(- 30, 30), max_cloud=0.5, ls7_slc_off=False, size_limit=10000)

An interactive app that allows the user to select a region from a map, then load Digital Earth Africa Landsat data and combine it using the geometric median (“geomedian”) statistic to reveal the median or ‘typical’ appearance of the landscape for a series of time periods.

The results for each time period are combined into a ‘filmstrip’ plot which visualises how the landscape has changed in appearance across time, with a ‘change heatmap’ panel highlighting potential areas of greatest change.

For coastal applications, the analysis can be customised to select only satellite images obtained during a specific tidal range (e.g. low, average or high tide).

Last modified: April 2020

Parameters
  • output_name (str) – A name that will be used to name the output filmstrip plot file.

  • time_range (tuple) – A tuple giving the date range to analyse (e.g. time_range = (‘1988-01-01’, ‘2017-12-31’)).

  • time_step (dict) – This parameter sets the length of the time periods to compare (e.g. time_step = {‘years’: 5} will generate one filmstrip plot for every five years of data; time_step = {‘months’: 18} will generate one plot for each 18 month period etc. Time periods are counted from the first value given in time_range.

  • tide_range (tuple, optional) – An optional parameter that can be used to generate filmstrip plots based on specific ocean tide conditions. This can be valuable for analysing change consistently along the coast. For example, tide_range = (0.0, 0.2) will select only satellite images acquired at the lowest 20% of tides; tide_range = (0.8, 1.0) will select images from the highest 20% of tides. The default is tide_range = (0.0, 1.0) which will select all images regardless of tide.

  • resolution (tuple, optional) – The spatial resolution to load data. The default is resolution = (-30, 30), which will load data at 30 m pixel resolution. Increasing this (e.g. to resolution = (-100, 100)) can be useful for loading large spatial extents.

  • max_cloud (float, optional) – This parameter can be used to exclude satellite images with excessive cloud. The default is 0.5, which will keep all images with less than 50% cloud.

  • ls7_slc_off (bool, optional) – An optional boolean indicating whether to include data from after the Landsat 7 SLC failure (i.e. SLC-off). Defaults to False, which removes all Landsat 7 observations > May 31 2003.

  • size_limit (int, optional) – An optional integer (in hectares) specifying the size limit for the data query. Queries larger than this size will receive a warning that he data query is too large (and may therefore result in memory errors).

Returns

ds_geomedian – An xarray dataset containing geomedian composites for each timestep in the analysis.

Return type

xarray Dataset