栅格化后保留图层名称

时间:2019-12-30 03:05:08

标签: r

我有一个数据框,其中包含x,y,值和50个位置的唯一ID。我将此数据帧转换为栅格,但丢失了这些位置的唯一ID。如何在创建的栅格中保留每个位置的名称?

Pred13 = data.frame(x,y,Index)
coordinates(Pred13) = ~x+y
rst_pred_13 <- raster()
extent(rst_pred_13) <- extent(Pred13)
Pred_Yld13 = rasterize(Pred13, rst_pred_13, Pred13, fun = mean) 

这只是转换为栅格,但是名称(唯一ID)不再存在。

ID      x           y           Index
D103    574070.6    4452182.5   0.716371109
D104    574969.4    4452182.5   0.744886447
D105    575868.2    4452182.5   0.748975528
D106    576767      4452182.5   0.766794456
S107    577665.8    4452182.5   0.693888885
S108    578564.6    4452182.5   0.711575956
S109    579463.4    4452182.5   0.665713451
S110    580362.2    4452182.5   0.66711642
S111    581261      4452182.5   0.744038446
F112    582159.8    4452182.5   0.698995257
F113    583058.6    4452182.5   0.645033871
F114    583957.4    4452182.5   0.661884746
F115    584856.2    4452182.5   0.661850527
F116    585755      4452182.5   0.59968895
R117    586653.8    4452182.5   0.693592996
R118    587552.6    4452182.5   0.744853835
M119    588451.4    4452182.5   0.746308897
M120    589350.2    4452182.5   0.742065499
M121    590249      4452182.5   0.715676129
M122    591147.8    4452182.5   0.662452103

1 个答案:

答案 0 :(得分:0)

我解决了这个,这就是我做到的方式。还是谢谢。

df = data.frame(test, na.rm=T)
x=df$x
y=df$y
Index=df$Index
Id_un = unique(df$ID)
for(i in Id_un){
  Pred13 = data.frame(x,y,Index)
  rst = rasterFromXYZ(Pred13)
  names(rst) = unique(i)
  rst$newID = as.factor(i)
}