Improved way to assign code values (levels) to categorical SpatRaster
objects to prevent issues in rare cases when many variables are considered.
Column names of the data.frame used to define levels in categorical
SpatRaster objects were changed to ("id" and "category") to prevent issues
when reading such objects after writing them as raster files in local
directories.
A new argument in mop and mop_distance (tol = NULL) allow users to
play with the a tolerance value when calculating Mahalanobis distances.
Euclidean distance calculation uses our c++ function to avoid non-needed dependencies.
This is the first complete version of mop.