Class Accuracy<A extends com.irurueta.geometry.Accuracy>

java.lang.Object
com.irurueta.navigation.Accuracy<A>
Type Parameters:
A - type of internal accuracy.
Direct Known Subclasses:
Accuracy2D, Accuracy3D

public abstract class Accuracy<A extends com.irurueta.geometry.Accuracy> extends Object
Base class representing the confidence of provided accuracy from a covariance matrix expressed in the distance unit of such matrix. This class contains utility methods to convert covariance matrices into geometric figures with the requested confidence.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected A
    Internal accuracy reference.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    Constructor.
    (package private)
    Accuracy(A internalAccuracy)
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    com.irurueta.units.Distance
    Gets average accuracy among all directions.
    double
    Gets average accuracy among all directions expressed in meters.
    double
    Gets confidence of provided accuracy of estimated point or measure.
    com.irurueta.algebra.Matrix
    Gets covariance matrix representing the accuracy of an estimated point or measure.
    com.irurueta.units.Distance
    Gets largest (worse) accuracy in any direction (i.e. either 2D or 3D).
    double
    Gets largest (worse) accuracy in any direction (i.e. either 2D or 3D) expressed in meters.
    int
    Gets number of dimensions.
    com.irurueta.units.Distance
    Gets smallest (best) accuracy in any direction (i.e. either 2D or 3D).
    double
    Gets smallest (best) accuracy in any direction (i.e. either 2D or 3D) expressed in meters.
    double
    Gets standard deviation factor to account for a given accuracy confidence.
    void
    setConfidence(double confidence)
    Sets confidence of provided accuracy of estimated point or measure.
    void
    setCovarianceMatrix(com.irurueta.algebra.Matrix covarianceMatrix)
    Sets covariance matrix representing the accuracy of an estimated point or measure.
    void
    setStandardDeviationFactor(double standardDeviationFactor)
    Sets standard deviation factor to account for a given accuracy confidence.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • internalAccuracy

      protected A extends com.irurueta.geometry.Accuracy internalAccuracy
      Internal accuracy reference.
  • Constructor Details

    • Accuracy

      protected Accuracy()
      Constructor.
    • Accuracy

      Accuracy(A internalAccuracy)
      Constructor.
      Parameters:
      internalAccuracy - internal accuracy to be set.
  • Method Details

    • getCovarianceMatrix

      public com.irurueta.algebra.Matrix getCovarianceMatrix()
      Gets covariance matrix representing the accuracy of an estimated point or measure.
      Returns:
      covariance matrix representing the accuracy of an estimated point or measure.
    • setCovarianceMatrix

      public void setCovarianceMatrix(com.irurueta.algebra.Matrix covarianceMatrix) throws com.irurueta.algebra.NonSymmetricPositiveDefiniteMatrixException
      Sets covariance matrix representing the accuracy of an estimated point or measure.
      Parameters:
      covarianceMatrix - covariance matrix representing the accuracy of an estimated point or measure.
      Throws:
      IllegalArgumentException - if provided matrix is not square (it must also be positive definite to be properly converted to a geometric figure - e.g. an ellipse or an ellipsoid).
      com.irurueta.algebra.NonSymmetricPositiveDefiniteMatrixException - if provided matrix is not symmetric and positive definite.
    • getStandardDeviationFactor

      public double getStandardDeviationFactor()
      Gets standard deviation factor to account for a given accuracy confidence. Typically, a factor of 2.0 will be used, which means that accuracy can be drawn as a geometric figure of size equal to 2 times the standard deviation. Assuming a Gaussian distribution this is equivalent to providing a 95.44% confidence on provided accuracy.
      Returns:
      standard deviation factor.
    • setStandardDeviationFactor

      public void setStandardDeviationFactor(double standardDeviationFactor)
      Sets standard deviation factor to account for a given accuracy confidence. Typically, a factor of 2.0 will be used, which means that accuracy can be drawn as a geometric figure of size equal to 2 times the standard deviation. Assuming a Gaussian distribution this is equivalent to providing a 95.44% confidence on provided accuracy.
      Parameters:
      standardDeviationFactor - standard deviation factor to be set.
      Throws:
      IllegalArgumentException - if provided value is zero or negative.
    • getConfidence

      public double getConfidence()
      Gets confidence of provided accuracy of estimated point or measure. This is expressed as a value between 0 and 1, where 1 indicates a 100% confidence that the real point or measure is within provided accuracy.
      Returns:
      confidence of provided accuracy of estimated point or measure.
    • setConfidence

      public void setConfidence(double confidence)
      Sets confidence of provided accuracy of estimated point or measure. This is expressed as a value between 0 and 1, where 1 indicates a 100% confidence that the real point or measure is within provided accuracy.
      Parameters:
      confidence - confidence of provided accuracy of estimated point or measure.
      Throws:
      IllegalArgumentException - if provided value is not within 0 and 1.
    • getSmallestAccuracy

      public com.irurueta.units.Distance getSmallestAccuracy()
      Gets smallest (best) accuracy in any direction (i.e. either 2D or 3D). This value is represented by the smallest semi axis representing the ellipse or ellipsoid of accuracy.
      Returns:
      smallest accuracy in any direction.
    • getSmallestAccuracyMeters

      public double getSmallestAccuracyMeters()
      Gets smallest (best) accuracy in any direction (i.e. either 2D or 3D) expressed in meters. This value is represented by the smallest semi axis representing the ellipse or ellipsoid of accuracy.
      Returns:
      smallest accuracy in any direction expressed in meters.
    • getLargestAccuracy

      public com.irurueta.units.Distance getLargestAccuracy()
      Gets largest (worse) accuracy in any direction (i.e. either 2D or 3D). This value is represented by the largest semi axis representing the ellipse or ellipsoid of accuracy.
      Returns:
      largest accuracy in any direction.
    • getLargestAccuracyMeters

      public double getLargestAccuracyMeters()
      Gets largest (worse) accuracy in any direction (i.e. either 2D or 3D) expressed in meters. This value is represented by the largest semi axis representing the ellipse or ellipsoid of accuracy.
      Returns:
      largest accuracy in any direction expressed in meters.
    • getAverageAccuracy

      public com.irurueta.units.Distance getAverageAccuracy()
      Gets average accuracy among all directions. This value is equal to the average value of all semi axes representing the ellipse or ellipsoid of accuracy.
      Returns:
      average accuracy among all directions.
    • getAverageAccuracyMeters

      public double getAverageAccuracyMeters()
      Gets average accuracy among all directions expressed in meters. This value is equal to the average value of all semi axes representing the ellipse or ellipsoid of accuracy.
      Returns:
      average accuracy among all directions expressed in meters.
    • getNumberOfDimensions

      public int getNumberOfDimensions()
      Gets number of dimensions. This is equal to 2 for 2D, and 3 for 3D.
      Returns:
      number of dimensions.