OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ossimAlbersProjection Class Reference

Albers Equal Area Conic Projection. More...

#include <ossimAlbersProjection.h>

Inheritance diagram for ossimAlbersProjection:
ossimMapProjection ossimProjection ossimObject ossimErrorStatusInterface ossimReferenced

Public Member Functions

 ossimAlbersProjection (const ossimEllipsoid &ellipsoid=ossimEllipsoid(), const ossimGpt &origin=ossimGpt())
 
 ossimAlbersProjection (const ossimEllipsoid &ellipsoid, const ossimGpt &origin, double stdParallel1, double stdParallel2, double falseEasting, double falseNorthing)
 
ossimObjectdup () const
 
virtual ossimDpt forward (const ossimGpt &worldPoint) const
 All map projections will convert the world coordinate to an easting northing (Meters). More...
 
virtual ossimGpt inverse (const ossimDpt &projectedPoint) const
 Will take a point in meters and convert it to ground. More...
 
virtual void update ()
 
void setStandardParallel1 (double degree)
 
void setStandardParallel2 (double degree)
 
void setStandardParallels (double parallel1Degree, double prallel2Degree)
 
void setFalseEasting (double falseEasting)
 
void setFalseNorthing (double falseNorthing)
 
void setFalseEastingNorthing (double falseEasting, double falseNorthing)
 
void setParameters (double parallel1, double parallel2, double falseEasting, double falseNorthing)
 
virtual double getStandardParallel1 () const
 
virtual double getStandardParallel2 () const
 
void setDefaults ()
 
virtual bool saveState (ossimKeywordlist &kwl, const char *prefix=0) const
 
virtual bool loadState (const ossimKeywordlist &kwl, const char *prefix=0)
 
virtual bool operator== (const ossimProjection &projection) const
 Returns TRUE if principal parameters are within epsilon tolerance. More...
 
- Public Member Functions inherited from ossimMapProjection
 ossimMapProjection (const ossimEllipsoid &ellipsoid=ossimEllipsoid(), const ossimGpt &origin=ossimGpt())
 
 ossimMapProjection (const ossimMapProjection &src)
 
virtual ossimGpt origin () const
 
virtual ossimDpt worldToLineSample (const ossimGpt &worldPoint) const
 
virtual void worldToLineSample (const ossimGpt &worldPoint, ossimDpt &lineSample) const
 
virtual ossimGpt lineSampleToWorld (const ossimDpt &projectedPoint) const
 
virtual void lineSampleToWorld (const ossimDpt &projectedPoint, ossimGpt &gpt) const
 
virtual void lineSampleHeightToWorld (const ossimDpt &lineSampPt, const double &heightAboveEllipsoid, ossimGpt &worldPt) const
 This is the pure virtual that projects the image point to the given elevation above ellipsoid, thereby bypassing reference to a DEM. More...
 
virtual void lineSampleToEastingNorthing (const ossimDpt &liineSample, ossimDpt &eastingNorthing) const
 
virtual void eastingNorthingToLineSample (const ossimDpt &eastingNorthing, ossimDpt &lineSample) const
 
virtual void eastingNorthingToWorld (const ossimDpt &eastingNorthing, ossimGpt &worldPt) const
 
virtual double getFalseEasting () const
 
virtual double getFalseNorthing () const
 
virtual void setPcsCode (ossim_uint32 pcsCode)
 
virtual ossim_uint32 getPcsCode () const
 Returns the EPSG PCS code or 32767 if the projection is a custom (non-EPSG) projection. More...
 
virtual ossimString getProjectionName () const
 Returns the projection name. More...
 
virtual double getA () const
 ACCESS METHODS: More...
 
virtual double getB () const
 
virtual double getF () const
 
virtual ossimDpt getMetersPerPixel () const
 
virtual const ossimDptgetDecimalDegreesPerPixel () const
 Returns decimal degrees per pixel as an ossimDpt with "x" representing longitude and "y" representing latitude. More...
 
virtual const ossimDptgetUlEastingNorthing () const
 
virtual const ossimGptgetUlGpt () const
 
virtual const ossimDatumgetDatum () const
 
const ossimEllipsoidgetEllipsoid () const
 
const ossimGptgetOrigin () const
 
virtual bool isGeographic () const
 
virtual void applyScale (const ossimDpt &scale, bool recenterTiePoint)
 Applies scale to theDeltaLonPerPixel, theDeltaLatPerPixel and theMetersPerPixel data members (eg: theDeltaLonPerPixel *= scale.x). More...
 
virtual void setEllipsoid (const ossimEllipsoid &ellipsoid)
 SET METHODS: More...
 
virtual void setAB (double a, double b)
 
virtual void setDatum (const ossimDatum *datum)
 Sets theDatum to datum. More...
 
virtual void setOrigin (const ossimGpt &origin)
 Sets theOrigin to origin. More...
 
virtual void setMetersPerPixel (const ossimDpt &gsd)
 
virtual void setDecimalDegreesPerPixel (const ossimDpt &gsd)
 
virtual void setUlTiePoints (const ossimGpt &gpt)
 
virtual void setUlTiePoints (const ossimDpt &eastingNorthing)
 
virtual void setUlEastingNorthing (const ossimDpt &ulEastingNorthing)
 
virtual void setUlGpt (const ossimGpt &ulGpt)
 
virtual void assign (const ossimProjection &aProjection)
 
virtual std::ostream & print (std::ostream &out) const
 Prints data members to stream. More...
 
virtual void computeDegreesPerPixel ()
 Computes the approximate resolution in degrees/pixel. More...
 
virtual void computeMetersPerPixel ()
 This will go from the ground point and give you an approximate meters per pixel. More...
 
void setMatrix (double rotation, const ossimDpt &scale, const ossimDpt &translation)
 
void setMatrixScale (const ossimDpt &scale)
 
void setMatrixRotation (double rotation)
 
void setMatrixTranslation (const ossimDpt &translation)
 
void snapTiePointTo (ossim_float64 multiple, ossimUnitType unitType)
 Utility method to snap the tie point to some multiple. More...
 
void snapTiePointToOrigin ()
 
void setElevationLookupFlag (bool flag)
 
bool getElevationLookupFlag () const
 
ossimUnitType getModelTransformUnitType () const
 
void setModelTransformUnitType (ossimUnitType unit)
 
bool hasModelTransform () const
 
virtual bool isAffectedByElevation () const
 Implementation of pure virtual ossimProjection::isAffectedByElevation method. More...
 
void setProjectionUnits (ossimUnitType units)
 
ossimUnitType getProjectionUnits () const
 OSSIM considers all map projection coordinates (including false eastings and northings) to be in meters. More...
 
virtual bool isEqualTo (const ossimObject &obj, ossimCompareType compareType=OSSIM_COMPARE_FULL) const
 
- Public Member Functions inherited from ossimProjection
 ossimProjection ()
 
virtual ~ossimProjection ()
 
virtual void getRoundTripError (const ossimDpt &imagePoint, ossimDpt &errorResult) const
 
virtual void getRoundTripError (const ossimGpt &groundPoint, ossimDpt &errorResult) const
 
virtual void getGroundClipPoints (ossimGeoPolygon &gpts) const
 
virtual bool operator!= (const ossimProjection &projection) const
 
- Public Member Functions inherited from ossimObject
 ossimObject ()
 
virtual ~ossimObject ()
 
virtual ossimString getShortName () const
 
virtual ossimString getLongName () const
 
virtual ossimString getDescription () const
 
virtual ossimString getClassName () const
 
virtual RTTItypeid getType () const
 
virtual bool canCastTo (ossimObject *obj) const
 
virtual bool canCastTo (const RTTItypeid &id) const
 
virtual bool canCastTo (const ossimString &parentClassName) const
 
virtual void accept (ossimVisitor &visitor)
 
- Public Member Functions inherited from ossimReferenced
 ossimReferenced ()
 
 ossimReferenced (const ossimReferenced &)
 
ossimReferencedoperator= (const ossimReferenced &)
 
void ref () const
 increment the reference count by one, indicating that this object has another pointer which is referencing it. More...
 
void unref () const
 decrement the reference count by one, indicating that a pointer to this object is referencing it. More...
 
void unref_nodelete () const
 decrement the reference count by one, indicating that a pointer to this object is referencing it. More...
 
int referenceCount () const
 
- Public Member Functions inherited from ossimErrorStatusInterface
 ossimErrorStatusInterface ()
 
virtual ~ossimErrorStatusInterface ()
 
virtual ossimErrorCode getErrorStatus () const
 
virtual ossimString getErrorStatusString () const
 
virtual void setErrorStatus (ossimErrorCode error_status) const
 
virtual void setErrorStatus () const
 
virtual void clearErrorStatus () const
 
bool hasError () const
 

Protected Member Functions

virtual ~ossimAlbersProjection ()
 
long Set_Albers_Parameters (double a, double f, double Origin_Latitude, double Central_Meridian, double Std_Parallel_1, double Std_Parallel_2, double False_Easting, double False_Northing)
 
void Get_Albers_Parameters (double *a, double *f, double *Origin_Latitude, double *Central_Meridian, double *Std_Parallel_1, double *Std_Parallel_2, double *False_Easting, double *False_Northing) const
 
long Convert_Geodetic_To_Albers (double Latitude, double Longitude, double *Easting, double *Northing) const
 
long Convert_Albers_To_Geodetic (double Easting, double Northing, double *Latitude, double *Longitude) const
 
- Protected Member Functions inherited from ossimMapProjection
virtual ~ossimMapProjection ()
 
void updateFromTransform ()
 
- Protected Member Functions inherited from ossimReferenced
virtual ~ossimReferenced ()
 

Protected Attributes

double Albers_a
 
double Albers_f
 
double es
 
double es2
 
double C
 
double rho0
 
double n
 
double Albers_a_OVER_n
 
double one_MINUS_es2
 
double two_es
 
double Albers_Origin_Lat
 
double Albers_Origin_Long
 
double Albers_Std_Parallel_1
 
double Albers_Std_Parallel_2
 
double Albers_False_Easting
 
double Albers_False_Northing
 
double Albers_Delta_Northing
 
double Albers_Delta_Easting
 
- Protected Attributes inherited from ossimMapProjection
ossimEllipsoid theEllipsoid
 This method verifies that the projection parameters match the current pcs code. More...
 
ossimGpt theOrigin
 
const ossimDatumtheDatum
 This is only set if we want to have built in datum shifting. More...
 
ossimDpt theMetersPerPixel
 Holds the number of meters per pixel. More...
 
ossimDpt theDegreesPerPixel
 Hold the decimal degrees per pixel. More...
 
ossimGpt theUlGpt
 Hold tie point in decimal degrees. More...
 
ossimDpt theUlEastingNorthing
 Hold tie point as easting northing. More...
 
ossimDpt theFalseEastingNorthing
 Hold the false easting northing. More...
 
ossim_uint32 thePcsCode
 Projection Coordinate System(PCS) code. More...
 
bool theElevationLookupFlag
 
ossimMatrix4x4 theModelTransform
 
ossimMatrix4x4 theInverseModelTransform
 
ossimUnitType theModelTransformUnitType
 
ossimUnitType theProjectionUnits
 Linear units of the projection as indicated in the projection's specification: More...
 
- Protected Attributes inherited from ossimErrorStatusInterface
ossimErrorCode theErrorStatus
 

Detailed Description

Albers Equal Area Conic Projection.

A basic conic projection developed by H.C. Albers. Classified as a conic and equal area. A graphic can be found at:
http://everest.hunter.cuny.edu/mp/pbander/albers.gif

Definition at line 25 of file ossimAlbersProjection.h.

Constructor & Destructor Documentation

◆ ossimAlbersProjection() [1/2]

ossimAlbersProjection::ossimAlbersProjection ( const ossimEllipsoid ellipsoid = ossimEllipsoid(),
const ossimGpt origin = ossimGpt() 
)

Definition at line 46 of file ossimAlbersProjection.cpp.

References Albers_Delta_Easting, Albers_Delta_Northing, setDefaults(), and update().

Referenced by dup().

48  :ossimMapProjection(ellipsoid, origin)
49 {
50  Albers_Delta_Northing = 40000000.0;
51  Albers_Delta_Easting = 40000000.0;
52  setDefaults();
53  update();
54 }
virtual ossimGpt origin() const
ossimMapProjection(const ossimEllipsoid &ellipsoid=ossimEllipsoid(), const ossimGpt &origin=ossimGpt())

◆ ossimAlbersProjection() [2/2]

ossimAlbersProjection::ossimAlbersProjection ( const ossimEllipsoid ellipsoid,
const ossimGpt origin,
double  stdParallel1,
double  stdParallel2,
double  falseEasting,
double  falseNorthing 
)
Parameters
ellipsoid
originlatitude longitude in decimal degrees.
stdParallel1First parallel in DEGREES.
stdParallel2Second parallel in DEGREES.
falseEastingFalse easting in meters.
falseNorthingFalse northing in meters.

Definition at line 56 of file ossimAlbersProjection.cpp.

References Albers_Delta_Easting, Albers_Delta_Northing, Albers_False_Easting, Albers_False_Northing, Albers_Std_Parallel_1, Albers_Std_Parallel_2, RAD_PER_DEG, and update().

62  :ossimMapProjection(ellipsoid, origin)
63 {
64  Albers_Std_Parallel_1 = stdParallel1*RAD_PER_DEG;
65  Albers_Std_Parallel_2 = stdParallel2*RAD_PER_DEG;
66  Albers_Delta_Northing = 40000000.0;
67  Albers_Delta_Easting = 40000000.0;
68  Albers_False_Easting = falseEasting;
69  Albers_False_Northing = falseNorthing;
70 
71  update();
72 
73 }
virtual ossimGpt origin() const
ossimMapProjection(const ossimEllipsoid &ellipsoid=ossimEllipsoid(), const ossimGpt &origin=ossimGpt())
#define RAD_PER_DEG

◆ ~ossimAlbersProjection()

ossimAlbersProjection::~ossimAlbersProjection ( )
protectedvirtual

Definition at line 80 of file ossimAlbersProjection.cpp.

81 {
82 }

Member Function Documentation

◆ Convert_Albers_To_Geodetic()

long ossimAlbersProjection::Convert_Albers_To_Geodetic ( double  Easting,
double  Northing,
double *  Latitude,
double *  Longitude 
) const
protected

The function Convert_Albers_To_Geodetic converts Albers projection (easting and northing) coordinates to geodetic (latitude and longitude) coordinates, according to the current ellipsoid and Albers projection coordinates. If any errors occur, the error code(s) are returned by the function, otherwise ALBERS_NO_ERROR is returned.

Easting : Easting (X) in meters (input) Northing : Northing (Y) in meters (input) Latitude : Latitude (phi) in radians (output) Longitude : Longitude (lambda) in radians (output)

Definition at line 508 of file ossimAlbersProjection.cpp.

References Albers_a, Albers_Delta_Easting, Albers_Delta_Northing, ALBERS_EASTING_ERROR, Albers_False_Easting, Albers_False_Northing, ALBERS_NO_ERROR, ALBERS_NORTHING_ERROR, Albers_Origin_Long, C, es, ES_SIN, M_PI, n, one_MINUS_es2, ONE_MINUS_SQR, PI_OVER_2, rho0, two_es, and TWO_PI.

Referenced by inverse().

512 { /* BEGIN Convert_Albers_To_Geodetic */
513 /*
514  * The function Convert_Albers_To_Geodetic converts Albers projection
515  * (easting and northing) coordinates to geodetic (latitude and longitude)
516  * coordinates, according to the current ellipsoid and Albers projection
517  * coordinates. If any errors occur, the error code(s) are returned by the
518  * function, otherwise ALBERS_NO_ERROR is returned.
519  *
520  * Easting : Easting (X) in meters (input)
521  * Northing : Northing (Y) in meters (input)
522  * Latitude : Latitude (phi) in radians (output)
523  * Longitude : Longitude (lambda) in radians (output)
524  */
525 
526  double dy, dx;
527  double rho0_MINUS_dy;
528  double q, qconst, q_OVER_2;
529  double rho, rho_n;
530  double PHI, Delta_PHI = 1.0;
531  double sin_phi;
532  double es_sin, one_MINUS_SQRes_sin;
533  double theta = 0.0;
534  double tolerance = 4.85e-10; /* approximately 1/1000th of
535  an arc second or 1/10th meter */
536  long Error_Code = ALBERS_NO_ERROR;
537 
538  if ((Easting < (Albers_False_Easting - Albers_Delta_Easting))
540  { /* Easting out of range */
541  Error_Code |= ALBERS_EASTING_ERROR;
542  }
543  if ((Northing < (Albers_False_Northing - Albers_Delta_Northing))
545  { /* Northing out of range */
546  Error_Code |= ALBERS_NORTHING_ERROR;
547  }
548 
549  if (!Error_Code)
550  {
551  dy = Northing - Albers_False_Northing;
552  dx = Easting - Albers_False_Easting;
553  rho0_MINUS_dy = rho0 - dy;
554  rho = sqrt(dx * dx + rho0_MINUS_dy * rho0_MINUS_dy);
555 
556  if (n < 0)
557  {
558  rho *= -1.0;
559  dy *= -1.0;
560  dx *= -1.0;
561  rho0_MINUS_dy *= -1.0;
562  }
563 
564  if (rho != 0.0)
565  theta = atan2(dx, rho0_MINUS_dy);
566  rho_n = rho * n;
567  q = (C - (rho_n * rho_n) / (Albers_a * Albers_a)) / n;
568  qconst = 1 - ((one_MINUS_es2) / (two_es)) * log((1.0 - es) / (1.0 + es));
569  if (fabs(fabs(qconst) - fabs(q)) > 1.0e-6)
570  {
571  q_OVER_2 = q / 2.0;
572  if (q_OVER_2 > 1.0)
573  *Latitude = PI_OVER_2;
574  else if (q_OVER_2 < -1.0)
575  *Latitude = -PI_OVER_2;
576  else
577  {
578  PHI = asin(q_OVER_2);
579  if (es < 1.0e-10)
580  *Latitude = PHI;
581  else
582  {
583  while (fabs(Delta_PHI) > tolerance)
584  {
585  sin_phi = sin(PHI);
586  es_sin = ES_SIN(sin_phi);
587  one_MINUS_SQRes_sin = ONE_MINUS_SQR(es_sin);
588  Delta_PHI = (one_MINUS_SQRes_sin * one_MINUS_SQRes_sin) / (2.0 * cos(PHI)) *
589  (q / (one_MINUS_es2) - sin_phi / one_MINUS_SQRes_sin +
590  (log((1.0 - es_sin) / (1.0 + es_sin)) / (two_es)));
591  PHI += Delta_PHI;
592  }
593  *Latitude = PHI;
594  }
595 
596  if (*Latitude > PI_OVER_2) /* force distorted values to 90, -90 degrees */
597  *Latitude = PI_OVER_2;
598  else if (*Latitude < -PI_OVER_2)
599  *Latitude = -PI_OVER_2;
600 
601  }
602  }
603  else
604  {
605  if (q >= 0.0)
606  *Latitude = PI_OVER_2;
607  else
608  *Latitude = -PI_OVER_2;
609  }
610  *Longitude = Albers_Origin_Long + theta / n;
611 
612  if (*Longitude > M_PI)
613  *Longitude -= TWO_PI;
614  if (*Longitude < -M_PI)
615  *Longitude += TWO_PI;
616 
617  if (*Longitude > M_PI) /* force distorted values to 180, -180 degrees */
618  *Longitude = M_PI;
619  else if (*Longitude < -M_PI)
620  *Longitude = -M_PI;
621 
622  }
623  return (Error_Code);
624 } /* END OF Convert_Albers_To_Geodetic */
#define ES_SIN(sinlat)
#define ALBERS_NORTHING_ERROR
#define ALBERS_NO_ERROR
#define ONE_MINUS_SQR(x)
#define ALBERS_EASTING_ERROR
#define M_PI
#define PI_OVER_2
#define TWO_PI

◆ Convert_Geodetic_To_Albers()

long ossimAlbersProjection::Convert_Geodetic_To_Albers ( double  Latitude,
double  Longitude,
double *  Easting,
double *  Northing 
) const
protected

The function Convert_Geodetic_To_Albers converts geodetic (latitude and longitude) coordinates to Albers projection (easting and northing) coordinates, according to the current ellipsoid and Albers projection parameters. If any errors occur, the error code(s) are returned by the function, otherwise ALBERS_NO_ERROR is returned.

Latitude : Latitude (phi) in radians (input) Longitude : Longitude (lambda) in radians (input) Easting : Easting (X) in meters (output) Northing : Northing (Y) in meters (output)

Definition at line 438 of file ossimAlbersProjection.cpp.

References Albers_a_OVER_n, Albers_False_Easting, Albers_False_Northing, ALBERS_LAT_ERROR, ALBERS_LON_ERROR, ALBERS_NO_ERROR, Albers_Origin_Long, ALBERS_Q, C, ES_SIN, M_PI, n, ONE_MINUS_SQR, PI_OVER_2, rho0, and TWO_PI.

Referenced by forward().

443 { /* BEGIN Convert_Geodetic_To_Albers */
444 /*
445  * The function Convert_Geodetic_To_Albers converts geodetic (latitude and
446  * longitude) coordinates to Albers projection (easting and northing)
447  * coordinates, according to the current ellipsoid and Albers projection
448  * parameters. If any errors occur, the error code(s) are returned by the
449  * function, otherwise ALBERS_NO_ERROR is returned.
450  *
451  * Latitude : Latitude (phi) in radians (input)
452  * Longitude : Longitude (lambda) in radians (input)
453  * Easting : Easting (X) in meters (output)
454  * Northing : Northing (Y) in meters (output)
455  */
456 
457  double dlam; /* Longitude - Central Meridan */
458  double sin_lat;
459  // double cos_lat;
460  double es_sin, one_MINUS_SQRes_sin;
461  double q;
462  double rho;
463  double theta;
464  double nq;
465  long Error_Code = ALBERS_NO_ERROR;
466 
467  if ((Latitude < -PI_OVER_2) || (Latitude > PI_OVER_2))
468  { /* Latitude out of range */
469  Error_Code |= ALBERS_LAT_ERROR;
470  }
471  if ((Longitude < -M_PI) || (Longitude > TWO_PI))
472  { /* Longitude out of range */
473  Error_Code|= ALBERS_LON_ERROR;
474  }
475 
476  if (!Error_Code)
477  { /* no errors */
478 
479  dlam = Longitude - Albers_Origin_Long;
480  if (dlam > M_PI)
481  {
482  dlam -= TWO_PI;
483  }
484  if (dlam < -M_PI)
485  {
486  dlam += TWO_PI;
487  }
488  sin_lat = sin(Latitude);
489  // cos_lat = cos(Latitude);
490  es_sin = ES_SIN(sin_lat);
491  one_MINUS_SQRes_sin = ONE_MINUS_SQR(es_sin);
492  q = ALBERS_Q(sin_lat, one_MINUS_SQRes_sin, es_sin);
493  nq = n * q;
494  if (C < nq)
495  rho = 0;
496  else
497  rho = Albers_a_OVER_n * sqrt(C - nq);
498 
499 
500  theta = n * dlam;
501  *Easting = rho * sin(theta) + Albers_False_Easting;
502  *Northing = rho0 - rho * cos(theta) + Albers_False_Northing;
503  }
504  return (Error_Code);
505 } /* END OF Convert_Geodetic_To_Albers */
#define ES_SIN(sinlat)
#define ALBERS_NO_ERROR
#define ALBERS_LAT_ERROR
#define ONE_MINUS_SQR(x)
#define M_PI
#define PI_OVER_2
#define ALBERS_LON_ERROR
#define TWO_PI
#define ALBERS_Q(slat, oneminussqressin, essin)

◆ dup()

ossimObject * ossimAlbersProjection::dup ( ) const
virtual

Implements ossimProjection.

Definition at line 75 of file ossimAlbersProjection.cpp.

References ossimAlbersProjection().

76 {
77  return new ossimAlbersProjection(*this);
78 }
ossimAlbersProjection(const ossimEllipsoid &ellipsoid=ossimEllipsoid(), const ossimGpt &origin=ossimGpt())

◆ forward()

ossimDpt ossimAlbersProjection::forward ( const ossimGpt worldPoint) const
virtual

All map projections will convert the world coordinate to an easting northing (Meters).

Implements ossimMapProjection.

Definition at line 115 of file ossimAlbersProjection.cpp.

References ossimGpt::changeDatum(), ossimDatum::code(), Convert_Geodetic_To_Albers(), ossimGpt::datum(), ossimGpt::latr(), ossimGpt::lonr(), and ossimMapProjection::theDatum.

116 {
117  double easting = 0.0;
118  double northing = 0.0;
119  ossimGpt gpt = latLon;
120 
121  if (theDatum)
122  {
123  if (theDatum->code() != latLon.datum()->code())
124  {
125  gpt.changeDatum(theDatum); // Shift to our datum.
126  }
127  }
128 
129 
131  gpt.lonr(),
132  &easting,
133  &northing);
134 
135  return ossimDpt(easting, northing);
136 }
long Convert_Geodetic_To_Albers(double Latitude, double Longitude, double *Easting, double *Northing) const
virtual const ossimString & code() const
Definition: ossimDatum.h:57
void changeDatum(const ossimDatum *datum)
This will actually perform a shift.
Definition: ossimGpt.cpp:316
double lonr() const
Returns the longitude in radian measure.
Definition: ossimGpt.h:76
double latr() const
latr().
Definition: ossimGpt.h:66
const ossimDatum * theDatum
This is only set if we want to have built in datum shifting.

◆ Get_Albers_Parameters()

void ossimAlbersProjection::Get_Albers_Parameters ( double *  a,
double *  f,
double *  Origin_Latitude,
double *  Central_Meridian,
double *  Std_Parallel_1,
double *  Std_Parallel_2,
double *  False_Easting,
double *  False_Northing 
) const
protected

The function Get_Albers_Parameters returns the current ellipsoid parameters, and Albers projection parameters.

a : Semi-major axis of ellipsoid, in meters (output) f : Flattening of ellipsoid (output) Origin_Latitude : Latitude in radians at which the (output) point scale factor is 1.0 Central_Meridian : Longitude in radians at the center of (output) the projection Std_Parallel_1 : First standard parallel (output) Std_Parallel_2 : Second standard parallel (output) False_Easting : A coordinate value in meters assigned to the central meridian of the projection. (output) False_Northing : A coordinate value in meters assigned to the origin latitude of the projection (output)

Definition at line 398 of file ossimAlbersProjection.cpp.

References Albers_a, Albers_f, Albers_False_Easting, Albers_False_Northing, Albers_Origin_Lat, Albers_Origin_Long, Albers_Std_Parallel_1, and Albers_Std_Parallel_2.

407 { /* BEGIN Get_Albers_Parameters */
408 /*
409  * The function Get_Albers_Parameters returns the current ellipsoid
410  * parameters, and Albers projection parameters.
411  *
412  * a : Semi-major axis of ellipsoid, in meters (output)
413  * f : Flattening of ellipsoid (output)
414  * Origin_Latitude : Latitude in radians at which the (output)
415  * point scale factor is 1.0
416  * Origin_Longitude : Longitude in radians at the center of (output)
417  * the projection
418  * Std_Parallel_1 : First standard parallel (output)
419  * Std_Parallel_2 : Second standard parallel (output)
420  * False_Easting : A coordinate value in meters assigned to the
421  * central meridian of the projection. (output)
422  * False_Northing : A coordinate value in meters assigned to the
423  * origin latitude of the projection (output)
424  */
425 
426  *a = Albers_a;
427  *f = Albers_f;
428  *Origin_Latitude = Albers_Origin_Lat;
429  *Std_Parallel_1 = Albers_Std_Parallel_1;
430  *Std_Parallel_2 = Albers_Std_Parallel_2;
431  *Central_Meridian = Albers_Origin_Long;
432  *False_Easting = Albers_False_Easting;
433  *False_Northing = Albers_False_Northing;
434  return;
435 } /* END OF Get_Albers_Parameters */

◆ getStandardParallel1()

double ossimAlbersProjection::getStandardParallel1 ( ) const
virtual
Returns
the first standard parallel in decimal degrees.

Reimplemented from ossimMapProjection.

Definition at line 191 of file ossimAlbersProjection.cpp.

References Albers_Std_Parallel_1, and RAD_PER_DEG.

192 {
194 }
#define RAD_PER_DEG

◆ getStandardParallel2()

double ossimAlbersProjection::getStandardParallel2 ( ) const
virtual
Returns
the second standard parallel in decimal degrees.

Reimplemented from ossimMapProjection.

Definition at line 196 of file ossimAlbersProjection.cpp.

References Albers_Std_Parallel_2, and RAD_PER_DEG.

197 {
199 }
#define RAD_PER_DEG

◆ inverse()

ossimGpt ossimAlbersProjection::inverse ( const ossimDpt projectedPoint) const
virtual

Will take a point in meters and convert it to ground.

Implements ossimMapProjection.

Definition at line 102 of file ossimAlbersProjection.cpp.

References Convert_Albers_To_Geodetic(), DEG_PER_RAD, ossimMapProjection::theDatum, ossimDpt::x, and ossimDpt::y.

103 {
104  double lat, lon;
105 
106 
107  Convert_Albers_To_Geodetic(eastingNorthing.x,
108  eastingNorthing.y,
109  &lat,
110  &lon);
111 
112  return ossimGpt(lat*DEG_PER_RAD, lon*DEG_PER_RAD, 0, theDatum);
113 }
long Convert_Albers_To_Geodetic(double Easting, double Northing, double *Latitude, double *Longitude) const
#define DEG_PER_RAD
const ossimDatum * theDatum
This is only set if we want to have built in datum shifting.

◆ loadState()

bool ossimAlbersProjection::loadState ( const ossimKeywordlist kwl,
const char *  prefix = 0 
)
virtual

Method to the load (recreate) the state of an object from a keyword list. Return true if ok or false on error.

Reimplemented from ossimMapProjection.

Definition at line 225 of file ossimAlbersProjection.cpp.

References Albers_False_Easting, Albers_False_Northing, Albers_Std_Parallel_1, Albers_Std_Parallel_2, ossimKeywordlist::find(), ossimMapProjection::loadState(), RAD_PER_DEG, STATIC_TYPE_NAME, ossimKeywordNames::STD_PARALLEL_1_KW, ossimKeywordNames::STD_PARALLEL_2_KW, ossimMapProjection::theFalseEastingNorthing, ossimString::toDouble(), ossimKeywordNames::TYPE_KW, update(), ossimDpt::x, and ossimDpt::y.

226 {
227  // Must do this first...
228  bool flag = ossimMapProjection::loadState(kwl, prefix);
229 
230  const char* type = kwl.find(prefix, ossimKeywordNames::TYPE_KW);
231 
232  const char* stdParallel1 = kwl.find(prefix, ossimKeywordNames::STD_PARALLEL_1_KW);
233  const char* stdParallel2 = kwl.find(prefix, ossimKeywordNames::STD_PARALLEL_2_KW);
234 
235 
237  {
240 
241  if(stdParallel1)
242  {
244  }
245  else
246  {
248  }
249  if(stdParallel2)
250  {
252  }
253  else
254  {
256  }
257  }
258 
259  update();
260 
261  return flag;
262 }
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
Method to the load (recreate) the state of an object from a keyword list.
const char * find(const char *key) const
double y
Definition: ossimDpt.h:165
static const char * TYPE_KW
#define STATIC_TYPE_NAME(T)
Definition: ossimRtti.h:325
Albers Equal Area Conic Projection.
double toDouble() const
static const char * STD_PARALLEL_1_KW
double x
Definition: ossimDpt.h:164
ossimDpt theFalseEastingNorthing
Hold the false easting northing.
static const char * STD_PARALLEL_2_KW
#define RAD_PER_DEG

◆ operator==()

bool ossimAlbersProjection::operator== ( const ossimProjection projection) const
virtual

Returns TRUE if principal parameters are within epsilon tolerance.

Reimplemented from ossimMapProjection.

Definition at line 629 of file ossimAlbersProjection.cpp.

References Albers_Delta_Easting, Albers_Delta_Northing, Albers_Std_Parallel_1, Albers_Std_Parallel_2, and ossim::almostEqual().

630 {
631  if (!ossimMapProjection::operator==(proj)) return false;
632 
633  const ossimAlbersProjection* p = dynamic_cast<const ossimAlbersProjection*>(&proj);
634  if (!p) return false;
635 
640 
641  return true;
642 }
bool almostEqual(T x, T y, T tolerance=FLT_EPSILON)
Definition: ossimCommon.h:53
Albers Equal Area Conic Projection.

◆ saveState()

bool ossimAlbersProjection::saveState ( ossimKeywordlist kwl,
const char *  prefix = 0 
) const
virtual

Method to save the state of an object to a keyword list. Return true if ok or false on error.

Reimplemented from ossimMapProjection.

Definition at line 210 of file ossimAlbersProjection.cpp.

References ossimKeywordlist::add(), Albers_Std_Parallel_1, Albers_Std_Parallel_2, DEG_PER_RAD, ossimMapProjection::saveState(), ossimKeywordNames::STD_PARALLEL_1_KW, and ossimKeywordNames::STD_PARALLEL_2_KW.

211 {
212  kwl.add(prefix,
215  true);
216 
217  kwl.add(prefix,
220  true);
221 
222  return ossimMapProjection::saveState(kwl, prefix);
223 }
#define DEG_PER_RAD
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Method to save the state of an object to a keyword list.
static const char * STD_PARALLEL_1_KW
static const char * STD_PARALLEL_2_KW

◆ Set_Albers_Parameters()

long ossimAlbersProjection::Set_Albers_Parameters ( double  a,
double  f,
double  Origin_Latitude,
double  Central_Meridian,
double  Std_Parallel_1,
double  Std_Parallel_2,
double  False_Easting,
double  False_Northing 
)
protected

The function Set_Albers_Parameters receives the ellipsoid parameters and projection parameters as inputs, and sets the corresponding state variables. If any errors occur, the error code(s) are returned by the function, otherwise ALBERS_NO_ERROR is returned.

a : Semi-major axis of ellipsoid, in meters (input) f : Flattening of ellipsoid (input) Origin_Latitude : Latitude in radians at which the (input) point scale factor is 1.0 Central_Meridian : Longitude in radians at the center of (input) the projection (central meridian) Std_Parallel_1 : First standard parallel (input) Std_Parallel_2 : Second standard parallel (input) False_Easting : A coordinate value in meters assigned to the central meridian of the projection. (input) False_Northing : A coordinate value in meters assigned to the origin latitude of the projection (input)

Definition at line 269 of file ossimAlbersProjection.cpp.

References Albers_a, ALBERS_A_ERROR, Albers_a_OVER_n, ALBERS_CENT_MER_ERROR, Albers_f, Albers_False_Easting, Albers_False_Northing, ALBERS_FIRST_SECOND_ERROR, ALBERS_FIRST_STDP_ERROR, ALBERS_HEMISPHERE_ERROR, ALBERS_INV_F_ERROR, ALBERS_M, ALBERS_NO_ERROR, Albers_Origin_Lat, ALBERS_ORIGIN_LAT_ERROR, Albers_Origin_Long, ALBERS_Q, ALBERS_SECOND_STDP_ERROR, Albers_Std_Parallel_1, Albers_Std_Parallel_2, C, es, es2, ES_SIN, M_PI, n, one_MINUS_es2, ONE_MINUS_SQR, PI_OVER_2, rho0, two_es, and TWO_PI.

Referenced by update().

278 {
279 /*
280  * The function Set_Albers_Parameters receives the ellipsoid parameters and
281  * projection parameters as inputs, and sets the corresponding state
282  * variables. If any errors occur, the error code(s) are returned by the function,
283  * otherwise ALBERS_NO_ERROR is returned.
284  *
285  * a : Semi-major axis of ellipsoid, in meters (input)
286  * f : Flattening of ellipsoid (input)
287  * Origin_Latitude : Latitude in radians at which the (input)
288  * point scale factor is 1.0
289  * Central_Meridian : Longitude in radians at the center of (input)
290  * the projection
291  * Std_Parallel_1 : First standard parallel (input)
292  * Std_Parallel_2 : Second standard parallel (input)
293  * False_Easting : A coordinate value in meters assigned to the
294  * central meridian of the projection. (input)
295  * False_Northing : A coordinate value in meters assigned to the
296  * origin latitude of the projection (input)
297  */
298 
299  double sin_lat, sin_lat_1, cos_lat;
300  double m1, m2, SQRm1;
301  double q0, q1, q2;
302  double es_sin, one_MINUS_SQRes_sin;
303  double nq0;
304  double inv_f = 1 / f;
305  long Error_Code = ALBERS_NO_ERROR;
306 
307  if (a <= 0.0)
308  { /* Semi-major axis must be greater than zero */
309  Error_Code |= ALBERS_A_ERROR;
310  }
311  if ((inv_f < 250) || (inv_f > 350))
312  { /* Inverse flattening must be between 250 and 350 */
313  Error_Code |= ALBERS_INV_F_ERROR;
314  }
315  if ((Origin_Latitude < -PI_OVER_2) || (Origin_Latitude > PI_OVER_2))
316  { /* origin latitude out of range */
317  Error_Code |= ALBERS_ORIGIN_LAT_ERROR;
318  }
319  if ((Central_Meridian < -M_PI) || (Central_Meridian > TWO_PI))
320  { /* origin longitude out of range */
321  Error_Code |= ALBERS_CENT_MER_ERROR;
322  }
323  if ((Std_Parallel_1 < -PI_OVER_2) || (Std_Parallel_1 > PI_OVER_2))
324  { /* First Standard Parallel out of range */
325  Error_Code |= ALBERS_FIRST_STDP_ERROR;
326  }
327  if ((Std_Parallel_2 < -PI_OVER_2) || (Std_Parallel_2 > PI_OVER_2))
328  { /* Second Standard Parallel out of range */
329  Error_Code |= ALBERS_SECOND_STDP_ERROR;
330  }
331  if ((Std_Parallel_1 == 0.0) && (Std_Parallel_2 == 0.0))
332  { /* First & Second Standard Parallels equal 0 */
333  Error_Code |= ALBERS_FIRST_SECOND_ERROR;
334  }
335  if (Std_Parallel_1 == -Std_Parallel_2)
336  { /* Parallels are opposite latitudes */
337  Error_Code |= ALBERS_HEMISPHERE_ERROR;
338  }
339 
340  if (!Error_Code)
341  { /* no errors */
342  Albers_a = a;
343  Albers_f = f;
344  Albers_Origin_Lat = Origin_Latitude;
345  Albers_Std_Parallel_1 = Std_Parallel_1;
346  Albers_Std_Parallel_2 = Std_Parallel_2;
347  if (Central_Meridian > M_PI)
348  Central_Meridian -= TWO_PI;
349  Albers_Origin_Long = Central_Meridian;
350  Albers_False_Easting = False_Easting;
351  Albers_False_Northing = False_Northing;
352 
353  es2 = 2 * Albers_f - Albers_f * Albers_f;
354  es = sqrt(es2);
355  one_MINUS_es2 = 1 - es2;
356  two_es = 2 * es;
357 
358  sin_lat = sin(Albers_Origin_Lat);
359  es_sin = ES_SIN(sin_lat);
360  one_MINUS_SQRes_sin = ONE_MINUS_SQR(es_sin);
361  q0 = ALBERS_Q(sin_lat, one_MINUS_SQRes_sin, es_sin);
362 
363  sin_lat_1 = sin(Albers_Std_Parallel_1);
364  cos_lat = cos(Albers_Std_Parallel_1);
365  es_sin = ES_SIN(sin_lat_1);
366  one_MINUS_SQRes_sin = ONE_MINUS_SQR(es_sin);
367  m1 = ALBERS_M(cos_lat, one_MINUS_SQRes_sin);
368  q1 = ALBERS_Q(sin_lat_1, one_MINUS_SQRes_sin, es_sin);
369 
370  SQRm1 = m1 * m1;
371  if (fabs(Albers_Std_Parallel_1 - Albers_Std_Parallel_2) > 1.0e-10)
372  {
373  sin_lat = sin(Albers_Std_Parallel_2);
374  cos_lat = cos(Albers_Std_Parallel_2);
375  es_sin = ES_SIN(sin_lat);
376  one_MINUS_SQRes_sin = ONE_MINUS_SQR(es_sin);
377  m2 = ALBERS_M(cos_lat, one_MINUS_SQRes_sin);
378  q2 = ALBERS_Q(sin_lat, one_MINUS_SQRes_sin, es_sin);
379  n = (SQRm1 - m2 * m2) / (q2 - q1);
380  }
381  else
382  n = sin_lat_1;
383 
384  C = SQRm1 + n * q1;
386  nq0 = n * q0;
387  if (C < nq0)
388  rho0 = 0;
389  else
390  rho0 = Albers_a_OVER_n * sqrt(C - nq0);
391 
392 
393  } /* END OF if(!Error_Code) */
394  return (Error_Code);
395 } /* END OF Set_Albers_Parameters */
#define ES_SIN(sinlat)
#define ALBERS_M(clat, oneminussqressin)
#define ALBERS_INV_F_ERROR
#define ALBERS_NO_ERROR
#define ALBERS_A_ERROR
#define ONE_MINUS_SQR(x)
#define ALBERS_FIRST_STDP_ERROR
#define ALBERS_HEMISPHERE_ERROR
#define ALBERS_ORIGIN_LAT_ERROR
#define M_PI
#define PI_OVER_2
#define ALBERS_CENT_MER_ERROR
#define TWO_PI
#define ALBERS_FIRST_SECOND_ERROR
#define ALBERS_SECOND_STDP_ERROR
#define ALBERS_Q(slat, oneminussqressin, essin)

◆ setDefaults()

void ossimAlbersProjection::setDefaults ( )

Definition at line 201 of file ossimAlbersProjection.cpp.

References Albers_False_Easting, Albers_False_Northing, Albers_Std_Parallel_1, Albers_Std_Parallel_2, and RAD_PER_DEG.

Referenced by ossimAlbersProjection().

202 {
203  // initialize to some default
206  Albers_False_Easting = 0.0;
207  Albers_False_Northing = 0.0;
208 }
#define RAD_PER_DEG

◆ setFalseEasting()

void ossimAlbersProjection::setFalseEasting ( double  falseEasting)

SetFalseEasting. The value is in meters. Update is then called so we can pre-compute paramters

Definition at line 159 of file ossimAlbersProjection.cpp.

References Albers_False_Easting, and update().

160 {
161  Albers_False_Easting = falseEasting;
162  update();
163 }

◆ setFalseEastingNorthing()

void ossimAlbersProjection::setFalseEastingNorthing ( double  falseEasting,
double  falseNorthing 
)

Sets both false easting and northing values. The values are expected to be in meters. Update is then called so we can pre-compute paramters

Definition at line 171 of file ossimAlbersProjection.cpp.

References Albers_False_Easting, Albers_False_Northing, and update().

173 {
174  Albers_False_Easting = falseEasting;
175  Albers_False_Northing = falseNorthing;
176  update();
177 }

◆ setFalseNorthing()

void ossimAlbersProjection::setFalseNorthing ( double  falseNorthing)

SetFalseNorthing. The value is in meters. Update is then called so we can pre-compute paramters

Definition at line 165 of file ossimAlbersProjection.cpp.

References Albers_False_Northing, and update().

166 {
167  Albers_False_Northing = falseNorthing;
168  update();
169 }

◆ setParameters()

void ossimAlbersProjection::setParameters ( double  parallel1,
double  parallel2,
double  falseEasting,
double  falseNorthing 
)

Allows one to set all parameters for this projections. parallels are in degrees and easting northings are in meters. Update is then called so we can pre-compute paramters.

Definition at line 179 of file ossimAlbersProjection.cpp.

References Albers_False_Easting, Albers_False_Northing, Albers_Std_Parallel_1, Albers_Std_Parallel_2, RAD_PER_DEG, and update().

183 {
184  Albers_False_Easting = falseEasting;
185  Albers_False_Northing = falseNorthing;
188  update();
189 }
#define RAD_PER_DEG

◆ setStandardParallel1()

void ossimAlbersProjection::setStandardParallel1 ( double  degree)

The passed in Argument is in degrees and will convert it to radians for Geotrans. Update is then called so we can pre-compute paramters.

Definition at line 138 of file ossimAlbersProjection.cpp.

References Albers_Std_Parallel_1, RAD_PER_DEG, and update().

139 {
141  update();
142 }
#define RAD_PER_DEG

◆ setStandardParallel2()

void ossimAlbersProjection::setStandardParallel2 ( double  degree)

The passed in Argument is in degrees and will convert it to radians for Geotrans. Update is then called so we can pre-compute paramters

Definition at line 144 of file ossimAlbersProjection.cpp.

References Albers_Std_Parallel_2, RAD_PER_DEG, and update().

145 {
147  update();
148 }
#define RAD_PER_DEG

◆ setStandardParallels()

void ossimAlbersProjection::setStandardParallels ( double  parallel1Degree,
double  prallel2Degree 
)

Will allow you to set both parallels. both are passed in degrees.

Definition at line 150 of file ossimAlbersProjection.cpp.

References Albers_Std_Parallel_1, Albers_Std_Parallel_2, RAD_PER_DEG, and update().

152 {
153  Albers_Std_Parallel_1 = parallel1Degree*RAD_PER_DEG;
154  Albers_Std_Parallel_2 = parallel2Degree*RAD_PER_DEG;
155  update();
156 
157 }
#define RAD_PER_DEG

◆ update()

void ossimAlbersProjection::update ( )
virtual

Reimplemented from ossimMapProjection.

Definition at line 84 of file ossimAlbersProjection.cpp.

References Albers_False_Easting, Albers_False_Northing, Albers_Std_Parallel_1, Albers_Std_Parallel_2, ossimEllipsoid::getA(), ossimEllipsoid::getFlattening(), ossimGpt::latr(), ossimGpt::lonr(), Set_Albers_Parameters(), ossimMapProjection::theEllipsoid, ossimMapProjection::theFalseEastingNorthing, ossimMapProjection::theOrigin, ossimMapProjection::update(), ossimDpt::x, and ossimDpt::y.

Referenced by loadState(), ossimAlbersProjection(), setFalseEasting(), setFalseEastingNorthing(), setFalseNorthing(), setParameters(), setStandardParallel1(), setStandardParallel2(), and setStandardParallels().

85 {
88  theOrigin.latr(),
89  theOrigin.lonr(),
94 
97 
99 }
double y
Definition: ossimDpt.h:165
const double & getA() const
double lonr() const
Returns the longitude in radian measure.
Definition: ossimGpt.h:76
long Set_Albers_Parameters(double a, double f, double Origin_Latitude, double Central_Meridian, double Std_Parallel_1, double Std_Parallel_2, double False_Easting, double False_Northing)
double x
Definition: ossimDpt.h:164
double latr() const
latr().
Definition: ossimGpt.h:66
const double & getFlattening() const
ossimEllipsoid theEllipsoid
This method verifies that the projection parameters match the current pcs code.
ossimDpt theFalseEastingNorthing
Hold the false easting northing.

Member Data Documentation

◆ Albers_a

double ossimAlbersProjection::Albers_a
mutableprotected

◆ Albers_a_OVER_n

double ossimAlbersProjection::Albers_a_OVER_n
mutableprotected

Definition at line 137 of file ossimAlbersProjection.h.

Referenced by Convert_Geodetic_To_Albers(), and Set_Albers_Parameters().

◆ Albers_Delta_Easting

double ossimAlbersProjection::Albers_Delta_Easting
mutableprotected

◆ Albers_Delta_Northing

double ossimAlbersProjection::Albers_Delta_Northing
mutableprotected

◆ Albers_f

double ossimAlbersProjection::Albers_f
mutableprotected

Definition at line 131 of file ossimAlbersProjection.h.

Referenced by Get_Albers_Parameters(), and Set_Albers_Parameters().

◆ Albers_False_Easting

double ossimAlbersProjection::Albers_False_Easting
mutableprotected

◆ Albers_False_Northing

double ossimAlbersProjection::Albers_False_Northing
mutableprotected

◆ Albers_Origin_Lat

double ossimAlbersProjection::Albers_Origin_Lat
mutableprotected

Definition at line 142 of file ossimAlbersProjection.h.

Referenced by Get_Albers_Parameters(), and Set_Albers_Parameters().

◆ Albers_Origin_Long

double ossimAlbersProjection::Albers_Origin_Long
mutableprotected

◆ Albers_Std_Parallel_1

double ossimAlbersProjection::Albers_Std_Parallel_1
mutableprotected

◆ Albers_Std_Parallel_2

double ossimAlbersProjection::Albers_Std_Parallel_2
mutableprotected

◆ C

double ossimAlbersProjection::C
mutableprotected

◆ es

double ossimAlbersProjection::es
mutableprotected

Definition at line 132 of file ossimAlbersProjection.h.

Referenced by Convert_Albers_To_Geodetic(), and Set_Albers_Parameters().

◆ es2

double ossimAlbersProjection::es2
mutableprotected

Definition at line 133 of file ossimAlbersProjection.h.

Referenced by Set_Albers_Parameters().

◆ n

double ossimAlbersProjection::n
mutableprotected

◆ one_MINUS_es2

double ossimAlbersProjection::one_MINUS_es2
mutableprotected

Definition at line 138 of file ossimAlbersProjection.h.

Referenced by Convert_Albers_To_Geodetic(), and Set_Albers_Parameters().

◆ rho0

double ossimAlbersProjection::rho0
mutableprotected

◆ two_es

double ossimAlbersProjection::two_es
mutableprotected

Definition at line 139 of file ossimAlbersProjection.h.

Referenced by Convert_Albers_To_Geodetic(), and Set_Albers_Parameters().


The documentation for this class was generated from the following files: