Open-source Python library to compute landscape metrics
Project description
PyLandStats
Open-source Pythonic library to compute landscape metrics within the PyData stack (NumPy, pandas, matplotlib...)
Citation: Bosch M. 2019. "PyLandStats: An open-source Pythonic library to compute landscape metrics". PLOS ONE, 14(12), 1-19. doi.org/10.1371/journal.pone.0225734
Features
-
Read GeoTiff files of land use/cover:
import pylandstats as pls ls = pls.read_geotiff('data/vaud_g100_clc00_V18_5.tif') ls.plot_landscape(legend=True)
-
Compute pandas data frames of landscape metrics at the patch, class and landscape level:
class_metrics_df = ls.compute_class_metrics_df(metrics=['proportion_of_landscape', 'edge_density']) class_metrics_df
class_val proportion_of_landscape edge_density 1 7.702 4.459 2 92.298 4.459 -
Analyze the spatio-temporal evolution of landscapes:
input_fnames = [ 'data/vaud_g100_clc00_V18_5.tif', 'data/vaud_g100_clc06_V18_5a.tif', 'data/vaud_g100_clc12_V18_5a.tif' ] sta = pls.SpatioTemporalAnalysis( input_fnames, metrics=[ 'proportion_of_landscape', 'edge_density', 'fractal_dimension_am', 'landscape_shape_index', 'shannon_diversity_index' ], classes=[1], dates=[2000, 2006, 2012], ) fig, axes = plt.subplots(1, 3, figsize=(15, 5)) for metric, ax in zip( ['proportion_of_landscape', 'edge_density', 'fractal_dimension_am'], axes): sta.plot_metric(metric, class_val=1, ax=ax) fig.suptitle('Class-level metrics (urban)')
-
Zonal analysis of landscapes
See the documentation and the pylandstats-notebooks repository for a more complete overview.
Installation
The easiest way to install PyLandStats is with conda:
$ conda install -c conda-forge pylandstats
which will install PyLandStats and all of its dependencies. Alternatively, you can install PyLandStats using pip:
$ pip install pylandstats
Nevertheless, note that in order to define zones by vector geometries in ZonalAnalysis
, or in order to use the the BufferAnalysis
and SpatioTemporalBufferAnalysis
classes, PyLandStats requires geopandas, which cannot be installed with pip. If you already have the dependencies for geopandas installed in your system, you might then install PyLandStats with the geo
extras as in:
$ pip install pylandstats[geo]
and you will be able to use the aforementioned features (without having to use conda).
Acknowledgments
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.