标记距离(Signature)
版本: 0.0.1(Beta)
- 标记距离部分对应《城市空间数据分析方法》中 4.1 标记距离部分的理论阐述和 Python 代码实现。
该部分功能包括:
A. 模式标记特征计算(Pattern Signature)
- 构建用于分析的样方组(Calculate Mode);
- 连通域标签(connected components labeling,CCL)计算;
- 类/簇大小直方图 (class/clump-size histogram,CSH)计算;
- 共现关系(Co-occurrence,COO)计算;
- 层级分解(Hierarchical decomposition,HD)计算。
B. 距离度量(Distance Metrics)
C. 模式发现(Pattern Discovery)
- 模式标记特征距离的批量计算(Integral signature Distance);
- 模式级聚——距离矩阵与层级聚类(Pattern hierarchical clustering);
- 模式搜索(Pattern Search);
- 模式监测(Pattern Monitoring);
- 模式分割(Pattern Segmentation);
案例示例和参数说明
A-1 构建用于分析的样方组(Calculate Mode)
single Boundary(Calculation Mode) 模式仅用于显示自定义的样方。
Quadrat(Calculation Mode) 模式
输入参数:
-
LBLon,LBLat:为给定左下角经纬度坐标;
-
RTLon,RTLat: 为给定右上角经纬度坐标;
-
qHeight,qWidth: 为样方高宽;
-
EPSG: 为投影坐标。EPSG参数可以通过 EPSGFromFile 方法从指定的栅格文件中获取;
-
SaveQuadrat: 是否保存样方数据。
输出结果:
- 样方文件(.geojson)。
TODO:1.EPSGFromFile 方法可以从 Vector (例如SHP)文件中读取 EPSG 投影数据; 2. 增加样方保存文件格式类型。
A-2 连通域标签(connected components labeling,CCL)计算
输入参数:
-
Categorical Data: 分类栅格数据;
-
Quadrat Boundary: 样方数据;
-
Connectivity:毗邻(连通)方式,4(2D)为二维目标单元,上下左右连通。8(2D)为上下左右和4角连通。3维(3D)以此类推;
-
Out_dtype: 输出数据类型,通常默认(default);
-
Outpupt directory : 文件保存文件夹;
-
Cmap/Indexes to Display:Cmap 为 颜色映射带。Indexes 为需要查看的样方编号,样方编号为样方的顺序,可以借助Map → GeoMapping Plotting 工具查看编号。编号间英文逗号隔离,例如 5,10,20,35;
输出结果:
- 对应各个样方的连通域标签栅格文件。
A-3 类/簇大小直方图 (class/clump-size histogram,CSH)计算
输入参数:
CCL Params Config 部分参数配置同 A-2 连通域标签部分。
CSH Params Config 部分参数配置,
-
Base: 于构建频数宽度(bins)的基数;
-
Right: 指示间隔是否包括左或右 bin 边缘。缺省值为 right==False,表示不包含右边缘。此时,左侧的 bin 端是打开的,即,bins[i-1] <= x < bins[i] ;
-
Output Directory:指定输出结果文件夹;
-
Index For Display:显示指定索引样方的结果。
输出结果:
- 类/簇大小直方图对应各个样方计算结果的 CSV 格式文件。
A-4 共现关系(Co-occurrence,COO)计算
输入参数:
-
Categorical Data: 分类栅格数据;
-
Quadrat or Boundary:样方数据;
-
Output Directory:保存结果文件路径;
-
Index For Display:显示指定索引样方的结果。
输出结果:
- 共现关系对应各个样方计算结果的 CSV 格式文件。
A-5 层级分解(Hierarchical decomposition,HD)计算
输入参数:
-
Categorical Data: 分类栅格数据;
-
Quadrat or Boundary:样方数据;
-
Output Directory:保存结果文件路径;
-
Index For Display:显示指定索引样方的结果。
输出结果:
- 层级分解对应各个样方计算结果的 CSV 格式文件。
TODO:计算量耗时,运行时程序冻结,需要设计程序为多线程。
B 距离度量(Distance Metrics)
输入参数:
-
Signature A:对应一个或多个样方的标记特征比较组 A;
-
Signature B:对应一个或多个样方的标记特征比较组 B;
-
Distance/Similarity Module:距离度量类型标签;
-
Filling Value:填充标记特征中的空值;
-
Save to File:保存结果文件的路径名;
输出结果:
- 距离度量结果存为 CSV 格式文件。
C-1 标记距离批量计算(Itegral signature-Distance)
输入参数:
-
Categorical Data: 分类栅格数据;
-
Quadrat:样方数据;
-
Connectivity:毗邻(连通)方式,4(2D)为二维目标单元,上下左右连通。8(2D)为上下左右和4角连通。3维(3D)以此类推;
-
Signature Selecton:选择待计算的标记特征;
-
Save to File:保存结果文件的路径名;
输出结果:
- 标记距离批量计算结果保存为 CSV 格式文件。
C-2 模式级聚——距离矩阵与层级聚类(Pattern hierarchical clustering)
C-2-1 层次聚类——linkage
输入参数:
-
Distance Metrics Data:成对的标记距离(矩阵),为 C-1 标记距离批量计算的结果;
-
Linkage Method:层次聚类算法,算法查看地址 https://docs.scipy.org/doc/scipy/reference/generated/scipy.cluster.hierarchy.linkage.html;
-
Linkage Metrics:距离度量算法,算法查看地址 https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.distance.pdist.html;
(Linkage Matrix) Save to File:层次聚类,簇间距离结果保存文件路径;
-
Specify Columns:指定标记距离(矩阵)中成对两个索引列名和一个距离值列;
-
View:显示层次聚类簇间关系结果,Lingage Matrix 方式为表格形式。dendrogram 为树图形式。
输出结果:
- 层次聚类簇间距离保存为 CSV 格式文件。
表格形式如下图。
树图形式如下图。
C-2-2 层次距离——fcluster
输入参数:
-
Threshold:判断准则(Criteria)为 inconsistent, distance 或 monocrit 时,为形成扁平簇(flat clusters)的阈值。判断准则为 maxclust 或 maxclust_monocrit 时,为形成簇的最大数量;
-
Criteria:形成扁平簇(flat clusters)的判断准则;
-
Depth:选择 inconsistency 准则时,形成簇搜索最大深度;
-
(Fcluster) Save to File:保存层次聚类结果文件路径名。
输出结果:
- 层次聚类结果 CSV 格式文件。
C-2-3 查看层次聚类结果
输入参数:
-
Raster for Map Display:分类栅格数据,用于底图;
-
Quadrat for Map Display:叠合样方数据;
-
(Fcluster)Open File:层次距离——fcluster计算结果 CSV 格式文件;
-
Color Ranodm Seed:配置显示分类栅格数据随机颜色的随机种子。
C-3 模式搜索(Pattern Search)
-
Categorical Data: 分类栅格数据;
-
Quadrat:样方数据;
-
Signature:选择待计算的标记特征;
-
Distance:选择距离度量算法;
-
Save to File:保存模式搜索结果文件路径名;
输出结果:
- 返回模式搜索结果,为 GeoJson 格式数据。
C-4 模式监测(Pattern Monitoring)
-
Categorical Data-1: 时间点 1 时的分类栅格数据;
-
Categorical Data-2: 时间点 2 时的分类栅格数据;
-
Quadrat:样方数据;
-
Signature:选择待计算的标记特征;
-
Distance:选择距离度量算法;
-
Save to File:保存模式监测结果文件路径名;
输出结果:
- 返回模式监测结果,为 GeoJson 格式数据。
C-5 模式分割(Pattern Segmentation)
输入参数:
-
Categorical Data: 分类栅格数据;
-
Scene X Num:一个样方(scene)的宽度;
-
Scene Y Num:一个样方(scene)的高度;
-
Threshold:标记特征的距离阈值;
-
Signature:选择待计算的标记特征;
-
Distance:选择距离度量算法;
-
Save to File:保存模式分割结果文件路径名;
输出结果:
- 模式分割结果,保存为栅格文件。
USDA 工具主要用于相关集成理论的计算,加入的地理信息数据查看功能可以方便再不使用其它 GIS 软件时,快速查看地图和计算的数据。通常,可以使用 QGis 软件打开地理信息数据。如下图为模式分割前后的土地覆盖数据。模式分割后可以一定程度上融合邻接的类比,减少“椒盐”现象。
原土地覆盖样本。
模式分割后的土地覆盖样本。