首页 > 编程知识 正文

局部空间自相关分析和冷热点分析

时间:2023-05-06 01:07:14 阅读:256500 作者:1117

1  引言

受研究需要,需要对几十份空间数据批量进行冷热点分析,Geoda与ArcGIS等软件不能满足需求,看到Python有PySAL这个空间统计分析的第三方库,看了一下API文档觉得功能挺全面的,像Local Moran’s I、Local G Statistics等常用的空间自相关分析的功能都有,决定尝试一下。

Pysal是一个面向地理空间数据科学的开源跨平台库(详情可见官方网站),重点是用python编写的地理空间矢量数据。它支持空间分析高级应用程序的开发,例如

空间簇、热点和异常点的检测从空间数据构建图形地理嵌入网络的空间回归与统计建模空间计量经济学探索性时空数据分析

 

2  实验步骤

2.1  安装

需要安装pysal、libpysal两个包,可直接通过conda安装

conda install pysalconda install libpysal

另外本实验还用到了geopandas包

2.2  包的导入

import libpysalfrom pysal.esda.getisord import G_Local

2.4  距离权重生成

libpysal是用来生成距离权重矩阵的,PySAL中提供了shapefile读取的接口,可直接读取实验数据生成距离权重矩阵,使用起来非常方便

w = libpysal.weights.Queen.from_shapefile( '/Users/xxx/data/fishnet_all_new/fishnet_all_new.shp', idVariable=‘Id’ )

由于本实验的数据是规则渔网,因此使用Queen邻域生成01型的距离权重矩阵比较合适。

2.3  数据读取

通过geopandas包读取实验所需数据

sh = gpd.read_file('/Users/xxx/data/fishnet_all_new')

2.5  计算G_Local

使用esda.getisord中的G_Local函数用以计算Local G

lg = G_Local(sh[‘8-25-05_su'],w,transform='B')

2.6  保存结果

需要保存的计算结果有两个,一个是标准化为Z-score的G值,还有一个是p值,p值按照官方的说法需要除以2

sh_init['Z'] = lg.Zssh_init['P'] = lg.p_norm/2sh_init.to_file('/users/xxx/data/shapefile/sh_GetisOrd_Zs')

2.7  提取冷热点

在显著性水平为0.05下提取冷热点

热点:Z>0 and p<0.05

冷点:Z<0 and p<0.05

不显著:p>0.05

将实验结果使用QGIS打开设定设定条件样式

 

3  实验结果

最后在QGIS中出图,其中蓝色区域为人口分布冷点,红色区域为人口分布热点。

 

References

灵巧的冰棍, 飞快的猎豹, 强健的网络, et al. 城市人群聚集消散时空模式探索分析——以深圳市为例[J]. 地球信息科学学报, 2016, 18(4):486-492.

Getis A , Ord J K . The Analysis of Spatial Association by Use of Distance Statistics[J]. Geographical analysis, 1992, 24(3):189-206.

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。