我想栅格化一个多边形,如果我定义了该字段,它就不会返回该属性。例如,以下多边形具有22个多边形和13个唯一的BASIN_ID。如果我基于类型因子/字符的BASIN_ID进行栅格化,它将为每个都分配一个数字。但是如何找出哪个数字指的是哪个多边形?
polyg
class : SpatialPolygonsDataFrame
features : 22
extent : -2207945, 2235431, -1667188, 1584226 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=lcc +lat_1=30 +lat_2=60 +lat_0=40.0000076293945 +lon_0=-97 +x_0=0 +y_0=0 +a=6370000 +b=6370000 +units=m +no_defs
variables : 5
names : SITE_ID, STATE, RFC_NAME, RFC_CITY, BASIN_ID
min values : ALR, CA, Arkansas-Red Basin, Atlanta, ABRFC
max values : TUA, UT, West Gulf, Tulsa, WGRFC
这是用于栅格化的命令:
> rnew <- raster::rasterize(x = polyg,
+ y = r,
+ field = field)
我会得到:
> rnew
class : RasterLayer
dimensions : 3253, 4444, 14456332 (nrow, ncol, ncell)
resolution : 1000, 1000 (x, y)
extent : -2208000, 2236000, -1668001, 1584999 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=lcc +lat_1=30 +lat_2=60 +lat_0=40.0000076293945 +lon_0=-97 +x_0=0 +y_0=0 +a=6370000 +b=6370000 +units=m +no_defs
data source : in memory
names : layer
values : 1, 13 (min, max)
我想我可以使用以下(不确定)找到对应关系,但我正在寻找rasterize中的一个选项,它为我做了这个。
polyg@data$BASIN_ID as.numeric(polyg@data$BASIN_ID)
1 MBRFC 7
2 CBRFC 3
3 ABRFC 1
4 CNRFC 4
5 LMRFC 5
6 MARFC 6
7 NCRFC 8
8 NERFC 9
9 NWRFC 10
10 OHRFC 11
11 SERFC 12
12 WGRFC 13
13 WGRFC 13
14 WGRFC 13
15 WGRFC 13
16 WGRFC 13
17 WGRFC 13
18 WGRFC 13
19 WGRFC 13
20 WGRFC 13
21 WGRFC 13
22 WGRFC 13
谢谢,
levels(rfc[['BASIN_ID']])
[1] "ABRFC" "AKRFC" "CBRFC" "CNRFC" "LMRFC" "MARFC" "MBRFC" "NCRFC" "NERFC"
[10] "NWRFC" "OHRFC" "SERFC" "WGRFC"