OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimUpsProjection.h
Go to the documentation of this file.
1 //*******************************************************************
2 //
3 // License: See top level LICENSE.txt file.
4 //
5 // Author: Garrett Potts (gpotts@imagelinks.com)
6 //
7 // Description:
8 //
9 //*******************************************************************
10 // $Id: ossimUpsProjection.h 17815 2010-08-03 13:23:14Z dburken $
11 #ifndef ossimUpsProjection_HEADER
12 #define ossimUpsProjection_HEADER
14 
16 {
17 public:
19  const ossimGpt& origin = ossimGpt());
20 
21  virtual ossimObject *dup()const{return new ossimUpsProjection(*this);}
22 
23  void setDefaults();
24 
25  virtual ossimGpt inverse(const ossimDpt &eastingNorthing)const;
26  virtual ossimDpt forward(const ossimGpt &latLon)const;
27  virtual void update();
28 
33  virtual bool saveState(ossimKeywordlist& kwl,
34  const char* prefix=0)const;
35 
40  virtual bool loadState(const ossimKeywordlist& kwl,
41  const char* prefix=0);
42 
43  double getFalseEasting()const{return UPS_False_Easting;}
44  double getFalseNorthing()const{return UPS_False_Northing;}
45 
46  void setHemisphere(char hemisphere);
47 
49  virtual bool operator==(const ossimProjection& projection) const;
50 
51 protected:
52  mutable char theHemisphere;
53 
54  //___________________GEOTRANS__________________
55  //
56  mutable double UPS_a; /* Semi-major axis of ellipsoid in meters */
57  mutable double UPS_f; /* Flattening of ellipsoid */
58  mutable double UPS_Origin_Latitude; /*set default = North Hemisphere */
59  mutable double UPS_Origin_Longitude;
60  mutable double false_easting;
61  mutable double false_northing;
62  mutable double UPS_Easting;
63  mutable double UPS_Northing;
66 
75  long Set_UPS_Parameters( double a,
76  double f);
77 
78 
85  void Get_UPS_Parameters( double *a,
86  double *f)const;
87 
88 
102  long Convert_Geodetic_To_UPS ( double Latitude,
103  double Longitude,
104  char *Hemisphere,
105  double *Easting,
106  double *Northing)const;
107 
108 
122  long Convert_UPS_To_Geodetic(char Hemisphere,
123  double Easting,
124  double Northing,
125  double *Latitude,
126  double *Longitude)const;
127 
128 TYPE_DATA
129 };
130 
131 #endif
virtual ossimObject * dup() const
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Method to the load (recreate) the state of an object from a keyword list.
#define OSSIMDLLEXPORT
Represents serializable keyword/value map.
double getFalseEasting() const
void Get_UPS_Parameters(double *a, double *f)
virtual ossimGpt inverse(const ossimDpt &projectedPoint) const =0
Will take a point in meters and convert it to ground.
long Convert_UPS_To_Geodetic(char Hemisphere, double Easting, double Northing, double *Latitude, double *Longitude)
virtual bool operator==(const ossimProjection &projection) const
Compares this to arg projection and returns TRUE if the same.
#define TYPE_DATA
Definition: ossimRtti.h:339
double getFalseNorthing() const
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Method to save the state of an object to a keyword list.
virtual ossimDpt forward(const ossimGpt &worldPoint) const =0
All map projections will convert the world coordinate to an easting northing (Meters).
long Convert_Geodetic_To_UPS(double Latitude, double Longitude, char *Hemisphere, double *Easting, double *Northing)
long Set_UPS_Parameters(double a, double f)