can raster create multi-layer objects with different modes?

后端 未结 1 1167
执念已碎
执念已碎 2021-02-10 02:20

Can a raster object (in R) have layers of different mode (data type)?

On the face of it it seems we are always forced to one type:

library(         


        
相关标签:
1条回答
  • 2021-02-10 02:31

    The raster package provides the ability to create rasters with a categorical variable, and the rasterVis package includes functions for plotting them. The ratify function allows a raster to include a lookup table relating the underlying raster integer values to other values, which can be character. This directly allows the use of any other mode of value in the levels part of the ratified raster.

    Here's an example.

    library(rasterVis)
    
    
    r <- raster(xmn = 0, xmx = 1, ymn = 0, ymx = 2, nrow = 10, ncol = 11, 
                crs = as.character(NA))
    r[] <- sample(seq_along(letters[1:5]), ncell(r), replace = TRUE)
    
    ## ratify the raster, and set up the lookup table
    r <- ratify(r)
    rat <- levels(r)[[1]]
    rat$value <- letters[1:5]
    rat$code <- 1:5
    
    ## workaround for limitation as at 2013-05-01
    ## see https://stat.ethz.ch/pipermail/r-sig-geo/2013-May/018180.html
    rat$code <- NULL
    levels(r) <- rat
    
    levelplot(r)
    

    There are coming updates to rasterVis that make the workaround above unnecessary.

    0 讨论(0)
提交回复
热议问题