我有一个从 ArcGIS 导出为地理参考 tif 文件的栅格文件。栅格将用作 mapview 中的背景地图,因为 mapview 背景层 CartoDB.Positron、CartoDB.DarkMatter、OpenStreetMap、Esri.WorldImagery 和 OpenTopoMapdont 在我需要的缩放级别上不提供所需的背景。
首先,我使用 raster 包将我的光栅砖读入 R,然后使用 plotRGB 进行绘图。
library(raster)
library(mapview)
r<-brick("KYENGERA2.tif")#raster exported from Arcgis read. has 4 bands
r<-subset(r,1:3) #Retain only layers/bands with RGB
plotRGB(r, 1,2,3, stretch='lin')
然后,我创建一个值为 0 - 255 的新栅格 r2,并根据 r 中的 rgb 值分配一个颜色表。我以两种不同的方式绘制它,我得到了相同的结果。
r2 <- setValues(raster(r), pct$idx-1) #create a new raster with values 0 - 255
colortable(r2) <- pct$ct #define 256 colors
plotRGB(r, 1,2,3, stretch='lin')
plot(r2)#plot(r2,col=r2@legend@colortable)
但是,当我尝试使用 mapview 时,结果并不如预期。
mapview(r2, col.regions = pct$ct,na.col="transparent")
谁能帮我用mapview解决这个问题? 我已经看了一下这个,但我无法找到解决方案。