if (sits_run_examples()) {
# create a random forest model
rfor_model <- sits_train(samples_modis_ndvi, sits_rfor())
# create a data cube from local files
data_dir <- system.file("extdata/raster/mod13q1", package = "sits")
cube <- sits_cube(
source = "BDC",
collection = "MOD13Q1-6.1",
data_dir = data_dir
)
# classify a data cube
probs_cube <- sits_classify(
data = cube, ml_model = rfor_model, output_dir = tempdir()
)
# plot the probability cube
plot(probs_cube)
# obtain and name the labels of the local probs cube
labels <- sits_labels(rfor_model)
names(labels) <- seq_along(labels)
# recover the local probability cube
probs_local_cube <- sits_cube(
source = "BDC",
collection = "MOD13Q1-6.1",
data_dir = tempdir(),
bands = "probs",
labels = labels
)
# compare the two plots (they should be the same)
plot(probs_local_cube)
# smooth the probability cube using Bayesian statistics
bayes_cube <- sits_smooth(probs_cube, output_dir = tempdir())
# plot the smoothed cube
plot(bayes_cube)
# recover the local smoothed cube
smooth_local_cube <- sits_cube(
source = "BDC",
collection = "MOD13Q1-6.1",
data_dir = tempdir(),
bands = "bayes",
labels = labels
)
# compare the two plots (they should be the same)
plot(smooth_local_cube)
# label the probability cube
label_cube <- sits_label_classification(
bayes_cube,
output_dir = tempdir()
)
# plot the labelled cube
plot(label_cube)
# recover the local classified cube
class_local_cube <- sits_cube(
source = "BDC",
collection = "MOD13Q1-6.1",
data_dir = tempdir(),
bands = "class",
labels = labels
)
# compare the two plots (they should be the same)
plot(class_local_cube)
# obtain an uncertainty cube with entropy
entropy_cube <- sits_uncertainty(
cube = bayes_cube,
type = "entropy",
output_dir = tempdir()
)
# plot entropy values
plot(entropy_cube)
# recover an uncertainty cube with entropy
entropy_local_cube <- sits_cube(
source = "BDC",
collection = "MOD13Q1-6.1",
data_dir = tempdir(),
bands = "entropy"
)
# plot recovered entropy values
plot(entropy_local_cube)
# obtain an uncertainty cube with margin
margin_cube <- sits_uncertainty(
cube = bayes_cube,
type = "margin",
output_dir = tempdir()
)
# plot entropy values
plot(margin_cube)
# recover an uncertainty cube with entropy
margin_local_cube <- sits_cube(
source = "BDC",
collection = "MOD13Q1-6.1",
data_dir = tempdir(),
bands = "margin"
)
# plot recovered entropy values
plot(margin_local_cube)
}
Run the code above in your browser using DataLab