11 #include <utl/AugerCoordinateSystem.h>
12 #include <utl/CoordinateSystem.h>
13 #include <utl/Point.h>
14 #include <utl/UTMPoint.h>
15 #include <utl/AugerUnits.h>
16 #include <tst/Verify.h>
17 #include <utl/Triple.h>
19 #include <cppunit/extensions/HelperMacros.h>
32 CPPUNIT_TEST(testSiteCS);
33 CPPUNIT_TEST_SUITE_END();
47 const Point o(0,0,0, cs);
49 CPPUNIT_ASSERT(Verify<CloseTo>(
50 o.GetCoordinates(ecef), p.GetCoordinates(ecef)));
52 CPPUNIT_ASSERT(Verify<CloseTo>(
53 p.GetCoordinates(cs),
Triple(0,0,0)));
55 const Point pNorth(0, 10*
m, 0, cs);
57 CPPUNIT_ASSERT(Verify<CloseTo>(
60 CPPUNIT_ASSERT(Verify<CloseTo>(
63 const Point pUp(0, 0, 1*
km, cs);
65 CPPUNIT_ASSERT(Verify<CloseTo>(
68 CPPUNIT_ASSERT(Verify<CloseTo>(
84 const UTMPoint centralCampusUTM(6075445*
m, 446954*
m, 1444*
m, 19,
'H', e);
86 checkOnePoint(centralCampus);
93 CPPUNIT_ASSERT(Verify<CloseTo>(
94 cs->GetTransformation().Distance(csu->GetTransformation()), 0.));
96 const UTMPoint malargueOriginUTM(6060000*
m, 440000*
m, 0*
m, 19,
'H', e);
97 const Point malargueOrigin(malargueOriginUTM.GetPoint());
98 checkOnePoint(malargueOrigin);
108 const UTMPoint malargueOriginUTM(6060000*
m, 440000*
m, 0*
m, 19,
'H', e);
111 const UTMPoint centralCampusUTM(6075445*
m, 446954*
m, 1444*
m, 19,
'H', e);
112 const Point centralCampus(centralCampusUTM.GetPoint());
118 CPPUNIT_ASSERT(Verify<CloseTo>(
119 malargueOrigin.GetCoordinates(siteCS),
Triple(0,0,0)));
124 CPPUNIT_ASSERT(Verify<CloseTo>(
125 centralCampus.GetCoordinates(localCS),
Triple(0,0,0)));
131 CPPUNIT_ASSERT(Verify<CloseTo>(
132 malargueOrigin.GetCoordinates(siteCSnonBase),
Triple(0,0,0)));
137 CPPUNIT_ASSERT(Verify<CloseTo>(
138 centralCampus.GetCoordinates(localCS2),
Triple(0,0,0)));
146 CPPUNIT_ASSERT(Verify<Equal>(
147 localCS2->GetReferenceSystem(), localCSecef->GetReferenceSystem()));
148 CPPUNIT_ASSERT(Verify<CloseTo>(
149 localCS2->GetTransformation().Distance(localCSecef->GetTransformation()), 0.));
155 const UTMPoint losLeonesUTM(6071794*
m, 459218*
m, 1444*
m, 19,
'H', e);
161 CPPUNIT_ASSERT(Verify<CloseTo>(
162 losLeones.GetCoordinates(llCS),
Triple(0,0,0)));
167 CPPUNIT_ASSERT(Verify<CloseTo>(
168 losLeones.GetCoordinates(llBaseCS),
Triple(0,0,0)));
static Policy::type Create(const Point &theOrigin, const ReferenceEllipsoid &theEllipsoid, const CoordinateSystemPtr &theReferenceCS)
Class to hold and convert a point in geodetic coordinates.
static const ReferenceEllipsoid & Get(const EllipsoidID theID)
Get known ellipsoid by registered ID.
CPPUNIT_TEST_SUITE_REGISTRATION(testAiresShowerFile)
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
constexpr double micrometer
boost::tuple< double, double, double > Triple
Coordinate triple for easy getting or setting of coordinates.
Reference ellipsoids for UTM transformations.
Triple PointToLatitudeLongitudeHeight(const Point &thePoint) const
Convert Point to Lat/Long/Height.
const CoordinateSystemPtr GetECEF() const
Get the ECEF.
void checkOnePoint(const Point &p)
Point GetPoint(const CoordinateSystemPtr &theCS=CoordinateSystemPtr()) const
Get a cartesian point from an UTMPoint.