利用Python计算空间局部自相关的方法
本篇内容介绍了“利用Python计算空间局部自相关的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
网站建设公司,为您提供网站建设,网站制作,网页设计及定制网站建设服务,专注于成都企业网站定制,高端网页制作,对成都发电机维修等多个行业拥有丰富的网站建设经验的网站建设公司。专业网站设计,网站优化推广哪家好,专业成都网站营销优化,H5建站,响应式网站。
局部空间自相关
import esda import numpy as np import pandas as pd import libpysal as lps import geopandas as gpd import contextily as ctx import matplotlib.pyplot as plt from geopandas import GeoDataFrame from shapely.geometry import Point from pylab import figure, scatter, show from splot.esda import moran_scatterplot from esda.moran import Moran_Local from splot.esda import plot_moran from splot.esda import lisa_cluster from splot.esda import plot_local_autocorrelation %matplotlib inline
root_dir="/home/lighthouse/Learning/pysal/"
gdf = gpd.read_file(root_dir+'data/.shp') # 读取数据
数据概况
gdf.columns.values #字段名
array(['CODE', 'COUNT', 'SUM_AREA', 'FIRST_ANAM', 'OID_', 'CODE_1', 'DATAFLAG', 'TOTPOP', 'TOTPOP_10K', 'RURPOP_10K', 'TOWNPOP_10', 'AGRPRODUCT', 'AGRLBR_10K', 'AGRSTOTGDP', 'FSTGDPRATE', 'SCNDGDPRAT', 'THRDGDPRAT', 'Province', 'geometry'], dtype=object)
gdf.head(1)
计算局部空间自相关LISA
第一产业占GDP比重
FSTGDPRATE
为变量
ax=gdf.plot(figsize=(8,8),column="FSTGDPRATE",scheme='Quantiles', k=5, cmap='GnBu', legend=True,) ax.set_axis_off()
计算空间权重矩阵
pysal中的局部自相关计算中,要求权重矩阵的每一个元素都有邻接元素
y = gdf['FSTGDPRATE'].values w = lps.weights.distance.Kernel.from_dataframe(gdf, fixed=False, k=15) w.transform = 'r'
Local Moral 计算
moran_loc = Moran_Local(y, w)
Local Moral 散点图
fig, ax = moran_scatterplot(moran_loc, p=0.05) ax.set_xlabel('FSTGDPRATE') ax.set_ylabel('Spatial Lag of FSTGDPRATE') plt.show()
聚集区的空间分布
lisa_cluster(moran_loc, gdf, p=0.05, figsize = (9,9)) plt.show()
根据上图结果可以看出,图中西部为高值聚集区,东部为低值聚集区。高值聚集区的第一产业产值占比比较高,而低值聚集区的第一产业产值占比比较低,这可以反映出区域的经济发展水平的空间异质性,区域发展不均衡。
绘制结果组合图
plot_local_autocorrelation(moran_loc, gdf, 'FSTGDPRATE') plt.show()
“利用Python计算空间局部自相关的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!
分享标题:利用Python计算空间局部自相关的方法
文章源于:http://azwzsj.com/article/iiogsi.html