版本: 0.0.1(Beta)


  • 更新策略部分对应《城市空间数据分析方法》中 4.3 更新策略部分的理论阐述和 Python 代码实现。调整了“2维度布局优化——空间决策支持系统”部分为更具有通用性的景观指数计算,及基于景观指数计算的2维度布局优化探索。指数计算部分使用PyLandStats。关于景观指数的解释可以查看Fragstats

该部分功能包括:

A. 景观指数计算和空间更新策略(Landscape Metrics and Spatial Update Strategy)

  1. 斑块级(Patch)景观指数计算;
  2. 类型级(Class)景观指数计算;
  3. 景观级(Landscape)景观指数计算;
  4. 景观指数的时空分析(Spatio-temporal Analysis);
  5. 景观指数的区域分析(Zonal Analysis)——按给定的矢量数据(SHP 等)(Vector);
  6. 景观指数的区域分析(Zonal Analysis)——按给定经纬度点坐标,对应距离缓冲区统计分析(Buffer);
  7. 基于景观指数计算的2维度布局优化探索(2D Genetic Algorithm (Map Update Exploration))。

B. 元启发式算法(Meta-Heuristic Algorithm)【TODO】

案例示例和参数说明

A-0 通用输入参数

  • Add layer:待计算的分类栅格数据(TIFF)。分类中避免使用值0,值0通常默认为空值或背景值。可以添加多个栅格数据用于不同时间点的景观指数分析。一般景观指数计算仅计算第1个添加的栅格数据(位于顶端的栅格数据)。可以单击添加到列表中的栅格文件,右侧文本框中会显示该栅格的基本信息;

updateStrategy_01

栅格基本信息示例:

driver: GTiff

dtype: uint8

nodata: 0.0

width: 20040

height: 11294

count: 1

crs: EPSG:32649

transform: | 10.00, 0.00, 190582.09| | 0.00,-10.00, 3845810.00| | 0.00, 0.00, 1.00|

blockxsize: 128

blockysize: 128

tiled: True

interleave: band

  • Remove layer:移除选中添加到列表中的栅格;

  • Neighborhood Rule:可选邻接规则,以确定斑块邻接关系。包括'8’ (queen’s case/Moore neighborhood)和'4’ (rook’s case/Von Neumann neighborhood);

  • Nodata:配置栅格空值,默认为值0;

  • Class Val:Class级别指数计算,指定所要计算的单个类别。默认值0代表计算所有类别;

  • Hectares:将景观面积转换为公顷。默认值为转换为公顷。;

  • Edge Depth:作为边的单元格数.默认值为1;

  • Count Boundary:仅将景观边界相邻的单元视为核心(core)。默认值为 False;

  • Percent:用比例(proportion)表示指数,还是将其转换成百分比(percentage)。仅适用于部分指数。默认值为 True。

  • 景观指数选择列表:指数选择列表包括5类,分别为 PATCH METRICS(斑块级), CLASS METRICS_Unique(类级),LANDSCAPE METRICS_Unique(景观级),DISTR METRICS_Class and Landscape(适用于类级和景观级),ENTROPY METRICS_Landscape(适用于景观级)。双击指数为选择,并显示在右侧的文本框中。在右侧的文本框中双击指数为移除指数。

updateStrategy_01

  • Distribution Statistics:用于 DISTR METRICS_Class and Landscape 类指数计算的统计方式。包括均值(MN),面积加权均值(AM),中位数(MD),区间(RA),标准差(SD)和变异系数(CV);

updateStrategy_01

A-1 斑块级(Patch)景观指数计算

  • Patch-level Metrics:如果“景观指数选择列表”为空,则计算全部 Patch 级指数,否则仅计算选中的指数。计算后的结果显示于右侧的表格中;

  • Save to File:保存计算的景观指数,适用于所有类型指数的计算结果的保存;

计算全部指数:

updateStrategy_01

计算选择的指数:

updateStrategy_01

A-2 类型级(Class)景观指数计算

  • Class-level Metrics:如果“景观指数选择列表”为空,则计算全部 Class 级指数,否则仅计算选中的指数。计算后的结果显示于右侧的表格中;

updateStrategy_01

A-3 景观级(Landscape)景观指数计算

  • Landscape-level Metrics:如果“景观指数选择列表”为空,则计算全部 Landscape 级指数,否则仅计算选中的指数。计算后的结果显示于右侧的表格中;

updateStrategy_01

A-2,3+ DISTR METRICS_Class and Landscape(适用于类级和景观级)

DISTR METRICS_Class and Landscape 计算示例。

class 级示例:

updateStrategy_01

landscape 级示例:

updateStrategy_01

A-3+ ENTROPY METRICS_Landscape(适用于景观级)

ENTROPY METRICS_Landscape 计算示例:

updateStrategy_01

A-4 景观指数的时空分析(Spatio-temporal Analysis)

  • Point in Time: 对应输入的多个栅格文件,时间点自定义标识;

  • Class-level Metrics (st):class 级指数的时空分析;

class 级指数时空分析全部指数:

updateStrategy_01

class 级指数时空分析选择指数:

updateStrategy_01

  • Landscape-level Metrics (st):landscape 级指数的时空分析;

updateStrategy_01

A-5 景观指数的区域分析(Zonal Analysis)——按给定的矢量数据(SHP 等)(Vector)

  • Zones-Vector:选择用于区域分析的矢量文件;

  • Zone Index:指定用于区域分析矢量文件各个区域的标识字段;

updateStrategy_01

  • Class-level Metrics (zv):class 级指数区域分析;

计算全部指数:

updateStrategy_01

计算选择的指数:

updateStrategy_01

  • Landscape-level Metrics (zv):landscape 级指数区域分析;

updateStrategy_01

A-6 景观指数的区域分析(Zonal Analysis)——按给定经纬度点坐标,对应距离缓冲区统计分析(Buffer);

  • Point Latitude:指定一个点的纬度;

  • Point Longitude:指定一个点的经度;

  • Buffer Dists:指定圆形缓冲区的距离;

  • View Zones-Buffer:查看缓冲区;

updateStrategy_01

  • Buffer Rings:圆面和圆环切换;

updateStrategy_01

  • Class-level Metrics (zb):class 级指数缓冲区分析;

updateStrategy_01

  • Landscape-level Metrics (zb):landscape 级指数缓冲区分析;

updateStrategy_01

A-7 基于景观指数计算的2维度布局优化探索(2D Genetic Algorithm (Map Update Exploration))

使用2维度的遗传算法(2D-Genetic Algorithm,2D-GA)。

  • Load Quadrat:加载用于2维度布局优化探索的矢量样方文件。仅分析优化给定单个样方内的指数;

  • Population Size:种群(population)大小。默认为50;

  • Mutation Rate:变异系数。默认值为 0.5;

  • Crossover:交叉方式。包括 Crossover_CBO 和 Crossover_tsai;

  • Mutation:变异方式。包括 Mutation-MPO_MBO、Mutation-tsai_1 和 Mutation-tsai_2;

  • Mpo/Mbo:交叉算子。包括 Mpo 和 Mbo;

  • Generations:迭代次数;

  • Verbose:打印迭代信息的周期;

  • Classes:class 级指数计算时指定一个或多个类。如果不指定,默认计算所有类别;

  • Set Metrics Direction:配置指数是越大越好(Max),越小越好(Min),还是保持不变(Stay)。用于构建目标函数(target function);

  • Save to Raster:保存优化后的结果文件;

  • GA Run:开始计算。

updateStrategy_01

在 QGis 中查看结果文件。

updateStrategy_01