0

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)
4

1 に答える 1

1

factors個別の数値 (レベル) ごとに文字ラベルを持つ整数として内部的に表されます。

そのような

levels(rfc$BASIN_ID)

は、長さ 13 の文字ベクトルを返す必要があります。これは、 に存在する数値 1、...13 に対応しますrasterLayer r

于 2016-02-17T01:42:26.180 に答える