长三角一体化进入新的发展阶段,下面通过制作最新长三角城市群地图,并运用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("E:\\data\\cor.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,"E:\\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,"E:\\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)建立空间权重矩阵的图示如下:
|
请发表评论