前面几节已经将spdep定义空间关系和转换为空间权重矩阵的方法及原理给大家做了个简单的介绍,本章将spdep中的其他几种空间关系做一个简单介绍,就当资讯存档了。 library("sp") library("maptools") library("spdep") path <- "E:\\workspace\\IDE\\Rworkspace\\空间分析\\空间权重矩阵\\china\\" #将中国的省级行政区划读取为ploygon,省会读取成point cnData <- readShapePoly(paste(path,"CNPG_S.shp",sep ="")) ctData <- readShapePoints(paste(path,"city_SH.shp",sep ="")) #定义投影为wgs84 proj4string(cnData) <- "+proj=longlat +datum=WGS84" proj4string(ctData) <- "+proj=longlat +datum=WGS84" #定义唯一标识符,用行政区划的编码 IDs <- ctData@data$ADCODE99 #将名称转换为gbk编码 ctData$NAME <- iconv(ctData$NAME,"UTF-8","GBK") plot(cnData,border="grey") plot(ctData,pch=19,cex=1,col='red',add=T) text(ctData@coords[,1],ctData@coords[,2]+1,labels = ctData$NAME)
#定义k临近关系,k=3: kn1 <- knearneigh(ctData, k=3) w_kn1 <- knn2nb(kn1, row.names=IDs) w_kn1_mat <- nb2listw(w_kn1) plot(cnData,border="grey") plot(ctData,pch=19,cex=1,col='red',add=T) plot(w_kn1_mat,ctData@coords,add=T,col='blue') text(ctData@coords[,1],ctData@coords[,2]+1,labels = ctData$NAME) title("K临近,K=3")
|
|