1.arcgis按钮位置
建议不使用row standardization,权重算法参考:
https://pro.arcgis.com/zh-cn/pro-app/latest/tool-reference/spatial-statistics/generate-spatial-weights-matrix.htm 截图
此时生成的swm格式
使用arcgis转格式,search搜索swm dbf
转换成dbf格式文件
新建excel文件,将dbf拖入excel,即可查看文件内容。
表格为稀疏形式储存,OBJECTid 与 NID 之间的权重为WIGHT,表格中未列出的为零。
但是你会发现如果使用反距离权重,有一些相邻地区没有权重,解决此问题需要设置邻接地区数量与距离阈值可以设置很大,生成即可。
对于转换为矩阵形式,使用python转换。
import pandas as pd
import openpyxl
#pd.options.display.max_columns = None
pd.set_option('display.max_columns', None)
pd.set_option('display.max_rows', None)
wb1 = openpyxl.Workbook()
wb1.save('D:426.xlsx')
wb2 = pd.read_excel('D:\权重1.xlsx',sheet_name = 0)
row = wb2.shape[0]
for i in range(1,42):
for j in range(1,42):
for row_i in range(row):
if int(wb2.iloc[row_i,1]) == i and int(wb2.iloc[row_i,2]) == j:
wb1['Sheet'].cell(i,j).value = wb2.iloc[row_i,3]
print(i,j)
break
else:
wb1['Sheet'].cell(i,j).value = 0
wb1.save('D:426.xlsx')