00001 #pragma ident "$Id: XYZ2NEU.hpp 3140 2012-06-18 15:03:02Z susancummins $"
00002
00009 #ifndef GPSTK_XYZ2NEU_HPP
00010 #define GPSTK_XYZ2NEU_HPP
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 #include "geometry.hpp"
00037 #include "Matrix.hpp"
00038 #include "Position.hpp"
00039 #include "TypeID.hpp"
00040 #include "ProcessingClass.hpp"
00041
00042
00043 namespace gpstk
00044 {
00045
00048
00122 class XYZ2NEU : public ProcessingClass
00123 {
00124 public:
00125
00127 XYZ2NEU()
00128 : refLat(0.0), refLon(0.0)
00129 { init(); };
00130
00131
00137 XYZ2NEU( const double& lat,
00138 const double& lon )
00139 { setLatLon(lat, lon); }
00140
00141
00146 XYZ2NEU(const Position& refPos);
00147
00148
00156 virtual XYZ2NEU& setLat(const double& lat);
00157
00158
00160 virtual double getLat(void) const
00161 { return (refLat*RAD_TO_DEG); };
00162
00163
00168 virtual XYZ2NEU& setLon(const double& lon);
00169
00170
00172 virtual double getLon(void) const
00173 { return (refLon*RAD_TO_DEG); };
00174
00175
00185 virtual XYZ2NEU& setLatLon( const double& lat,
00186 const double& lon );
00187
00188
00195 virtual satTypeValueMap& Process(satTypeValueMap& gData)
00196 throw(ProcessingException);
00197
00198
00205 virtual gnssSatTypeValue& Process(gnssSatTypeValue& gData)
00206 throw(ProcessingException)
00207 { Process(gData.body); return gData; };
00208
00209
00216 virtual gnssRinex& Process(gnssRinex& gData)
00217 throw(ProcessingException)
00218 { Process(gData.body); return gData; };
00219
00220
00222 virtual std::string getClassName(void) const;
00223
00224
00226 virtual ~XYZ2NEU() {};
00227
00228
00229 private:
00230
00231
00234 double refLat;
00235
00236
00239 double refLon;
00240
00241
00243 Matrix<double> rotationMatrix;
00244
00245
00248 TypeIDSet inputSet;
00249
00250
00253 TypeIDSet outputSet;
00254
00255
00258 virtual void init();
00259
00260
00261 };
00262
00264
00265 }
00266
00267 #endif // GPSTK_XYZ2NEU_HPP