23 #define CYEQ_NO_ERROR 0x0000 24 #define CYEQ_LAT_ERROR 0x0001 25 #define CYEQ_LON_ERROR 0x0002 26 #define CYEQ_EASTING_ERROR 0x0004 27 #define CYEQ_NORTHING_ERROR 0x0008 28 #define CYEQ_ORIGIN_LAT_ERROR 0x0010 29 #define CYEQ_CENT_MER_ERROR 0x0020 30 #define CYEQ_A_ERROR 0x0040 31 #define CYEQ_B_ERROR 0x0080 32 #define CYEQ_A_LESS_B_ERROR 0x0100 40 # define PI_OVER_2 ( M_PI / 2.0) 43 # define TWO_PI (2.0 * M_PI) 45 #define CYLEQAR_Q(slat, x) (1.0-es2)*(slat/(1.0-x*x)-(1.0/(2.0*es))* \ 47 #define CYEQ_COEFF_TIMES_SIN(coeff, c, Beta) (coeff * sin(c * Beta)) 48 #define ONE (1.0 * M_PI / 180.0) 137 double easting = 0.0;
138 double northing = 0.0;
190 double Origin_Latitude,
191 double Central_Meridian,
192 double False_Easting,
193 double False_Northing)
213 double Sin_Cyeq_Origin_Lat;
239 if (Central_Meridian >
M_PI)
240 Central_Meridian -=
TWO_PI;
248 c0 =
es2 / 3.0 + 31.0 *
es4 / 180.0 + 517.0 *
es6 / 5040.0;
249 c1 = 23.0 *
es4 / 360.0 + 251.0 *
es6 / 3780.0;
250 c2 = 761.0 *
es6 / 45360.0;
281 double *Origin_Latitude,
282 double *Central_Meridian,
283 double *False_Easting,
284 double *False_Northing)
const 315 double *Northing)
const 333 double sin_lat = sin(Latitude);
367 double *Longitude)
const 383 double sin2beta, sin4beta, sin6beta;
418 *Latitude = beta + sin2beta + sin4beta + sin6beta;
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Method to the load (recreate) the state of an object from a keyword list.
ossimCylEquAreaProjection(const ossimEllipsoid &ellipsoid=ossimEllipsoid(), const ossimGpt &origin=ossimGpt())
double Cyeq_Delta_Northing
void setFalseEastingNorthing(double falseEasting, double falseNorthing)
double Cyeq_False_Easting
Represents serializable keyword/value map.
const char * find(const char *key) const
virtual const ossimString & code() const
double Cyeq_False_Northing
virtual ossimGpt inverse(const ossimDpt &projectedPoint) const
Will take a point in meters and convert it to ground.
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
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().
#define CYEQ_COEFF_TIMES_SIN(coeff, c, Beta)
long Set_Cyl_Eq_Area_Parameters(double a, double f, double Origin_Latitude, double Central_Meridian, double False_Easting, double False_Northing)
virtual ossimDpt forward(const ossimGpt &worldPoint) const
All map projections will convert the world coordinate to an easting northing (Meters).
long Convert_Cyl_Eq_Area_To_Geodetic(double Easting, double Northing, double *Latitude, double *Longitude) const
const double & getA() const
double lonr() const
Returns the longitude in radian measure.
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Method to save the state of an object to a keyword list.
void setFalseNorthing(double falseNorthing)
void setFalseEasting(double falseEasting)
#define CYLEQAR_Q(slat, x)
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
double latr() const
latr().
void Get_Cyl_Eq_Area_Parameters(double *a, double *f, double *Origin_Latitude, double *Central_Meridian, double *False_Easting, double *False_Northing) const
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.
long Convert_Geodetic_To_Cyl_Eq_Area(double Latitude, double Longitude, double *Easting, double *Northing) const
const ossimDatum * theDatum
This is only set if we want to have built in datum shifting.