Skip to content

Commit e14ad90

Browse files
authored
Merge pull request #107 from ropensci/fix-onload
Fix onload function
2 parents 32ddcdf + f0b8680 commit e14ad90

File tree

7 files changed

+173
-152
lines changed

7 files changed

+173
-152
lines changed

NEWS.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
____________________________________________________________________________________
1+
## NLMR 1.1.1 Release Notes
2+
3+
- Adding onload function and help for users that dont have `RandomFields`
4+
25
## NLMR 1.1.0.9000 Release Notes
36

47
- move `RandomFields` and `RandomFieldsUtils` to Suggests and use AdditionalRepositories to provide these packages since they are no longer available from CRAN (with #95)

R/NLMR.R

-8
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,5 @@
2020

2121
globalVariables(c("x", "value", ".", "ctf"))
2222

23-
.cranLikeRepo <- "https://predictiveecology.r-universe.dev/"
24-
.messageRandomFields <- paste(
25-
"Package 'RandomFields' is required, but no longer available on CRAN.",
26-
"Try installing the most recent archived version:",
27-
sprintf(" install.packages('RandomFields', repos = '%s')", .cranLikeRepo),
28-
sep = "\n"
29-
)
30-
3123
# nolint end
3224
# nocov end

R/nlm_fbm.R

+48-48
Original file line numberDiff line numberDiff line change
@@ -59,53 +59,53 @@ nlm_fbm <- function(ncol,
5959
user_seed = NULL,
6060
rescale = TRUE,
6161
...) {
62-
if (requireNamespace("RandomFields", quietly = TRUE)) {
63-
# Check function arguments ----
64-
checkmate::assert_count(ncol, positive = TRUE)
65-
checkmate::assert_count(nrow, positive = TRUE)
66-
checkmate::assert_numeric(resolution)
67-
checkmate::assert_numeric(fract_dim)
68-
checkmate::assert_true(fract_dim > 0)
69-
checkmate::assert_true(fract_dim <= 2)
70-
checkmate::assert_logical(rescale)
71-
72-
# specify RandomFields options ----
73-
RandomFields::RFoptions(cPrintlevel = 0)
74-
RandomFields::RFoptions(spConform = FALSE)
75-
RandomFields::RFoptions(...)
76-
77-
# set RF seed ----
78-
RandomFields::RFoptions(seed = user_seed)
79-
80-
# formulate and simulate fBm model
81-
fbm_model <- RandomFields::RMfbm(
82-
alpha = fract_dim)
83-
fbm_simu <- RandomFields::RFsimulate(fbm_model,
84-
# fBm changes x and y?
85-
y = seq.int(0, length.out = ncol),
86-
x = seq.int(0, length.out = nrow),
87-
grid = TRUE)
88-
89-
90-
# transform simulation into raster ----
91-
fbm_raster <- raster::raster(fbm_simu)
92-
93-
94-
# specify extent and resolution ----
95-
raster::extent(fbm_raster) <- c(
96-
0,
97-
ncol(fbm_raster) * resolution,
98-
0,
99-
nrow(fbm_raster) * resolution
100-
)
101-
102-
# Rescale values to 0-1 ----
103-
if (rescale == TRUE) {
104-
fbm_raster <- util_rescale(fbm_raster)
105-
}
106-
107-
return(fbm_raster)
108-
} else {
109-
stop(.messageRandomFields)
62+
63+
hasData()
64+
65+
# Check function arguments ----
66+
checkmate::assert_count(ncol, positive = TRUE)
67+
checkmate::assert_count(nrow, positive = TRUE)
68+
checkmate::assert_numeric(resolution)
69+
checkmate::assert_numeric(fract_dim)
70+
checkmate::assert_true(fract_dim > 0)
71+
checkmate::assert_true(fract_dim <= 2)
72+
checkmate::assert_logical(rescale)
73+
74+
# specify RandomFields options ----
75+
RandomFields::RFoptions(cPrintlevel = 0)
76+
RandomFields::RFoptions(spConform = FALSE)
77+
RandomFields::RFoptions(...)
78+
79+
# set RF seed ----
80+
RandomFields::RFoptions(seed = user_seed)
81+
82+
# formulate and simulate fBm model
83+
fbm_model <- RandomFields::RMfbm(
84+
alpha = fract_dim)
85+
fbm_simu <- RandomFields::RFsimulate(fbm_model,
86+
# fBm changes x and y?
87+
y = seq.int(0, length.out = ncol),
88+
x = seq.int(0, length.out = nrow),
89+
grid = TRUE)
90+
91+
92+
# transform simulation into raster ----
93+
fbm_raster <- raster::raster(fbm_simu)
94+
95+
96+
# specify extent and resolution ----
97+
raster::extent(fbm_raster) <- c(
98+
0,
99+
ncol(fbm_raster) * resolution,
100+
0,
101+
nrow(fbm_raster) * resolution
102+
)
103+
104+
# Rescale values to 0-1 ----
105+
if (rescale == TRUE) {
106+
fbm_raster <- util_rescale(fbm_raster)
110107
}
108+
109+
return(fbm_raster)
110+
111111
}

R/nlm_gaussianfield.R

+48-50
Original file line numberDiff line numberDiff line change
@@ -59,55 +59,53 @@ nlm_gaussianfield <- function(ncol,
5959
mean = 0.5,
6060
user_seed = NULL,
6161
rescale = TRUE) {
62-
63-
if (requireNamespace("RandomFields", quietly = TRUE)) {
64-
# Check function arguments ----
65-
checkmate::assert_count(ncol, positive = TRUE)
66-
checkmate::assert_count(nrow, positive = TRUE)
67-
checkmate::assert_numeric(resolution, lower = 0)
68-
checkmate::assert_count(autocorr_range, positive = TRUE)
69-
checkmate::assert_numeric(mag_var, lower = 0)
70-
checkmate::assert_numeric(nug, lower = 0)
71-
checkmate::assert_numeric(mean)
72-
checkmate::assert_logical(rescale)
73-
74-
75-
# specify RandomFields options ----
76-
RandomFields::RFoptions(cPrintlevel = 0)
77-
RandomFields::RFoptions(spConform = FALSE)
78-
79-
# set RF seed ----
80-
RandomFields::RFoptions(seed = user_seed)
81-
82-
83-
# formulate gaussian random model
84-
model <- RandomFields::RMexp(var = mag_var, scale = autocorr_range) +
85-
RandomFields::RMnugget(var = nug) + # nugget
86-
RandomFields::RMtrend(mean = mean) # and mean
87-
88-
# simulate
89-
simu <-
90-
RandomFields::RFsimulate(model,
91-
y = seq(ncol),
92-
x = seq(nrow),
93-
grid = TRUE)
94-
95-
# coerce to raster
96-
pred_raster <- raster::raster(simu)
97-
98-
# specify resolution ----
99-
raster::extent(pred_raster) <- c(0,
100-
ncol(pred_raster) * resolution,
101-
0,
102-
nrow(pred_raster) * resolution)
103-
104-
# Rescale values to 0-1 ----
105-
if (rescale == TRUE) {
106-
pred_raster <- util_rescale(pred_raster)
107-
}
108-
109-
return(pred_raster)
110-
} else {
111-
stop(.messageRandomFields)
62+
63+
hasData()
64+
65+
# Check function arguments ----
66+
checkmate::assert_count(ncol, positive = TRUE)
67+
checkmate::assert_count(nrow, positive = TRUE)
68+
checkmate::assert_numeric(resolution, lower = 0)
69+
checkmate::assert_count(autocorr_range, positive = TRUE)
70+
checkmate::assert_numeric(mag_var, lower = 0)
71+
checkmate::assert_numeric(nug, lower = 0)
72+
checkmate::assert_numeric(mean)
73+
checkmate::assert_logical(rescale)
74+
75+
76+
# specify RandomFields options ----
77+
RandomFields::RFoptions(cPrintlevel = 0)
78+
RandomFields::RFoptions(spConform = FALSE)
79+
80+
# set RF seed ----
81+
RandomFields::RFoptions(seed = user_seed)
82+
83+
84+
# formulate gaussian random model
85+
model <- RandomFields::RMexp(var = mag_var, scale = autocorr_range) +
86+
RandomFields::RMnugget(var = nug) + # nugget
87+
RandomFields::RMtrend(mean = mean) # and mean
88+
89+
# simulate
90+
simu <-
91+
RandomFields::RFsimulate(model,
92+
y = seq(ncol),
93+
x = seq(nrow),
94+
grid = TRUE)
95+
96+
# coerce to raster
97+
pred_raster <- raster::raster(simu)
98+
99+
# specify resolution ----
100+
raster::extent(pred_raster) <- c(0,
101+
ncol(pred_raster) * resolution,
102+
0,
103+
nrow(pred_raster) * resolution)
104+
105+
# Rescale values to 0-1 ----
106+
if (rescale == TRUE) {
107+
pred_raster <- util_rescale(pred_raster)
112108
}
109+
110+
return(pred_raster)
113111
}

0 commit comments

Comments
 (0)