diff --git a/man/mosaic.Rd b/man/mosaic.Rd index 300421451..9997a8d26 100644 --- a/man/mosaic.Rd +++ b/man/mosaic.Rd @@ -28,7 +28,7 @@ This method is similar to the simpler, but much faster, \code{\link{merge}} meth \item{x}{SpatRaster} \item{y}{object of same class as \code{x}} \item{...}{additional SpatRasters} - \item{fun}{character. One of "sum", "mean", "median", "min", "max"} + \item{fun}{character. One of "mean", "median", "min", "max", "modal", "sum", "first", "last"} \item{filename}{character. Output filename} \item{overwrite}{logical. If \code{TRUE}, \code{filename} is overwritten} \item{wopt}{list with named options for writing files as in \code{\link{writeRaster}}} diff --git a/src/raster_methods.cpp b/src/raster_methods.cpp index c63d1ede8..38b293d33 100644 --- a/src/raster_methods.cpp +++ b/src/raster_methods.cpp @@ -3439,11 +3439,12 @@ bool overlaps(const std::vector& r1, const std::vector& r2, SpatRaster SpatRasterCollection::mosaic(std::string fun, SpatOptions &opt) { SpatRaster out; - std::vector f {"first", "last", "sum", "mean", "median", "min", "max"}; + std::vector f {"first", "last", "sum", "mean", "median", "min", "max", "modal"}; if (std::find(f.begin(), f.end(), fun) == f.end()) { out.setError("argument 'fun' is not a valid function name"); return out; } + if (fun == "first") { return merge(true, true, opt); }