長三角一體化進入新的發展階段,下面通過製作最新長三角城市羣地圖,並運用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)建立空間權重矩陣的圖示如下: