使用 raster::rasterize 时,我可以输入一个多边形属性,该属性是例如州名称的字符。它将字符转换为整数值。如何找出每个整数值对应的字符/字符串是什么?
> rfc
class : SpatialPolygonsDataFrame
features : 23
extent : -179.1332, 179.788, 13.23231, 71.39809 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=NAD83 +no_defs
variables : 5
names : SITE_ID, STATE, RFC_NAME, RFC_CITY, BASIN_ID
min values : ACR, AK, Alaska, Anchorage, ABRFC
max values : TUA, UT, West Gulf, Tulsa, WGRFC
从那
> rfc$BASIN_ID
[1] AKRFC MBRFC CBRFC ABRFC CNRFC LMRFC MARFC NCRFC NERFC NWRFC OHRFC SERFC
[13] WGRFC WGRFC WGRFC WGRFC WGRFC WGRFC WGRFC WGRFC WGRFC WGRFC WGRFC
13 Levels: ABRFC AKRFC CBRFC CNRFC LMRFC MARFC MBRFC NCRFC NERFC ... WGRFC
现在,如果我使用光栅化,它将返回以下内容:
r
class : RasterLayer
dimensions : 3840, 4608, 17694720 (nrow, ncol, ncell)
resolution : 1000, 1000 (x, y)
extent : -2304000, 2304000, -1920001, 1919999 (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)
factors
在内部表示为整数,每个不同的数字(级别)都有字符标签
因此
levels(rfc$BASIN_ID)
应返回长度为 13 的字符向量,该向量对应于数字 1,...13 存在于rasterLayer
r
.