public class DilutionOfPrecision extends Object
Constructor and Description |
---|
DilutionOfPrecision()
Initializes a new instance with 0.0 for all DOP values.
|
DilutionOfPrecision(DenseMatrix covarianceMatrix)
Initializes a new instance from the specified covariance matrix.
|
DilutionOfPrecision(DenseMatrix covarianceMatrix,
DenseMatrix geometryMatrix)
Initializes a new instance from the specified covariance matrix and geometry matrix.
|
DilutionOfPrecision(double[][] covarianceMatrix)
Initializes a new instance from the specified covariance matrix.
|
DilutionOfPrecision(double[][] covarianceMatrix,
double[][] geometryMatrix)
Initializes a new instance from the specified covariance matrix and geometry matrix.
|
Modifier and Type | Method and Description |
---|---|
static DilutionOfPrecision |
compute(Matrix3By3 receiverOrientation,
Iterable<Cartesian> satelliteRelativePositions)
Computes the Dilution of Precision (DOP).
|
DenseMatrix |
getCovarianceMatrix()
Gets the covariance matrix (H).
|
double |
getGeometric()
Gets the geometric dilution of precision (GDOP).
|
DenseMatrix |
getGeometryMatrix()
Gets the Geometry matrix (G) after the rotation to the receiver orientation is applied.
|
boolean |
getIsUndefined()
Gets a value indicating whether this instance does not have a well-defined DOP.
|
double |
getPosition()
Gets the position dilution of precision (PDOP).
|
double |
getTime()
Gets the time dilution of precision (TDOP).
|
double |
getValueByType(DilutionOfPrecisionType type)
Get the specific value of dilution of precision by its type.
|
double |
getX()
Gets the dilution of precision along the X axis.
|
double |
getXY()
Gets the dilution of precision in the X-Y plane.
|
double |
getY()
Gets the dilution of precision along the Y axis.
|
double |
getZ()
Gets the dilution of precision along the Z axis.
|
void |
setIsUndefined(boolean value)
Sets a value indicating whether this instance does not have a well-defined DOP.
|
public DilutionOfPrecision()
public DilutionOfPrecision(@Nonnull double[][] covarianceMatrix)
GeometryMatrix
(get
) to all zeroes.covarianceMatrix
- A covariance matrix.public DilutionOfPrecision(@Nonnull DenseMatrix covarianceMatrix)
GeometryMatrix
(get
) to all zeroes.covarianceMatrix
- A covariance matrix.public DilutionOfPrecision(@Nonnull double[][] covarianceMatrix, @Nonnull double[][] geometryMatrix)
covarianceMatrix
- A covariance (H) matrix.geometryMatrix
- A geometry (G) matrix.public DilutionOfPrecision(@Nonnull DenseMatrix covarianceMatrix, @Nonnull DenseMatrix geometryMatrix)
covarianceMatrix
- A covariance (H) matrix.geometryMatrix
- A geometry (G) matrix.@Nonnull public static DilutionOfPrecision compute(@Nonnull Matrix3By3 receiverOrientation, Iterable<Cartesian> satelliteRelativePositions)
This method assumes that all satellites in satelliteRelativePositions
are visible to the receiver
and should be included in the DOP calculation.
receiverOrientation
- The orientation of the receiver relative to the axes in which the satelliteRelativePositions
are defined.satelliteRelativePositions
- The relative position of each of the satellites to consider, expressed as a line-of-sight vector
from the satellite to the receiver at the time of reception by the receiver. The satellite positions should
already account for apparent position due to light-time delay and other effects (if required).public final double getX()
public final double getY()
public final double getZ()
public final double getXY()
public final double getPosition()
public final double getTime()
public final double getGeometric()
public final boolean getIsUndefined()
public final void setIsUndefined(boolean value)
public final double getValueByType(@Nonnull DilutionOfPrecisionType type)
type
- The type of dilution of precision.@Nonnull public final DenseMatrix getCovarianceMatrix()
Note that internally, we do not calculate to full covariance matrix to speed calculations. If this method is called, we will return the full covariance matrix, making a separate call to calculate it if necessary.
@Nonnull public final DenseMatrix getGeometryMatrix()