xdem.DEM.estimate_uncertainty

xdem.DEM.estimate_uncertainty#

DEM.estimate_uncertainty(other_elev, stable_terrain=None, approach='H2022', precision_of_other='finer', spread_estimator=<function nmad>, variogram_estimator='dowd', list_vars=('slope', 'maximum_curvature'), list_vario_models=('gaussian', 'spherical'), z_name='z', random_state=None)[source]#

Estimate uncertainty of DEM.

Derives either a map of variable errors (based on slope and curvature by default) and a function describing the spatial correlation of error (between 0 and 1) with spatial lag (distance between observations).

Uses stable terrain as an error proxy and assumes a higher or similar-precision DEM is used as reference.

See Hugonnet et al. (2022) for methodological details.

Parameters:
  • other_elev (DEM | GeoDataFrame) – Other elevation dataset to use for estimation, either of finer or similar precision for reliable estimates.

  • stable_terrain (Mask | ndarray[Any, dtype[bool_]]) – Mask of stable terrain to use as error proxy.

  • approach (Literal['H2022', 'R2009', 'Basic']) – Whether to use Hugonnet et al., 2022 (variable errors, multiple ranges of error correlation), or Rolstad et al., 2009 (constant error, multiple ranges of error correlation), or a basic approach (constant error, single range of error correlation). Note that all approaches use robust estimators of variance (NMAD) and variograms (Dowd) by default, despite not being used in Rolstad et al., 2009. These estimators can be tuned separately.

  • precision_of_other (Union[Literal['finer'], Literal['same']]) – Whether finer precision (3 times more precise = 95% of estimated error will come from this DEM) or similar precision (for instance another acquisition of the same DEM).

  • spread_estimator (Callable[[ndarray[Any, dtype[floating[Any]]]], floating[Any]]) – Estimator for statistical dispersion (e.g., standard deviation), defaults to the normalized median absolute deviation (NMAD) for robustness.

  • variogram_estimator (Literal['matheron', 'cressie', 'genton', 'dowd']) – Estimator for empirical variogram, defaults to Dowd for robustness and consistency with the NMAD estimator for the spread.

  • z_name (str) – Column name to use as elevation, only for point elevation data passed as geodataframe.

  • list_vars (tuple[Union[TypeVar(RasterType, bound= Raster), str], ...]) – Variables to use to predict error variability (= elevation heteroscedasticity). Either rasters or names of a terrain attributes. Defaults to slope and maximum curvature of the DEM.

  • list_vario_models (str | tuple[str, ...]) – Variogram forms to model the spatial correlation of error. A list translates into a sum of models. Uses three by default for a method allowing multiple correlation range, otherwise one.

Return type:

tuple[TypeVar(RasterType, bound= Raster), Variogram]

Returns:

Uncertainty raster, Variogram of uncertainty correlation.