用于计算环境度量的开源python库

pylandstats的Python项目详细描述


PyPI version fury.ioAnaconda-Server BadgeDocumentation StatusBuild StatusCoverage StatusGitHub license

PylandStats

开源pythonic库,用于计算pydata堆栈(numpy、pandas、matplotlib…)中的景观指标

功能

阅读geotiff土地利用/覆盖文件

importpylandstatsasplsls=pls.read_geotiff('data/vaud_g100_clc00_V18_5.tif')ls.plot_landscape(legend=True)

landscape-vaud

在补丁、类和景观级别计算pandas景观指标的数据帧

patch_metrics_df=ls.compute_patch_metrics_df()patch_metrics_df.head()
patch_idclass_valareaperimeterperimeter_area_ratioshape_indexfractal_dimensioneuclidean_nearest_neighbor
011151060092.172.4091.1301431.782
11132600200.001.6251.100223.607
212600300.001.0001.012223.607
3169600086.961.7651.088316.228
41768800115.792.4441.137316.228
class_metrics_df=ls.compute_class_metrics_df(metrics=['proportion_of_landscape','edge_density'])class_metrics_df
class_valproportion_of_landscapeedge_density
17.7024.459
292.2984.459

同时分析景观的时空演变:

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)')

spatiotemporal-analysis

有关更完整的概述,请参见documentationpylandstats-notebooks存储库。

安装

安装pylandstats最简单的方法是使用conda:

$ conda install -c conda-forge pylandstats

它将安装pylandstats及其所有依赖项。或者,您可以使用pip:

$ pip install pylandstats

不过,请注意,BufferAnalysisSpatioTemporalBufferAnalysis类使用geopandas,这不能与pip一起安装。如果您的系统中已经安装了the dependencies for geopandas,那么您可以使用geo附加程序安装pylandstats,如:

$ pip install pylandstats[geo]

您将能够使用BufferAnalysisSpatioTemporalBufferAnalysis类(不必使用conda)。

致谢

  • 在爱科尔洛桑理工学院(EPFL)的支持下
  • 用于测试数据集的Corine土地覆盖数据集是由欧盟出资制作的

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在springmvc POST webservice中验证集合?   java将变量传递到@Optional注释   浮点Java字节到浮点   java为什么我的结果字符串在解析json数据后不打印到logcat?   多线程应用程序中的java可选调试输出是为客户机提供的,而不是为了找出死锁或bug   java Hibernate模型对象作为VO对象   java字体未应用于复选框并切换到Android Studio 3   list Java equals方法无法按预期工作   java将未知对象强制转换为特定接口可以吗?   调用后未擦除方法中的Java变量   数组求和不正确,线程“main”java中出现异常。lang.ArrayIndexOutofBounds异常:100   java超级类应该实例化并调用其子类吗?   在java apache中。平民io,如何避免读取旧的日志消息   BuffereImage如何使用apache在TIFF图像中保持透明性。平民java中的图像处理   java转换。将文件分类为二进制代码(1和0)   Java:。类搜索器   java如何使用谓词生成器返回“Todays Orders”