我非常喜欢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
答案 0 :(得分:0)
似乎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()