dea_tools.landcover
Plotting and animating Digital Earth Australia Land Cover data.
License: The code in this notebook is licensed under the Apache License, Version 2.0 (https://www.apache.org/licenses/LICENSE-2.0). Digital Earth Australia data is licensed under the Creative Commons by Attribution 4.0 license (https://creativecommons.org/licenses/by/4.0/).
Contact: If you need assistance, please post a question on the Open Data Cube Discord chat (https://discord.com/invite/4hhBQVas5U) or on the GIS Stack Exchange (https://gis.stackexchange.com/questions/ask?tags=open-data-cube) using the open-data-cube tag (you can view previously asked questions here: https://gis.stackexchange.com/questions/tagged/open-data-cube).
If you would like to report an issue with this script, you can file one on GitHub (GeoscienceAustralia/dea-notebooks#new).
Last modified: January 2022
Functions
|
|
|
Creates an animation of DEA Landcover though time beside corresponding stacked plots of the landcover classes. |
|
Returns colour map and normalisation for the provided DEA Land Cover measurement, for use in plotting with Matplotlib library |
|
Adds a new colorbar with appropriate land cover colours and labels. |
|
Plot a single land cover measurement with appropriate colour scheme. :param data: A dataArray containing a DEA Land Cover classification. :type data: xarray.DataArray :param year: Can be used to select to plot a specific year. If not provided, all time slices are plotted. :type year: int, optional :param measurement: Name of the DEA land cover classification to be plotted. Passed to lc_colourmap to specify which colour scheme will be used. If non provided, reads data array name from da to determine. :type measurement: string, optional. |
- dea_tools.landcover.lc_animation(da, file_name='default_animation', measurement=None, stacked_plot=False, colour_bar=False, animation_interval=500, width_pixels=10, dpi=150, font_size=15, label_ax=True)[source]
Creates an animation of DEA Landcover though time beside corresponding stacked plots of the landcover classes. Saves the animation to a file and displays the animation in notebook.
- Parameters:
da (xarray.DataArray) – An xarray.DataArray containing a multi-date stack of observations of a single landcover level.
file_name (string, optional.) – string used to create filename for saved animation file. Default: “default_animation” code adds .gif suffix.
measurement (string, optional) – Name of the DEA land cover classification to be plotted. Passed to lc_colourmap to specify which colour scheme will ve used. If non provided, reads data array name from da to determine.
stacked_plot (boolean, optional) – Determines if a stacked plot showing the percentage of area taken up by each class in each time slice is added to the animation. Default: False.
colour_bar (boolean, Optional) – Determines if a colour bar is generated for the stand alone animation. This is NOT recommended for use with level 4 data. Does not work with stacked plot. Default: False.
animation_interval (int , optional) – How quickly the frames of the animations should be re-drawn. Default: 500.
width_pixels (int, optional) – How wide in pixles the animation plot should be. Default: 10.
dpi (int, optional) – Stands for ‘Dots Per Inch’. Passed to the fuction that saves the animation and determines the resolution. A higher number will produce a higher resolution image but a larger file size and slower processing. Default: 150.
font_size (int, optional.) – Controls the size of the text which indicates the year displayed. Default: 15.
label_ax (boolean, optional) – Determines if animation plot should have tick marks and numbers on axes. Also removes white space around plot. default: True
- Return type:
A GIF (.gif) animation file.
- dea_tools.landcover.lc_colourmap(colour_scheme, colour_bar=False)[source]
Returns colour map and normalisation for the provided DEA Land Cover measurement, for use in plotting with Matplotlib library
- Parameters:
colour_scheme (string) – Name of land cover colour scheme to use Valid options: ‘level3’, ‘level4’, ‘lifeform_veg_cat_l4a’, ‘canopyco_veg_cat_l4d’, ‘watersea_veg_cat_l4a_au’, ‘waterstt_wat_cat_l4a’, ‘inttidal_wat_cat_l4a’, ‘waterper_wat_cat_l4d_au’, ‘baregrad_phy_cat_l4d_au’.
colour_bar (bool, optional) – Controls if colour bar labels are returned as a list for plotting a colour bar. Default: False.
- Returns:
cmap (matplotlib colormap) – Matplotlib colormap containing the colour scheme for the specified DEA Land Cover measurement.
norm (matplotlib colormap index) – Matplotlib colormap index based on the discrete intervals of the classes in the specified DEA Land Cover measurement. Ensures the colormap maps the colours to the class numbers correctly.
cblables (array) – A two dimentional array containing the numerical class values (first dim) and string labels (second dim) of the classes found in the chosen DEA Land Cover measurement.
- dea_tools.landcover.make_colorbar(fig, ax, measurement, horizontal=False, animation=False)[source]
Adds a new colorbar with appropriate land cover colours and labels.
For DEA Land Cover Level 4 data, this function must be used with a double plot. The ‘ax’ should be on the left side of the figure, and the colour bar will added on the right hand side.
- Parameters:
fig (matplotlib figure) – Figure to add colourbar to
ax (matplotlib ax) – Matplotlib figure ax to add colorbar to.
measurement (str) – Land cover measurement to use for colour map and labels.
- dea_tools.landcover.plot_land_cover(data, year=None, measurement=None, out_width=15, cols=4)[source]
Plot a single land cover measurement with appropriate colour scheme. :param data: A dataArray containing a DEA Land Cover classification. :type data: xarray.DataArray :param year: Can be used to select to plot a specific year. If not provided,
all time slices are plotted.
- Parameters:
measurement (string, optional) – Name of the DEA land cover classification to be plotted. Passed to lc_colourmap to specify which colour scheme will be used. If non provided, reads data array name from da to determine.