Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
9e42655
Update **GRASS GIS** to **GRASS** bc rebranding
adamlilith May 19, 2025
1e0a429
Change "module" to "tool" as per rebranding
adamlilith May 19, 2025
bd1b376
Add message re order of output
adamlilith May 19, 2025
eca844b
Add example demo'ing disrespect of index order
adamlilith May 19, 2025
605dc67
Increase display width of `data.table` columns in `GVector`s
adamlilith May 19, 2025
b6c50f7
Update help
adamlilith May 19, 2025
4a1840b
Change "module" to "tool" as per new **GRASS** terminology
adamlilith May 19, 2025
d44fe19
Update logo.png
adamlilith May 20, 2025
1a52c49
Add `reload` option for polygon `GVector`s
adamlilith May 20, 2025
84f1051
Update help
adamlilith May 20, 2025
736a7e7
Comment
adamlilith May 20, 2025
701dab5
Add method for `workDir(missing)`
adamlilith May 20, 2025
dbd485d
Update fasterRaster.Rmd
adamlilith May 20, 2025
fefe9fa
Update hidden_functions.Rmd
adamlilith May 20, 2025
54f2f12
`addons()` lists installed; add other `*Addon()`s
adamlilith May 20, 2025
e4780a0
Revamp for new `addons()` which checks if addon installed
adamlilith May 20, 2025
069c659
Fix help
adamlilith May 20, 2025
ab0603f
Remove `addons` vignette; add new `*Addons()` functions
adamlilith May 20, 2025
5dbb553
Remove `addons` argument from `initGRASS()`
adamlilith May 20, 2025
2dd2cc5
Remove `addons` argument from `initGRASS()`
adamlilith May 20, 2025
e116cf3
Delete addons.Rmd
adamlilith May 20, 2025
151c074
Remove `addons` vignette; add `*Addon()` fxs
adamlilith May 20, 2025
d3fa012
Update
adamlilith May 20, 2025
69de484
Add `.addons()`
adamlilith May 21, 2025
70657e8
Update with `.addons()`
adamlilith May 21, 2025
3682d78
Add `rRandWalk()`
adamlilith May 21, 2025
3d98eeb
Update centroids.Rd
adamlilith May 21, 2025
e16a1c7
Add `.addons()`
adamlilith May 21, 2025
65dab33
Update help re `addons()`
adamlilith May 21, 2025
0797ed8
Update NEWS.md
adamlilith May 21, 2025
f4b0231
Rename `rUnifRast()` and `rNormRast()`
adamlilith May 22, 2025
e17b385
Allow calculation in user-defined window w/ addon
adamlilith May 22, 2025
8faa78f
Create neighborhoodMatrix.r
adamlilith May 22, 2025
2e39643
Create multivarEnvSim.r
adamlilith May 22, 2025
1cd30df
Update fasterRaster.r
adamlilith May 22, 2025
3ff81b2
Update compareGeom.r
adamlilith May 22, 2025
c765393
Remove test to see if GRASS started
adamlilith May 22, 2025
01a060f
Updates
adamlilith May 22, 2025
4e0319d
Update NEWS.md
adamlilith May 22, 2025
4d40076
Method for `proj` if missing
adamlilith May 23, 2025
01f850a
Update rRandWalkRast.Rd
adamlilith May 23, 2025
eed6ad0
Update NEWS.md
adamlilith May 23, 2025
b4323e2
Update README.md
adamlilith Jun 19, 2025
189b0c3
Fix `@rdname` tag
adamlilith Jun 19, 2025
2422ea7
Create `multivarEnvSim()`
adamlilith Jun 19, 2025
7d79561
Update fasterRaster.r
adamlilith Jun 19, 2025
56c5533
Add method for `GRaster`
adamlilith Jun 19, 2025
71b3968
Update NEWS.md
adamlilith Jun 19, 2025
3a634f6
Updates
adamlilith Jun 19, 2025
00e40d9
Change `rRandWalkRast()` to `rWalkRast()`
adamlilith Jun 19, 2025
ad1ad77
Update pkgdown.yml
adamlilith Jun 19, 2025
28b8cea
Fix link to `rWalkRast()`
adamlilith Jun 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"CRS",
"Dypsis",
"Epanechnikov",
"geostatistical",
"mapset",
"unprojected"
]
Expand Down
12 changes: 6 additions & 6 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
Package: fasterRaster
Type: Package
Title: Faster Raster and Spatial Vector Processing Using 'GRASS GIS'
Version: 8.4.0.7
Date: 2025-04-24
Title: Faster Raster and Spatial Vector Processing Using 'GRASS'
Version: 8.4.1.0
Date: 2025-06-19
Authors@R:
c(
person(
Expand All @@ -15,12 +15,12 @@ Authors@R:
)
Maintainer: Adam B. Smith <adam.smith@mobot.org>
Description: Processing of large-in-memory/large-on disk rasters and spatial
vectors using 'GRASS GIS' <https://grass.osgeo.org/>. Most functions in
the 'terra' package are recreated. Processing of medium-sized and smaller
vectors using 'GRASS' <https://grass.osgeo.org/>. Most functions in the
'terra' package are recreated. Processing of medium-sized and smaller
spatial objects will nearly always be faster using 'terra' or 'sf', but
for large-in-memory/large-on-disk objects, 'fasterRaster' may be faster.
To use most of the functions, you must have the stand-alone version (not
the 'OSGeoW4' installer version) of 'GRASS GIS' 8.0 or higher.
the 'OSGeoW4' installer version) of 'GRASS' 8.0 or higher.
Depends:
R (>= 4.0.0)
Imports:
Expand Down
10 changes: 8 additions & 2 deletions NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,12 @@ export(faster)
export(grassHelp)
export(grassInfo)
export(grassStarted)
export(installAddon)
export(is.polygons)
export(mow)
export(pcs)
export(print)
export(removeAddon)
export(seqToSQL)
export(st_coordinates)
export(st_crs)
Expand Down Expand Up @@ -172,12 +174,15 @@ exportMethods(minmax)
exportMethods(missing.cases)
exportMethods(missingCats)
exportMethods(mmode)
exportMethods(multivarEnvSim)
exportMethods(nacell)
exportMethods(names)
exportMethods(ncell)
exportMethods(ncell3d)
exportMethods(ncol)
exportMethods(ndepth)
exportMethods(neighborhoodMatrix)
exportMethods(neighbourhoodMatrix)
exportMethods(ngeom)
exportMethods(nlevels)
exportMethods(nlyr)
Expand All @@ -194,7 +199,10 @@ exportMethods(predict)
exportMethods(princomp)
exportMethods(project)
exportMethods(quantile)
exportMethods(rNormRast)
exportMethods(rSpatialDepRast)
exportMethods(rUnifRast)
exportMethods(rWalkRast)
exportMethods(range)
exportMethods(rast)
exportMethods(rasterize)
Expand All @@ -212,10 +220,8 @@ exportMethods(replaceNAs)
exportMethods(res)
exportMethods(res3d)
exportMethods(resample)
exportMethods(rnormRast)
exportMethods(round)
exportMethods(ruggedness)
exportMethods(runifRast)
exportMethods(rvoronoi)
exportMethods(sampleRast)
exportMethods(scale)
Expand Down
27 changes: 23 additions & 4 deletions NEWS.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,27 @@
# fasterRaster 8.4.1.0 (2025-06-17)

### Code-breaking changes
o `rnormRast()` is now `rNormRast()`.
o `runifRast()` is now `rUnifRast()`.

### New functions and functionality
o `addons()` now reports the names of all installed addons or whether a given addon is installed.
o `installAddon()` installs an addon.
o `removeAddon()` deletes an addon.
o `centroids()` now calculates centroids of clumps in a `GRaster`.
o `multivarEnvSim()` calculates multivariate environmental similarity (MESS).
o `neighborhoodMatrix()` generates a neighborhood matrix from a polygons `GVector`.
o `rWalkRast()` creates a raster with the path of random walkers.
o `ruggedness()` now allows for calculation of the terrain ruggedness index across user-defined windows with distance-based weighting.

### Minor fixes
o Rebranding as per **GRASS** re-brand (haromonized logo with **GRASS** April 2025 branding guidelines, "GRASS GIS" --> just "GRASS", "modules" --> "tools).

# fasterRaster 8.4.0.7 (2025-04-24)
o Removed dependency on **rpanel** because its dependency on **tclk** did not work with **Docker** images. Replaced with version dependency on **omnibus**'s `screenRes()` function.

# fasterRaster 8.4.0.6 (2025-03-26)
o `faster(debug = TRUE)` displays the **GRASS** command for each **GRASS** module called in a **fasterRaster** function.
o `faster(debug = TRUE)` displays the **GRASS** command for each **GRASS** tool called in a **fasterRaster** function.
o `GVector[i]` works for cases with long `i`s.
o Fixes to help pages.

Expand Down Expand Up @@ -84,7 +103,7 @@ o `pca()` has been renamed `princomp()`.
### Enhanced functionality and new functions
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 `grassHelp()` shows the manual page for a **GRASS** tool.
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()`.
Expand Down Expand Up @@ -238,8 +257,8 @@ 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 + `global()`: Removed functions `"countNA"` and `"countNonNA"` from `global()` since **GRASS** tool `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` tool).

# fasterRaster 8.3.0.7016 (2024-05-27)

Expand Down
2 changes: 1 addition & 1 deletion R/00e_GVector_class.r
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ methods::setValidity("GVector",
#'
#' @param table A `data.table`, `data.frame`, `GVector` with a table, or character. This can be `data.table(NULL)` or `data.frame(NULL)` if there is no table associated with the vector. If a character, this is interpreted as the name of the table in **GRASS**.
#'
#' @param build Logical: If `TRUE` (default), build topology using **GRASS** module `v.build`.
#' @param build Logical: If `TRUE` (default), build topology using **GRASS** tool `v.build`.
#'
#' @param extensive Logical: If `TRUE`, do extensive topological checks using `v.build`. The default is `FALSE`.
#'
Expand Down
15 changes: 9 additions & 6 deletions R/01_generics.r
Original file line number Diff line number Diff line change
Expand Up @@ -128,8 +128,8 @@ methods::setGeneric(name = "dropTable", def = function(x, ...) standardGeneric("

methods::setGeneric(name = "E", def = function(x, ...) standardGeneric("E"))
# methods::setGeneric(name = "elide", def = function(x, ...) standardGeneric("elide"))
methods::setGeneric(name = "erase", package = "terra")
methods::setGeneric(name = "ext", package = "terra")
methods::setGeneric(name = "erase", package = "terra")
methods::setGeneric(name = "ext", package = "terra")
methods::setGeneric(name = "extend", package = "terra")
methods::setGeneric(name = "expanse", package = "terra")
methods::setGeneric(name = "extract", package = "terra")
Expand Down Expand Up @@ -199,14 +199,17 @@ methods::setGeneric(name = "merge", package = "terra")
#' @importFrom terra median
methods::setGeneric(name = "median", def = function(x, na.rm) standardGeneric("median"))
methods::setGeneric(name = "mmode", def = function(x, ...) package = "omnibus")
methods::setGeneric(name = "multivarEnvSim", def = function(ref, proj, ...) standardGeneric("multivarEnvSim"))

# "names" (in base) is primitive
methods::setGeneric(name = "N", def = function(x, ...) standardGeneric("N"))
methods::setGeneric(name = "ncell", package = "terra")
methods::setGeneric(name = "ncell3d", def = function(x) standardGeneric("ncell3d"))
methods::setGeneric(name = "ncol", def = function(x) standardGeneric("ncol")) # in base
methods::setGeneric(name = "ndepth", def = function(x) standardGeneric("ndepth"))
methods::setGeneric(name = "new", package = "methods")
methods::setGeneric(name = "neighborhoodMatrix", def = function(x, ...) standardGeneric("neighborhoodMatrix"))
methods::setGeneric(name = "neighbourhoodMatrix", def = function(x, ...) standardGeneric("neighbourhoodMatrix"))
methods::setGeneric(name = "new", package = "methods")
methods::setGeneric(name = "nlyr", package = "terra")
methods::setGeneric(name = "nacell", def = function(x, ...) standardGeneric("nacell"))
methods::setGeneric(name = "ngeom", def = function(x, ...) standardGeneric("ngeom"))
Expand Down Expand Up @@ -238,7 +241,6 @@ methods::setGeneric(name = "rasterize", package = "terra")
# from https://stackoverflow.com/questions/27886535/proper-way-to-use-cbind-rbind-with-s4-classes-in-package
methods::getGeneric("rbind")
methods::setGeneric(name = "rbind", signature = "...")

methods::setGeneric(name = "regress", package = "terra")
methods::setGeneric(name = "remove0", def = function(x, ...) standardGeneric("remove0"))
methods::setGeneric(name = "removeAngles", def = function(x, ...) standardGeneric("removeAngles"))
Expand All @@ -251,10 +253,11 @@ methods::setGeneric(name = "replaceNAs", def = function(x, ...) standardGeneric(
methods::setGeneric(name = "res", package = "terra")
methods::setGeneric(name = "res3d", def = function(x) standardGeneric("res3d"))
methods::setGeneric(name = "resample", package = "terra")
methods::setGeneric(name = "rnormRast", def = function(x, ...) standardGeneric("rnormRast"))
methods::setGeneric(name = "rNormRast", def = function(x, ...) standardGeneric("rNormRast"))
methods::setGeneric(name = "ruggedness", def = function(x, ...) standardGeneric("ruggedness"))
methods::setGeneric(name = "runifRast", def = function(x, ...) standardGeneric("runifRast"))
methods::setGeneric(name = "rUnifRast", def = function(x, ...) standardGeneric("rUnifRast"))
methods::setGeneric(name = "rvoronoi", def = function(x, ...) standardGeneric("rvoronoi"))
methods::setGeneric(name = "rWalkRast", def = function(x, ...) standardGeneric("rWalkRast"))

methods::setGeneric(name = "S", def = function(x, ...) standardGeneric("S"))
methods::setGeneric(name = "sampleRast", def = function(x, ...) standardGeneric("sampleRast"))
Expand Down
8 changes: 4 additions & 4 deletions R/05_GRaster_functions_by_layer.r
Original file line number Diff line number Diff line change
Expand Up @@ -383,7 +383,7 @@ setMethod(
)

#' Generic trigonometry function
#' @param fx Character: Name of the function in **GRASS** module `r.series`.
#' @param fx Character: Name of the function in **GRASS** tool `r.series`.
#' @param x A `GRaster`.
#' @noRd
.genericTrig <- function(fx, x) {
Expand All @@ -409,7 +409,7 @@ setMethod(
}

#' Generic "arc"-trigonometry function
#' @param fx Character: Name of the function in **GRASS** module `r.series`.
#' @param fx Character: Name of the function in **GRASS** tool `r.series`.
#' @param x A `GRaster`.
#' @noRd
.genericArcTrig <- function(fx, x) {
Expand All @@ -435,7 +435,7 @@ setMethod(
}

#' Generic function with one input (the GRaster)
#' @param fx Character: Name of the function in **GRASS** module `r.series`.
#' @param fx Character: Name of the function in **GRASS** tool `r.series`.
#' @param x A `GRaster`.
#' @noRd
.genericRastFx <- function(fx, x) {
Expand Down Expand Up @@ -464,7 +464,7 @@ setMethod(
}

#' Generic function with two inputs (GRaster and a numeric)
#' @param fx Character: Name of the function in **GRASS** module `r.series`.
#' @param fx Character: Name of the function in **GRASS** tool `r.series`.
#' @param x A `GRaster`.
#' @param y A numeric.
#' @noRd
Expand Down
Loading