if (sits_run_examples()) {
# Example of classification of a time series
# Retrieve the samples for Mato Grosso
# train a random forest model
rf_model <- sits_train(samples_modis_ndvi, ml_method = sits_rfor)
# classify the point
point_ndvi <- sits_select(point_mt_6bands, bands = c("NDVI"))
point_class <- sits_classify(
data = point_ndvi, ml_model = rf_model
)
plot(point_class)
# Example of classification of a data cube
# create a data cube from local files
data_dir <- system.file("extdata/raster/mod13q1", package = "sits")
cube <- sits_cube(
source = "BDC",
collection = "MOD13Q1-6",
data_dir = data_dir
)
# classify a data cube
probs_cube <- sits_classify(
data = cube,
ml_model = rf_model,
output_dir = tempdir(),
version = "ex_classify"
)
# label the probability cube
label_cube <- sits_label_classification(
probs_cube,
output_dir = tempdir(),
version = "ex_classify"
)
# plot the classified image
plot(label_cube)
# segmentation
# segment the image
segments <- sits_segment(
cube = cube,
seg_fn = sits_slic(step = 5,
compactness = 1,
dist_fun = "euclidean",
avg_fun = "median",
iter = 50,
minarea = 10,
verbose = FALSE
),
output_dir = tempdir()
)
# Create a classified vector cube
probs_segs <- sits_classify(
data = segments,
ml_model = rf_model,
output_dir = tempdir(),
multicores = 4,
version = "segs"
)
# Create a labelled vector cube
class_segs <- sits_label_classification(
cube = probs_segs,
output_dir = tempdir(),
multicores = 2,
memsize = 4,
version = "segs_classify"
)
# plot class_segs
plot(class_segs)
}
Run the code above in your browser using DataLab