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

#include <ossimDatum.h>

Inheritance diagram for ossimDatum:
ossimObject ossimReferenced ossimSevenParamDatum ossimThreeParamDatum ossimNadconGridDatum ossimWgs72Datum ossimWgs84Datum ossimNadconNarDatum ossimNadconNasDatum

Public Member Functions

 ossimDatum (const ossimString &alpha_code, const ossimString &name, const ossimEllipsoid *anEllipsoid, ossim_float64 sigmaX, ossim_float64 sigmaY, ossim_float64 sigmaZ, ossim_float64 westLongitude, ossim_float64 eastLongitude, ossim_float64 southLatitude, ossim_float64 northLatitude)
 
virtual ossimGpt shift (const ossimGpt &aPt) const =0
 
virtual ossimGpt shiftToWgs84 (const ossimGpt &aPt) const =0
 
virtual ossimGpt shiftFromWgs84 (const ossimGpt &aPt) const =0
 
virtual bool isTheSameAs (const ossimDatum *aDatum) const
 
virtual const ossimStringcode () const
 
virtual const ossimStringname () const
 
virtual ossim_uint32 epsgCode () const
 
virtual const ossimEllipsoidellipsoid () const
 
virtual ossim_float64 sigmaX () const
 
virtual ossim_float64 sigmaY () const
 
virtual ossim_float64 sigmaZ () const
 
virtual ossim_float64 westLongitude () const
 
virtual ossim_float64 eastLongitude () const
 
virtual ossim_float64 southLatitude () const
 
virtual ossim_float64 northLatitude () const
 
virtual ossim_float64 param1 () const =0
 
virtual ossim_float64 param2 () const =0
 
virtual ossim_float64 param3 () const =0
 
virtual ossim_float64 param4 () const =0
 
virtual ossim_float64 param5 () const =0
 
virtual ossim_float64 param6 () const =0
 
virtual ossim_float64 param7 () const =0
 
virtual bool isInside (ossim_float64 latitude, ossim_float64 longitude) const
 
bool operator== (const ossimDatum &rhs) const
 
bool operator!= (const ossimDatum &rhs) const
 
virtual bool isEqualTo (const ossimObject &obj, ossimCompareType compareType=OSSIM_COMPARE_FULL) const
 
- Public Member Functions inherited from ossimObject
 ossimObject ()
 
virtual ~ossimObject ()
 
virtual ossimObjectdup () const
 
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 bool saveState (ossimKeywordlist &kwl, const char *prefix=0) const
 
virtual bool loadState (const ossimKeywordlist &kwl, const char *prefix=0)
 
virtual std::ostream & print (std::ostream &out) const
 Generic print method. More...
 
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
 

Protected Member Functions

virtual ~ossimDatum ()
 Only friend ossimDatumFactory is permitted to delete. More...
 
virtual void molodenskyShift (double a, double da, double f, double df, double dx, double dy, double dz, double Lat_in, double Lon_in, double Hgt_in, double &Lat_out, double &Lon_out, double &Hgt_out) const
 
bool withinMolodenskyRange (const ossimGpt &pt) const
 
- Protected Member Functions inherited from ossimReferenced
virtual ~ossimReferenced ()
 

Protected Attributes

ossimString theCode
 
ossim_uint32 theEpsgCode
 
ossimString theName
 
const ossimEllipsoidtheEllipsoid
 
ossim_float64 theSigmaX
 
ossim_float64 theSigmaY
 
ossim_float64 theSigmaZ
 
ossim_float64 theWestLongitude
 
ossim_float64 theEastLongitude
 
ossim_float64 theSouthLatitude
 
ossim_float64 theNorthLatitude
 
 TYPE_DATA
 

Friends

class ossimDatumFactory
 

Detailed Description

Definition at line 22 of file ossimDatum.h.

Constructor & Destructor Documentation

◆ ossimDatum()

ossimDatum::ossimDatum ( const ossimString alpha_code,
const ossimString name,
const ossimEllipsoid anEllipsoid,
ossim_float64  sigmaX,
ossim_float64  sigmaY,
ossim_float64  sigmaZ,
ossim_float64  westLongitude,
ossim_float64  eastLongitude,
ossim_float64  southLatitude,
ossim_float64  northLatitude 
)
Parameters
alpha_codenew OSSIM/Geotrans datum code. (input)
nameName of the new datum (input)
SigmaXStandard error in X in meters (input)
SigmaYStandard error in Y in meters (input)
SigmaZStandard error in Z in meters (input)
southLatitudeSouthern edge of validity rectangle in radians(input)
northLatitudeNorthern edge of validity rectangle in radians(input)
westLongitudeWestern edge of validity rectangle in radians (input)
eastLongitudeEastern edge of validity rectangle in radians (input)

Definition at line 18 of file ossimDatum.cpp.

References ossimEpsgDatumFactory::findEpsgCode(), ossimEpsgDatumFactory::instance(), and theEpsgCode.

23 :
24 theCode(alpha_code),
25 theName(name),
26 theEllipsoid(anEllipsoid),
34 {
36 };
ossim_float64 theWestLongitude
Definition: ossimDatum.h:142
const ossimEllipsoid * theEllipsoid
Definition: ossimDatum.h:136
virtual ossim_float64 sigmaY() const
Definition: ossimDatum.h:62
ossim_float64 theEastLongitude
Definition: ossimDatum.h:143
ossim_float64 theSouthLatitude
Definition: ossimDatum.h:144
ossim_float64 theSigmaX
Definition: ossimDatum.h:138
virtual const ossimString & name() const
Definition: ossimDatum.h:58
virtual ossim_float64 southLatitude() const
Definition: ossimDatum.h:67
virtual ossim_float64 northLatitude() const
Definition: ossimDatum.h:68
virtual ossim_float64 sigmaX() const
Definition: ossimDatum.h:61
virtual ossim_float64 westLongitude() const
Definition: ossimDatum.h:65
ossim_float64 theNorthLatitude
Definition: ossimDatum.h:145
static ossimEpsgDatumFactory * instance()
Singleton implementation.
ossim_float64 theSigmaY
Definition: ossimDatum.h:139
virtual ossim_float64 sigmaZ() const
Definition: ossimDatum.h:63
ossim_uint32 findEpsgCode(const ossimString &alpha_code) const
Specific to this factory only.
ossimString theName
Definition: ossimDatum.h:135
ossim_float64 theSigmaZ
Definition: ossimDatum.h:140
virtual ossim_float64 eastLongitude() const
Definition: ossimDatum.h:66
ossimString theCode
Definition: ossimDatum.h:133
ossim_uint32 theEpsgCode
Definition: ossimDatum.h:134

◆ ~ossimDatum()

virtual ossimDatum::~ossimDatum ( )
inlineprotectedvirtual

Only friend ossimDatumFactory is permitted to delete.

Definition at line 96 of file ossimDatum.h.

96 {};

Member Function Documentation

◆ code()

virtual const ossimString& ossimDatum::code ( ) const
inlinevirtual

Definition at line 57 of file ossimDatum.h.

Referenced by ossimDatumFactory::create(), ossimCadrgProjection::forward(), ossimUpsProjection::forward(), ossimNewZealandMapGridProjection::forward(), ossimBonneProjection::forward(), ossimCassiniProjection::forward(), ossimEckert6Projection::forward(), ossimGnomonicProjection::forward(), ossimPolarStereoProjection::forward(), ossimEckert4Projection::forward(), ossimTransMercatorProjection::forward(), ossimUtmProjection::forward(), ossimCylEquAreaProjection::forward(), ossimVanDerGrintenProjection::forward(), ossimMillerProjection::forward(), ossimMollweidProjection::forward(), ossimMercatorProjection::forward(), ossimPolyconicProjection::forward(), ossimStereographicProjection::forward(), ossimTransCylEquAreaProjection::forward(), ossimSinusoidalProjection::forward(), ossimOrthoGraphicProjection::forward(), ossimAzimEquDistProjection::forward(), ossimObliqueMercatorProjection::forward(), ossimEquDistCylProjection::forward(), ossimSpaceObliqueMercatorProjection::forward(), ossimLambertConformalConicProjection::forward(), ossimAlbersProjection::forward(), ossimEpsgProjectionDatabase::getCodeFromUtmProj(), ossimPdfWriter::getLgiDictDatum(), ossimPdfWriter::getLgiDictDescription(), ossimGpkgSpatialRefSysRecord::init(), ossimStatePlaneProjectionInfo::matchesProjection(), ossimStatePlaneProjectionInfo::populateProjectionKeywords(), ossimGpt::print(), ossimMapProjection::print(), ossimInfo::printDatums(), ossimCadrgProjection::saveState(), ossimApplanixUtmModel::saveState(), ossimQuadProjection::saveState(), ossimplugins::ossimSpot6DimapSupportData::saveState(), ossimplugins::ossimPleiadesDimapSupportData::saveState(), ossimSpotDimapSupportData::saveState(), ossimFormosatDimapSupportData::saveState(), ossimMapProjection::saveState(), ossimNadconNarDatum::shift(), ossimNadconNasDatum::shift(), ossimWgs84Datum::shift(), ossimThreeParamDatum::shift(), ossimGpt::toString(), ossimDatumFactory::writeCStructure(), and ossimGeoTiff::writeTags().

57 {return theCode;}
ossimString theCode
Definition: ossimDatum.h:133

◆ eastLongitude()

virtual ossim_float64 ossimDatum::eastLongitude ( ) const
inlinevirtual

Definition at line 66 of file ossimDatum.h.

Referenced by ossimDatumFactory::writeCStructure().

66 {return theEastLongitude;}
ossim_float64 theEastLongitude
Definition: ossimDatum.h:143

◆ ellipsoid()

virtual const ossimEllipsoid* ossimDatum::ellipsoid ( ) const
inlinevirtual

◆ epsgCode()

virtual ossim_uint32 ossimDatum::epsgCode ( ) const
inlinevirtual

◆ isEqualTo()

bool ossimDatum::isEqualTo ( const ossimObject obj,
ossimCompareType  compareType = OSSIM_COMPARE_FULL 
) const
virtual

Reimplemented from ossimObject.

Reimplemented in ossimSevenParamDatum, and ossimThreeParamDatum.

Definition at line 179 of file ossimDatum.cpp.

References ossim::almostEqual(), ossimObject::isEqualTo(), ossimEllipsoid::isEqualTo(), OSSIM_COMPARE_FULL, theCode, theEastLongitude, theEllipsoid, theEpsgCode, theName, theNorthLatitude, theSigmaX, theSigmaY, theSigmaZ, theSouthLatitude, and theWestLongitude.

Referenced by ossimThreeParamDatum::isEqualTo(), ossimSevenParamDatum::isEqualTo(), ossimGpt::isEqualTo(), and ossimMapProjection::isEqualTo().

180 {
181  const ossimDatum* rhs = dynamic_cast<const ossimDatum*> (&obj);
182  bool result = rhs&&ossimObject::isEqualTo(obj, compareType);
183  if(result)
184  {
185  result = ((theCode == rhs->theCode)&&
186  (theEpsgCode == rhs->theEpsgCode)&&
187  (theName == rhs->theName)&&
195 
196  if(result)
197  {
198  if(theEllipsoid&&rhs->theEllipsoid)
199  {
200  if(compareType == OSSIM_COMPARE_FULL)
201  {
202  result = theEllipsoid->isEqualTo(*rhs->theEllipsoid, compareType);
203  }
204  else
205  {
206  result = theEllipsoid == rhs->theEllipsoid;
207  }
208  }
209  else if(reinterpret_cast<ossim_uint64>(theEllipsoid) | reinterpret_cast<ossim_uint64>(rhs->theEllipsoid)) // one is null
210  {
211  result = false;
212  }
213  }
214  }
215  return result;
216 }
ossim_float64 theWestLongitude
Definition: ossimDatum.h:142
virtual bool isEqualTo(const ossimObject &obj, ossimCompareType compareType=OSSIM_COMPARE_FULL) const
const ossimEllipsoid * theEllipsoid
Definition: ossimDatum.h:136
ossim_float64 theEastLongitude
Definition: ossimDatum.h:143
ossim_float64 theSouthLatitude
Definition: ossimDatum.h:144
bool almostEqual(T x, T y, T tolerance=FLT_EPSILON)
Definition: ossimCommon.h:53
ossim_float64 theSigmaX
Definition: ossimDatum.h:138
virtual bool isEqualTo(const ossimEllipsoid &rhs, ossimCompareType compareType=OSSIM_COMPARE_FULL) const
ossim_float64 theNorthLatitude
Definition: ossimDatum.h:145
ossim_float64 theSigmaY
Definition: ossimDatum.h:139
ossimString theName
Definition: ossimDatum.h:135
ossim_float64 theSigmaZ
Definition: ossimDatum.h:140
ossimString theCode
Definition: ossimDatum.h:133
ossim_uint32 theEpsgCode
Definition: ossimDatum.h:134

◆ isInside()

virtual bool ossimDatum::isInside ( ossim_float64  latitude,
ossim_float64  longitude 
) const
inlinevirtual

Definition at line 78 of file ossimDatum.h.

79  {
80  return ((theSouthLatitude <= latitude) &&
81  (latitude <= theNorthLatitude) &&
82  (theWestLongitude <= longitude) &&
83  (longitude <= theEastLongitude));
84  }
ossim_float64 theWestLongitude
Definition: ossimDatum.h:142
ossim_float64 theEastLongitude
Definition: ossimDatum.h:143
ossim_float64 theSouthLatitude
Definition: ossimDatum.h:144
ossim_float64 theNorthLatitude
Definition: ossimDatum.h:145

◆ isTheSameAs()

virtual bool ossimDatum::isTheSameAs ( const ossimDatum aDatum) const
inlinevirtual

Definition at line 55 of file ossimDatum.h.

56  {return this == aDatum;}

◆ molodenskyShift()

void ossimDatum::molodenskyShift ( double  a,
double  da,
double  f,
double  df,
double  dx,
double  dy,
double  dz,
double  Lat_in,
double  Lon_in,
double  Hgt_in,
double &  Lat_out,
double &  Lon_out,
double &  Hgt_out 
) const
protectedvirtual

This is directly from Geotrans: Begin Molodensky_Shift This function shifts geodetic coordinates using the Molodensky method.

a : Semi-major axis of source ellipsoid in meters (input) da : Destination a minus source a (input) f : Flattening of source ellipsoid (input) df : Destination f minus source f (input) dx : X coordinate shift in meters (input) dy : Y coordinate shift in meters (input) dz : Z coordinate shift in meters (input)

Definition at line 38 of file ossimDatum.cpp.

References ossim::isnan(), M_PI, and n.

Referenced by ossimThreeParamDatum::shiftFromWgs84(), and ossimThreeParamDatum::shiftToWgs84().

52 {
53  /* Begin Molodensky_Shift */
54  /*
55  * This function shifts geodetic coordinates using the Molodensky method.
56  *
57  * a : Semi-major axis of source ellipsoid in meters (input)
58  * da : Destination a minus source a (input)
59  * f : Flattening of source ellipsoid (input)
60  * df : Destination f minus source f (input)
61  * dx : X coordinate shift in meters (input)
62  * dy : Y coordinate shift in meters (input)
63  * dz : Z coordinate shift in meters (input)
64  * Lat_in : Latitude in radians. (input)
65  * Lon_in : Longitude in radians. (input)
66  * Hgt_in : Height in meters. (input)
67  * Lat_out : Calculated latitude in radians. (output)
68  * Lon_out : Calculated longitude in radians. (output)
69  * Hgt_out : Calculated height in meters. (output)
70  */
71  double tLon_in; /* temp longitude */
72  double e2; /* Intermediate calculations for dp, dl */
73  double ep2; /* Intermediate calculations for dp, dl */
74  double sin_Lat; /* sin(Latitude_1) */
75  double sin2_Lat; /* (sin(Latitude_1))^2 */
76  double sin_Lon; /* sin(Longitude_1) */
77  double cos_Lat; /* cos(Latitude_1) */
78  double cos_Lon; /* cos(Longitude_1) */
79  double w2; /* Intermediate calculations for dp, dl */
80  double w; /* Intermediate calculations for dp, dl */
81  double w3; /* Intermediate calculations for dp, dl */
82  double m; /* Intermediate calculations for dp, dl */
83  double n; /* Intermediate calculations for dp, dl */
84  double dp; /* Delta phi */
85  double dp1; /* Delta phi calculations */
86  double dp2; /* Delta phi calculations */
87  double dp3; /* Delta phi calculations */
88  double dl; /* Delta lambda */
89  double dh; /* Delta height */
90  double dh1; /* Delta height calculations */
91  double dh2; /* Delta height calculations */
92 
93  if(ossim::isnan(Hgt_in))
94  {
95  Hgt_in = 0.0;
96  }
97 
98  if (Lon_in > M_PI)
99  tLon_in = Lon_in - (2*M_PI);
100  else
101  tLon_in = Lon_in;
102 
103  e2 = 2 * f - f * f;
104  ep2 = e2 / (1 - e2);
105  sin_Lat = sin(Lat_in);
106  cos_Lat = cos(Lat_in);
107  sin_Lon = sin(tLon_in);
108  cos_Lon = cos(tLon_in);
109  sin2_Lat = sin_Lat * sin_Lat;
110  w2 = 1.0 - e2 * sin2_Lat;
111  w = sqrt(w2);
112  w3 = w * w2;
113  m = (a * (1.0 - e2)) / w3;
114  n = a / w;
115  dp1 = cos_Lat * dz - sin_Lat * cos_Lon * dx - sin_Lat * sin_Lon * dy;
116  dp2 = ((e2 * sin_Lat * cos_Lat) / w) * da;
117  dp3 = sin_Lat * cos_Lat * (2.0 * n + ep2 * m * sin2_Lat) * (1.0 - f) * df;
118  dp = (dp1 + dp2 + dp3) / (m + Hgt_in);
119  dl = (-sin_Lon * dx + cos_Lon * dy) / ((n + Hgt_in) * cos_Lat);
120  dh1 = (cos_Lat * cos_Lon * dx) + (cos_Lat * sin_Lon * dy) + (sin_Lat * dz);
121  dh2 = -(w * da) + ((a * (1 - f)) / w) * sin2_Lat * df;
122  dh = dh1 + dh2;
123 
124  Lat_out = Lat_in + dp;
125  Lon_out = Lon_in + dl;
126  Hgt_out = Hgt_in + dh;
127 
128  if (Lon_out > (M_PI * 2))
129  Lon_out -= 2*M_PI;
130  if (Lon_out < (- M_PI))
131  Lon_out += 2*M_PI;
132 }
#define M_PI
os2<< "> n<< " > nendobj n
bool isnan(const float &v)
isnan Test for floating point Not A Number (NAN) value.
Definition: ossimCommon.h:91

◆ name()

virtual const ossimString& ossimDatum::name ( ) const
inlinevirtual

◆ northLatitude()

virtual ossim_float64 ossimDatum::northLatitude ( ) const
inlinevirtual

Definition at line 68 of file ossimDatum.h.

Referenced by ossimDatumFactory::writeCStructure().

68 {return theNorthLatitude;}
ossim_float64 theNorthLatitude
Definition: ossimDatum.h:145

◆ operator!=()

bool ossimDatum::operator!= ( const ossimDatum rhs) const
inline

Definition at line 88 of file ossimDatum.h.

89  {
90  return (!(*this == rhs));
91  }

◆ operator==()

bool ossimDatum::operator== ( const ossimDatum rhs) const

Definition at line 134 of file ossimDatum.cpp.

References ossimString::contains(), theCode, theEastLongitude, theEllipsoid, theEpsgCode, theNorthLatitude, theSigmaX, theSigmaY, theSigmaZ, theSouthLatitude, and theWestLongitude.

135 {
136  // This method is complicated by the fact that some datums are represented by a precomputed
137  // grid version of the parametric datum.cpp Need to consider these cases. (OLK 02/11)
138  if (theCode == "NAR") // This is the code for gridded NADCON datum
139  {
140  if (!rhs.theCode.contains("NAR"))
141  return false;
142  }
143  else if (rhs.theCode == "NAR")
144  {
145  if (!theCode.contains("NAR"))
146  return false;
147  }
148  else if (theCode == "NAS")
149  {
150  if (!rhs.theCode.contains("NAS"))
151  return false;
152  }
153  else if (rhs.theCode == "NAS")
154  {
155  if (!theCode.contains("NAS"))
156  return false;
157  }
158 
159  // Not a grid, so codes must match:
160  else if (theCode != rhs.theCode)
161  return false;
162 
163  // Additional EPSG code check after HARN v. parametric caused false positives (OLK 05/11):
164  if ((theEpsgCode != 0) && (rhs.theEpsgCode !=0) && (theEpsgCode != rhs.theEpsgCode))
165  return false;
166 
167  // Don't need to check the name since 1:1 relationship with code, code check is sufficient.
168  // This saves the tedium of filtering for NADCON datums as done above.
169  return ((*theEllipsoid == *rhs.theEllipsoid)&&
170  (theSigmaX == rhs.theSigmaX)&&
171  (theSigmaY == rhs.theSigmaY)&&
172  (theSigmaZ == rhs.theSigmaZ)&&
177 }
ossim_float64 theWestLongitude
Definition: ossimDatum.h:142
const ossimEllipsoid * theEllipsoid
Definition: ossimDatum.h:136
ossim_float64 theEastLongitude
Definition: ossimDatum.h:143
ossim_float64 theSouthLatitude
Definition: ossimDatum.h:144
bool contains(char aChar) const
Definition: ossimString.h:58
ossim_float64 theSigmaX
Definition: ossimDatum.h:138
ossim_float64 theNorthLatitude
Definition: ossimDatum.h:145
ossim_float64 theSigmaY
Definition: ossimDatum.h:139
ossim_float64 theSigmaZ
Definition: ossimDatum.h:140
ossimString theCode
Definition: ossimDatum.h:133
ossim_uint32 theEpsgCode
Definition: ossimDatum.h:134

◆ param1()

virtual ossim_float64 ossimDatum::param1 ( ) const
pure virtual

◆ param2()

virtual ossim_float64 ossimDatum::param2 ( ) const
pure virtual

◆ param3()

virtual ossim_float64 ossimDatum::param3 ( ) const
pure virtual

◆ param4()

virtual ossim_float64 ossimDatum::param4 ( ) const
pure virtual

◆ param5()

virtual ossim_float64 ossimDatum::param5 ( ) const
pure virtual

◆ param6()

virtual ossim_float64 ossimDatum::param6 ( ) const
pure virtual

◆ param7()

virtual ossim_float64 ossimDatum::param7 ( ) const
pure virtual

◆ shift()

virtual ossimGpt ossimDatum::shift ( const ossimGpt aPt) const
pure virtual

◆ shiftFromWgs84()

virtual ossimGpt ossimDatum::shiftFromWgs84 ( const ossimGpt aPt) const
pure virtual

◆ shiftToWgs84()

virtual ossimGpt ossimDatum::shiftToWgs84 ( const ossimGpt aPt) const
pure virtual

◆ sigmaX()

virtual ossim_float64 ossimDatum::sigmaX ( ) const
inlinevirtual

Definition at line 61 of file ossimDatum.h.

Referenced by ossimDatumFactory::writeCStructure().

61 {return theSigmaX;}
ossim_float64 theSigmaX
Definition: ossimDatum.h:138

◆ sigmaY()

virtual ossim_float64 ossimDatum::sigmaY ( ) const
inlinevirtual

Definition at line 62 of file ossimDatum.h.

Referenced by ossimDatumFactory::writeCStructure().

62 {return theSigmaY;}
ossim_float64 theSigmaY
Definition: ossimDatum.h:139

◆ sigmaZ()

virtual ossim_float64 ossimDatum::sigmaZ ( ) const
inlinevirtual

Definition at line 63 of file ossimDatum.h.

Referenced by ossimDatumFactory::writeCStructure().

63 {return theSigmaZ;}
ossim_float64 theSigmaZ
Definition: ossimDatum.h:140

◆ southLatitude()

virtual ossim_float64 ossimDatum::southLatitude ( ) const
inlinevirtual

Definition at line 67 of file ossimDatum.h.

Referenced by ossimDatumFactory::writeCStructure().

67 {return theSouthLatitude;}
ossim_float64 theSouthLatitude
Definition: ossimDatum.h:144

◆ westLongitude()

virtual ossim_float64 ossimDatum::westLongitude ( ) const
inlinevirtual

Definition at line 65 of file ossimDatum.h.

Referenced by ossimDatumFactory::writeCStructure().

65 {return theWestLongitude;}
ossim_float64 theWestLongitude
Definition: ossimDatum.h:142

◆ withinMolodenskyRange()

bool ossimDatum::withinMolodenskyRange ( const ossimGpt pt) const
inlineprotected

Definition at line 124 of file ossimDatum.h.

References ossimGpt::latd().

Referenced by ossimThreeParamDatum::shiftFromWgs84(), and ossimThreeParamDatum::shiftToWgs84().

125  {
126  double lat = pt.latd();
127 
128  return ((lat < 89.75) && (lat > -89.75));
129  }
double latd() const
Will convert the radian measure to degrees.
Definition: ossimGpt.h:87

Friends And Related Function Documentation

◆ ossimDatumFactory

friend class ossimDatumFactory
friend

Definition at line 24 of file ossimDatum.h.

Member Data Documentation

◆ theCode

ossimString ossimDatum::theCode
protected

Definition at line 133 of file ossimDatum.h.

Referenced by isEqualTo(), and operator==().

◆ theEastLongitude

ossim_float64 ossimDatum::theEastLongitude
protected

Definition at line 143 of file ossimDatum.h.

Referenced by isEqualTo(), and operator==().

◆ theEllipsoid

const ossimEllipsoid* ossimDatum::theEllipsoid
protected

Definition at line 136 of file ossimDatum.h.

Referenced by isEqualTo(), and operator==().

◆ theEpsgCode

ossim_uint32 ossimDatum::theEpsgCode
protected

Definition at line 134 of file ossimDatum.h.

Referenced by isEqualTo(), operator==(), and ossimDatum().

◆ theName

ossimString ossimDatum::theName
protected

Definition at line 135 of file ossimDatum.h.

Referenced by isEqualTo().

◆ theNorthLatitude

ossim_float64 ossimDatum::theNorthLatitude
protected

Definition at line 145 of file ossimDatum.h.

Referenced by isEqualTo(), and operator==().

◆ theSigmaX

ossim_float64 ossimDatum::theSigmaX
protected

Definition at line 138 of file ossimDatum.h.

Referenced by isEqualTo(), and operator==().

◆ theSigmaY

ossim_float64 ossimDatum::theSigmaY
protected

Definition at line 139 of file ossimDatum.h.

Referenced by isEqualTo(), and operator==().

◆ theSigmaZ

ossim_float64 ossimDatum::theSigmaZ
protected

Definition at line 140 of file ossimDatum.h.

Referenced by isEqualTo(), and operator==().

◆ theSouthLatitude

ossim_float64 ossimDatum::theSouthLatitude
protected

Definition at line 144 of file ossimDatum.h.

Referenced by isEqualTo(), and operator==().

◆ theWestLongitude

ossim_float64 ossimDatum::theWestLongitude
protected

Definition at line 142 of file ossimDatum.h.

Referenced by isEqualTo(), and operator==().

◆ TYPE_DATA

ossimDatum::TYPE_DATA
protected

Definition at line 147 of file ossimDatum.h.


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