Spatiotemporal analysis

class pylandstats.SpatioTemporalAnalysis(landscapes, dates=None)[source]
__init__(landscapes, dates=None)[source]
Parameters:
  • landscapes (list-like) – A list-like of Landscape objects or of strings/file objects/ pathlib.Path objects so that each is passed as the landscape argument of Landscape.__init__
  • dates (list-like, optional) – A list-like of ints or strings that label the date of each snapshot of landscapes (for DataFrame indices and plot labels)
compute_class_metrics_df(metrics=None, classes=None, metrics_kws=None)[source]

Computes the data frame of class-level metrics, which is multi-indexed by the class and date.

Parameters:
  • metrics (list-like, optional) – A list-like of strings with the names of the metrics that should be computed in the context of this analysis case
  • classes (list-like, optional) – A list-like of ints or strings with the class values that should be considered in the context of this analysis case
  • metrics_kws (dict, optional) – Dictionary mapping the keyword arguments (values) that should be passed to each metric method (key), e.g., to exclude the boundary from the computation of total_edge, metric_kws should map the string ‘total_edge’ (method name) to {‘count_boundary’: False}. The default empty dictionary will compute each metric according to FRAGSTATS defaults.
Returns:

df – Dataframe with the values computed for each class, date (multi-index) and metric (columns)

Return type:

pd.DataFrame

compute_landscape_metrics_df(metrics=None, metrics_kws=None)[source]

Computes the data frame of landscape-level metrics, which is indexed by the date.

Parameters:
  • metrics (list-like, optional) – A list-like of strings with the names of the metrics that should be computed. If None, all the implemented landscape-level metrics will be computed.
  • metrics_kws (dict, optional) – Dictionary mapping the keyword arguments (values) that should be passed to each metric method (key), e.g., to exclude the boundary from the computation of total_edge, metric_kws should map the string ‘total_edge’ (method name) to {‘count_boundary’: False}. The default empty dictionary will compute each metric according to FRAGSTATS defaults.
Returns:

df – Dataframe with the values computed at the landscape level for each date (index) and metric (columns)

Return type:

pd.DataFrame

plot_landscapes(cmap=None, legend=True, subplots_kws=None, show_kws=None, subplots_adjust_kws=None)

Plots each landscape snapshot in a dedicated matplotlib axis by means of the Landscape.plot_landscape method of each instance

Parameters:
  • cmap (str or ~matplotlib.colors.Colormap, optional) – A Colormap instance
  • legend (bool, optional) – If True, display the legend of the land use/cover color codes
  • subplots_kws (dict, default None) – Keyword arguments to be passed to plt.subplots
  • show_kws (dict, default Nonte) – Keyword arguments to be passed to rasterio.plot.show
  • subplots_adjust_kws (dict, default None) – Keyword arguments to be passed to plt.subplots_adjust
Returns:

fig – The figure with its corresponding plots drawn into its axes

Return type:

matplotlib.figure.Figure

plot_metric(metric, class_val=None, ax=None, metric_legend=True, metric_label=None, fmt='--o', plot_kws=None, subplots_kws=None, metric_kws=None)
Parameters:
  • metric (str) – A string indicating the name of the metric to plot
  • class_val (int, optional) – If provided, the metric will be plotted at the level of the corresponding class, otherwise it will be plotted at the landscape level
  • ax (axis object, optional) – Plot in given axis; if None creates a new figure
  • metric_legend (bool, default True) – Whether the metric label should be displayed within the plot (as label of the y-axis)
  • metric_label (str, optional) – Label of the y-axis to be displayed if metric_legend is True. If the provided value is None, the label will be taken from the settings module
  • fmt (str, default '--o') – A format string for plt.plot
  • plot_kws (dict, default None) – Keyword arguments to be passed to plt.plot
  • subplots_kws (dict, default None) – Keyword arguments to be passed to plt.subplots, only if no axis is given (through the ax argument)
  • metric_kws (dict, default None) – Keyword arguments to be passed to the method that computes the metric (specified in the metric argument) for each landscape
Returns:

ax – Returns the Axes object with the plot drawn onto it

Return type:

axis object