如何解决我如何让 mapview 以与 plotRGB 或 plot
我有一个从 ArcGIS 导出的栅格 file 作为地理参考 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,stretch='lin')
plot(r2)#plot(r2,col=r2@legend@colortable)
然而,当我尝试 mapview 时,结果并不如预期。
mapview(r2,col.regions = pct$ct,na.col="transparent")
谁能帮我用 mapview 解决这个问题? 我查看了 this,但找不到解决方案。
解决方法
您可以简单地使用 mapview::viewRGB()
viewRGB(r,1,2,3,method = "ngb",quantiles = c(0,1),maxpixels = ncell(r))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。