You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Consider using raster's ratify for character and factor columns? (raster::rasterize doesn't currently)
(I'd like to have a go at this, but not today so I just want to record what I described already! )
Raster allows for a classification with a factor-like mechanism, called ratify - "raster attribute table".
This could allow setting field = to a character-column, and also better handle the output when field is a factor.
Currently an error if field is a factor (so related to #20)
library(sf)
example(st_read)
## create character column nc$chr<- levels(nc$NAME)[nc$NAME]
library(fasterize)
fasterize(nc, raster(nc, nrows=300, ncols=600), field="chr")
#Error in fasterize(nc, raster(nc, nrows = 300, ncols = 600), field = "chr") : # Not compatible with requested type: [type=character; target=double].
It's a little awkward, but we can set up a factor column from a character field, fasterize, and then apply the levels classification.
## a workaround at the R level isfield<-"chr"nc$field<-factor(nc[[field]])
r<- fasterize(nc, raster(nc, nrows=300, ncols=600), field="field")
## put the classifications on with ratify/levelsr<- ratify(r)
rat<- levels(r)[[1]]
rat[[field]] <- levels(nc$field)
levels(r) <-rat
The text was updated successfully, but these errors were encountered:
FTR, in #26, I include an alternative version of the R fasterize() wrapper. It implements this feature as part of a more general upgrade of fasterize()'s handling of factor and numeric rasters and feature fields. If there's any interest, I'll eventually submit it as a pull request, but wanted to first make it available for review and possible improvement by others.
Consider using raster's ratify for character and factor columns? (raster::rasterize doesn't currently)
(I'd like to have a go at this, but not today so I just want to record what I described already! )
Raster allows for a classification with a
factor
-like mechanism, calledratify
- "raster attribute table".This could allow setting
field =
to a character-column, and also better handle the output when field is a factor.Currently an error if field is a factor (so related to #20)
It's a little awkward, but we can set up a factor column from a character field, fasterize, and then apply the levels classification.
The text was updated successfully, but these errors were encountered: