定义光栅对象的颜色

问题描述 投票:0回答:1

我有一个 rast 对象,需要使用定义的颜色样式导出。这些值不是整数。当我尝试定义 coltab 时,值会自动更正为整数。

我创建一个栅格:

r <- rast(ncols=3, nrows=2, vals=c(0.1,0.5,0.7,1,1.4,1.7))
plot(r)

plot of the raster

我创建一个包含值和相应颜色的数据框:

coltb <- data.frame(value=c(0.1,0.5,0.7,1,1.4,1.7), col=rainbow(6, end=.9))

> coltb
  value     col
1   0.1 #FF0000
2   0.5 #EBFF00
3   0.7 #00FF29
4   1.0 #00C2FF
5   1.4 #5200FF
6   1.7 #FF0099

我将其分配给栅格并绘制它:

coltab(r) <- coltb
plot(r)

plot of the raster with the assigned coltab

如果我检查 coltab,这些值将转换为整数:

> coltab(r)
[[1]]
  values red green blue alpha
1      0 255     0    0   255
2      0 235   255    0   255
3      0   0   255   41   255
4      1   0   194  255   255
5      1  82     0  255   255
6      1 255     0  153   255

如何才能保持原有的价值观? 非常感谢您的帮助

r raster terra
1个回答
0
投票

颜色表需要整数来匹配。从光栅

r
和颜色表
coltb
开始,您可以:

values(r) <- as.integer(10 * values(r))
coltb$value = as.integer(10 * coltb$value)
coltab(r) <- coltb

© www.soinside.com 2019 - 2024. All rights reserved.