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
File details
Details for the file pylandstats-0.4.1.tar.gz
.
File metadata
- Download URL: pylandstats-0.4.1.tar.gz
- Upload date:
- Size: 22.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
8c24fb1af883bd9f837db944f5b3daa7ce7fff3575dbc57a67fc0bf111466b6b
|
|
MD5 |
c4f9970bd66f8045a7b15505cf8404c1
|
|
BLAKE2b-256 |
072d6e83424397db00e21e5d3a05317a5af35bdb02ee53599dc0c39dffc8224b
|