r语言 - 如何以与 raster::p lotRGB 相同的方式显示带有 tmap 的 RasterBrick



我非常喜欢 CARTO 的极简底图,但我在将它们与我首选的地图工具tmap一起使用时遇到了麻烦。我可能犯了一个愚蠢的错误,但我无法正确选择颜色。

library(tmap)
library(cartography)
data("NLD_prov")
# get the basemap
carto.raster <- getTiles(NLD_prov, type = "cartolight")
# This is the output I want
raster::plotRGB(carto.raster)
# This output looks bad
tm_shape(carto.raster) +
tm_raster()
# I think I'm supposed to use tm_rgb() but that gives an error
tm_shape(carto.raster) +
tm_rgb()
rgb(x[, 1], x[, 2],

x[, 3], maxColorValue = 255) 中的错误: 颜色强度 NA,不在 0:255 中

似乎tm_rgb无法处理NA值。您可以使用raster::reclassify删除这些内容

library(raster)
library(tmap)
library(cartography)
data("NLD_prov")
carto.raster <- getTiles(NLD_prov, type = "cartolight")
r <- reclassify(carto.raster, cbind(NA, 255))
tm_shape(r) + tm_rgb()

要摆脱白色 NA 边界,您可以使用crop

e <- extent(11000, 288000, 305000, 625000)
x <- crop(r, e)
tm_shape(x) + tm_rgb()

相关内容

  • 没有找到相关文章

最新更新