转载

空间权重矩阵(SWM)

基本原理

如何利用数学(如用面积、距离等)建立空间数据和非空间数据之间的关系?对于空间统计而言,空间权重矩阵是一种有效的表达空间关系的方式。因此,它是用量化的方法表示了数据之间的“空间结构”。

关于如何进行要素间实际交互方式的概念化,ESRI举出的例子:

如果要测量森林中某种特定种类的种子繁殖树种的聚类,使用某种形式的反距离可能最适合。但是,如果要评估某一地区通勤者的地理分布,行程时间和行程成本可能是更好的选择。

空间权重矩阵是N*N的表,N为数据集中的要素数量。因此给定行列组合后,其对应的值即为权重。这种空间关系的权重矩阵在许多空间统计工具里都有用,比如空间自相关、热点分析、聚类和异常值分析等。

创建策略

  1. 二进制策略:某个要素要么是邻域-1,要么不是-0。例如:固定距离、K 最近邻域、Delaunay 三角测量、邻接或空间 - 时间窗口。
  2. 权重策略:邻近要素有不同量级的影响,并通过计算权重来反映该变化。例如:反距离或无差别的区域。

工具使用

arcgis中的SWM使用稀疏矩阵存储,因此只存非零部分。实际情况,每个要素一般只跟其他某几个要素发生关系。

工具名字:Generate Spatial Weights Matrix (Spatial Statistics),工具界面如图:

空间权重矩阵(SWM)

SWM的使用:以热点分析为例

具体权重的使用,以热点分析为例,几个主要的步骤如下:

integrate与collect event

integrate = arcpy.Integrate_management("911Copied.shp #", "500 Feet") ce = arcpy.CollectEvents_stats("911Copied.shp", "911Count.shp", "Count", "#") 

collect event的结果数据

重点是需要生成feature class,并且确保这个feature class有一个唯一id字段。

af = arcpy.AddField_management("911Count.shp", "MyID", "LONG", "#", "#", "#", "#","NON_NULLABLE", "NON_REQUIRED", "#", "911Count.shp") cf = arcpy.CalculateField_management("911Count.shp", "MyID", "[FID]", "VB") 

Generate Spatial Weights Matrix

swm = arcpy.GenerateSpatialWeightsMatrix_stats("911Count.shp", "MYID","euclidean6Neighs.swm","K_NEAREST_NEIGHBORS","#", "#", "#", 6,"NO_STANDARDIZATION")  

Hot Spot Analysis (Getis-Ord Gi*)

hs = arcpy.HotSpots_stats("911Count.shp", "ICOUNT", "911HotSpots.shp","GET_SPATIAL_WEIGHTS_FROM_FILE","EUCLIDEAN_DISTANCE", "NONE","#", "#", "euclidean6Neighs.swm","NO_FDR") 
正文到此结束
Loading...