diff --git a/src/main/java/org/orekit/rugged/errors/Dump.java b/src/main/java/org/orekit/rugged/errors/Dump.java
index 865be43d7cbc619d90df8650012bb7bc00b5d45c..11e9c7ee292577fb94c65bcf7d4be7d09b19dc6d 100644
--- a/src/main/java/org/orekit/rugged/errors/Dump.java
+++ b/src/main/java/org/orekit/rugged/errors/Dump.java
@@ -39,6 +39,7 @@ import org.orekit.rugged.api.AlgorithmId;
 import org.orekit.rugged.linesensor.LineSensor;
 import org.orekit.rugged.linesensor.SensorMeanPlaneCrossing;
 import org.orekit.rugged.linesensor.SensorPixel;
+import org.orekit.rugged.linesensor.SensorMeanPlaneCrossing.CrossingResult;
 import org.orekit.rugged.raster.Tile;
 import org.orekit.rugged.utils.ExtendedEllipsoid;
 import org.orekit.rugged.utils.SpacecraftToObservedBody;
@@ -501,12 +502,33 @@ class Dump {
         public void setMeanPlane(final SensorMeanPlaneCrossing meanPlane) throws RuggedException {
             if (this.meanPlane == null) {
                 this.meanPlane = meanPlane;
+                int nbResults = 0;
+                for (final CrossingResult result : meanPlane.getCachedResults()) {
+                    if (result != null) {
+                        ++nbResults;
+                    }
+                }
                 writer.format(Locale.US,
-                              "sensor mean plane: sensorName %s minLine %d maxLine %d maxEval %d accuracy %22.15e normal %22.15e %22.15e %22.15e%n",
+                              "sensor mean plane: sensorName %s minLine %d maxLine %d maxEval %d accuracy %22.15e normal %22.15e %22.15e %22.15e cachedResults %d",
                               dumpName,
                               meanPlane.getMinLine(), meanPlane.getMaxLine(),
                               meanPlane.getMaxEval(), meanPlane.getAccuracy(),
-                              meanPlane.getMeanPlaneNormal().getX(), meanPlane.getMeanPlaneNormal().getY(), meanPlane.getMeanPlaneNormal().getZ());
+                              meanPlane.getMeanPlaneNormal().getX(), meanPlane.getMeanPlaneNormal().getY(), meanPlane.getMeanPlaneNormal().getZ(),
+                              nbResults);
+                for (int i = 0; i < nbResults; ++i) {
+                    final CrossingResult result = meanPlane.getCachedResults()[i];
+                    writer.format(Locale.US,
+                                  " lineNumber %22.15e date %s target %22.15e %22.15e %22.15e targetDirection %22.15e %22.15e %22.15e %22.15e %22.15e %22.15e",
+                                  result.getLine(), convertDate(result.getDate()),
+                                  result.getTarget().getX(), result.getTarget().getY(), result.getTarget().getZ(),
+                                  result.getTargetDirection().getX().getValue(),
+                                  result.getTargetDirection().getY().getValue(),
+                                  result.getTargetDirection().getZ().getValue(),
+                                  result.getTargetDirection().getZ().getPartialDerivative(1),
+                                  result.getTargetDirection().getY().getPartialDerivative(1),
+                                  result.getTargetDirection().getZ().getPartialDerivative(1));
+                }
+                writer.format(Locale.US,"%n");
 
                 // ensure the transforms for mid date are dumped
                 final AbsoluteDate midDate = meanPlane.getSensor().getDate(0.5 * (meanPlane.getMinLine() + meanPlane.getMaxLine()));
diff --git a/src/main/java/org/orekit/rugged/errors/DumpReplayer.java b/src/main/java/org/orekit/rugged/errors/DumpReplayer.java
index 805adf48a0f38e5465419efef470547143d8c8d7..6fdec2250b694f0c80b56512c54595f16a71b062 100644
--- a/src/main/java/org/orekit/rugged/errors/DumpReplayer.java
+++ b/src/main/java/org/orekit/rugged/errors/DumpReplayer.java
@@ -54,6 +54,7 @@ import org.orekit.rugged.api.RuggedBuilder;
 import org.orekit.rugged.linesensor.LineDatation;
 import org.orekit.rugged.linesensor.LineSensor;
 import org.orekit.rugged.linesensor.SensorMeanPlaneCrossing;
+import org.orekit.rugged.linesensor.SensorMeanPlaneCrossing.CrossingResult;
 import org.orekit.rugged.linesensor.SensorPixel;
 import org.orekit.rugged.los.TimeDependentLOS;
 import org.orekit.rugged.raster.TileUpdater;
@@ -201,6 +202,15 @@ public class DumpReplayer {
     /** Keyword for rate. */
     private static final String RATE = "rate";
 
+    /** Keyword for cached results. */
+    private static final String CACHED_RESULTS = "cachedResults";
+
+    /** Keyword for target. */
+    private static final String TARGET = "target";
+
+    /** Keyword for target direction. */
+    private static final String TARGET_DIRECTION = "targetDirection";
+
     /** Constant elevation for constant elevation algorithm. */
     private double constantElevation;
 
@@ -361,7 +371,8 @@ public class DumpReplayer {
                                                                    lightTimeCorrection, aberrationOfLightCorrection,
                                                                    parsedSensor.meanPlane.maxEval,
                                                                    parsedSensor.meanPlane.accuracy,
-                                                                   parsedSensor.meanPlane.normal));
+                                                                   parsedSensor.meanPlane.normal,
+                                                                   parsedSensor.meanPlane.cachedResults));
                 }
                 builder.addLineSensor(sensor);
             }
@@ -829,22 +840,54 @@ public class DumpReplayer {
             @Override
             public void parse(final int l, final File file, final String line, final String[] fields, final DumpReplayer global)
                 throws RuggedException {
-                if (fields.length < 14 || !fields[0].equals(SENSOR_NAME) ||
-                    !fields[2].equals(MIN_LINE) || !fields[4].equals(MAX_LINE) ||
-                    !fields[6].equals(MAX_EVAL) || !fields[8].equals(ACCURACY) ||
-                    !fields[10].equals(NORMAL)) {
-                    throw new RuggedException(RuggedMessages.CANNOT_PARSE_LINE, l, file, line);
-                }
-                final String   sensorName = fields[1];
-                final int      minLine    = Integer.parseInt(fields[3]);
-                final int      maxLine    = Integer.parseInt(fields[5]);
-                final int      maxEval    = Integer.parseInt(fields[7]);
-                final double   accuracy   = Double.parseDouble(fields[9]);
-                final Vector3D normal     = new Vector3D(Double.parseDouble(fields[11]),
-                                                         Double.parseDouble(fields[12]),
-                                                         Double.parseDouble(fields[13]));
-                global.getSensor(sensorName).setMeanPlane(new ParsedMeanPlane(minLine, maxLine, maxEval, accuracy, normal));
+                try {
+                    if (fields.length < 16 || !fields[0].equals(SENSOR_NAME) ||
+                        !fields[2].equals(MIN_LINE) || !fields[4].equals(MAX_LINE) ||
+                        !fields[6].equals(MAX_EVAL) || !fields[8].equals(ACCURACY) ||
+                        !fields[10].equals(NORMAL)  || !fields[14].equals(CACHED_RESULTS)) {
+                        throw new RuggedException(RuggedMessages.CANNOT_PARSE_LINE, l, file, line);
+                    }
+                    final String   sensorName = fields[1];
+                    final int      minLine    = Integer.parseInt(fields[3]);
+                    final int      maxLine    = Integer.parseInt(fields[5]);
+                    final int      maxEval    = Integer.parseInt(fields[7]);
+                    final double   accuracy   = Double.parseDouble(fields[9]);
+                    final Vector3D normal     = new Vector3D(Double.parseDouble(fields[11]),
+                                                             Double.parseDouble(fields[12]),
+                                                             Double.parseDouble(fields[13]));
+                    final int      n          = Integer.parseInt(fields[15]);
+                    final CrossingResult[] cachedResults = new CrossingResult[n];
+                    int base = 16;
+                    for (int i = 0; i < n; ++i) {
+                        if (fields.length < base + 15 || !fields[base].equals(LINE_NUMBER) ||
+                            !fields[base + 2].equals(DATE) || !fields[base + 4].equals(TARGET) ||
+                            !fields[base + 8].equals(TARGET_DIRECTION)) {
+                            throw new RuggedException(RuggedMessages.CANNOT_PARSE_LINE, l, file, line);
+                        }
+                        final double       ln     = Double.parseDouble(fields[base + 1]);
+                        final AbsoluteDate date   = new AbsoluteDate(fields[base + 3], TimeScalesFactory.getUTC());
+                        final Vector3D     target = new Vector3D(Double.parseDouble(fields[base + 5]),
+                                                                 Double.parseDouble(fields[base + 6]),
+                                                                 Double.parseDouble(fields[base + 7]));
+                        final DerivativeStructure tdX = new DerivativeStructure(1, 1,
+                                                                                Double.parseDouble(fields[base +  9]),
+                                                                                Double.parseDouble(fields[base + 12]));
+                        final DerivativeStructure tdY = new DerivativeStructure(1, 1,
+                                                                                Double.parseDouble(fields[base + 10]),
+                                                                                Double.parseDouble(fields[base + 13]));
+                        final DerivativeStructure tdZ = new DerivativeStructure(1, 1,
+                                                                                Double.parseDouble(fields[base + 11]),
+                                                                                Double.parseDouble(fields[base + 14]));
+                        final FieldVector3D<DerivativeStructure> targetDirection =
+                                new FieldVector3D<DerivativeStructure>(tdX, tdY, tdZ);
+                        cachedResults[i] = new CrossingResult(date, ln, target, targetDirection);
+                        base += 15;
+                    }
+                    global.getSensor(sensorName).setMeanPlane(new ParsedMeanPlane(minLine, maxLine, maxEval, accuracy, normal, cachedResults));
 
+                } catch (OrekitException oe) {
+                    throw new RuggedException(oe, oe.getSpecifier(), oe.getParts());
+                }
             }
 
         },
@@ -1325,20 +1368,26 @@ public class DumpReplayer {
         /** Mean plane normal. */
         private final Vector3D normal;
 
+        /** Cached results. */
+        private final CrossingResult[] cachedResults;
+
         /** simple constructor.
          * @param minLine min line
          * @param maxLine max line
          * @param maxEval maximum number of evaluations
          * @param accuracy accuracy to use for finding crossing line number
          * @param normal mean plane normal
+         * @param cachedResults cached results
          */
         public ParsedMeanPlane(final int minLine, final int maxLine,
-                               final int maxEval, final double accuracy, final Vector3D normal) {
-            this.minLine  = minLine;
-            this.maxLine  = maxLine;
-            this.maxEval  = maxEval;
-            this.accuracy = accuracy;
-            this.normal   = normal;
+                               final int maxEval, final double accuracy, final Vector3D normal,
+                               final CrossingResult[] cachedResults) {
+            this.minLine       = minLine;
+            this.maxLine       = maxLine;
+            this.maxEval       = maxEval;
+            this.accuracy      = accuracy;
+            this.normal        = normal;
+            this.cachedResults = cachedResults.clone();
         }
 
     }
diff --git a/src/main/java/org/orekit/rugged/linesensor/SensorMeanPlaneCrossing.java b/src/main/java/org/orekit/rugged/linesensor/SensorMeanPlaneCrossing.java
index 06a66d288ed5f44af838ee60c451bbe227b62dff..4f7bcce0a5928deda893a0043d0a71df774a52f9 100644
--- a/src/main/java/org/orekit/rugged/linesensor/SensorMeanPlaneCrossing.java
+++ b/src/main/java/org/orekit/rugged/linesensor/SensorMeanPlaneCrossing.java
@@ -111,7 +111,7 @@ public class SensorMeanPlaneCrossing {
                                    final int maxEval, final double accuracy)
         throws RuggedException {
         this(sensor, scToBody, minLine, maxLine, lightTimeCorrection, aberrationOfLightCorrection,
-             maxEval, accuracy, computeMeanPlaneNormal(sensor, minLine, maxLine));
+             maxEval, accuracy, computeMeanPlaneNormal(sensor, minLine, maxLine), new CrossingResult[0]);
     }
 
     /** Simple constructor.
@@ -124,6 +124,7 @@ public class SensorMeanPlaneCrossing {
      * @param maxEval maximum number of evaluations
      * @param accuracy accuracy to use for finding crossing line number
      * @param meanPlaneNormal mean plane normal
+     * @param cachedResults cached results
      * @exception RuggedException if some frame conversion fails
      */
     public SensorMeanPlaneCrossing(final LineSensor sensor,
@@ -132,7 +133,8 @@ public class SensorMeanPlaneCrossing {
                                    final boolean lightTimeCorrection,
                                    final boolean aberrationOfLightCorrection,
                                    final int maxEval, final double accuracy,
-                                   final Vector3D meanPlaneNormal)
+                                   final Vector3D meanPlaneNormal,
+                                   final CrossingResult[] cachedResults)
         throws RuggedException {
 
         this.sensor                      = sensor;
@@ -152,6 +154,7 @@ public class SensorMeanPlaneCrossing {
         this.meanPlaneNormal             = meanPlaneNormal;
 
         this.cachedResults               = new CrossingResult[CACHED_RESULTS];
+        System.arraycopy(cachedResults, 0, this.cachedResults, 0, cachedResults.length);
 
     }
 
@@ -258,6 +261,13 @@ public class SensorMeanPlaneCrossing {
         return meanPlaneNormal;
     }
 
+    /** Get the cached previous results.
+     * @return mean plane normal
+     */
+    public CrossingResult[] getCachedResults() {
+        return cachedResults;
+    }
+
     /** Container for mean plane crossing result. */
     public static class CrossingResult {
 
@@ -279,9 +289,9 @@ public class SensorMeanPlaneCrossing {
          * @param target target ground point
          * @param targetDirection target direction in spacecraft frame
          */
-        private CrossingResult(final AbsoluteDate crossingDate, final double crossingLine,
-                               final Vector3D target,
-                               final FieldVector3D<DerivativeStructure> targetDirection) {
+        public CrossingResult(final AbsoluteDate crossingDate, final double crossingLine,
+                              final Vector3D target,
+                              final FieldVector3D<DerivativeStructure> targetDirection) {
             this.crossingDate    = crossingDate;
             this.crossingLine    = crossingLine;
             this.target          = target;
diff --git a/src/test/java/org/orekit/rugged/errors/DumpManagerTest.java b/src/test/java/org/orekit/rugged/errors/DumpManagerTest.java
index dc2d7e386a1bfb15dbd61a09cb59f9369bcd4adc..10a12f37753e1188358372590000aa3d6133171d 100644
--- a/src/test/java/org/orekit/rugged/errors/DumpManagerTest.java
+++ b/src/test/java/org/orekit/rugged/errors/DumpManagerTest.java
@@ -78,7 +78,7 @@ public class DumpManagerTest {
         int countDirectLocResult = 0;
         int countSensor          = 0;
         int countSensorLOS       = 0;
-        int countSensorDate      = 0;
+        int countSensorDatation      = 0;
         int countSensorRate      = 0;
         BufferedReader br = new BufferedReader(new FileReader(dump));
         for (String line = br.readLine(); line != null; line = br.readLine()) {
@@ -102,8 +102,8 @@ public class DumpManagerTest {
                     ++countDirectLocResult;
                 } else if (trimmed.startsWith("sensor:")) {
                     ++countSensor;
-                } else if (trimmed.startsWith("sensor date:")) {
-                    ++countSensorDate;
+                } else if (trimmed.startsWith("sensor datation:")) {
+                    ++countSensorDatation;
                 } else if (trimmed.startsWith("sensor LOS:")) {
                     ++countSensorLOS;
                 } else if (trimmed.startsWith("sensor rate:")) {
@@ -122,9 +122,9 @@ public class DumpManagerTest {
         Assert.assertEquals(887, countDEMCell);
         Assert.assertEquals(400, countDirectLoc);
         Assert.assertEquals(400, countDirectLocResult);
-        Assert.assertEquals(0,   countSensor);
-        Assert.assertEquals(800, countSensorLOS);
-        Assert.assertEquals(403, countSensorDate);
+        Assert.assertEquals(1,   countSensor);
+        Assert.assertEquals(200, countSensorLOS);
+        Assert.assertEquals(3,   countSensorDatation);
         Assert.assertEquals(0,   countSensorRate);
 
     }
diff --git a/src/test/java/org/orekit/rugged/errors/DumpReplayerTest.java b/src/test/java/org/orekit/rugged/errors/DumpReplayerTest.java
index 4b9e73273c41ec0d7db908bd9cdeefd8d2cfad16..3a45b628c0a2670c1ebdb7defaef7bbb631150de 100644
--- a/src/test/java/org/orekit/rugged/errors/DumpReplayerTest.java
+++ b/src/test/java/org/orekit/rugged/errors/DumpReplayerTest.java
@@ -78,4 +78,26 @@ public class DumpReplayerTest {
 
     }
 
+    @Test
+    public void testInverseLoc02() throws URISyntaxException, IOException, OrekitException, RuggedException {
+
+        String orekitPath = getClass().getClassLoader().getResource("orekit-data").toURI().getPath();
+        DataProvidersManager.getInstance().addProvider(new DirectoryCrawler(new File(orekitPath)));
+
+        String dumpPath = getClass().getClassLoader().getResource("replay/replay-inverse-loc-02.txt").toURI().getPath();
+        DumpReplayer replayer = new DumpReplayer();
+        replayer.parse(new File(dumpPath));
+        Rugged rugged = replayer.createRugged();
+        DumpReplayer.Result[] results = replayer.execute(rugged);
+
+        Assert.assertEquals(3, results.length);
+        for (final DumpReplayer.Result result : results) {
+            SensorPixel expectedSP = (SensorPixel) result.getExpected();
+            SensorPixel replayedSP = (SensorPixel) result.getReplayed();
+            Assert.assertEquals(expectedSP.getLineNumber(),  replayedSP.getLineNumber(),  1.0e-6);
+            Assert.assertEquals(expectedSP.getPixelNumber(), replayedSP.getPixelNumber(), 1.0e-6);
+        }
+
+    }
+
 }
diff --git a/src/test/resources/replay/replay-inverse-loc-01.txt b/src/test/resources/replay/replay-inverse-loc-01.txt
index 5b89cdbbff214c2a1d2fd36ec685160dbd7c4ed1..85aee42d45f15fe07ab85a8b0615cddcce8ee7b3 100644
--- a/src/test/resources/replay/replay-inverse-loc-01.txt
+++ b/src/test/resources/replay/replay-inverse-loc-01.txt
@@ -10,7 +10,7 @@ DEM cell: t0 latIndex 123 lonIndex 99 elevation  1.772149770526270e+03
 DEM cell: t0 latIndex 123 lonIndex 100 elevation  1.804520334312959e+03
 inverse location: sensorName s0 latitude -3.930524233859007e-01 longitude  2.502596047891660e+00 elevation  1.785429914217195e+03 minLine 0 maxLine 2000 lightTime true aberration true
 sensor: sensorName s0 nbPixels 2000 position  1.500000000000000e+00  0.000000000000000e+00 -2.000000000000000e-01
-sensor mean plane: sensorName s0 minLine 0 maxLine 2000 maxEval 50 accuracy  1.000000000000000e-02 normal  1.000000000000000e+00  0.000000000000000e+00  0.000000000000000e+00
+sensor mean plane: sensorName s0 minLine 0 maxLine 2000 maxEval 50 accuracy  1.000000000000000e-02 normal  1.000000000000000e+00  0.000000000000000e+00  0.000000000000000e+00 cachedResults 0
 sensor datation: sensorName s0 lineNumber  1.000000000000000e+03 date 2012-01-01T12:30:00.00000000000000Z
 span: minDate 2012-01-01T12:29:57.50000000000000Z maxDate 2012-01-01T12:30:02.50000000000000Z tStep  1.000000000000000e-03 tolerance  5.000000000000000e+00 inertialFrame EME2000
 transform: index 2500 body r -8.085963389171905e-01 -3.465415132416124e-04  4.896468952533136e-04 -5.883634938068593e-01 Ω -8.740475534355121e-08  1.215132763920863e-09 -7.292109805268457e-05 ΩDot -1.642299174832473e-16  8.973031065833714e-17  1.983408395826415e-19 spacecraft p  1.384770770635060e+04  3.157810312896036e+03 -7.179504513258174e+06 v -3.180198832979256e+01 -6.779040795561070e+00  8.276861119339028e+00 a -9.324121873999545e-01 -8.319728238691058e+00  1.345786832372742e-03 r -6.828948903548651e-01  4.142451171315383e-01 -3.878489660867486e-01  4.600312284675194e-01 Ω -1.009782076972198e-03  1.982726233227751e-04  1.647740165426390e-04 ΩDot -3.649972672343429e-07  2.007836645730816e-07 -1.257082123046451e-06
diff --git a/src/test/resources/replay/replay-inverse-loc-02.txt b/src/test/resources/replay/replay-inverse-loc-02.txt
new file mode 100644
index 0000000000000000000000000000000000000000..e2ebff4d4a23f456e8c3db690eda99d01b3fe8c3
--- /dev/null
+++ b/src/test/resources/replay/replay-inverse-loc-02.txt
@@ -0,0 +1,43 @@
+# Rugged library dump file, created on 2015-03-24T07:07:27Z
+# all units are SI units (m, m/s, rad ...)
+algorithm: DUVENHAGE
+DEM tile: t0 latMin -4.014257279586958e-01 latStep  6.817692390602850e-05 latRows 257 lonMin  2.495820830351891e+00 lonStep  6.817692390602850e-05 lonCols 257
+DEM cell: t0 latIndex 192 lonIndex 0 elevation -6.124011631478857e+02
+DEM cell: t0 latIndex 128 lonIndex 128 elevation  3.151327114467009e+03
+DEM cell: t0 latIndex 123 lonIndex 101 elevation  1.838123293450827e+03
+DEM cell: t0 latIndex 123 lonIndex 102 elevation  1.870339491485550e+03
+DEM cell: t0 latIndex 124 lonIndex 101 elevation  1.832853313250435e+03
+DEM cell: t0 latIndex 124 lonIndex 102 elevation  1.866819199623890e+03
+sensor: sensorName s0 nbPixels 2000 position  1.500000000000000e+00  0.000000000000000e+00 -2.000000000000000e-01
+inverse location: sensorName s0 latitude -3.930305027145593e-01 longitude  2.502739578717502e+00 elevation  1.853045504720662e+03 minLine 0 maxLine 2000 lightTime true aberration true
+sensor mean plane: sensorName s0 minLine 0 maxLine 2000 maxEval 50 accuracy  1.000000000000000e-02 normal  1.000000000000000e+00  0.000000000000000e+00  0.000000000000000e+00 cachedResults 5 lineNumber  1.753079999999941e+03 date 2012-01-01T12:30:01.12961999999991Z target -4.733584770718903e+06  3.515842173828561e+06 -2.428300713188566e+06 targetDirection  4.440892098500626e-16 -7.496646388847980e-01  6.618178973144536e-01 -1.357198500050715e-08 -1.198160098465607e-08 -1.357198500050715e-08 lineNumber  1.753079999999936e+03 date 2012-01-01T12:30:01.12961999999990Z target -4.733634454810624e+06  3.515791377291927e+06 -2.428292161157289e+06 targetDirection  1.221245327087672e-15 -7.496479456645485e-01  6.618368058373009e-01 -1.357209409884309e-08 -1.198230643978911e-08 -1.357209409884309e-08 lineNumber  1.753080000000098e+03 date 2012-01-01T12:30:01.12962000000015Z target -4.733684171891571e+06  3.515740571824192e+06 -2.428283613116900e+06 targetDirection  2.664535259100376e-15 -7.496312519673904e-01  6.618557139390744e-01 -1.357220357852602e-08 -1.198301226854942e-08 -1.357220357852602e-08 lineNumber  1.753080000000016e+03 date 2012-01-01T12:30:01.12962000000002Z target -4.733734047015606e+06  3.515689711809538e+06 -2.428275079609979e+06 targetDirection  1.110223024625157e-15 -7.496145577933011e-01  6.618746216197999e-01 -1.357231495356307e-08 -1.198371980774984e-08 -1.357231495356307e-08 lineNumber  1.753080000000124e+03 date 2012-01-01T12:30:01.12962000000019Z target -4.733783920649958e+06  3.515638855451895e+06 -2.428266547191616e+06 targetDirection  1.665334536937735e-15 -7.495978631423109e-01  6.618935288794415e-01 -1.357242629275803e-08 -1.198442735245515e-08 -1.357242629275803e-08
+sensor datation: sensorName s0 lineNumber  1.000000000000000e+03 date 2012-01-01T12:30:00.00000000000000Z
+span: minDate 2012-01-01T12:29:57.50000000000000Z maxDate 2012-01-01T12:30:02.50000000000000Z tStep  1.000000000000000e-03 tolerance  5.000000000000000e+00 inertialFrame EME2000
+transform: index 2500 body r -8.085963389171905e-01 -3.465415132416124e-04  4.896468952533136e-04 -5.883634938068593e-01 Ω -8.740475534355121e-08  1.215132763920863e-09 -7.292109805268457e-05 ΩDot -1.642299174832473e-16  8.973031065833714e-17  1.983408395826415e-19 spacecraft p  1.384770770635060e+04  3.157810312896036e+03 -7.179504513258174e+06 v -3.180198832979256e+01 -6.779040795561070e+00  8.276861119339028e+00 a -9.324121873999545e-01 -8.319728238691058e+00  1.345786832372742e-03 r -6.828948903548651e-01  4.142451171315383e-01 -3.878489660867486e-01  4.600312284675194e-01 Ω -1.009782076972198e-03  1.982726233227751e-04  1.647740165426390e-04 ΩDot -3.649972672343429e-07  2.007836645730816e-07 -1.257082123046451e-06
+ellipsoid: ae  6.378137000000000e+06 f  3.352810664747481e-03 frame ITRF_CIO_CONV_2010_SIMPLE_EOP
+sensor datation: sensorName s0 lineNumber  1.753080000000073e+03 date 2012-01-01T12:30:01.12962000000011Z
+transform: index 3630 body r -8.086205790715331e-01 -3.465213511527127e-04  4.896611176157392e-04 -5.883301787746077e-01 Ω -8.740475552913246e-08  1.215132865316375e-09 -7.292109805268537e-05 ΩDot -1.642303315278493e-16  8.973086775115428e-17  1.983413459366029e-19 spacecraft p  1.381161686138390e+04  3.149035127746873e+03 -7.179495156850004e+06 v -3.198309695268937e+01 -7.869713919215563e+00  8.283718407079078e+00 a -9.313885738644379e-01 -8.324782304826440e+00  1.354189237138481e-03 r -6.826577475060918e-01  4.145470548488056e-01 -3.882264160785311e-01  4.597927673908209e-01 Ω -1.009835304084986e-03  1.983572786405474e-04  1.645625945551068e-04 ΩDot -3.648903522451360e-07  2.009701619867746e-07 -1.257044812963575e-06
+sensor rate: sensorName s0 lineNumber  1.753080000000073e+03 rate  6.666666666666666e+02
+sensor datation: sensorName s0 lineNumber  1.753079999999983e+03 date 2012-01-01T12:30:01.12961999999997Z
+sensor LOS: sensorName s0 date 2012-01-01T12:30:01.12961999999997Z pixelNumber 999 los  0.000000000000000e+00 -7.660363365669057e-01  6.427972705753770e-01
+sensor LOS: sensorName s0 date 2012-01-01T12:30:01.12961999999997Z pixelNumber 1000 los  0.000000000000000e+00 -7.660525495492120e-01  6.427779486954669e-01
+sensor LOS: sensorName s0 date 2012-01-01T12:30:01.12961999999997Z pixelNumber 0 los  0.000000000000000e+00 -7.495978631423039e-01  6.618935288794506e-01
+sensor LOS: sensorName s0 date 2012-01-01T12:30:01.12961999999997Z pixelNumber 1 los  0.000000000000000e+00 -7.496145577932898e-01  6.618746216198131e-01
+sensor LOS: sensorName s0 date 2012-01-01T12:30:01.12961999999997Z pixelNumber 4 los  0.000000000000000e+00 -7.496646388847948e-01  6.618178973144580e-01
+sensor LOS: sensorName s0 date 2012-01-01T12:30:01.12961999999997Z pixelNumber 5 los  0.000000000000000e+00 -7.496813316281102e-01  6.617989883705653e-01
+sensor LOS: sensorName s0 date 2012-01-01T12:30:01.12961999999997Z pixelNumber 6 los  0.000000000000000e+00 -7.496980238944815e-01  6.617800790056386e-01
+sensor datation: sensorName s0 lineNumber  1.753079999999893e+03 date 2012-01-01T12:30:01.12961999999984Z
+inverse location result: lineNumber  1.753079999999893e+03 pixelNumber  5.000000000428289e+00
+inverse location: sensorName s0 latitude -3.930323254721546e-01 longitude  2.502727645691323e+00 elevation  1.847490708944211e+03 minLine 0 maxLine 2000 lightTime true aberration true
+sensor datation: sensorName s0 lineNumber  1.753080000000180e+03 date 2012-01-01T12:30:01.12962000000027Z
+sensor rate: sensorName s0 lineNumber  1.753080000000180e+03 rate  6.666666666666666e+02
+sensor datation: sensorName s0 lineNumber  1.753080000000150e+03 date 2012-01-01T12:30:01.12962000000022Z
+sensor LOS: sensorName s0 date 2012-01-01T12:30:01.12962000000022Z pixelNumber 7 los  0.000000000000000e+00 -7.497147156838981e-01  6.617611692196904e-01
+sensor datation: sensorName s0 lineNumber  1.753080000000120e+03 date 2012-01-01T12:30:01.12962000000018Z
+inverse location result: lineNumber  1.753080000000120e+03 pixelNumber  6.000000000570598e+00
+inverse location: sensorName s0 latitude -3.930341476421113e-01 longitude  2.502715716159622e+00 elevation  1.841953904196975e+03 minLine 0 maxLine 2000 lightTime true aberration true
+sensor datation: sensorName s0 lineNumber  1.753080000000450e+03 date 2012-01-01T12:30:01.12962000000067Z
+sensor rate: sensorName s0 lineNumber  1.753080000000450e+03 rate  6.666666666666666e+02
+sensor LOS: sensorName s0 date 2012-01-01T12:30:01.12962000000027Z pixelNumber 8 los  0.000000000000000e+00 -7.497314069963494e-01  6.617422590127325e-01
+sensor datation: sensorName s0 lineNumber  1.753079999999910e+03 date 2012-01-01T12:30:01.12961999999986Z
+inverse location result: lineNumber  1.753079999999910e+03 pixelNumber  7.000000000854453e+00