R:以特定顺序将shapefile ID保存为向量

R:以特定顺序将shapefile ID保存为向量,r,raster,shapefile,rgdal,R,Raster,Shapefile,Rgdal,样本数据 library(raster) dat <- getData('GADM', country='FRA', level=1) plot(dat) text(dat, labels=as.character(dat$ID_1), col="darkred", font=2, offset=0.5, adj=c(0,2)) 但我仍然无法导出输出或在南北方向排列质心 要保存为矢量,一种简单的方法是获取每个多边形的最小纬度,并根据该纬度

样本数据

      library(raster)
      dat <- getData('GADM', country='FRA', level=1)
      plot(dat)
      text(dat, labels=as.character(dat$ID_1), col="darkred", font=2, offset=0.5, adj=c(0,2))

但我仍然无法导出输出或在南北方向排列质心
要保存为矢量,一种简单的方法是获取每个多边形的最小纬度,并根据该纬度对ID进行排序:

# data 

library(raster)
dat <- getData('GADM', country='FRA', level=1)

# create south to north index
sn_index <- unlist(lapply(dat@polygons, function(x) min(x@Polygons[[1]]@coords[,2])))

#sort IDs

dat$ID_1[order(sn_index)]
# [1] 10 13 21 16 22  3  2 14 20  6 18  8 11  7  1  9 15  4  5 19 12 17
#数据
图书馆(光栅)

dat那dat$ID_1[顺序(坐标(dat)[,2])]呢。这很简单。谢谢,这与Michael在评论中使用的
dat$ID_1[顺序(坐标(dat)[,2])]给出的顺序稍有不同。
我想知道这两种方法之间的差异是什么?Michael使用质心。。。我的方法使用多边形的最小纬度。我想这两种方法都适合我的需要。非常感谢。
      library(rgeos)
      trueCentroids = gCentroid(dat,byid=TRUE)
      plot(dat)
      points(coordinates(dat),pch=1)
# data 

library(raster)
dat <- getData('GADM', country='FRA', level=1)

# create south to north index
sn_index <- unlist(lapply(dat@polygons, function(x) min(x@Polygons[[1]]@coords[,2])))

#sort IDs

dat$ID_1[order(sn_index)]
# [1] 10 13 21 16 22  3  2 14 20  6 18  8 11  7  1  9 15  4  5 19 12 17