/usr/include/ossim/projection/ossimSpaceObliqueMercatorProjection.h is in libossim-dev 1.7.21-3ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | //*******************************************************************
//
// License: See top level LICENSE.txt file.
//
// Author: Garrett Potts (gpotts@imagelinks.com)
//
// Description:
//
//*******************************************************************
// $Id: ossimSpaceObliqueMercatorProjection.h 9968 2006-11-29 14:01:53Z gpotts $
#ifndef ossimSpaceObliqueMercatorProjection_HEADER
#define ossimSpaceObliqueMercatorProjection_HEADER
#include <ossim/projection/ossimMapProjection.h>
/*!
* This class implments the formulas for the ellipsoid and
* circular orbit. All formulas were directly taken from
* proj 4. Proj 4 implementation is from the following
* manual reference:
*
* Map Projections - A Working Manual
* by John Snyder
* Space Oblique Mercator p. 221.
*
*
*/
class ossimSpaceObliqueMercatorProjection : public ossimMapProjection
{
public:
enum ossimSatelliteType
{
SOM_TYPE_LANDSAT_1 = 0,
SOM_TYPE_LANDSAT_2 = 1,
SOM_TYPE_LANDSAT_3 = 2,
SOM_TYPE_LANDSAT_4 = 3,
SOM_TYPE_LANDSAT_5 = 4,
SOM_TYPE_LANDSAT_7 = 5
};
ossimSpaceObliqueMercatorProjection(ossimSatelliteType type=SOM_TYPE_LANDSAT_7,
double pathNumber=34,
const ossimEllipsoid& ellipsoid = ossimEllipsoid());
virtual ossimObject* dup()const{return new ossimSpaceObliqueMercatorProjection(*this);}
virtual ossimDpt forward(const ossimGpt &worldPoint) const;
virtual ossimGpt inverse(const ossimDpt &projectedPoint)const;
/*!
* Method to save the state of an object to a keyword list.
* Return true if ok or false on error.
*/
virtual bool saveState(ossimKeywordlist& kwl,
const char* prefix=0) const;
/*!
* Method to the load (recreate) the state of an object from a keyword
* list. Return true if ok or false on error.
*/
virtual bool loadState(const ossimKeywordlist& kwl,
const char* prefix=0);
virtual void setParameters(ossimSatelliteType type,
double path);
virtual void update();
protected:
// proj 4 parameters that I bridge to.
//
double a2, a4, b, c1, c3;
double q, t, u, w, p22, sa, ca, xj, rlm, rlm2;
// proj4 stuff
double lam0;
double es;
double e;
double one_es;
double rone_es;
double a;
void seraz0(double lam, double mult);
/*!
* Is the p variable in Map Projections a Working Manual.
*/
double thePath;
ossimSatelliteType theSatelliteType;
TYPE_DATA
};
#endif
|