我非常喜欢 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()