OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimOrthoGraphicProjection.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 Geotrans OrthoGraphic projection code.
10 //*******************************************************************
11 // $Id: ossimOrthoGraphicProjection.h 9968 2006-11-29 14:01:53Z gpotts $
12 
13 #ifndef ossimOrthoGraphicProjection_HEADER
14 #define ossimOrthoGraphicProjection_HEADER
15 
17 
19 {
20 public:
21 
23  const ossimGpt& origin = ossimGpt());
25  const ossimGpt& origin,
26  const double falseEasting,
27  const double falseNorthing);
29 
30  virtual ossimObject *dup()const
31  {
32  return new ossimOrthoGraphicProjection(*this);
33  }
34  virtual void getGroundClipPoints(ossimGeoPolygon& gpts)const;
35  virtual ossimGpt inverse(const ossimDpt &eastingNorthing)const;
36  virtual ossimDpt forward(const ossimGpt &latLon)const;
37  virtual void update();
42  void setFalseEasting(double falseEasting);
43 
48  void setFalseNorthing(double falseNorthing);
49 
55  void setFalseEastingNorthing(double falseEasting, double falseNorthing);
56 
57  void setDefaults();
58 
59  double getFalseEasting()const{return Orth_False_Easting;}
60  double getFalseNorthing()const{return Orth_False_Northing;}
61 
66  virtual bool saveState(ossimKeywordlist& kwl,
67  const char* prefix=0)const;
68 
73  virtual bool loadState(const ossimKeywordlist& kwl,
74  const char* prefix=0);
75 
76 private:
77 
78  //___________________GEOTRANS_______________________
79  mutable double Orth_a; /* Semi-major axis of ellipsoid in meters */
80  mutable double Orth_f; /* Flattening of ellipsoid */
81  mutable double es2; /* Eccentricity (0.08181919084262188000) squared */
82  mutable double es4; /* es2 * es2 */
83  mutable double es6; /* es4 * es2 */
84  mutable double Ra; /* Spherical Radius */
85 
86 /* Orthographic projection Parameters */
87  mutable double Orth_Origin_Lat; /* Latitude of origin in radians */
88  mutable double Orth_Origin_Long; /* Longitude of origin in radians */
89  mutable double Orth_False_Easting;
90  mutable double Orth_False_Northing;
91  mutable double Sin_Orth_Origin_Lat; /* sin(Orth_Origin_Lat) */
92  mutable double Cos_Orth_Origin_Lat; /* cos(Orth_Origin_Lat) */
93 
111  long Set_Orthographic_Parameters(double a,
112  double f,
113  double Origin_Latitude,
114  double Central_Meridian,
115  double False_Easting,
116  double False_Northing);
117 
118 
119 
135  void Get_Orthographic_Parameters(double *a,
136  double *f,
137  double *Origin_Latitude,
138  double *Origin_Longitude,
139  double *False_Easting,
140  double *False_Northing)const;
141 
142 
143 
156  long Convert_Geodetic_To_Orthographic (double Latitude,
157  double Longitude,
158  double *Easting,
159  double *Northing)const;
160 
161 
174  long Convert_Orthographic_To_Geodetic(double Easting,
175  double Northing,
176  double *Latitude,
177  double *Longitude)const;
178 
179 TYPE_DATA
180 };
181 
182 #endif
void Get_Orthographic_Parameters(double *a, double *f, double *Origin_Latitude, double *Origin_Longitude, double *False_Easting, double *False_Northing) const
Represents serializable keyword/value map.
virtual ossimGpt inverse(const ossimDpt &eastingNorthing) const
Will take a point in meters and convert it to ground.
void setFalseEasting(double falseEasting)
long Convert_Geodetic_To_Orthographic(double Latitude, double Longitude, double *Easting, double *Northing) const
void setFalseNorthing(double falseNorthing)
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
virtual ossimObject * dup() const
virtual ossimDpt forward(const ossimGpt &latLon) const
All map projections will convert the world coordinate to an easting northing (Meters).
#define TYPE_DATA
Definition: ossimRtti.h:339
virtual ossimGpt origin() const
long Convert_Orthographic_To_Geodetic(double Easting, double Northing, double *Latitude, double *Longitude) const
ossimOrthoGraphicProjection(const ossimEllipsoid &ellipsoid=ossimEllipsoid(), const ossimGpt &origin=ossimGpt())
void setFalseEastingNorthing(double falseEasting, double falseNorthing)
long Set_Orthographic_Parameters(double a, double f, double Origin_Latitude, double Central_Meridian, double False_Easting, double False_Northing)
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
virtual void getGroundClipPoints(ossimGeoPolygon &gpts) const