The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
Catalogue access requires WEkEO and is therefore shown without being executed during vignette builds.
Raster extraction examples require user-supplied HR-VPP files and polygons and are not executed during the package build.
The temporal API can be demonstrated with a self-contained series.
st_example <- data.frame(
ID = rep(c("parcel_1", "parcel_2"), each = 4),
Date = rep(as.Date("2020-04-01") + c(0, 10, 20, 30), 2),
Value = c(0.20, 0.31, NA, 0.58, 0.18, 0.29, 0.43, 0.55)
)
plan <- temporal_plan(st_example, expected_step = 10)
missingness <- summarize_missingness(plan)
completeness <- assess_ts_quality(plan)
missingness
#> ID start end expected_step_days n_expected n_observed_dates
#> 1 parcel_1 2020-04-01 2020-05-01 10 4 4
#> 2 parcel_2 2020-04-01 2020-05-01 10 4 4
#> n_absent_dates n_value_na n_usable date_completeness value_completeness
#> 1 0 1 3 1 0.75
#> 2 0 0 4 1 1.00
#> missing_fraction
#> 1 0.25
#> 2 0.00
completeness
#> TSGenerator time-series quality assessment
#> Rows: 2
#> Windows: full series
#>
#> Very low Low Medium High
#> 0 0 1 1Do not interpret these completeness classes as ST-QFLAG confidence classes.
The code definitions themselves are available offline:
st_qflag_classes <- quality_info("ST")
st_qflag_classes
#> Code Class Rank AcceptDefault
#> 1 0 No data 0 FALSE
#> 2 1 Filled - extrapolation 1 FALSE
#> 3 2 Filled - interpolation 2 FALSE
#> 4 3 Low 3 TRUE
#> 5 4 Medium 4 TRUE
#> 6 5 High 5 TRUE
#> Definition
#> 1 Time series was not processed
#> 2 Clear-sky observation on one side outside the 91-day window
#> 3 Clear-sky observations on both sides outside the 91-day window
#> 4 1-2 clear-sky land observations in the 91-day window
#> 5 3-8 clear-sky land observations in the 91-day window
#> 6 More than 8 clear-sky land observations in the 91-day windowMasking requires matching user-supplied target and QFLAG rasters:
The default ST quality policy and any stricter threshold should be reported in the methods of a scientific analysis.
vpp <- extract_vpp(
x = file.path(tempdir(), "HRVPP_VPP"),
polygons = parcels,
id_col = "Parcel_ID",
fun = "median"
)The output separates Date and numeric
Value. This avoids treating encoded phenological dates like
continuous spectral values.
quality_info("VPP")
#> Code Class Rank AcceptDefault
#> 1 0 No data 0 FALSE
#> 2 1 No season found 0 FALSE
#> 3 2 Filled 1 FALSE
#> 4 3 Reserved NA FALSE
#> 5 4 Low 2 FALSE
#> 6 5 Low 2 FALSE
#> 7 6 Low 2 FALSE
#> 8 7 Medium 3 TRUE
#> 9 8 Medium 3 TRUE
#> 10 9 Medium 3 TRUE
#> 11 10 High 4 TRUE
#> Definition
#> 1 Time series was not processed
#> 2 No season found although the time series was processed
#> 3 Insufficient clear-sky observations in green-up, green-down and green-peak
#> 4 Reserved
#> 5 More than 2 clear-sky observations during green-down
#> 6 More than 2 clear-sky observations during green-peak
#> 7 More than 2 clear-sky observations during green-up
#> 8 More than 2 clear-sky observations during green-up and green-peak
#> 9 More than 2 clear-sky observations during green-up and green-down
#> 10 More than 2 clear-sky observations during green-peak and green-down
#> 11 More than 2 clear-sky observations during green-up, green-down and green-peakThe default VPP mask retains medium/high confidence codes. Use
explicit keep_codes when the study requires a different
policy.
A small synthetic table keeps the vignette deterministic and independent of external files. A modest basis dimension keeps the example fast and appropriate for the number of unique DOY values.
missingness_data <- expand.grid(
Year = 2020:2021,
DOY = seq(20, 340, by = 40),
Replicate = 1:3
)
missingness_data$Value <- seq_len(nrow(missingness_data)) / nrow(missingness_data)
missingness_data$Value[seq(3, nrow(missingness_data), by = 7)] <- NA_real_
fit <- model_missingness(
missingness_data,
year_col = "Year",
doy_col = "DOY",
value_col = "Value",
k = 5
)
plot_missingness(fit, sos = 85, max_doy = 160, eos = 280)The model and plot are separate objects. This makes the statistical result reusable without hidden plotting side effects.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.