test_that("Reduce cube with NDVI median", {
data_dir <- system.file("extdata/raster/mod13q1", package = "sits")
modis_cube <- sits_cube(
source = "BDC",
collection = "MOD13Q1-6.1",
data_dir = data_dir
)
dir_images <- paste0(tempdir(), "/reduce/")
if (!dir.exists(dir_images)) {
suppressWarnings(dir.create(dir_images))
}
reduce_median <- sits_reduce(
data = modis_cube,
NDVI_MEDIAN = t_median(NDVI),
multicores = 2,
memsize = 4,
output_dir = dir_images
)
expect_true(all(sits_bands(reduce_median) %in% c("NDVI-MEDIAN")))
timeline <- sits_timeline(reduce_median)
expect_length(timeline, 1)
expect_true(timeline == "2013-09-14")
values_cube <- .raster_read_rast(.cube_paths(modis_cube)[[1]])
values_median <- .raster_read_rast(.cube_paths(reduce_median)[[1]])
expect_equal(
as.integer(C_temp_median(values_cube)[4,]), values_median[4,][[1]],
tolerance = 0.001
)
expect_true(all(sits_bands(reduce_median) %in% c("NDVI-MEDIAN")))
timeline <- sits_timeline(reduce_median)
expect_length(timeline, 1)
expect_true(timeline == "2013-09-14")
Sys.setenv("SITS_DOCUMENTATION_MODE" = "FALSE")
expect_message({
object <- sits_reduce(
data = modis_cube,
NDVI_MEDIAN = t_median(NDVI),
multicores = 1,
memsize = 1,
output_dir = dir_images
)
})
reduce_min <- sits_reduce(
data = modis_cube,
NDVI_MIN = t_min(NDVI),
multicores = 2,
memsize = 4,
output_dir = dir_images
)
values_min <- .raster_read_rast(.cube_paths(reduce_min)[[1]])
expect_equal(
as.integer(C_temp_min(values_cube)[4,]), values_min[4,][[1]],
tolerance = 0.001
)
reduce_mean <- sits_reduce(
data = modis_cube,
NDVI_MEAN = t_mean(NDVI),
multicores = 2,
memsize = 4,
output_dir = dir_images
)
values_mean <- .raster_read_rast(.cube_paths(reduce_mean)[[1]])
expect_equal(
as.integer(C_temp_mean(values_cube)[4,]), values_mean[4,][[1]],
tolerance = 0.001
)
reduce_sum <- sits_reduce(
data = modis_cube,
NDVI_SUM = t_sum(NDVI),
multicores = 2,
memsize = 4,
output_dir = dir_images
)
values_sum <- .raster_read_rast(.cube_paths(reduce_sum)[[1]])
expect_equal(
as.integer(C_temp_mean(values_cube)[4,]), values_mean[4,][[1]],
tolerance = 0.001
)
reduce_std <- sits_reduce(
data = modis_cube,
NDVI_STD = t_std(NDVI),
multicores = 2,
memsize = 4,
output_dir = dir_images
)
values_std <- .raster_read_rast(.cube_paths(reduce_std)[[1]])
expect_equal(
as.integer(C_temp_std(values_cube)[4,]), values_std[4,][[1]] * 10000,
tolerance = 0.001
)
reduce_skew <- sits_reduce(
data = modis_cube,
NDVI_SKEW = t_skewness(NDVI),
multicores = 2,
memsize = 4,
output_dir = dir_images
)
values_skew <- .raster_read_rast(.cube_paths(reduce_skew)[[1]])
expect_equal(
C_temp_skew(values_cube)[4,], values_skew[4,][[1]],
tolerance = 0.001
)
reduce_kurt <- sits_reduce(
data = modis_cube,
NDVI_KURT = t_kurtosis(NDVI),
multicores = 2,
memsize = 4,
output_dir = dir_images
)
values_kurt <- .raster_read_rast(.cube_paths(reduce_kurt)[[1]])
expect_equal(
C_temp_kurt(values_cube)[4,], values_kurt[4,][[1]],
tolerance = 0.001
)
reduce_amp <- sits_reduce(
data = modis_cube,
NDVI_AMP = t_amplitude(NDVI),
multicores = 2,
memsize = 4,
output_dir = dir_images
)
values_amp <- .raster_read_rast(.cube_paths(reduce_amp)[[1]])
expect_equal(
as.integer(C_temp_amplitude(values_cube)[4,]), values_amp[4,][[1]],
tolerance = 0.001
)
reduce_slp <- sits_reduce(
data = modis_cube,
NDVI_SLP = t_fslope(NDVI),
multicores = 2,
memsize = 4,
output_dir = dir_images
)
values_slp <- .raster_read_rast(.cube_paths(reduce_slp)[[1]])
expect_equal(
as.integer(C_temp_fslope(values_cube)[4,]), values_slp[4,][[1]],
tolerance = 0.001
)
reduce_fqr <- sits_reduce(
data = modis_cube,
NDVI_FQR = t_fqr(NDVI),
multicores = 2,
memsize = 4,
output_dir = dir_images
)
values_fqr <- .raster_read_rast(.cube_paths(reduce_fqr)[[1]])
expect_equal(
as.integer(C_temp_fqr(values_cube)[4,]), values_fqr[4,][[1]],
tolerance = 0.001
)
reduce_tqr <- sits_reduce(
data = modis_cube,
NDVI_TQR = t_tqr(NDVI),
multicores = 2,
memsize = 4,
output_dir = dir_images
)
values_tqr <- .raster_read_rast(.cube_paths(reduce_tqr)[[1]])
expect_equal(
as.integer(C_temp_tqr(values_cube)[4,]), values_tqr[4,][[1]],
tolerance = 0.001
)
reduce_iqr <- sits_reduce(
data = modis_cube,
NDVI_IQR = t_iqr(NDVI),
multicores = 2,
memsize = 4,
output_dir = dir_images
)
values_iqr <- .raster_read_rast(.cube_paths(reduce_iqr)[[1]])
expect_equal(
as.integer(C_temp_iqr(values_cube)[4,]), values_iqr[4,][[1]],
tolerance = 0.001
)
unlink(list.files(dir_images,
pattern = "\\.tif$",
full.names = TRUE
))
})
test_that("Reduce samples with NDVI max",{
reduced_samples <- sits_reduce(
data = samples_modis_ndvi,
NDVI_MAX = t_max(NDVI)
)
expect_true(all(sits_bands(reduced_samples) %in% c("NDVI-MAX")))
timeline <- sits_timeline(reduced_samples)
expect_length(timeline, 1)
expect_true(timeline == "2013-09-14")
Sys.setenv("SITS_DOCUMENTATION_MODE" = "FALSE")
expect_warning({
object <- sits_reduce(
data = reduced_samples,
NDVI_MAX = t_max(NDVI)
)
})
values_sample <- as.matrix(samples_modis_ndvi$time_series[[65]][, "NDVI"])
value_max <- reduced_samples$time_series[[65]][["NDVI-MAX"]][[1]]
expect_equal(
C_temp_max(t(values_sample))[[1]], value_max, tolerance = 0.001
)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.