本篇内容介绍了“利用Python计算空间局部自相关的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
局部空间自相关
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
ax=gdf.plot(figsize=(8,8),column="FSTGDPRATE",scheme='Quantiles', k=5, cmap='GnBu', legend=True,)
ax.set_axis_off()

计算空间权重矩阵
y = gdf['FSTGDPRATE'].values
w = lps.weights.distance.Kernel.from_dataframe(gdf, fixed=False, k=15)
w.transform = 'r'
moran_loc = Moran_Local(y, w)
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计算空间局部自相关的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注天达云网站,小编将为大家输出更多高质量的实用文章!