生成权重矩阵matlab,科学网—shp2mat:基于shape文件生成空间权重矩阵 - 王庆喜的博文...

> setwd("…\\shp2mat")

> library(maptools)

#查看shape文件数据情况

> provinces

> capitals

> plot(provinces); plot(capitals, pch =   19, cex = 0.6, add = T)

> provinces@data

> capitals@data

#1元素取值为0-1

#1.1省份面

#1.1.1基于queen邻接关系设定邻居,赋值为1

> pmat1

#1.1.2将距离最近的3个单元设为邻居,赋值为1

> pmat2

#1.1.3将500公里以内的单元设为邻居,赋值为1

> pmat3

#1.2省会点

#1.2.1基于泰森多边形邻接关系设定邻居,赋值为1

> cmat1

#1.2.2将距离最近的3个单元设为邻居,赋值为1

> cmat2

#1.2.3将500公里以内的单元设为邻居,赋值为1

> cmat3

#2元素取值为距离,这里基于经纬度计算弧度距离,以km为单位

#2.1省份面

#2.1.1给出所有单元间距离

> pmat1

#2.1.2给出最近三个邻居的距离

> pmat2

#2.1.3给出500公里范围内的邻居距离,如无邻居则用距离最近的单元替代

> pmat3

#2.2省会点

#2.2.1给出所有点对间距离

> cmat1

#2.2.2给出最近三个点的距离

> cmat2

#2.2.2给出500公里范围内的邻居距离,如无邻居则用距离最近的点替代

> cmat3

#给距离矩阵行列赋名并写出权重矩阵

> unit.names

> dimnames(pmat1)

> write.csv(pmat1,   "province31_distance.csv")

> unit.names

> dimnames(cmat1)

> write.csv(cmat1,   "capital31_distance.csv")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值