OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimSpaceObliqueMercatorProjection.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: ossimSpaceObliqueMercatorProjection.h 20197 2011-11-03 13:22:02Z dburken $
11 #ifndef ossimSpaceObliqueMercatorProjection_HEADER
12 #define ossimSpaceObliqueMercatorProjection_HEADER
14 
28 {
29 public:
31  {
32  SOM_TYPE_LANDSAT_1 = 0,
33  SOM_TYPE_LANDSAT_2 = 1,
34  SOM_TYPE_LANDSAT_3 = 2,
35  SOM_TYPE_LANDSAT_4 = 3,
36  SOM_TYPE_LANDSAT_5 = 4,
37  SOM_TYPE_LANDSAT_7 = 5
38  };
39 
40  ossimSpaceObliqueMercatorProjection(ossimSatelliteType type=SOM_TYPE_LANDSAT_7,
41  double pathNumber=34,
42  const ossimEllipsoid& ellipsoid = ossimEllipsoid());
43 
44  virtual ossimObject* dup()const{return new ossimSpaceObliqueMercatorProjection(*this);}
45  virtual ossimDpt forward(const ossimGpt &worldPoint) const;
46  virtual ossimGpt inverse(const ossimDpt &projectedPoint)const;
47 
52  virtual bool saveState(ossimKeywordlist& kwl,
53  const char* prefix=0) const;
54 
59  virtual bool loadState(const ossimKeywordlist& kwl,
60  const char* prefix=0);
61 
62  virtual void setParameters(ossimSatelliteType type,
63  double path);
64 
65  virtual void update();
66 
68  virtual bool operator==(const ossimProjection& projection) const;
69 
70 protected:
71 
72  // proj 4 parameters that I bridge to.
73  //
74  double a2, a4, b, c1, c3;
75  double q, t, u, w, p22, sa, ca, xj, rlm, rlm2;
76 
77  // proj4 stuff
78  double lam0;
79  double es;
80  double e;
81  double one_es;
82  double rone_es;
83  double a;
84 
85  void seraz0(double lam, double mult);
86 
90  double thePath;
92 
94 };
95 #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).