OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimVanDerGrintenProjection.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 // Calls Grinten projection code.
10 //*******************************************************************
11 // $Id: ossimVanDerGrintenProjection.h 17815 2010-08-03 13:23:14Z dburken $
12 #ifndef ossimVanDerGrintenProjection_HEADER
13 #define ossimVanDerGrintenProjection_HEADER
14 
16 
18 {
19 public:
21  const ossimGpt& origin = ossimGpt());
23  const ossimGpt& origin,
24  const double falseEasting,
25  const double falseNorthing);
27  virtual ossimObject *dup()const
28  {
29  return new ossimVanDerGrintenProjection(*this);
30  }
31 
32  virtual ossimGpt inverse(const ossimDpt &eastingNorthing)const;
33  virtual ossimDpt forward(const ossimGpt &latLon)const;
34  virtual void update();
35 
36 
41  void setFalseEasting(double falseEasting);
42 
47  void setFalseNorthing(double falseNorthing);
48 
54  void setFalseEastingNorthing(double falseEasting, double falseNorthing);
55 
56  void setDefaults();
57 
58  void setCentralMeridian(double centralMeridian);
59 
60  double getFalseEasting()const{return Grin_False_Easting;}
61  double getFalseNorthing()const{return Grin_False_Northing;}
62 
67  virtual bool saveState(ossimKeywordlist& kwl,
68  const char* prefix=0)const;
69 
74  virtual bool loadState(const ossimKeywordlist& kwl,
75  const char* prefix=0);
76 
78  virtual bool operator==(const ossimProjection& projection) const;
79 
80 protected:
81 
82  //________________GEOTRANS_____________
83 
84 
85  mutable double Grin_a; /* Semi-major axis of ellipsoid in meters */
86  mutable double Grin_f; /* Flattening of ellipsoid */
87  mutable double es2; /* Eccentricity (0.08181919084262188000) squared */
88  mutable double es4; /* es2 * es2 */
89  mutable double es6; /* es4 * es2 */
90  mutable double Ra; /* Spherical Radius */
91  mutable double PI_Ra;
92 
93  mutable double Grin_Origin_Long; /* Longitude of origin in radians */
94  mutable double Grin_False_Easting;
95  mutable double Grin_False_Northing;
96 /* Van Der Grinten projection Parameters */
97 
113  long Set_Van_der_Grinten_Parameters(double a,
114  double f,
115  double Central_Meridian,
116  double False_Easting,
117  double False_Northing);
118 
119 
120 
134  void Get_Van_der_Grinten_Parameters(double *a,
135  double *f,
136  double *Central_Meridian,
137  double *False_Easting,
138  double *False_Northing)const;
139 
140 
141 
154  long Convert_Geodetic_To_Van_der_Grinten (double Latitude,
155  double Longitude,
156  double *Easting,
157  double *Northing)const;
158 
159 
172  long Convert_Van_der_Grinten_To_Geodetic(double Easting,
173  double Northing,
174  double *Latitude,
175  double *Longitude)const;
176 
177 TYPE_DATA
178 };
179 
180 #endif
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.
virtual ossimGpt inverse(const ossimDpt &projectedPoint) const =0
Will take a point in meters and convert it to ground.
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
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).
virtual ossimObject * dup() const