Position error metrics derived from supplied covariance matrices.
Covariances are in square metres. ENU axes are east, north, up. ECEF covariances are rotated at the supplied WGS84 geodetic reference before metrics are computed.
Summary
Functions
Compute the horizontal one-sigma error ellipse from an ENU covariance matrix.
Compute position error metrics from an ECEF covariance matrix in square metres.
Compute position error metrics from an ENU covariance matrix in square metres.
Compute position error metrics from a kinematic solution-like map or struct.
Compute position error metrics from a position covariance value.
Compute a horizontal percentile circle radius from an ENU covariance matrix.
Compute a three-dimensional percentile sphere radius from an ENU covariance matrix.
Compute a vertical percentile radius from an up variance in square metres.
Types
Functions
@spec error_ellipse_from_enu_covariance(covariance3()) :: {:ok, Sidereon.ErrorMetrics.ErrorEllipse.t()} | {:error, error_reason()}
Compute the horizontal one-sigma error ellipse from an ENU covariance matrix.
@spec from_ecef_covariance(covariance3(), geodetic_radians_m()) :: {:ok, Sidereon.ErrorMetrics.PositionErrorMetrics.t()} | {:error, error_reason()}
Compute position error metrics from an ECEF covariance matrix in square metres.
The receiver is {lat_rad, lon_rad, height_m}.
@spec from_enu_covariance(covariance3()) :: {:ok, Sidereon.ErrorMetrics.PositionErrorMetrics.t()} | {:error, error_reason()}
Compute position error metrics from an ENU covariance matrix in square metres.
@spec from_kinematic_solution(map()) :: {:ok, Sidereon.ErrorMetrics.PositionErrorMetrics.t()} | {:error, error_reason()}
Compute position error metrics from a kinematic solution-like map or struct.
The value must provide :position_m and :position_covariance_m2.
@spec from_position_covariance(Sidereon.ErrorMetrics.PositionCovariance.t() | map()) :: {:ok, Sidereon.ErrorMetrics.PositionErrorMetrics.t()} | {:error, error_reason()}
Compute position error metrics from a position covariance value.
@spec horizontal_radius_at(covariance3(), number()) :: {:ok, Sidereon.ErrorMetrics.PercentileRadius.t()} | {:error, error_reason()}
Compute a horizontal percentile circle radius from an ENU covariance matrix.
@spec spherical_radius_at(covariance3(), number()) :: {:ok, Sidereon.ErrorMetrics.PercentileRadius.t()} | {:error, error_reason()}
Compute a three-dimensional percentile sphere radius from an ENU covariance matrix.
@spec vertical_radius_at(number(), number()) :: {:ok, float()} | {:error, error_reason()}
Compute a vertical percentile radius from an up variance in square metres.