基本原理
如何利用数学(如用面积、距离等)建立空间数据和非空间数据之间的关系?对于空间统计而言,空间权重矩阵是一种有效的表达空间关系的方式。因此,它是用量化的方法表示了数据之间的“空间结构”。
关于如何进行要素间实际交互方式的概念化,ESRI举出的例子:
如果要测量森林中某种特定种类的种子繁殖树种的聚类,使用某种形式的反距离可能最适合。但是,如果要评估某一地区通勤者的地理分布,行程时间和行程成本可能是更好的选择。
空间权重矩阵是N*N的表,N为数据集中的要素数量。因此给定行列组合后,其对应的值即为权重。这种空间关系的权重矩阵在许多空间统计工具里都有用,比如空间自相关、热点分析、聚类和异常值分析等。
创建策略
- 二进制策略:某个要素要么是邻域-1,要么不是-0。例如:固定距离、K 最近邻域、Delaunay 三角测量、邻接或空间 - 时间窗口。
- 权重策略:邻近要素有不同量级的影响,并通过计算权重来反映该变化。例如:反距离或无差别的区域。
工具使用
arcgis中的SWM使用稀疏矩阵存储,因此只存非零部分。实际情况,每个要素一般只跟其他某几个要素发生关系。
工具名字:Generate Spatial Weights Matrix (Spatial Statistics),工具界面如图:
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")
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。