UNCLASSIFIED

GeographicTranslator
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Macros
LocalSpherical.h
Go to the documentation of this file.
1 // CLASSIFICATION: UNCLASSIFIED
2 
3 #ifndef GTS_LOCAL_SPHERICAL_H
4 #define GTS_LOCAL_SPHERICAL_H
5 
6 /***************************************************************************/
7 /* RSC IDENTIFIER: LOCAL SPHERICAL
8  *
9  * ABSTRACT
10  * This component provides conversions between Geodetic coordinates (latitude,
11  * longitude in radians and height in meters) and Local Spherical coordinates.
12  *
13  *
14  * REFERENCES
15  *
16  * MODIFICATIONS
17  *
18  * Date Description
19  * ---- ------------
20  * 03-16-19 Original Code
21  *
22  */
23 
24 #include "CoordinateSystem.h"
25 #include "LocalCartesian.h"
26 
27 namespace MSP
28 {
29  namespace CCS
30  {
31  class SphericalCoordinates;
32 
34  {
35  public:
36 
37  /*
38  * The constructor receives the ellipsoid parameters
39  * and local origin parameters as inputs and sets the corresponding state variables.
40  *
41  * ellipsoidSemiMajorAxis : Semi-major axis of ellipsoid, in meters (input)
42  * ellipsoidFlattening : Flattening of ellipsoid (input)
43  * originLongitude : Longitude of the local origin, in radians (input)
44  * originLatitude : Latitude of the local origin , in radians (input)
45  * originHeight : Ellipsoid height of the local origin, in meters (input)
46  * orientation : Orientation angle of the local cartesian coordinate system, in radians (input)
47  */
48  LocalSpherical(double ellipsoidSemiMajorAxis, double ellipsoidFlattening,
49  double originLongitude, double originLatitude, double originHeight, double orientation);
50 
51  LocalSpherical(const LocalSpherical &lc);
52 
53  ~LocalSpherical(void);
54 
56 
57  /*
58  * The function convertFromGeodetic converts geodetic coordinates
59  * (latitude, longitude, and height) to local cartesian coordinates (X, Y, Z),
60  * according to the current ellipsoid and local origin parameters.
61  *
62  * geodeticCoordinate : Geodetic coordinate to be converted (input)
63  *
64  */
66  MSP::CCS::GeodeticCoordinates* geodeticCoordinates);
67 
68  /*
69  * The function convertToGeodetic converts local cartesian
70  * coordinates (X, Y, X) to geodetic coordinates (latitude, longitude
71  * and height), according to the current ellipsoid and local origin parameters.
72  *
73  * sphericalCoordinate : Local spherical coordinate to be converted (input)
74  */
76  MSP::CCS::SphericalCoordinates* sphericalCoordinate);
77 
78  protected:
80  const double azimuth,
81  const double elevation,
82  const double radius,
83  double &x,
84  double &y,
85  double &z) const;
86 
88  const double x,
89  const double y,
90  const double z,
91  double &azimuth,
92  double &elevation,
93  double &radius) const;
94  };
95  }
96 }
97 #endif
void localSphericalToLocalCartesian(const double azimuth, const double elevation, const double radius, double &x, double &y, double &z) const
LocalSpherical & operator=(const LocalSpherical &lc)
MSP::CCS::SphericalCoordinates * convertFromGeodetic(MSP::CCS::GeodeticCoordinates *geodeticCoordinates)
void localCartesianToLocalSpherical(const double x, const double y, const double z, double &azimuth, double &elevation, double &radius) const
LocalSpherical(double ellipsoidSemiMajorAxis, double ellipsoidFlattening, double originLongitude, double originLatitude, double originHeight, double orientation)
MSP::CCS::GeodeticCoordinates * convertToGeodetic(MSP::CCS::SphericalCoordinates *sphericalCoordinate)