workshopofsdar的个人博客分享 http://blog.sciencenet.cn/u/workshopofsdar

博文

swm2mat:将swm权重文件转成n-by-n矩阵

已有 7387 次阅读 2018-6-9 11:14 |个人分类:区域经济研究|系统分类:科研笔记| swm文件, 空间权重矩阵

 

 

  【导读】

前已述及权重文件转换函数三部曲中的两部:gal2matgwt2mat,现为第三部swm2mat,将ArcGIS生成的swm格式文件转成n*n矩阵,从而可以适用于matlab空间计量经济分析程序。

后面将推出一劳永逸的函数shp2mat,直接基于shape文件生成需要的各种空间权重矩阵,以及进行权重矩阵标准化的函数spmat.rownorm。有此两个函数,足以应付空间数据分析需要的各种空间权重矩阵。

 

一、swm格式文件

目前,比较便利的生成空间权重文件方法主要有二:

1)用GeoDa生成galgwt格式文件;

2)用ArcGIS生成swm格式文件。

此外,用R语言和stata的相关程序包也能基于shape文件生成,这里不予赘述。

GeoDa生成权重文件比较傻瓜,但对于gal文件,其缺陷在于如果shape文件中有“孤岛”(如省份中的海南岛),其对应的邻居数将为0,在进一步分析中容易出错。不知为何,其一直没有修补这一缺陷。

ArcGIS生成权重文件步骤为:生成swm文件,“Spatial Statistics Tools”(空间统计工具) Modeling Spatial Relationships”(构建空间关系) Generate Spatial Weights Matrix”(生成空间权重矩阵);swm文件转成dbf表,“Spatial Statistics Tools”(空间统计工具) Utilities”(实用功能) Convert Spatial Weights Matrix to Table”(将空间权重矩阵转成表格)。其生成的dbf表在形式上类似于gwt文件。

相比GeoDaArcGIS生成的权重文件可以通过将“Number of Neighbors”(邻居数)设为1来保证每个空间单元至少有一个邻居。但其无法基于经纬度来计算弧度距离,计算的是欧几里得距离,因此需要事先将经纬度坐标投影成以米或千米为单位表示的平面坐标。

Excel2010打开用ArcGIS得到的权重文件province31_swm.dbf,可以发现,其采取了类似gwt文件方式来表达各单元间的空间关系。其一共四列,第一列可无视,第二、三、四列表达了各单元间的空间关系。如2-4行的二、三、四列表示MYID编号为14的单元有三个邻居,其编号(NID)分别为232530,权重赋值为1(表示是否邻接,亦可为单元间的距离)。其内容实际上与gal文件差不多,但是采取了gwt文件的表达形式。

 

二、R语言程序swm2mat

自编R语言程序swm2mat()将基于swm权重文件转换成的dbf文件转成n*n矩阵,其参数设定如下:

swm2mat(dbf)

其中,dbf为文件路径。

后面会专门开发函数spmat.rownorm来进行各种情况下的行标准化。

代码

> setwd("…\\swm2mat")

#swm2matswm权重文件转为n*n矩阵

> source("swm2mat.R")

> spmat <-   swm2mat("province31_swm.dbf")

#验证没有行其元素全为0

> any(rowSums(spmat) == 0)

[1] FALSE

#写出n*n空间权重矩阵

> write.csv(spmat, "spmat.csv")

 

数据和代码下载请关注微信公众号:思达区域经济研究方法SDAR-workshop

 

扫码或长按,关注该微信号

版权申明

本号所有图文资料,除特别说明外,其版权归浙江工业大学王庆喜领衔的“思达工作室”所有。转发、引用请注明原始出处。

网络链接

1、科学网博客:http://blog.sciencenet.cn/u/workshopofsdar

2、网易博客:http://wqx1976.blog.163.com/

3、人大经济论坛账号:R语言区域经济

4、知乎账号:sdar

公众号功能

1、致力于打造中国R语言空间数据分析第号;

2、探讨R语言、ArcGISmatlabGeoDaStataSPSS等软件在空间数据分析中的应用;

3、讨论产业集聚、空间溢出、区域创新网络、城市群发展等热门研究主题。

 




https://blog.sciencenet.cn/blog-3376208-1118131.html

上一篇:gwt2mat:将gwt权重文件转成n-by-n矩阵
下一篇:shp2mat:基于shape文件生成空间权重矩阵
收藏 IP: 112.10.106.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-22 17:12

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部