17 # define PI_OVER_2 ( M_PI / 2.0) 20 # define PI_OVER_4 ( M_PI / 4.0) 23 # define TWO_PI (2.0 * M_PI) 25 #define ONE (1.0 * M_PI / 180.0) 27 #define STEREO_NO_ERROR 0x0000 28 #define STEREO_LAT_ERROR 0x0001 29 #define STEREO_LON_ERROR 0x0002 30 #define STEREO_ORIGIN_LAT_ERROR 0x0004 31 #define STEREO_CENT_MER_ERROR 0x0008 32 #define STEREO_EASTING_ERROR 0x0010 33 #define STEREO_NORTHING_ERROR 0x0020 34 #define STEREO_A_ERROR 0x0040 35 #define STEREO_INV_F_ERROR 0x0080 120 double easting = 0.0;
121 double northing = 0.0;
171 double Origin_Latitude,
172 double Central_Meridian,
173 double False_Easting,
174 double False_Northing)
193 double es2, es4, es6;
221 Stereo_Ra =
Stereo_a * (1.0 - es2 / 6.0 - 17.0 * es4 / 360.0 - 67.0 * es6 /3024.0);
254 double *Origin_Latitude,
255 double *Central_Meridian,
256 double *False_Easting,
257 double *False_Northing)
const 289 double *Northing)
const 309 double slat = sin(Latitude);
310 double clat = cos(Latitude);
337 cos_dlam = cos(dlam);
339 if (fabs(g) <= 1.0e-10)
348 if (fabs(fabs(Latitude) -
PI_OVER_2) < 1.0e-10)
373 k = 2.0 / (1.0 + clat * cos_dlam);
393 double *Longitude)
const 429 rho = sqrt(dx * dx + dy * dy);
430 if (fabs(rho) <= 1.0e-10)
440 dy_sin_c = dy * sin_c;
double Cos_Stereo_Origin_Lat
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Method to the load (recreate) the state of an object from a keyword list.
double Stereo_False_Northing
Represents serializable keyword/value map.
double Stereo_False_Easting
const char * find(const char *key) const
long Set_Stereographic_Parameters(double a, double f, double Origin_Latitude, double Central_Meridian, double False_Easting, double False_Northing)
virtual const ossimString & code() const
void setFalseEasting(double falseEasting)
ossimStereographicProjection(const ossimEllipsoid &ellipsoid=ossimEllipsoid(), const ossimGpt &origin=ossimGpt())
static const char * TYPE_KW
void changeDatum(const ossimDatum *datum)
This will actually perform a shift.
#define STATIC_TYPE_NAME(T)
const ossimDatum * datum() const
datum().
void setFalseEastingNorthing(double falseEasting, double falseNorthing)
double Stereo_Delta_Northing
virtual ossimDpt forward(const ossimGpt &latLon) const
All map projections will convert the world coordinate to an easting northing (Meters).
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
const double & getA() const
long Convert_Stereographic_To_Geodetic(double Easting, double Northing, double *Latitude, double *Longitude) const
double lonr() const
Returns the longitude in radian measure.
long Convert_Geodetic_To_Stereographic(double Latitude, double Longitude, double *Easting, double *Northing) const
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Method to save the state of an object to a keyword list.
void Get_Stereographic_Parameters(double *a, double *f, double *Origin_Latitude, double *Central_Meridian, double *False_Easting, double *False_Northing) const
virtual ossimGpt inverse(const ossimDpt &eastingNorthing) const
Will take a point in meters and convert it to ground.
double Stereo_Origin_Long
double Sin_Stereo_Origin_Lat
double latr() const
latr().
const double & getFlattening() const
ossimEllipsoid theEllipsoid
This method verifies that the projection parameters match the current pcs code.
#define RTTI_DEF1(cls, name, b1)
ossimDpt theFalseEastingNorthing
Hold the false easting northing.
double Stereo_Delta_Easting
void setFalseNorthing(double falseNorthing)
const ossimDatum * theDatum
This is only set if we want to have built in datum shifting.