raster 包提供了一种使用分类的方法
数据。详情请阅读ratify的帮助页面。
首先让我们用您的数据创建一个RasterLayer:
library(raster)
dfr <- readBin('biome1440s.bin', integer(), size=1, n=720*1440, signed=F)
r <- raster(nrow=720, ncol=1440)
r[] <- dfr
现在我们将这个RasterLayer 定义为ratify 的一个因子。你
应该使用您的信息而不是LETTERS来更改其级别:
r <- ratify(r)
rat <- levels(r)[[1]]
rat$soil <- LETTERS[1:15]
levels(r) <- rat
最后,这个分类 RasterLayer 可以显示为
rasterVis package 的 levelplot 方法。
library(rasterVis)
myPal <- c('lightblue', terrain.colors(14))
## using par.settings
levelplot(r, par.settings=rasterTheme(region=myPal))
## or with col.regions
levelplot(r, col.regions=myPal)
已编辑:levelplot 使用 lattice 图形,而 plot 使用
base 图形。它们不能一起使用(除非您使用
gridBase 包)。但是,您可以轻松地叠加其他
使用 +.trellis 和 layer 函数的信息
latticeExtra 包。由于wrld_simpl 是
SpatialPolygonsDataFrame 你可以使用sp.polygons 函数
从sp 包中绘制它。
library(maptools) ## needed for wrld_simpl
data(wrld_simpl) ## a SpatialPolygonsDataFrame
levelplot(r, col.regions=myPal) +
layer(sp.polygons(wrld_simpl, lwd=0.5))