Open-source Python library to compute landscape metrics
Project description
PyLandStats
Overview
Open-source Pythonic library to compute landscape metrics within the PyData stack (NumPy, pandas, matplotlib...)
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 DataFrames of landscape metrics at the patch, class and landscape level
patch_metrics_df = ls.compute_patch_metrics_df()
patch_metrics_df.head()
patch_id | class_val | area | perimeter | perimeter_area_ratio | shape_index | fractal_dimension | euclidean_nearest_neighbor |
---|---|---|---|---|---|---|---|
0 | 1 | 115 | 10600 | 92.17 | 2.409 | 1.130 | 1431.782 |
1 | 1 | 13 | 2600 | 200.00 | 1.625 | 1.100 | 223.607 |
2 | 1 | 2 | 600 | 300.00 | 1.000 | 1.012 | 223.607 |
3 | 1 | 69 | 6000 | 86.96 | 1.765 | 1.088 | 316.228 |
4 | 1 | 76 | 8800 | 115.79 | 2.444 | 1.137 | 316.228 |
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 |
Also analyze the spatio-temporal evolution of the landscape:
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 = sta.plot_metrics(
class_val=1,
metrics=['proportion_of_landscape', 'edge_density', 'fractal_dimension_am'],
num_cols=3)
fig.suptitle('Class-level metrics (urban)')
See the pylandstats-notebooks repository for a more complete overview
Installation
To install use pip:
$ pip install pylandstats
If you want to use the BufferAnalysis
, you will need geopandas. The easiest to install it is via conda-forge as in:
$ conda install -c conda-forge geopandas
and then install PyLandStats with the geo
extras as in:
$ pip install pylandstats[geo]
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.
Source Distribution
pylandstats-0.4.1.tar.gz
(22.2 kB
view hashes)