o Clear for CRAN submission
o grassHelp()
can show the GRASS manual "table of contents" (argument "toc"
).
o longlat()
can now return rasters with cell values equal to their coordinates in map units (previously, only coordinates in degrees were returned).
o For functions that are complicated or have extended references, added a note to the @seealso
tag to see the respective GRASS manual page using grassHelp()
.
o project()
correctly restores the user's "location" to that of the newly projected GRaster
.
o Test examples with GRASS 8.4 and update functions as needed. Upgrade to fasterRaster 8.4.X.X.
o addLocationProject()
adds either a project
or location
argument to a list
to be passed to rgrass::execGRASS()
.
o project()
work with GRASS 8.4.
o .vAttachDatabase()
no longer has the "o"
flag when calling v.db.connect
when running GRASS >=8.4.
o aggregate()
no longer has the dissolve
argument for GVector
s (polygons will always be dissolved).
o combineCats()
has been renamed concats()
to align with terra.
o intercept()
, slope()
, r2()
, and tvalue()
have been replaced by the single function regress()
to align with terra.
o pca()
has been renamed princomp()
.
o extract()
now automatically projects a GVector
to match the CRS of a GRaster
from which extraction is being made.
o grassGUI()
allows users to start the GRASS GUI.
o grassHelp()
shows the manual page for a GRASS module.
o layerIndex()
allows a negate
argument to get the "opposite" indices of a GRaster
.
o init()
assigns to GRaster
cells the value of their coordinates, rows, columns, or values in a regular or chessboard-like pattern.
o regress()
replaces individual functions intercept()
, slope()
, r2()
, and tvalue()
.
o subset()
subsets layers of a GRaster
or rows/geometries of a GVector
.
o segregate()
creates one layer per unique value in an input GRaster
, with values in the output coded 1 or 0 depending on whether cells in the input had the unique value or not.
o appFuns()
succeeds in opening a shiny table with app()
functions.
o categories()
correctly assigns active category column.
o crds()
correctly returns coordinates from a "points" GVector
.
o distance()
correctly parses distance matrix.
o simplifyGeom()
works for 2-dimensional GVector
s.
o flow()
creates a scratch folder when none is provided.
o global()
does not fail when multiple values of fun
and probs
are used and fun
includes quantile
.
o rasterize()
works when by
is not NULL
.
o .layerIndex()
(called by categories()
and other functions related to categorical GRaster
s) does not fail.
o .vHasDatabase()
correctly detects if a vector has a database attached to it.
o Removed all instances of sQuote()
.
o Recompile pkgdown
o Main task: Port tutorials to vignettes
o bioclims()
calculates BIO55-60.
o bioclims()
displays progress more satisfyingly.
o Added pkgdown
site!!! (Experimental...)
o bioclims()
calculates BIO07 even when BIO05 and BIO06 were not explicitly called.
o faster()
accepts a names list as an argument.
o Fix all issues arising from check()
.
o Examples in all help files have been checked and, if needed, either they or the calling function(s) have been fixed. See "Bug fixes and speed-ups" below.
o dim3d()
returns the "region's" dimensions when called with no arguments.
o global()
calculates quantiles much faster (minutes vs. weeks) for very large rasters.
o layerCor()
by default calculates inter-GRaster
correlation.
o reorient()
converts facing angles between north and east orientations.
o terrain()
can return slope and aspect in radians, and allows a custom value to be set for undefined aspects.
o Default value of memory
in faster()
is now 2 GB.
o global()
argument prob
changed to probs
because it can accommodate more than one value.
o horizonHeight()
function now uses argument step
instead of directions
.
o Removed sd()
and sdpop()
and replaced with stdev()
.
o atan2()
works!
o extract()
extracts!
o fast()
can convert a SpatRaster
with one or more layers that are a subset of a larger SpatRaster
into a GRaster
without error.
o fractalRast()
is faster.
o freq()
work when the input is a categorical GRaster
.
p interpSplines()
bug causing lambda values to not be returned fixed.
o horizonHeight()
returns GRaster
s that can be used directly in sun()
.
o plotRGB()
is no longer stuck in an infinite loop an infinite loop an infinite loop an infinite loop an infinite loop an infinite loop an infinite loop.
o rSpatialDepRast()
is faster.
o replace_double_square_brackets
works!
o simplifyGeom()
works when using the "dp" or "dpr" methods.
o spatSample()
works when byStratum = TRUE
.
o subset_dollar
bug fixed related to rationalization of dim()
and res()
.
o subset_double_square_brackets
works for i = missing
and j =
not missing.
o subset_single_bracket
works for x[i, j]
when neither i
nor j
are missing.
o sun()
works with GRaster
s from horizonHeight()
.
o terrain()
works when all methods (v = '*'
) are called.
o update()
retains a GVector
's data table.
o vegIndex()
fixed bug parsing index
.
o zonal()
works when zones are set by a GVector
.
o Renamed terrainRuggednessIndex()
to ruggedness()
.
o Renamed topoWetnessIndex()
to wetness()
.
o [
(subset_single_bracket
) can use a GRaster
inside the []
to specify what cells in a GRaster
to subset.
o [<-
(replace_single_square_bracket
) can use a GRaster
inside the []
to specify what cells in a GRaster
are re-assigned.
o bioclims()
is a new function that calculates the "classic" and "extended" set of BIOCLIM rasters. It works on GRaster
s and SpatRaster
s!
o faster()
now has option clean
, which enables automatic deletion of temporary files created by functions.
o mow()
is a new function that removes unused raster and vector files from the GRASS cache.
o project()
now has a verbose
argument for displaying progress.
o sineRast()
now accepts arguments for amplitude.
o tiles()
is a new function that creates spatially exclusive subsets from GRaster
s.
o spatSample()
now works when values = TRUE
.
+: Denotes potentially code-breaking changes
o sineRast()
: Creates sine wave rasters.
o distance()
now works for calculation of distances between two GVector
s or a GVector
and itself.
o + extract()
and + spatSample()
: Changed default value of cats
argument to TRUE
.
o fragmentation()
is much faster for SpatRaster
s and for both SpatRaster
s and GRaster
s, can display progress.
o + plot()
is faster for very large rasters. Replaced argument maxcell
with simplify
.
o show()
displays long raster names properly.
o not.na()
: Fixed bug causing incorrect answer.
+: Denotes potentially code-breaking changes
o + spatSample()
: Much faster (though not actually fast...) for large samples taken from GRaster
s. Removed argument seed
for GRaster
signature, and added argument verbose
to give you something to watch.
o freq()
: Added `function-specific example.
o global()
: Fixed bug arising when called by other functions and main argument was a sources()
name.
+: Denotes potentially code-breaking changes
o rast()
: Attaches the GRaster
's levels table to the SpatRaster
output.
o + rasterize()
: Rewritten to perform (nearly) the same as terra::rasterize()
.
o predict()
: Can accommodate models with two-way interactions between categorical rasters and between a categorical predictor and a scalar.
o scalepop()
: Scales GRaster
s by population standard deviation.
o Stops with a somewhat informative error when a GRaster
fails to be created (in hidden function .makeGRaster()
)
o writeRaster()
: Correctly assign datatype
to CELL
rasters.
O + cor()
and cov()
removed and incorporated into layerCor()
o activeCat()
and activeCats()
: Fixed bug introduced by previous fix.
o activeCat()
: Correct output when names = TRUE
.
o expanse()
: Expanded list of units; correct assignation of units to GRASS unit format.
o extract()
: Extracting from a GRaster
to a lines
or polygons
GVector
works.
o fast()
: Fixed bug arising when reading vector saved by writeRaster()
.
o + global()
: Removed functions "countNA"
and "countNonNA"
from global()
since GRASS module r.report
can be mistaken.
o nacell()
and nonnacell()
: Correct (but slow~~~) reporting of NA
and non-NA
cells (workaround of error in GRASS's r.report
module).
o Added streams()
for calculating location of stream channels from a DEM.
o Added terrainRuggednessIndex()
for calculating the terrain ruggedness index.
o unscale()
can skip unscaling of rasters by supplying NA
in the center
and/or scale
vectors.
o writeRaster()
will now automatically choose the "least-lossy" datatype
for a stack of rasters.
o More robust checking of whether a vector is topologically valid or not when using fast()
, and added option to aggregate or disaggregate polygons to overcome the issue.
o crop()
correctly sets westernmost coordinate (was inappropriately too far west, in some cases).
o extend()
works when the "extension" factor is a integer.
o GRaster
s can now be multiplied by, divide by, added to, or subtracted from numeric
s in scientific notation format.
o hist()
now works with factor
GRaster
s.
o plot()
relies on writeRaster()
for datatype
(which is better).
o writeRaster()
saves all-NA
rows and columns.
o [
now works for large GVector
s (i.e., >1M geometries).
o Fixed behind-scenes issue arising when a CRS string couldn't be parsed to a shorter version (.locationCreate()
and related).
o Added function flow()
for calculating flow of water across a landscape.
o Added function flowPath()
for calculating flow of water from specific points on a landscape.
o freq()
inserts category labels into results for for categorical GRaster
s.
o Added function geomorphons()
for identifying geomorphological features.
o Added function maskNA()
for converting non-NA
cells or NA
cells to a user-defined value.
o plot()
displays of levels of categorical rasters.
o Can save layer-by-layer with writeRaster()
.
o Added ability to create points
GVector
s from numeric, matrices, or data frames using fast()
.
o Improved auto-assessment of raster datatype
in writeRaster()
.
o Updated README
for 8.3.0.7013!
o [
works consistently for GVector
s!!!!!
o Hidden function .makeGVector()
now catches cases with zero extent for polygons.
o Fixed installation issue related to activeCat()<-
and addCats()<-
(thank you, @kbondo1
!)
o Fixed bug in arithmetic
when determining data type of an input raster.
o crds()
works when the GRASS vector has an attribute table.
o extract()
extracts values from GVector
s for large numbers of points without crashing.
o plot()
works! (Previous issue arose from changing output of writeRaster()
to GRaster
).
o rast()
correctly returns a SpatRaster
.
o vect()
correctly returns a SpatVector
.
o Removed rasterPrecision
option and now use internal function .getPrec()
to ascertain the proper precision of rasters.
o Option to fail in creation of GRaster
or a polygons
GVector
if it would have a zero extent.
o complete.cases()
and missing.cases()
return logical vectors for vectors with no data tables (was integer vectors).
o Added function classify()
.
o Added function subst()
.
o Added function combineLevels()
.
o Added hidden function .plot()
.
o For functions and cases where it is appropriate, the "levels" table of an input GRaster
is passed to the output.
o fragmentation()
works for windows sizes > 3 and for GRaster
s.
o writeRaster()
correctly assigns levels to categorical rasters with >1 layer.
o Fixed bug in [[<-
that passed incorrect dimensions (then failed).
o [
selects geometries from a GRaster
, overcoming mis-selection by GRASS
o Removed datatype()
method for signature SpatRaster
rbind()
and cbind()
work for GVector
s.
o Fix bug setting extent for new raster in crop()
Alpha release of new, intuitive fasterRaster emulating and interoperable with terra!!!
Nearly nothing is the same in the new version of fasterRaster compared to version 0.7 and lower. All of the functions in previous versions have been removed.
fasterRaster is now compatible with terra and sf and shares functions with the same names that do (almost always) the same things (esp. with terra, less so with sf).
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.