Commit de5fc031 authored by Adam Goins's avatar Adam Goins Committed by Makayla Shepherd
Browse files

Updated toPvl() to call ApioriSurfacePoint::SetRadii() before accessing the...

Updated toPvl() to call ApioriSurfacePoint::SetRadii() before accessing the lat/long sigma values in meters.
parent 3e72a9e9
Loading
Loading
Loading
Loading
+32 −19
Original line number Diff line number Diff line
@@ -332,10 +332,8 @@ namespace Isis {
        pvlPoint += aprioriZ;

        symmetric_matrix<double, upper> aprioriCovarianceMatrix = aprioriSurfacePoint.GetRectangularMatrix();
        if ( aprioriCovarianceMatrix.size1() > 0 &&
             aprioriSurfacePoint.GetLatSigmaDistance().meters() != Isis::Null &&
             aprioriSurfacePoint.GetLonSigmaDistance().meters() != Isis::Null &&
             aprioriSurfacePoint.GetLocalRadiusSigma().meters() != Isis::Null) {

        if ( aprioriCovarianceMatrix.size1() > 0 ) {

          PvlKeyword matrix("AprioriCovarianceMatrix");
          matrix += toString(aprioriCovarianceMatrix(0, 0));
@@ -345,12 +343,16 @@ namespace Isis {
          matrix += toString(aprioriCovarianceMatrix(1, 2));
          matrix += toString(aprioriCovarianceMatrix(2, 2));

          if ( pvlRadii.hasKeyword("EquatorialRadius")
               && pvlRadii.hasKeyword("PolarRadius") ) {
            aprioriSurfacePoint.SetRadii(
                  Distance(pvlRadii["EquatorialRadius"],Distance::Meters),
          if ( pvlRadii.hasKeyword("EquatorialRadius") && pvlRadii.hasKeyword("PolarRadius") ) {

            aprioriSurfacePoint.SetRadii( Distance(pvlRadii["EquatorialRadius"], Distance::Meters),
                                          Distance(pvlRadii["EquatorialRadius"], Distance::Meters),
                                          Distance(pvlRadii["PolarRadius"], Distance::Meters) );

            if ( aprioriSurfacePoint.GetLatSigmaDistance().meters() != Isis::Null
                 && aprioriSurfacePoint.GetLonSigmaDistance().meters() != Isis::Null
                 && aprioriSurfacePoint.GetLocalRadiusSigma().meters() != Isis::Null ) {

              QString sigmas = "AprioriLatitudeSigma = "
              + toString(aprioriSurfacePoint.GetLatSigmaDistance().meters())
              + " <meters>  AprioriLongitudeSigma = "
@@ -360,9 +362,20 @@ namespace Isis {
              + " <meters>";
              matrix.addComment(sigmas);
            }
          }

          // If the covariance matrix has a value, add it to the PVL point.
          if ( aprioriCovarianceMatrix(0, 0) != 0.0
               || aprioriCovarianceMatrix(0, 1) != 0.0
               || aprioriCovarianceMatrix(0, 2) != 0.0
               || aprioriCovarianceMatrix(1, 1) != 0.0
               || aprioriCovarianceMatrix(1, 2) != 0.0
               || aprioriCovarianceMatrix(2, 2) ) {

                 pvlPoint += matrix;
            }
        }
      }

      if ( controlPoint->IsLatitudeConstrained() ) {
        pvlPoint += PvlKeyword("LatitudeConstrained", "True");