Commit f797286e authored by Ian Humphrey's avatar Ian Humphrey
Browse files

Added JSON writing to LidarData

parent b314a42a
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@
#include <QJsonArray>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonValue>
#include <QList>
#include <QSharedPointer>

+40 −1
Original line number Diff line number Diff line
#include "LidarData.h"

#include <QString>

#include "Angle.h"
#include "ControlMeasure.h"
#include "Distance.h"
#include "FileName.h"
#include "iTime.h"
#include "Latitude.h"
#include "LidarControlPoint.h"
#include "Longitude.h"
#include "Preference.h"
#include "SurfacePoint.h"

using namespace std;
using namespace Isis;
@@ -36,7 +44,7 @@ int main(int argc, char *argv[]) {
  double sigmaRange = 0.1;
  QSharedPointer<LidarControlPoint> lcp =
      QSharedPointer<LidarControlPoint>(new LidarControlPoint(time, range, sigmaRange));
  lcp->SetId("testLidarControlPoint1");
  lcp->SetId("testLidarControlPoint");
  defaultData.insert(lcp);
  cout << "\tnumber of points: " << defaultData.points().size() << endl;
  cout << "\tname of point:    " << defaultData.points().first()->GetId() << endl;
@@ -48,5 +56,36 @@ int main(int argc, char *argv[]) {

  // Test write()
  cout << "Testing write(FileName)... " << endl;
  LidarData mockData;
  double lat, lon, rad;
  lat = 100.0;
  lon = 50.0;
  rad = 1000.0;
  for (int i = 1; i < 11; i++) {
    time += 60.0;
    range += 10.0;
    lcp = QSharedPointer<LidarControlPoint>(new LidarControlPoint(time, range, sigmaRange));
    lcp->SetId("testLidarControlPoint" + QString::number(i));
    lat += 1.0;
    lon += 1.0;
    SurfacePoint sp(Latitude(lat, Angle::Units::Degrees),
                    Longitude(lon, Angle::Units::Degrees),
                    Distance(rad, Distance::Units::Kilometers));
    lcp->SetAprioriSurfacePoint(sp);
    double line, sample;
    line = 1.0;
    sample = 1.0;
    for (int j = 0; j < 2; j++) {
      ControlMeasure *measure = new ControlMeasure();
      sample += 1.0;
      line += 1.0;
      measure->SetCoordinate(sample, line);
      measure->SetCubeSerialNumber("SN_" + QString::number(i) + "-" + QString::number(j));
      lcp->Add(measure);
    }
    mockData.insert(lcp);
  }
  FileName outFile("./test.json");
  mockData.write(outFile);
  cout << endl;
}