R语言制作长三角城市群空间权重矩阵及作图显示

 长三角一体化进入新的发展阶段,下面通过制作最新长三角城市群地图,并运用R语言形成空间权重矩阵,同时画出了空间连接权重矩阵图示。

 

library("raster")
library("spdep")
#p1<- shapefile("E:\new_delta_map\\new_delta_map_2.shp")
p=shapefile("E:\\new_delta_map\\deltacity_2.shp",encoding="UTF-8")
cityname=c('安庆市',	'池州市',	'滁州市',	'宣城市',	'常州市',	'南京市',	
           '南通市',	'苏州市',	'泰州市',	'无锡市',	'盐城市',	'扬州市',	'镇江市',	
           '杭州市',	'湖州市',	'嘉兴市',	'金华市',	'宁波市',	'绍兴市',	'台州市',	'舟山市',	'马鞍山市',	
           '芜湖市',	'合肥市',	'上海市',	'铜陵市')
p$count_name=cityname

latlon=read.csv("\\data\\zuobiao.csv")
latlon=as.data.frame(latlon)
xy[,1]=latlon[,2]#换成城市实际坐标
xy[,2]=latlon[,3]
###############
wr <- poly2nb(p, row.names=p$ID_1, queen=TRUE)
wr[[18]]=sort(as.integer(c(wr[[18]],21)))
wr[[21]]=sort(as.integer(c(18)))
wm <- nb2mat(wr, style='B', zero.policy = TRUE)
write.csv(wm,"\\new_delta_map\\deltacitycluster-1.csv") #相邻矩阵

##############
#Distance based:
wd100 <- dnearneigh(xy, 0, 100, longlat=TRUE)
wmwd100<- nb2mat(wd100, style='B', zero.policy = TRUE)
write.csv(wmwd100,"\\new_delta_map\\deltacitycluster-wd100.csv") #相距离100km矩阵
#Nearest neighbors:
k3 <- knn2nb(knearneigh(xy, k=3, RANN=FALSE))
wmk3<- nb2mat(k3, style='B', zero.policy = TRUE)
write.csv(wmk3,"\\new_delta_map\\deltacitycluster-k3.csv") #相邻3个矩阵
plot(p, col='white', border='blue')
plot(wr, xy, col='red', lwd=2, add=TRUE)#作图,以相邻矩阵为连接
text(xy,p$count_name,cex=.7, halo=TRUE, hc="white", col='blue', hw=0.0)#halo是晕圈,设置hw=0则去除晕圈

以100km为门槛建立空间权重矩阵的图示如下:

以相邻与否(wij=1,if adj=1)建立空间权重矩阵的图示如下:

以三个相近邻居(k=3)建立空间权重矩阵的图示如下:

 

评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值