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

#include <ossimGpt.h>

Inheritance diagram for ossimGpt:
ossimTieGpt

Public Member Functions

 ossimGpt (const double alat=0, const double alon=0, const double ahgt=0, const ossimDatum *aDatum=ossimDatumFactory::instance() ->wgs84())
 Constructor. More...
 
 ossimGpt (const ossimGpt &src)
 Copy Constructor: More...
 
 ossimGpt (const ossimEcefPoint &aPt, const ossimDatum *aDatum=ossimDatumFactory::instance() ->wgs84())
 Constructor. More...
 
 ossimGpt (const ossimDpt3d &aPt)
 Argument aPt (x, y, z) is understood to represent (lon, lat, hgt) relative to WGS84 datum. More...
 
double latr () const
 latr(). More...
 
void latr (double radianValue)
 Returns the latitude in radian measure. More...
 
double lonr () const
 Returns the longitude in radian measure. More...
 
void lonr (double radianValue)
 Assumes the value being passed in is in radians. More...
 
double latd () const
 Will convert the radian measure to degrees. More...
 
void latd (double degreeValue)
 Assumes the passed in value is in degrees. More...
 
double lond () const
 Will convert the radian measure to degrees. More...
 
void lond (double degreeValue)
 Assumes the passed in value is in degrees. More...
 
double height () const
 
double heightMSL () const
 
void height (double height)
 Sets the "hgt" data member to height. More...
 
void heightMSL (double heightMSL)
 Sets the "hgt" data member to heightMsl adding any geiod offset. More...
 
void makeNan ()
 
bool isNan () const
 
bool hasNans () const
 
bool isLatNan () const
 
bool isLonNan () const
 
bool isLonLatNan () const
 
bool isLatLonNan () const
 
bool isHgtNan () const
 
std::ostream & print (std::ostream &os, ossim_uint32 precision=15) const
 
ossimString toString (ossim_uint32 precision=15) const
 
void toPoint (const std::string &s)
 Initializes this point from string. More...
 
const ossimDatumdatum () const
 datum(). More...
 
void datum (const ossimDatum *aDatum)
 Note: this will not do a shift. More...
 
void changeDatum (const ossimDatum *datum)
 This will actually perform a shift. More...
 
const ossimGptoperator= (const ossimGpt &aPt)
 
bool operator== (const ossimGpt &gpt) const
 
bool operator!= (const ossimGpt &gpt) const
 
void limitLonTo180 ()
 METHOD: limitLonTo180() Converts the lon data member to a value between -180 and +180: More...
 
void wrap ()
 Wrap method to maintain longitude between -180 and +180 and latitude between -90 and +90. More...
 
void clampLon (double low, double high)
 
void clampLat (double low, double high)
 
void clampHgt (double low, double high)
 
double distanceTo (const ossimGpt &arg_gpt) const
 METHOD: distanceTo(ossimGpt) Computes straight-line distance in meters between this and arg gpt: More...
 
double azimuthTo (const ossimGpt &arg_gpt) const
 METHOD: azimuthTo(ossimGpt) Computes the great-circle starting azimuth (i.e., at this gpt) to the argument gpt in degrees. More...
 
ossimDpt metersPerDegree () const
 
ossimString toDmsString () const
 
bool isEqualTo (const ossimGpt &rhs, ossimCompareType compareType=OSSIM_COMPARE_FULL) const
 

Public Attributes

ossim_float64 lat
 
ossim_float64 lon
 
ossim_float64 hgt
 Height in meters above the ellipsiod. More...
 

Private Attributes

const ossimDatumtheDatum
 Know reference location plus an implied ellipsoid. More...
 

Friends

OSSIMDLLEXPORT std::ostream & operator<< (std::ostream &os, const ossimGpt &pt)
 
OSSIMDLLEXPORT std::istream & operator>> (std::istream &is, ossimGpt &pt)
 Method to input the formatted string of the "operator<<". More...
 

Detailed Description

Definition at line 31 of file ossimGpt.h.

Constructor & Destructor Documentation

◆ ossimGpt() [1/4]

ossimGpt::ossimGpt ( const double  alat = 0,
const double  alon = 0,
const double  ahgt = 0,
const ossimDatum aDatum = ossimDatumFactory::instance()->wgs84() 
)
inline

Constructor.

The values are assumed to be in DEGREES.

Definition at line 37 of file ossimGpt.h.

41  : lat(alat),
42  lon(alon),
43  hgt(ahgt), // relative to the ellipsoid
44  theDatum(aDatum) {}//limitLonTo180();}
const ossimDatum * theDatum
Know reference location plus an implied ellipsoid.
Definition: ossimGpt.h:281
ossim_float64 hgt
Height in meters above the ellipsiod.
Definition: ossimGpt.h:274
ossim_float64 lon
Definition: ossimGpt.h:266
ossim_float64 lat
Definition: ossimGpt.h:265

◆ ossimGpt() [2/4]

ossimGpt::ossimGpt ( const ossimGpt src)

Copy Constructor:

Definition at line 272 of file ossimGpt.cpp.

References datum(), ossimDatumFactory::instance(), theDatum, and ossimDatumFactory::wgs84().

273  : lat(src.lat),
274  lon(src.lon),
275  hgt(src.hgt)
276 {
277  theDatum = src.datum();
278  if(!theDatum)
279  {
281  }
282 // limitLonTo180();
283 }
const ossimDatum * theDatum
Know reference location plus an implied ellipsoid.
Definition: ossimGpt.h:281
ossim_float64 hgt
Height in meters above the ellipsiod.
Definition: ossimGpt.h:274
const ossimDatum * datum() const
datum().
Definition: ossimGpt.h:196
ossim_float64 lon
Definition: ossimGpt.h:266
static ossimDatumFactory * instance()
ossim_float64 lat
Definition: ossimGpt.h:265
const ossimDatum * wgs84() const

◆ ossimGpt() [3/4]

ossimGpt::ossimGpt ( const ossimEcefPoint aPt,
const ossimDatum aDatum = ossimDatumFactory::instance()->wgs84() 
)

Constructor.

Conversion from geocentric to ground.

Definition at line 288 of file ossimGpt.cpp.

References ossimDatum::ellipsoid(), hgt, ossimDatumFactory::instance(), ossimEcefPoint::isNan(), lat, lon, makeNan(), theDatum, ossimDatumFactory::wgs84(), ossimEcefPoint::x(), ossimEllipsoid::XYZToLatLonHeight(), ossimEcefPoint::y(), and ossimEcefPoint::z().

290  :
291  theDatum (datum)
292 {
293  if(!theDatum)
294  {
296  }
297  if(ecef_point.isNan())
298  {
299  makeNan();
300  }
301  else
302  {
303  theDatum->ellipsoid()->XYZToLatLonHeight(ecef_point.x(),
304  ecef_point.y(),
305  ecef_point.z(),
306  lat,
307  lon,
308  hgt);
309 
310  }
311 }
const ossimDatum * theDatum
Know reference location plus an implied ellipsoid.
Definition: ossimGpt.h:281
void makeNan()
Definition: ossimGpt.h:130
ossim_float64 hgt
Height in meters above the ellipsiod.
Definition: ossimGpt.h:274
const ossimDatum * datum() const
datum().
Definition: ossimGpt.h:196
ossim_float64 lon
Definition: ossimGpt.h:266
virtual const ossimEllipsoid * ellipsoid() const
Definition: ossimDatum.h:60
static ossimDatumFactory * instance()
ossim_float64 lat
Definition: ossimGpt.h:265
const ossimDatum * wgs84() const
void XYZToLatLonHeight(double x, double y, double z, double &lat, double &lon, double &height) const

◆ ossimGpt() [4/4]

ossimGpt::ossimGpt ( const ossimDpt3d aPt)
inline

Argument aPt (x, y, z) is understood to represent (lon, lat, hgt) relative to WGS84 datum.

Definition at line 60 of file ossimGpt.h.

60  :
61  lat(aPt.y), lon(aPt.x), hgt(aPt.z), theDatum(ossimDatumFactory::instance()->wgs84()) {}
const ossimDatum * theDatum
Know reference location plus an implied ellipsoid.
Definition: ossimGpt.h:281
ossim_float64 hgt
Height in meters above the ellipsiod.
Definition: ossimGpt.h:274
double z
Definition: ossimDpt3d.h:145
ossim_float64 lon
Definition: ossimGpt.h:266
static ossimDatumFactory * instance()
double x
Definition: ossimDpt3d.h:143
ossim_float64 lat
Definition: ossimGpt.h:265
double y
Definition: ossimDpt3d.h:144

Member Function Documentation

◆ azimuthTo()

double ossimGpt::azimuthTo ( const ossimGpt arg_gpt) const

METHOD: azimuthTo(ossimGpt) Computes the great-circle starting azimuth (i.e., at this gpt) to the argument gpt in degrees.

In other words, what direction we would need to start walking in to travel the shortest distance to arg_gpt (assumes spherical earth)

Definition at line 446 of file ossimGpt.cpp.

References ossim::atan2d(), ossim::cosd(), lat, and lon.

Referenced by ossimViewshedTool::optimizeFOV(), ATP::AutoTiePoint::saveJSON(), and ossimSarModel::sensorAzimuth().

447 {
448  using namespace ossim; // for trig functions in degrees
449 
450  //### NOT WORKING ###
451  //double dlo = fabs(lon - gpt.lon);
452  //if (lat * gpt.lat < 0)
453  // dlo *= -1.0;
454 
455  //double c = atand(sind(dlo)/((cosd(lat)*tand(gpt.lat)) - (sind(lat)*cosd(dlo))));
456  //return c;
457 
458  // Use alternate local method (not great circle):
459  double mean_lat = 0.5*(lat + gpt.lat);
460  double dlon = ossim::cosd(mean_lat)*(gpt.lon - lon);
461  double dlat = gpt.lat - lat;
462  double theta = ossim::atan2d(dlon,dlat);
463  if (theta < 0)
464  theta += 360.0;
465  return theta;
466 }
This code was derived from https://gist.github.com/mshockwave.
Definition: Barrier.h:8
ossim_float64 lon
Definition: ossimGpt.h:266
double atan2d(double y, double x)
Definition: ossimCommon.h:267
double cosd(double x)
Definition: ossimCommon.h:259
ossim_float64 lat
Definition: ossimGpt.h:265

◆ changeDatum()

void ossimGpt::changeDatum ( const ossimDatum datum)

This will actually perform a shift.

Definition at line 316 of file ossimGpt.cpp.

References datum(), hgt, isLatNan(), isLonNan(), ossim::isnan(), ossimDatum::shift(), and theDatum.

Referenced by ossimPointCloudGeometry::convertPos(), ossimCadrgProjection::forward(), ossimUpsProjection::forward(), ossimNewZealandMapGridProjection::forward(), ossimBonneProjection::forward(), ossimCassiniProjection::forward(), ossimEckert6Projection::forward(), ossimPolarStereoProjection::forward(), ossimEckert4Projection::forward(), ossimGnomonicProjection::forward(), ossimTransMercatorProjection::forward(), ossimUtmProjection::forward(), ossimVanDerGrintenProjection::forward(), ossimMillerProjection::forward(), ossimCylEquAreaProjection::forward(), ossimMollweidProjection::forward(), ossimPolyconicProjection::forward(), ossimStereographicProjection::forward(), ossimTransCylEquAreaProjection::forward(), ossimMercatorProjection::forward(), ossimSinusoidalProjection::forward(), ossimOrthoGraphicProjection::forward(), ossimAzimEquDistProjection::forward(), ossimObliqueMercatorProjection::forward(), ossimEquDistCylProjection::forward(), ossimSpaceObliqueMercatorProjection::forward(), ossimLambertConformalConicProjection::forward(), ossimAlbersProjection::forward(), ossimImageGeometry::getCrossesDateline(), ossimGeneralRasterElevHandler::getHeightAboveMSLFileTemplate(), ossimGeneralRasterElevHandler::getHeightAboveMSLMemoryTemplate(), ossimGeoidNgs::offsetFromEllipsoid(), ossimGeoidEgm96::offsetFromEllipsoid(), ossimGeoidImage::offsetFromEllipsoidTemplate(), ossimDpt3d::ossimDpt3d(), ossimMapProjection::setDatum(), ossimGeneralRasterElevHandler::setFilename(), ossimMapProjection::setOrigin(), ossimMapProjection::setUlGpt(), ossimMapProjection::worldToLineSample(), ossimLlxyProjection::worldToLineSample(), and ossimEquDistCylProjection::worldToLineSample().

317 {
318  if (*datum == *theDatum)
319  return;
320 
321  // only shift if all values lat and lon is good
322  if(!isLatNan() && !isLonNan())
323  {
324  if(datum)
325  {
326  double h = hgt;
327  *this = datum->shift(*this);
328  if(ossim::isnan(h))
329  {
330  hgt = h;
331  }
332  theDatum = datum;
333  }
334  }
335 }
virtual ossimGpt shift(const ossimGpt &aPt) const =0
bool isLonNan() const
Definition: ossimGpt.h:140
const ossimDatum * theDatum
Know reference location plus an implied ellipsoid.
Definition: ossimGpt.h:281
ossim_float64 hgt
Height in meters above the ellipsiod.
Definition: ossimGpt.h:274
bool isLatNan() const
Definition: ossimGpt.h:139
const ossimDatum * datum() const
datum().
Definition: ossimGpt.h:196
bool isnan(const float &v)
isnan Test for floating point Not A Number (NAN) value.
Definition: ossimCommon.h:91

◆ clampHgt()

void ossimGpt::clampHgt ( double  low,
double  high 
)
inline

Definition at line 240 of file ossimGpt.h.

241  {
242  if(hgt < low) hgt = low;
243  if(hgt > high) hgt = high;
244  }
ossim_float64 hgt
Height in meters above the ellipsiod.
Definition: ossimGpt.h:274

◆ clampLat()

void ossimGpt::clampLat ( double  low,
double  high 
)
inline

Definition at line 234 of file ossimGpt.h.

Referenced by ossimMapProjection::lineSampleHeightToWorld(), ossimCadrgProjection::lineSampleToWorld(), and ossimObliqueMercatorProjection::setDefaults().

235  {
236  if(lat < low) lat = low;
237  if(lat > high) lat = high;
238  }
ossim_float64 lat
Definition: ossimGpt.h:265

◆ clampLon()

void ossimGpt::clampLon ( double  low,
double  high 
)
inline

Definition at line 228 of file ossimGpt.h.

Referenced by ossimMapProjection::lineSampleHeightToWorld(), ossimCadrgProjection::lineSampleToWorld(), and ossimObliqueMercatorProjection::setDefaults().

229  {
230  if(lon < low) lon = low;
231  if(lon > high) lon = high;
232  }
ossim_float64 lon
Definition: ossimGpt.h:266

◆ datum() [1/2]

const ossimDatum* ossimGpt::datum ( ) const
inline

datum().

returns the datum associated with this ground.

Definition at line 196 of file ossimGpt.h.

Referenced by ossimMapCompositionSource::addGeographicBottomGridLabels(), ossimMapCompositionSource::addGeographicGridLines(), ossimMapCompositionSource::addGeographicLeftGridLabels(), ossimMapCompositionSource::addGeographicRightGridLabels(), changeDatum(), ossimGrect::clipToRect(), ossimPositionQualityEvaluator::computeElevAzim(), ossimGrect::computeEvenTiles(), ossimImageGeometry::computeGroundToImagePartials(), ossimUpspt::convertFromGeodetic(), ossimUtmpt::convertFromGround(), ossimPointCloudGeometry::convertPos(), ossimUtmpt::convertToGround(), ossimGeographicAnnotationGrid::draw(), ossimTieGpt::exportAsGmlNode(), ossimCadrgProjection::forward(), ossimUpsProjection::forward(), ossimNewZealandMapGridProjection::forward(), ossimCassiniProjection::forward(), ossimBonneProjection::forward(), ossimEckert6Projection::forward(), ossimUtmProjection::forward(), ossimTransMercatorProjection::forward(), ossimEckert4Projection::forward(), ossimGnomonicProjection::forward(), ossimPolarStereoProjection::forward(), ossimCylEquAreaProjection::forward(), ossimMillerProjection::forward(), ossimMollweidProjection::forward(), ossimVanDerGrintenProjection::forward(), ossimStereographicProjection::forward(), ossimTransCylEquAreaProjection::forward(), ossimMercatorProjection::forward(), ossimPolyconicProjection::forward(), ossimSinusoidalProjection::forward(), ossimOrthoGraphicProjection::forward(), ossimAzimEquDistProjection::forward(), ossimObliqueMercatorProjection::forward(), ossimEquDistCylProjection::forward(), ossimLambertConformalConicProjection::forward(), ossimSpaceObliqueMercatorProjection::forward(), ossimAlbersProjection::forward(), ossimImageGeometry::getCrossesDateline(), ossimRpcModel::getForwardDeriv(), ossimImageViewProjectionTransform::getImageToViewBounds(), ossimRpcModel::imagingRay(), ossimOrthoGraphicProjection::inverse(), ossimQuadProjection::lineSampleHeightToWorld(), ossimBilinearProjection::lineSampleHeightToWorld(), ossimMapProjection::lineSampleHeightToWorld(), ossimEquDistCylProjection::lineSampleHeightToWorld(), ossimLlxyProjection::lineSampleToWorld(), ossimGrect::ll(), ossimGdalOgrVectorAnnotation::loadLineString(), ossimGdalOgrVectorAnnotation::loadMultiLineString(), ossimGdalOgrVectorAnnotation::loadMultiPolygon(), ossimGdalOgrVectorAnnotation::loadPoint(), ossimGdalOgrVectorAnnotation::loadPolygon(), ossimQuadProjection::loadState(), ossimMapProjection::loadState(), ossimInfo::mtrsPerDeg(), ossimTilingRect::next(), ossimTiling::next(), operator=(), operator>>(), ossimQuadProjection::origin(), ossimBilinearProjection::origin(), ossimEcefPoint::ossimEcefPoint(), ossimGpt(), ossimLlxyProjection::ossimLlxyProjection(), ossimApplanixUtmModel::saveState(), ossimQuadProjection::saveState(), ossimplugins::ossimSpot6DimapSupportData::saveState(), ossimplugins::ossimPleiadesDimapSupportData::saveState(), ossimSpotDimapSupportData::saveState(), ossimFormosatDimapSupportData::saveState(), ossimGeneralRasterElevHandler::setFilename(), ossimMapProjection::setUlGpt(), ossimGeographicAnnotationGrid::setViewProjectionInformation(), ossimUtmProjection::setZone(), ossimNadconNarDatum::shift(), ossimNadconNasDatum::shift(), ossimWgs72Datum::shift(), ossimWgs84Datum::shift(), ossimThreeParamDatum::shift(), ossimSevenParamDatum::shift(), ossimSevenParamDatum::shiftFromWgs84(), ossimThreeParamDatum::shiftToWgs84(), ossimGrect::stretchToEvenBoundary(), ossimOrthoImageMosaic::updateGeometry(), ossimGrect::ur(), ossimMapProjection::worldToLineSample(), and ossimLlxyProjection::worldToLineSample().

196 {return theDatum;}
const ossimDatum * theDatum
Know reference location plus an implied ellipsoid.
Definition: ossimGpt.h:281

◆ datum() [2/2]

void ossimGpt::datum ( const ossimDatum aDatum)
inline

Note: this will not do a shift.

This just allows you to set the datum. If you want an automatic shift to occur then you must call the changeDatum method

Definition at line 203 of file ossimGpt.h.

203 {theDatum = aDatum?aDatum:theDatum;}
const ossimDatum * theDatum
Know reference location plus an implied ellipsoid.
Definition: ossimGpt.h:281

◆ distanceTo()

double ossimGpt::distanceTo ( const ossimGpt arg_gpt) const

METHOD: distanceTo(ossimGpt) Computes straight-line distance in meters between this and arg gpt:

Definition at line 431 of file ossimGpt.cpp.

Referenced by ossimSensorModel::computeGsd(), ossimViewshedTool::computeRadius(), ossimImageGeometry::getMetersPerPixel(), ossimH5GridModel::initializeModelParams(), ossimCoarseGridModel::initializeModelParams(), main(), and ATP::AutoTiePoint::saveJSON().

432 {
433  ossimEcefPoint p1 (*this);
434  ossimEcefPoint p2 (arg_pt);
435 
436  return (p1 - p2).magnitude();
437 }

◆ hasNans()

bool ossimGpt::hasNans ( ) const
inline

◆ height() [1/2]

double ossimGpt::height ( ) const
inline
Returns
Returns the height in meters above the ellipsoid.

Definition at line 107 of file ossimGpt.h.

Referenced by ossimImageGeometry::computeGroundToImagePartials(), ossimTieGpt::exportAsGmlNode(), ossimPositionQualityEvaluator::extractErrorEllipse(), ossimAlphaSensor::getCameraPosition(), ossimImageGeometry::getDegreesPerPixel(), ossimHgtRef::getLocalTerrainNormal(), ossimImageGeometry::getMetersPerPixel(), ossimTieGpt::importFromGmlNode(), ATP::AtpGenerator::initialize(), ossimSonomaSensor::intersectRay(), ossimAdjMapModel::lineSampleHeightToWorld(), ossimSonomaSensor::lineSampleHeightToWorld(), ossimSarModel::lineSampleHeightToWorld(), ossimPolynomProjection::lineSampleToWorld(), ossimSonomaSensor::lineSampleToWorld(), ossimRpcProjection::lineSampleToWorld(), ossimRpcModel::lineSampleToWorld(), ossimBilinearProjection::loadState(), ossimIpodSensor::loadState(), ossimSkyBoxLearSensor::loadState(), ossimSonomaSensor::loadState(), operator>>(), ossimBilinearProjection::origin(), ossimEcefPoint::ossimEcefPoint(), print(), ossimTieGpt::printTab(), ossimSarModel::projOPtoSurface(), ossimApplanixUtmModel::saveState(), ossimplugins::ossimSpot6DimapSupportData::saveState(), ossimplugins::ossimPleiadesDimapSupportData::saveState(), ossimSpotDimapSupportData::saveState(), ossimFormosatDimapSupportData::saveState(), ossimNadconNarDatum::shift(), ossimNadconNasDatum::shift(), ossimWgs72Datum::shift(), ossimWgs84Datum::shift(), ossimThreeParamDatum::shift(), ossimSevenParamDatum::shift(), ossimWgs72Datum::shiftFromWgs84(), ossimThreeParamDatum::shiftFromWgs84(), ossimWgs72Datum::shiftToWgs84(), ossimWgs84Datum::shiftToWgs84(), ossimThreeParamDatum::shiftToWgs84(), ossimRpcSolver::solveCoefficients(), toString(), ossimApplanixUtmModel::updateModel(), ossimSpectraboticsRedEdgeModel::updateModel(), ossimApplanixEcefModel::updateModel(), ossimIpodSensor::updateModel(), ossimSkyBoxLearSensor::updateModel(), ossimSonomaSensor::updateModel(), and ossimPpjFrameSensor::worldToLineSample().

107 {return hgt;}
ossim_float64 hgt
Height in meters above the ellipsiod.
Definition: ossimGpt.h:274

◆ height() [2/2]

void ossimGpt::height ( double  height)
inline

Sets the "hgt" data member to height.

Parameters
heightHeight above the ellipsoid in meters.

Definition at line 121 of file ossimGpt.h.

References height().

Referenced by height().

121 {hgt = height;}
ossim_float64 hgt
Height in meters above the ellipsiod.
Definition: ossimGpt.h:274
double height() const
Definition: ossimGpt.h:107

◆ heightMSL() [1/2]

double ossimGpt::heightMSL ( ) const
Returns
Returns the height in meters above mean sea level (msl).
Note
This is the height above the ellipsoid minus any geoid offset.

Definition at line 474 of file ossimGpt.cpp.

References hgt, ossimGeoidManager::instance(), and ossimGeoidManager::offsetFromEllipsoid().

Referenced by heightMSL().

475 {
476  double offset = ossimGeoidManager::instance()->offsetFromEllipsoid(*this);
477  return (hgt - offset);
478 }
ossim_float64 hgt
Height in meters above the ellipsiod.
Definition: ossimGpt.h:274
static ossimGeoidManager * instance()
Implements singelton pattern:
virtual double offsetFromEllipsoid(const ossimGpt &gpt)

◆ heightMSL() [2/2]

void ossimGpt::heightMSL ( double  heightMSL)

Sets the "hgt" data member to heightMsl adding any geiod offset.

Parameters
heightMSLHeight in meters above msl.

Definition at line 486 of file ossimGpt.cpp.

References heightMSL(), hgt, ossimGeoidManager::instance(), and ossimGeoidManager::offsetFromEllipsoid().

487 {
488  double offset = ossimGeoidManager::instance()->offsetFromEllipsoid(*this);
489  hgt = heightMSL + offset;
490 }
double heightMSL() const
Definition: ossimGpt.cpp:474
ossim_float64 hgt
Height in meters above the ellipsiod.
Definition: ossimGpt.h:274
static ossimGeoidManager * instance()
Implements singelton pattern:
virtual double offsetFromEllipsoid(const ossimGpt &gpt)

◆ isEqualTo()

bool ossimGpt::isEqualTo ( const ossimGpt rhs,
ossimCompareType  compareType = OSSIM_COMPARE_FULL 
) const

Definition at line 366 of file ossimGpt.cpp.

References ossim::almostEqual(), hgt, ossimDatum::isEqualTo(), ossim::isnan(), lat, lon, OSSIM_COMPARE_FULL, and theDatum.

Referenced by ossimMapProjection::isEqualTo().

367 {
368  bool result = false;
369  if(!ossim::isnan(lat)&&!ossim::isnan(rhs.lat))
370  {
371  result = ossim::almostEqual(lat, rhs.lat);
372  }
373  else
374  {
375  result = ossim::isnan(lat)&&ossim::isnan(rhs.lat);
376  }
377 
378  if(result)
379  {
380  if(!ossim::isnan(lon)&&!ossim::isnan(rhs.lon))
381  {
382  result = ossim::almostEqual(lon, rhs.lon);
383  }
384  else
385  {
386  result = ossim::isnan(lon)&&ossim::isnan(rhs.lon);
387  }
388  }
389  if(result)
390  {
391  if(!ossim::isnan(hgt)&&!ossim::isnan(rhs.hgt))
392  {
393  result = ossim::almostEqual(hgt, rhs.hgt);
394  }
395  else
396  {
397  result = ossim::isnan(hgt)&&ossim::isnan(rhs.hgt);
398  }
399  }
400 
401  if(result)
402  {
403  if(theDatum&&rhs.theDatum)
404  {
405  if(compareType == OSSIM_COMPARE_FULL)
406  {
407  result = theDatum->isEqualTo(*rhs.theDatum);
408  }
409  else
410  {
411  result = theDatum == rhs.theDatum;
412  }
413 
414  }
415  else if(reinterpret_cast<ossim_uint64>(theDatum)|reinterpret_cast<ossim_uint64>(rhs.theDatum))
416  {
417  result = false;
418  }
419  }
420 
421  return result;
422 }
const ossimDatum * theDatum
Know reference location plus an implied ellipsoid.
Definition: ossimGpt.h:281
bool almostEqual(T x, T y, T tolerance=FLT_EPSILON)
Definition: ossimCommon.h:53
virtual bool isEqualTo(const ossimObject &obj, ossimCompareType compareType=OSSIM_COMPARE_FULL) const
Definition: ossimDatum.cpp:179
ossim_float64 hgt
Height in meters above the ellipsiod.
Definition: ossimGpt.h:274
ossim_float64 lon
Definition: ossimGpt.h:266
ossim_float64 lat
Definition: ossimGpt.h:265
bool isnan(const float &v)
isnan Test for floating point Not A Number (NAN) value.
Definition: ossimCommon.h:91

◆ isHgtNan()

bool ossimGpt::isHgtNan ( ) const
inline

◆ isLatLonNan()

bool ossimGpt::isLatLonNan ( ) const
inline

Definition at line 142 of file ossimGpt.h.

References ossim::isnan().

142 {return (ossim::isnan(lat)||ossim::isnan(lon));}
ossim_float64 lon
Definition: ossimGpt.h:266
ossim_float64 lat
Definition: ossimGpt.h:265
bool isnan(const float &v)
isnan Test for floating point Not A Number (NAN) value.
Definition: ossimCommon.h:91

◆ isLatNan()

bool ossimGpt::isLatNan ( ) const
inline

◆ isLonLatNan()

bool ossimGpt::isLonLatNan ( ) const
inline

Definition at line 141 of file ossimGpt.h.

References ossim::isnan().

141 {return (ossim::isnan(lat)||ossim::isnan(lon));}
ossim_float64 lon
Definition: ossimGpt.h:266
ossim_float64 lat
Definition: ossimGpt.h:265
bool isnan(const float &v)
isnan Test for floating point Not A Number (NAN) value.
Definition: ossimCommon.h:91

◆ isLonNan()

bool ossimGpt::isLonNan ( ) const
inline

◆ isNan()

bool ossimGpt::isNan ( ) const
inline

Definition at line 131 of file ossimGpt.h.

References ossim::isnan().

Referenced by ossimTieGpt::isNan().

132  {
134  }
ossim_float64 hgt
Height in meters above the ellipsiod.
Definition: ossimGpt.h:274
ossim_float64 lon
Definition: ossimGpt.h:266
ossim_float64 lat
Definition: ossimGpt.h:265
bool isnan(const float &v)
isnan Test for floating point Not A Number (NAN) value.
Definition: ossimCommon.h:91

◆ latd() [1/2]

double ossimGpt::latd ( ) const
inline

Will convert the radian measure to degrees.

Definition at line 87 of file ossimGpt.h.

Referenced by ossimGeoAnnotationGdBitmapFont::applyScale(), ossimGeoAnnotationLineObject::applyScale(), ossimGeoAnnotationEllipseObject::applyScale(), ossimGrect::clipToRect(), ossimMapProjection::computeDegreesPerPixel(), ossimGrect::computeEvenTiles(), ossimImageGeometry::computeGroundToImagePartials(), ossimMapProjection::computeMetersPerPixel(), ossimUtmProjection::computeZone(), ossimSrtmElevationDatabase::createId(), ossimDtedElevationDatabase::createId(), ossimEpsgProjectionFactory::createProjFromAutoCode(), ossimSrtmElevationDatabase::createRelativePath(), ossimDtedElevationDatabase::createRelativePath(), ossimGeographicAnnotationGrid::draw(), ossimEsriShapeFileFilter::drawAnnotations(), ossimTieGpt::exportAsGmlNode(), ossimPositionQualityEvaluator::extractErrorEllipse(), ossimGoogleProjection::forward(), ossimMercatorProjection::forward(), ossimAlphaSensor::getCameraPosition(), ossimGdalOgrVectorAnnotation::getFeatures(), ossimSarModel::getForwardDeriv(), ossimRpcModel::getForwardDeriv(), ossimOrthoGraphicProjection::getGroundClipPoints(), ossimRpfCacheTileSource::getImageGeometry(), ossimImageCacheBase::getImageGeometry(), ossimInfo::getImageGeometryInfo(), ossimHgtRef::getLocalTerrainNormal(), ossimElevImageSource::getTile(), ossimGrect::height(), ossimTieGpt::importFromGmlNode(), ossimQuadProjection::initializeGrids(), ossimMapProjection::lineSampleHeightToWorld(), ossimCadrgProjection::lineSampleToWorld(), ossimLlxyProjection::lineSampleToWorld(), ossimSrtmFilename::ll(), ossimMapProjectionInfo::llGroundPt(), ossimCadrgProjection::loadState(), ossimQuadProjection::loadState(), ossimUtmProjection::loadState(), ossimObliqueMercatorProjection::loadState(), ossimElevImageSource::loadState(), ossimMapProjection::loadState(), ossimSrtmFilename::lr(), ossimMapProjectionInfo::lrGroundPt(), ossimNitfProjectionFactory::makeEuiDistant(), ossimGeoidNgs::offsetFromEllipsoid(), operator>>(), ossimQuadProjection::origin(), ossimBilinearProjection::origin(), ossimEcefPoint::ossimEcefPoint(), ossimGrect::ossimGrect(), ossimNitfProjectionFactory::parseGeographicString(), print(), ossimMapProjection::print(), ossimTieGpt::printTab(), ossimCadrgProjection::saveState(), ossimApplanixUtmModel::saveState(), ossimQuadProjection::saveState(), ossimObliqueMercatorProjection::saveState(), ossimElevImageSource::saveState(), ossimplugins::ossimSpot6DimapSupportData::saveState(), ossimplugins::ossimPleiadesDimapSupportData::saveState(), ossimSpotDimapSupportData::saveState(), ossimFormosatDimapSupportData::saveState(), ossimMapProjection::saveState(), ossimUpsProjection::setDefaults(), ossimNewZealandMapGridProjection::setDefaults(), ossimBonneProjection::setDefaults(), ossimObliqueMercatorProjection::setDefaults(), ossimUtmProjection::setHemisphere(), ossimUtmProjection::setOrigin(), ossimGeographicAnnotationGrid::setViewProjectionInformation(), ossimUtmProjection::setZone(), ossimNadconNarDatum::shift(), ossimNadconNasDatum::shift(), ossimWgs72Datum::shift(), ossimWgs84Datum::shift(), ossimThreeParamDatum::shift(), ossimSevenParamDatum::shift(), ossimWgs72Datum::shiftFromWgs84(), ossimThreeParamDatum::shiftFromWgs84(), ossimSevenParamDatum::shiftFromWgs84(), ossimWgs72Datum::shiftToWgs84(), ossimWgs84Datum::shiftToWgs84(), ossimThreeParamDatum::shiftToWgs84(), ossimMapProjection::snapTiePointTo(), ossimMapProjection::snapTiePointToOrigin(), ossimGrect::stretchToEvenBoundary(), toDmsString(), toString(), ossimGeoAnnotationMultiPolyLineObject::transform(), ossimSrtmFilename::ul(), ossimMapProjectionInfo::ulGroundPt(), ossimNewZealandMapGridProjection::update(), ossimUtmProjection::update(), ossimApplanixUtmModel::updateModel(), ossimSpectraboticsRedEdgeModel::updateModel(), ossimApplanixEcefModel::updateModel(), ossimIpodSensor::updateModel(), ossimSkyBoxLearSensor::updateModel(), ossimSonomaSensor::updateModel(), ossimSrtmFilename::ur(), ossimMapProjectionInfo::urGroundPt(), ossimDatum::withinMolodenskyRange(), ossimCadrgProjection::worldToLineSample(), ossimBilinearProjection::worldToLineSample(), ossimMapProjection::worldToLineSample(), and ossimLlxyProjection::worldToLineSample().

87 {return lat;}
ossim_float64 lat
Definition: ossimGpt.h:265

◆ latd() [2/2]

void ossimGpt::latd ( double  degreeValue)
inline

Assumes the passed in value is in degrees.

Definition at line 92 of file ossimGpt.h.

92 {lat = degreeValue;}
ossim_float64 lat
Definition: ossimGpt.h:265

◆ latr() [1/2]

double ossimGpt::latr ( ) const
inline

latr().

Returns the latitude in radian measure.

Definition at line 66 of file ossimGpt.h.

References RAD_PER_DEG.

Referenced by ossimUpspt::convertFromGeodetic(), ossimUtmpt::convertFromGround(), ossimUtmpt::convertToGround(), ossimBngProjection::forward(), ossimUpsProjection::forward(), ossimNewZealandMapGridProjection::forward(), ossimBonneProjection::forward(), ossimCassiniProjection::forward(), ossimEckert6Projection::forward(), ossimPolarStereoProjection::forward(), ossimGnomonicProjection::forward(), ossimTransMercatorProjection::forward(), ossimUtmProjection::forward(), ossimEckert4Projection::forward(), ossimMillerProjection::forward(), ossimMollweidProjection::forward(), ossimVanDerGrintenProjection::forward(), ossimCylEquAreaProjection::forward(), ossimPolyconicProjection::forward(), ossimStereographicProjection::forward(), ossimTransCylEquAreaProjection::forward(), ossimMercatorProjection::forward(), ossimSinusoidalProjection::forward(), ossimOrthoGraphicProjection::forward(), ossimAzimEquDistProjection::forward(), ossimObliqueMercatorProjection::forward(), ossimEquDistCylProjection::forward(), ossimSpaceObliqueMercatorProjection::forward(), ossimLambertConformalConicProjection::forward(), ossimAlbersProjection::forward(), ossimAlphaSensor::getPositionOrientation(), ossimBngProjection::inverse(), ossimOrthoGraphicProjection::inverse(), ossimGeoref::ossimGeoref(), ossimWgs72Datum::shiftFromWgs84(), ossimThreeParamDatum::shiftFromWgs84(), ossimWgs72Datum::shiftToWgs84(), ossimThreeParamDatum::shiftToWgs84(), ossimGeoref::toString(), ossimBonneProjection::update(), ossimStereographicProjection::update(), ossimCassiniProjection::update(), ossimUtmProjection::update(), ossimPolarStereoProjection::update(), ossimGnomonicProjection::update(), ossimTransMercatorProjection::update(), ossimCylEquAreaProjection::update(), ossimMercatorProjection::update(), ossimTransCylEquAreaProjection::update(), ossimPolyconicProjection::update(), ossimOrthoGraphicProjection::update(), ossimAzimEquDistProjection::update(), ossimObliqueMercatorProjection::update(), ossimEquDistCylProjection::update(), ossimLambertConformalConicProjection::update(), and ossimAlbersProjection::update().

66 {return lat*RAD_PER_DEG;}
ossim_float64 lat
Definition: ossimGpt.h:265
#define RAD_PER_DEG

◆ latr() [2/2]

void ossimGpt::latr ( double  radianValue)
inline

Returns the latitude in radian measure.

Definition at line 71 of file ossimGpt.h.

References DEG_PER_RAD.

71 {lat = radianValue*DEG_PER_RAD;}
#define DEG_PER_RAD
ossim_float64 lat
Definition: ossimGpt.h:265

◆ limitLonTo180()

void ossimGpt::limitLonTo180 ( )
inline

METHOD: limitLonTo180() Converts the lon data member to a value between -180 and +180:

Definition at line 219 of file ossimGpt.h.

Referenced by ossimH5GridModel::initializeModelParams().

220  { if (lon <= -180.0) lon += 360.0; else if (lon > 180.0) lon -= 360.0; }
ossim_float64 lon
Definition: ossimGpt.h:266

◆ lond() [1/2]

double ossimGpt::lond ( ) const
inline

Will convert the radian measure to degrees.

Definition at line 97 of file ossimGpt.h.

Referenced by ossimGeoAnnotationGdBitmapFont::applyScale(), ossimGeoAnnotationLineObject::applyScale(), ossimGeoAnnotationEllipseObject::applyScale(), ossimImageGeometry::calculatePolyBounds(), ossimGrect::clipToRect(), ossimMapProjection::computeDegreesPerPixel(), ossimGrect::computeEvenTiles(), ossimImageGeometry::computeGroundToImagePartials(), ossimMapProjection::computeMetersPerPixel(), ossimUtmProjection::computeZone(), ossimSrtmElevationDatabase::createId(), ossimDtedElevationDatabase::createId(), ossimEpsgProjectionFactory::createProjFromAutoCode(), ossimSrtmElevationDatabase::createRelativePath(), ossimDtedElevationDatabase::createRelativePath(), ossimGeographicAnnotationGrid::draw(), ossimEsriShapeFileFilter::drawAnnotations(), ossimTieGpt::exportAsGmlNode(), ossimPositionQualityEvaluator::extractErrorEllipse(), ossimGoogleProjection::forward(), ossimMercatorProjection::forward(), ossimAlphaSensor::getCameraPosition(), ossimImageGeometry::getCrossesDateline(), ossimGdalOgrVectorAnnotation::getFeatures(), ossimSarModel::getForwardDeriv(), ossimRpcModel::getForwardDeriv(), ossimOrthoGraphicProjection::getGroundClipPoints(), ossimRpfCacheTileSource::getImageGeometry(), ossimImageCacheBase::getImageGeometry(), ossimInfo::getImageGeometryInfo(), ossimHgtRef::getLocalTerrainNormal(), ossimUsgsQuad::getQuadList(), ossimElevImageSource::getTile(), ossimImageViewProjectionTransform::getViewSegments(), ossimTieGpt::importFromGmlNode(), ossimGpkgSpatialRefSysRecord::init(), ossimQuadProjection::initializeGrids(), ossimImageViewProjectionTransform::initializeViewSize(), ossimMapProjection::lineSampleHeightToWorld(), ossimCadrgProjection::lineSampleToWorld(), ossimLlxyProjection::lineSampleToWorld(), ossimSrtmFilename::ll(), ossimMapProjectionInfo::llGroundPt(), ossimCadrgProjection::loadState(), ossimQuadProjection::loadState(), ossimUtmProjection::loadState(), ossimObliqueMercatorProjection::loadState(), ossimMapProjection::loadState(), ossimSrtmFilename::lr(), ossimMapProjectionInfo::lrGroundPt(), ossimNitfProjectionFactory::makeEuiDistant(), ossimGeoidNgs::offsetFromEllipsoid(), operator>>(), ossimQuadProjection::origin(), ossimBilinearProjection::origin(), ossimEcefPoint::ossimEcefPoint(), ossimGrect::ossimGrect(), ossimNitfProjectionFactory::parseGeographicString(), print(), ossimMapProjection::print(), ossimTieGpt::printTab(), ossimCadrgProjection::saveState(), ossimApplanixUtmModel::saveState(), ossimQuadProjection::saveState(), ossimObliqueMercatorProjection::saveState(), ossimElevImageSource::saveState(), ossimplugins::ossimSpot6DimapSupportData::saveState(), ossimplugins::ossimPleiadesDimapSupportData::saveState(), ossimSpotDimapSupportData::saveState(), ossimFormosatDimapSupportData::saveState(), ossimMapProjection::saveState(), ossimNewZealandMapGridProjection::setDefaults(), ossimObliqueMercatorProjection::setDefaults(), ossimGeographicAnnotationGrid::setViewProjectionInformation(), ossimUtmProjection::setZone(), ossimNadconNarDatum::shift(), ossimNadconNasDatum::shift(), ossimWgs72Datum::shift(), ossimWgs84Datum::shift(), ossimThreeParamDatum::shift(), ossimSevenParamDatum::shift(), ossimWgs72Datum::shiftFromWgs84(), ossimThreeParamDatum::shiftFromWgs84(), ossimSevenParamDatum::shiftFromWgs84(), ossimWgs72Datum::shiftToWgs84(), ossimWgs84Datum::shiftToWgs84(), ossimThreeParamDatum::shiftToWgs84(), ossimMapProjection::snapTiePointTo(), ossimMapProjection::snapTiePointToOrigin(), ossimGrect::stretchToEvenBoundary(), toDmsString(), toString(), ossimGeoAnnotationMultiPolyLineObject::transform(), ossimSrtmFilename::ul(), ossimMapProjectionInfo::ulGroundPt(), ossimUtmProjection::update(), ossimApplanixUtmModel::updateModel(), ossimSpectraboticsRedEdgeModel::updateModel(), ossimApplanixEcefModel::updateModel(), ossimIpodSensor::updateModel(), ossimSkyBoxLearSensor::updateModel(), ossimSrtmFilename::ur(), ossimMapProjectionInfo::urGroundPt(), ossimGrect::width(), ossimCadrgProjection::worldToLineSample(), ossimBilinearProjection::worldToLineSample(), ossimMapProjection::worldToLineSample(), and ossimLlxyProjection::worldToLineSample().

97 {return lon;}
ossim_float64 lon
Definition: ossimGpt.h:266

◆ lond() [2/2]

void ossimGpt::lond ( double  degreeValue)
inline

Assumes the passed in value is in degrees.

Definition at line 102 of file ossimGpt.h.

102 {lon = degreeValue; }//limitLonTo180();}
ossim_float64 lon
Definition: ossimGpt.h:266

◆ lonr() [1/2]

double ossimGpt::lonr ( ) const
inline

Returns the longitude in radian measure.

Definition at line 76 of file ossimGpt.h.

References RAD_PER_DEG.

Referenced by ossimUtmProjection::computeZone(), ossimUpspt::convertFromGeodetic(), ossimUtmpt::convertFromGround(), ossimUtmpt::convertToGround(), ossimBngProjection::forward(), ossimUpsProjection::forward(), ossimNewZealandMapGridProjection::forward(), ossimBonneProjection::forward(), ossimCassiniProjection::forward(), ossimEckert6Projection::forward(), ossimPolarStereoProjection::forward(), ossimGnomonicProjection::forward(), ossimEckert4Projection::forward(), ossimTransMercatorProjection::forward(), ossimUtmProjection::forward(), ossimVanDerGrintenProjection::forward(), ossimMillerProjection::forward(), ossimCylEquAreaProjection::forward(), ossimMollweidProjection::forward(), ossimPolyconicProjection::forward(), ossimStereographicProjection::forward(), ossimMercatorProjection::forward(), ossimTransCylEquAreaProjection::forward(), ossimSinusoidalProjection::forward(), ossimOrthoGraphicProjection::forward(), ossimAzimEquDistProjection::forward(), ossimObliqueMercatorProjection::forward(), ossimEquDistCylProjection::forward(), ossimSpaceObliqueMercatorProjection::forward(), ossimLambertConformalConicProjection::forward(), ossimAlbersProjection::forward(), ossimAlphaSensor::getPositionOrientation(), ossimBngProjection::inverse(), ossimOrthoGraphicProjection::inverse(), ossimGeoref::ossimGeoref(), ossimNewZealandMapGridProjection::setDefaults(), ossimUtmProjection::setZone(), ossimThreeParamDatum::shiftFromWgs84(), ossimThreeParamDatum::shiftToWgs84(), ossimGeoref::toString(), ossimNewZealandMapGridProjection::update(), ossimEckert6Projection::update(), ossimBonneProjection::update(), ossimCassiniProjection::update(), ossimStereographicProjection::update(), ossimPolarStereoProjection::update(), ossimGnomonicProjection::update(), ossimUtmProjection::update(), ossimTransMercatorProjection::update(), ossimMollweidProjection::update(), ossimVanDerGrintenProjection::update(), ossimEckert4Projection::update(), ossimMillerProjection::update(), ossimPolyconicProjection::update(), ossimMercatorProjection::update(), ossimCylEquAreaProjection::update(), ossimTransCylEquAreaProjection::update(), ossimSinusoidalProjection::update(), ossimOrthoGraphicProjection::update(), ossimAzimEquDistProjection::update(), ossimObliqueMercatorProjection::update(), ossimEquDistCylProjection::update(), ossimLambertConformalConicProjection::update(), and ossimAlbersProjection::update().

76 {return lon*RAD_PER_DEG;}
ossim_float64 lon
Definition: ossimGpt.h:266
#define RAD_PER_DEG

◆ lonr() [2/2]

void ossimGpt::lonr ( double  radianValue)
inline

Assumes the value being passed in is in radians.

Definition at line 81 of file ossimGpt.h.

References DEG_PER_RAD.

82  {lon = radianValue*DEG_PER_RAD; }//limitLonTo180();}
#define DEG_PER_RAD
ossim_float64 lon
Definition: ossimGpt.h:266

◆ makeNan()

void ossimGpt::makeNan ( )
inline

Definition at line 130 of file ossimGpt.h.

References ossim::nan().

Referenced by ossimViewshedTool::clear(), ossimFormosatDimapSupportData::clearFields(), ossimSpotDimapSupportData::clearFields(), ossimplugins::ossimSpot6DimapSupportData::clearFields(), ossimplugins::ossimPleiadesDimapSupportData::clearFields(), ossimPointCloudGeometry::convertPos(), ossimKmlSuperOverlayWriter::generateChildKml(), ATP::AutoTiePoint::getRefGroundPoint(), ossimImageGeometry::getTiePoint(), ossimIvtGeomXform::imageToGround(), ossimOrthoGraphicProjection::inverse(), ossimQuadProjection::lineSampleHeightToWorld(), ossimIpodSensor::lineSampleHeightToWorld(), ossimBilinearProjection::lineSampleHeightToWorld(), ossimMapProjection::lineSampleHeightToWorld(), ossimEquDistCylProjection::lineSampleHeightToWorld(), ossimSonomaSensor::lineSampleHeightToWorld(), ossimplugins::ossimTileMapModel::lineSampleHeightToWorld(), ossimRsmModel::lineSampleToWorld(), ossimPolynomProjection::lineSampleToWorld(), ossimLlxyProjection::lineSampleToWorld(), ossimSonomaSensor::lineSampleToWorld(), ossimRpcProjection::lineSampleToWorld(), ossimRpcModel::lineSampleToWorld(), ossimSrtmFilename::ll(), ossimQuadProjection::loadState(), ossimImageGeometry::localToWorld(), ossimSrtmFilename::lr(), ossimTieGpt::makeNan(), ossimGrect::makeNan(), operator>>(), ossimQuadProjection::origin(), ossimBilinearProjection::origin(), ossimGpt(), ossimPointObservation::ossimPointObservation(), ossimQuadProjection::ossimQuadProjection(), ossimViewshedTool::ossimViewshedTool(), ossimPointObservation::reset(), ossimSrtmFilename::ul(), ossimSrtmFilename::ur(), and ossimIvtGeomXform::viewToGround().

double nan()
Method to return ieee floating point double precision NAN.
Definition: ossimCommon.h:135
ossim_float64 hgt
Height in meters above the ellipsiod.
Definition: ossimGpt.h:274
ossim_float64 lon
Definition: ossimGpt.h:266
ossim_float64 lat
Definition: ossimGpt.h:265

◆ metersPerDegree()

ossimDpt ossimGpt::metersPerDegree ( ) const

Definition at line 498 of file ossimGpt.cpp.

References ossim::cosd(), ossimDatum::ellipsoid(), ossimEllipsoid::geodeticRadii(), ossimEllipsoid::geodeticRadius(), lat, RAD_PER_DEG, theDatum, ossimDpt::x, and ossimDpt::y.

Referenced by ossimRangeDome::boundingRect(), ossimLlxyProjection::computeDegreesPerPixel(), ossimImageGeometry::computeGroundToImagePartials(), ossimUnitConversionTool::computeMeters(), ossimLlxyProjection::computeMetersPerPixel(), ossimMapProjection::computeMetersPerPixel(), ossimAlphaSensor::getCameraPosition(), ossimUnitConversionTool::getDegrees(), ossimHgtRef::getLocalTerrainNormal(), ossimUnitConversionTool::getNauticalMiles(), ossimPointObservation::getObsCov(), ossimInfo::mtrsPerDeg(), ossimSrtmHandler::open(), ossimLlxyProjection::setLatSpacing(), ossimLlxyProjection::setLonSpacing(), ossimMapProjection::update(), ossimApplanixUtmModel::updateModel(), ossimSpectraboticsRedEdgeModel::updateModel(), and ossimApplanixEcefModel::updateModel().

499 {
500 //#define USE_ELLIPTICAL_RADII
501 #ifdef USE_ELLIPTICAL_RADII
502  ossimDpt radii;
503  theDatum->ellipsoid()->geodeticRadii(lat, radii);
504  return ossimDpt (RAD_PER_DEG * radii.x * ossim::cosd(lat),
505  RAD_PER_DEG * radii.y);
506 #else
507  ossimDpt result;
508 
509  double radius = theDatum->ellipsoid()->geodeticRadius(lat);
510  result.y = RAD_PER_DEG * radius;
511  result.x = result.y * ossim::cosd(lat);
512 
513  return result;
514 #endif
515 }
const ossimDatum * theDatum
Know reference location plus an implied ellipsoid.
Definition: ossimGpt.h:281
double y
Definition: ossimDpt.h:165
virtual const ossimEllipsoid * ellipsoid() const
Definition: ossimDatum.h:60
double cosd(double x)
Definition: ossimCommon.h:259
void geodeticRadii(const double &latitude, ossimDpt &radii) const
double geodeticRadius(const double &latitude) const
double x
Definition: ossimDpt.h:164
ossim_float64 lat
Definition: ossimGpt.h:265
#define RAD_PER_DEG

◆ operator!=()

bool ossimGpt::operator!= ( const ossimGpt gpt) const
inline

Definition at line 213 of file ossimGpt.h.

213 { return !(*this == gpt); }

◆ operator=()

const ossimGpt & ossimGpt::operator= ( const ossimGpt aPt)
inline

Definition at line 285 of file ossimGpt.h.

References datum(), hgt, ossimDatumFactory::instance(), lat, lon, theDatum, and ossimDatumFactory::wgs84().

Referenced by ossimTieGpt::operator=(), and ossimTieGpt::setGroundPoint().

286 {
287  if ( this != &aPt )
288  {
289  lat = aPt.lat;
290  lon = aPt.lon;
291  hgt = aPt.hgt;
292 
293  if(aPt.datum())
294  {
295  theDatum = aPt.datum();
296  }
297  if(!theDatum)
298  {
300  }
301  }
302  return *this;
303 }
const ossimDatum * theDatum
Know reference location plus an implied ellipsoid.
Definition: ossimGpt.h:281
ossim_float64 hgt
Height in meters above the ellipsiod.
Definition: ossimGpt.h:274
const ossimDatum * datum() const
datum().
Definition: ossimGpt.h:196
ossim_float64 lon
Definition: ossimGpt.h:266
static ossimDatumFactory * instance()
ossim_float64 lat
Definition: ossimGpt.h:265
const ossimDatum * wgs84() const

◆ operator==()

bool ossimGpt::operator== ( const ossimGpt gpt) const

Definition at line 517 of file ossimGpt.cpp.

References ossim::almostEqual(), hgt, lat, lon, and theDatum.

518 {
519  return ( ossim::almostEqual(lat, gpt.lat) &&
520  ossim::almostEqual(lon, gpt.lon) &&
521  ossim::almostEqual(hgt, gpt.hgt) &&
522  (*theDatum == *(gpt.theDatum)));
523 }
const ossimDatum * theDatum
Know reference location plus an implied ellipsoid.
Definition: ossimGpt.h:281
bool almostEqual(T x, T y, T tolerance=FLT_EPSILON)
Definition: ossimCommon.h:53
ossim_float64 hgt
Height in meters above the ellipsiod.
Definition: ossimGpt.h:274
ossim_float64 lon
Definition: ossimGpt.h:266
ossim_float64 lat
Definition: ossimGpt.h:265

◆ print()

std::ostream & ossimGpt::print ( std::ostream &  os,
ossim_uint32  precision = 15 
) const

Definition at line 27 of file ossimGpt.cpp.

References ossimString::c_str(), ossimDatum::code(), height(), isHgtNan(), isLatNan(), isLonNan(), latd(), lond(), and theDatum.

Referenced by operator<<().

28 {
29  // Capture the original flags.
30  std::ios_base::fmtflags f = os.flags();
31 
32  // Set the new precision capturing old.
33  std::streamsize oldPrecision = os.precision(precision);
34 
35  os << setiosflags(ios::fixed)
36  << "( ";
37 
38  if(isLatNan())
39  {
40  os << "nan" << ", ";
41  }
42  else
43  {
44  os << latd() << ", ";
45  }
46  if(isLonNan())
47  {
48  os << "nan" << ", ";
49  }
50  else
51  {
52  os << lond() << ", ";
53  }
54  if(isHgtNan())
55  {
56  os << "nan" << ", ";
57  }
58  else
59  {
60  // millimeter precision for height
61  os << setprecision(3) << height() << ", ";
62  }
63 
64  os << (theDatum?theDatum->code().c_str():"") << " )";
65 
66  // Reset flags and precision.
67  os.setf(f);
68  os.precision(oldPrecision);
69 
70  return os;
71 }
double lond() const
Will convert the radian measure to degrees.
Definition: ossimGpt.h:97
bool isLonNan() const
Definition: ossimGpt.h:140
const ossimDatum * theDatum
Know reference location plus an implied ellipsoid.
Definition: ossimGpt.h:281
virtual const ossimString & code() const
Definition: ossimDatum.h:57
double latd() const
Will convert the radian measure to degrees.
Definition: ossimGpt.h:87
bool isLatNan() const
Definition: ossimGpt.h:139
bool isHgtNan() const
Definition: ossimGpt.h:143
double height() const
Definition: ossimGpt.h:107
const char * c_str() const
Returns a pointer to a null-terminated array of characters representing the string&#39;s contents...
Definition: ossimString.h:396

◆ toDmsString()

ossimString ossimGpt::toDmsString ( ) const

Definition at line 340 of file ossimGpt.cpp.

References isLatNan(), isLonNan(), latd(), lond(), and ossimDms::toString().

341 {
342  ossimString result;
343 
344  result += "lat: ";
345  if(isLatNan())
346  {
347  result += "nan";
348  }
349  else
350  {
351  result += ossimDms(latd()).toString("dd@mm'ss.ssss\"C");
352  }
353  result += " lon: ";
354  if(isLonNan())
355  {
356  result += "nan";
357  }
358  else
359  {
360  result += ossimDms(lond(),false).toString("dd@mm'ss.ssss\"C");
361  }
362 
363  return result;
364 }
double lond() const
Will convert the radian measure to degrees.
Definition: ossimGpt.h:97
bool isLonNan() const
Definition: ossimGpt.h:140
double latd() const
Will convert the radian measure to degrees.
Definition: ossimGpt.h:87
bool isLatNan() const
Definition: ossimGpt.h:139
ossimString toString(const ossimString &formatString=ossimString("")) const
You can specify a number of different formats.
Definition: ossimDms.cpp:294

◆ toPoint()

void ossimGpt::toPoint ( const std::string &  s)

Initializes this point from string.

This method opens an istream to s and then calls operator>>.

Expected format: ( 30.00000000000000, -90.00000000000000, 0.00000000000000, WGE ) --—latitude-— --—longitude-— ---—height-— datum

Parameters
sString to initialize from.
See also
operator>>

Definition at line 116 of file ossimGpt.cpp.

Referenced by ossimChipperUtil::addCrossHairAnnotation(), ossimBilinearProjection::loadState(), ossimIpodSensor::loadState(), ossimSkyBoxLearSensor::loadState(), ossimSonomaSensor::loadState(), and ossim::toVector().

117 {
118  std::istringstream is(s);
119  is >> *this;
120 }
std::basic_istringstream< char > istringstream
Class for char input memory streams.
Definition: ossimIosFwd.h:32

◆ toString()

ossimString ossimGpt::toString ( ossim_uint32  precision = 15) const
Parameters
precisionOutput floating point precision.
Returns
ossimString representing point.

Output format: ( 30.00000000000000, -90.00000000000000, 0.00000000000000, WGE ) --—latitude-— --—longitude-— ---—height-— datum

Definition at line 78 of file ossimGpt.cpp.

References ossimString::c_str(), ossimDatum::code(), height(), isHgtNan(), isLatNan(), isLonNan(), latd(), lond(), and theDatum.

Referenced by ossimInfo::ecef2llh(), ossimInfo::getCenterGround(), ossimInfo::getImageBounds(), ossimGeoAnnotationEllipseObject::saveState(), ossimGeoAnnotationFontObject::saveState(), ossimIpodSensor::saveState(), ossimSkyBoxLearSensor::saveState(), and ossimSonomaSensor::saveState().

79 {
81 
82  os << setprecision(precision);
83  os << "(";
84 
85  if(isLatNan())
86  {
87  os << "nan" << ",";
88  }
89  else
90  {
91  os << latd() << ",";
92  }
93  if(isLonNan())
94  {
95  os << "nan" << ",";
96  }
97  else
98  {
99  os << lond() << ",";
100  }
101  if(isHgtNan())
102  {
103  os << "nan" << ",";
104  }
105  else
106  {
107  // millimeter precision for height
108  os << height() << ",";
109  }
110 
111  os << (theDatum?theDatum->code().c_str():"") << ")";
112  return ossimString(os.str());
113 }
std::basic_ostringstream< char > ostringstream
Class for char output memory streams.
Definition: ossimIosFwd.h:35
double lond() const
Will convert the radian measure to degrees.
Definition: ossimGpt.h:97
bool isLonNan() const
Definition: ossimGpt.h:140
const ossimDatum * theDatum
Know reference location plus an implied ellipsoid.
Definition: ossimGpt.h:281
virtual const ossimString & code() const
Definition: ossimDatum.h:57
double latd() const
Will convert the radian measure to degrees.
Definition: ossimGpt.h:87
bool isLatNan() const
Definition: ossimGpt.h:139
bool isHgtNan() const
Definition: ossimGpt.h:143
double height() const
Definition: ossimGpt.h:107
const char * c_str() const
Returns a pointer to a null-terminated array of characters representing the string&#39;s contents...
Definition: ossimString.h:396

◆ wrap()

void ossimGpt::wrap ( )
inline

Wrap method to maintain longitude between -180 and +180 and latitude between -90 and +90.

Inlined below.

Definition at line 305 of file ossimGpt.h.

References lat, and lon.

Referenced by ossimRsmModel::lineSampleHeightToWorld(), ossimImageGeometry::localToWorld(), ossimGeoidImage::offsetFromEllipsoidTemplate(), and ossimInfo::outputHeight().

306 {
307  if ( lon > 180.0 )
308  {
309  do
310  {
311  lon = lon - 360.0;
312  } while ( lon > 180.0 );
313  }
314  else if ( lon < -180.0 )
315  {
316  do
317  {
318  lon = lon + 360.0;
319  } while ( lon < -180.0 );
320  }
321  if ( lat > 90.0 )
322  {
323  if ( lat > 360.0 ) // Remove total wraps.
324  {
325  do
326  {
327  lat = lat - 360.0;
328  } while ( lat > 360.0);
329  }
330  if ( lat > 270.0 ) // Between 270 and 360.
331  {
332  lat = lat - 360.0;
333  }
334  else if ( lat > 90 ) // Between 90 and 270.
335  {
336  lat = 180.0 - lat;
337  }
338  }
339  else if ( lat < -90.0 )
340  {
341  if ( lat < -360.0 ) // Remove total wraps.
342  {
343  do
344  {
345  lat = lat + 360.0;
346  } while ( lat < -360.0);
347  }
348  if ( lat < -270.0 )
349  {
350  lat = 360.0 + lat; // Between -270 and -360;
351  }
352  else if ( lat < -90.0 )
353  {
354  lat = -180.0 - lat;
355  }
356  }
357 }
ossim_float64 lon
Definition: ossimGpt.h:266
ossim_float64 lat
Definition: ossimGpt.h:265

Friends And Related Function Documentation

◆ operator<<

OSSIMDLLEXPORT std::ostream& operator<< ( std::ostream &  os,
const ossimGpt pt 
)
friend

Definition at line 73 of file ossimGpt.cpp.

74 {
75  return pt.print(os);
76 }
std::ostream & print(std::ostream &os, ossim_uint32 precision=15) const
Definition: ossimGpt.cpp:27

◆ operator>>

OSSIMDLLEXPORT std::istream& operator>> ( std::istream &  is,
ossimGpt pt 
)
friend

Method to input the formatted string of the "operator<<".

This method starts by doing a "makeNan" on aPt. So if anything goes wrong with the stream or parsing aPt could be all or partially nan.

Parameters
isInput stream istream to formatted text.
aPtosimGpt to be initialized from stream.
Returns
istream pass in.

Expected format: ( 30.00000000000000, -90.00000000000000, 0.00000000000000, WGE ) --—latitude-— --—longitude-— ---—height-— datum

Definition at line 122 of file ossimGpt.cpp.

123 {
124  //---
125  // Expected input format:
126  // ( 30.00000000000000, -90.00000000000000, 0.00000000000000, WGE )
127  // -----latitude---- -----longitude---- ------height---- datum
128  //---
129 
130  // Start with a nan point.
131  pt.makeNan();
132 
133  // Check the stream.
134  if (!is) return is;
135 
136  const int SZ = 64; // Handle real big number...
137  ossimString os;
138  char buf[SZ];
139  char c = 0;
140 
141  //---
142  // LATITUDE SECTION:
143  //---
144 
145  // Grab data up to the first comma.
146  is.get(buf, SZ, ',');
147 
148  if (!is) return is;
149 
150  // Copy to ossim string.
151  os = buf;
152 
153  // Get rid of the '(' if there is any.
154  std::string::size_type pos = os.find('(');
155  if (pos != std::string::npos)
156  {
157  os.erase(pos, 1);
158  }
159 
160  if (os.contains("nan") == false)
161  {
162  pt.latd(os.toFloat64());
163  }
164  else
165  {
166  pt.latd(ossim::nan());
167  }
168 
169  // Eat the comma that we stopped at.
170  while (c != ',')
171  {
172  is.get(c);
173  if (!is) break;
174  }
175 
176  //---
177  // LONGITUDE SECTION:
178  //---
179 
180  // Grab the data up to the next ','
181  is.get(buf, SZ, ',');
182 
183  if (!is) return is;
184 
185  // Copy to ossim string.
186  os = buf;
187 
188  if (os.contains("nan") == false)
189  {
190  pt.lond(os.toFloat64());
191  }
192  else
193  {
194  pt.lond(ossim::nan());
195  }
196 
197  // Eat the comma that we stopped at.
198  c = 0;
199  while (c != ',')
200  {
201  is.get(c);
202  if (!is) break;
203  }
204 
205  //---
206  // HEIGHT SECTION:
207  //---
208 
209  // Grab the data up to the ','
210  is.get(buf, SZ, ',');
211 
212  if (!is) return is;
213 
214  // Copy to ossim string.
215  os = buf;
216 
217  if (os.contains("nan") == false)
218  {
219  pt.height(os.toFloat64());
220  }
221  else
222  {
223  pt.height(ossim::nan());
224  }
225 
226  // Eat the comma that we stopped at.
227  c = 0;
228  while (c != ',')
229  {
230  is.get(c);
231  if (!is) break;
232  }
233 
234  //---
235  // DATUM SECTION:
236  //---
237 
238  // Grab the data up to the ')'
239  is.get(buf, SZ, ')');
240 
241  if (!is) return is;
242 
243  // Copy to ossim string.
244  os = buf;
245  os.trim(); // Just in case datum factory doesn't handle spaces.
246 
248  if (datum)
249  {
250  pt.datum(datum);
251  }
252  else
253  {
254  pt.datum(ossimDatumFactory::instance()->wgs84());
255  }
256 
257  // Gobble the trailing ")".
258  c = 0;
259  while (c != ')')
260  {
261  is.get(c);
262  if (!is) break;
263  }
264 
265  // Finished
266  return is;
267 }
double lond() const
Will convert the radian measure to degrees.
Definition: ossimGpt.h:97
static ossimDatumFactoryRegistry * instance()
instance method
double nan()
Method to return ieee floating point double precision NAN.
Definition: ossimCommon.h:135
bool contains(char aChar) const
Definition: ossimString.h:58
void makeNan()
Definition: ossimGpt.h:130
double latd() const
Will convert the radian measure to degrees.
Definition: ossimGpt.h:87
const ossimDatum * datum() const
datum().
Definition: ossimGpt.h:196
std::string::iterator erase(std::string::iterator p)
Erases the character at position p.
Definition: ossimString.h:736
virtual const ossimDatum * create(const ossimString &code) const
create method
ossimString trim(const ossimString &valueToTrim=ossimString(" \\)) const
this will strip lead and trailing character passed in.
double height() const
Definition: ossimGpt.h:107
ossim_float64 toFloat64() const
static ossimDatumFactory * instance()
std::string::size_type find(const std::string &s, std::string::size_type pos=0) const
Searches for s as a substring of *this, beginning at character pos of *this.
Definition: ossimString.h:753

Member Data Documentation

◆ hgt

ossim_float64 ossimGpt::hgt

Height in meters above the ellipsiod.

Note
This is NOT the same as "height msl". "Height msl" is above the geoid or better know as mean sea level.

Definition at line 274 of file ossimGpt.h.

Referenced by ossimPointCloudImageHandler::addSample(), ossimRpcProjection::buildNormalEquation(), ossimSensorModel::buildNormalEquation(), changeDatum(), ossimPositionQualityEvaluator::computeElevAzim(), ossimSensorModel::computeGsd(), ATP::AtpTileSource::computeParallax(), ossimPointCloudGeometry::convertPos(), RadialProcessor::doRadial(), ossimRialtoReader::establishMinMax(), ossimPdalReader::establishMinMax(), ossimQuadProjection::extrapolate(), ossimChipProcTool::findCenterGpt(), ossimQuickbirdRpcModel::finishConstruction(), ossimplugins::ossimSpot6Model::finishConstruction(), ossimplugins::ossimPleiadesModel::finishConstruction(), ossimRpcModel::getForwardDeriv(), ossimTieGptSet::getGroundBoundaries(), ossimRpcProjection::getInverseDeriv(), ossimSensorModel::getInverseDeriv(), ossimChipperUtil::getNewGeoScaledProjection(), ossimChipperUtil::getNewUtmProjection(), ossimRpcProjection::getResidue(), ossimSensorModel::getResidue(), ossimImageGeometry::getTiePoint(), heightMSL(), ossimFormosatDimapSupportData::initFramePoints(), ossimSpotDimapSupportData::initFramePoints(), ossimViewshedTool::initProcessingChain(), ossimplugins::ossimTerraSarProductDoc::initTiePoints(), isEqualTo(), ossimHlzTool::PatchProcessorJob::level2Test(), ossimQuadProjection::lineSampleHeightToWorld(), ossimPolynomProjection::lineSampleHeightToWorld(), ossimRsmModel::lineSampleHeightToWorld(), ossimBilinearProjection::lineSampleHeightToWorld(), ossimMapProjection::lineSampleHeightToWorld(), ossimEquDistCylProjection::lineSampleHeightToWorld(), ossimplugins::ossimGeometricSarSensorModel::lineSampleHeightToWorld(), ossimRpcModel::lineSampleHeightToWorld(), ossimLlxyProjection::lineSampleToWorld(), ossimGrect::ll(), ossim::GroundControlPoint::loadJSON(), ossimplugins::ossimRadarSat2RPCModel::open(), operator=(), operator==(), ossimPolynomProjection::optimizeFit(), ossimDpt3d::ossimDpt3d(), ossimGpt(), ossimGrect::ossimGrect(), ossimRangeDome::ossimRangeDome(), ossimplugins::ossimSpot6DimapSupportData::parseDatasetContent(), ossimplugins::ossimPleiadesDimapSupportData::parseDatasetContent(), ossimSpotDimapSupportData::parsePart3(), ossimGrect::pointWithin(), ossimPointCloudImageHandler::setCurrentEntry(), ossimBilinearProjection::setTiePoints(), ossimGrect::stretchToEvenBoundary(), ossimGrect::ur(), ossimRsmModel::worldToLineSample(), ossimPolynomProjection::worldToLineSample(), ossimH5GridModel::worldToLineSample(), ossimRpcModel::worldToLineSample(), ossimSensorModel::worldToLineSample(), and ossimImageGeometry::worldToLocal().

◆ lat

ossim_float64 ossimGpt::lat

Definition at line 265 of file ossimGpt.h.

Referenced by ossimNitfWriterBase::addGeolobTag(), ossimIgenGenerator::addPadding(), ossimMapProjection::applyScale(), azimuthTo(), ossimRangeDome::boundingRect(), ossimRpcProjection::buildNormalEquation(), ossimSensorModel::buildNormalEquation(), ossimGrect::combine(), ossimGrect::completely_within(), ossimChipProcTool::computeAdjustedViewFromGrect(), ossimPositionQualityEvaluator::computeElevAzim(), ossimFfL5::convertGeoPoint(), ossimFfL7::convertGeoPoint(), ossimEpsgProjectionDatabase::createProjFromFormatARecord(), ossimWktProjectionFactory::doMapCommon(), ossimRialtoReader::establishMinMax(), ossimPdalReader::establishMinMax(), ossimGrect::expandToInclude(), ossimQuadProjection::extrapolate(), ossimQuickbirdRpcModel::finishConstruction(), ossimplugins::ossimSpot6Model::finishConstruction(), ossimplugins::ossimPleiadesModel::finishConstruction(), ossimKmlSuperOverlayWriter::generateChildKml(), ossim_hdf5::getBilinearProjection(), ossimRialtoReader::getBlock(), ossimImageGeometry::getBoundingGroundRect(), ossimTiledElevationDatabase::getBoundingRect(), ossimElevationCellDatabase::getCellsForBounds(), ossimElevManager::getCellsForBounds(), ossimImageGeometry::getDegreesPerPixel(), ossimRpcModel::getForwardDeriv(), ossimGmlSupportData::getGeoBounds(), ossimGmlSupportData::getGeoOrigin(), ossimTieGptSet::getGroundBoundaries(), ossimTiledElevationDatabase::getHeightAboveMSL(), ossimDtedHandler::getHeightAboveMSL(), ossimSrtmHandler::getHeightAboveMSLFileTemplate(), ossimSrtmHandler::getHeightAboveMSLMemoryTemplate(), ossimRpcProjection::getInverseDeriv(), ossimSensorModel::getInverseDeriv(), ossimChipperUtil::getIrect(), ossimPdfWriter::getLgiDictCtm(), ossimChipperUtil::getNewGeoScaledProjection(), ossimGpkgTileEntry::getNewMapProjection(), ossimChipperUtil::getNewUtmProjection(), ossimXmpInfo::getProjection(), ossimGpkgWriter::getProjectionDimensionsInMeters(), ossimChipProcTool::getProjectionOrigin(), ossimRpcProjection::getResidue(), ossimSensorModel::getResidue(), ossimImageGeometry::getTiePoint(), ossimFormosatDimapSupportData::initFramePoints(), ossimSpotDimapSupportData::initFramePoints(), ossimTilingRect::initializeBase(), ossimH5GridModel::initializeModelParams(), ossimCoarseGridModel::initializeModelParams(), ossimGpkgWriter::initializeProjectionRect(), ossimGpkgWriter::initializeRect(), ossimImageViewProjectionTransform::initializeViewSize(), ossimplugins::ossimTerraSarProductDoc::initTiePoints(), ossimGrect::intersects(), isEqualTo(), ossimGrect::isLonLatNan(), ossimQuadProjection::lineSampleHeightToWorld(), ossimPolynomProjection::lineSampleHeightToWorld(), ossimRsmModel::lineSampleHeightToWorld(), ossimBilinearProjection::lineSampleHeightToWorld(), ossimplugins::ossimGeometricSarSensorModel::lineSampleHeightToWorld(), ossimplugins::ossimTileMapModel::lineSampleHeightToWorld(), ossimRpcModel::lineSampleHeightToWorld(), ossimGrect::ll(), ossim::GroundControlPoint::loadJSON(), ossimNitfProjectionFactory::makeEuiDistant(), ossimTiledElevationDatabase::mapRegion(), metersPerDegree(), ossimImageElevationHandler::open(), ossimplugins::ossimRadarSat2RPCModel::open(), ossimDpt::operator=(), operator=(), operator==(), ossimPolynomProjection::optimizeFit(), ossimViewshedTool::optimizeFOV(), ossimDpt3d::ossimDpt3d(), ossimGpt(), ossimGrect::ossimGrect(), ossimRangeDome::ossimRangeDome(), ossimplugins::ossimSpot6DimapSupportData::parseDatasetContent(), ossimplugins::ossimPleiadesDimapSupportData::parseDatasetContent(), ossimSpotDimapSupportData::parsePart3(), ossimGrect::pointWithin(), ossimUsgsQuad::quadKwRect(), ossimUsgsQuad::quadRect(), ossimUsgsQuad::quarterQuadKwRect(), ossimUsgsQuad::quarterQuadRect(), ossimUsgsQuad::quarterQuadSegRect(), ossimGpkgWriter::setProjectionTie(), ossimBilinearProjection::setTiePoints(), ossimPotraceTool::transformLineStrings(), ossimPotraceTool::transformPolygons(), ossimGrect::ur(), ossimRsmModel::worldToLineSample(), ossimPolynomProjection::worldToLineSample(), ossimplugins::ossimTileMapModel::worldToLineSample(), ossimH5GridModel::worldToLineSample(), ossimEquDistCylProjection::worldToLineSample(), ossimRpcModel::worldToLineSample(), ossimSensorModel::worldToLineSample(), wrap(), and ossimWriter::writeTiffTags().

◆ lon

ossim_float64 ossimGpt::lon

Definition at line 266 of file ossimGpt.h.

Referenced by ossimNitfWriterBase::addGeolobTag(), ossimIgenGenerator::addPadding(), ossimMapProjection::applyScale(), azimuthTo(), ossimRangeDome::boundingRect(), ossimRpcProjection::buildNormalEquation(), ossimSensorModel::buildNormalEquation(), ossimRpfUtil::checkLongitude(), ossimGrect::combine(), ossimGrect::completely_within(), ossimChipProcTool::computeAdjustedViewFromGrect(), ossimPositionQualityEvaluator::computeElevAzim(), ossimFfL5::convertGeoPoint(), ossimFfL7::convertGeoPoint(), ossimEpsgProjectionDatabase::createProjFromFormatARecord(), ossimWktProjectionFactory::doMapCommon(), ossimRialtoReader::establishMinMax(), ossimPdalReader::establishMinMax(), ossimGrect::expandToInclude(), ossimQuadProjection::extrapolate(), ossimQuickbirdRpcModel::finishConstruction(), ossimplugins::ossimSpot6Model::finishConstruction(), ossimplugins::ossimPleiadesModel::finishConstruction(), ossimKmlSuperOverlayWriter::generateChildKml(), ossim_hdf5::getBilinearProjection(), ossimRialtoReader::getBlock(), ossimImageGeometry::getBoundingGroundRect(), ossimTiledElevationDatabase::getBoundingRect(), ossimElevationCellDatabase::getCellsForBounds(), ossimElevManager::getCellsForBounds(), ossimImageGeometry::getDegreesPerPixel(), ossimRpcModel::getForwardDeriv(), ossimGmlSupportData::getGeoBounds(), ossimGmlSupportData::getGeoOrigin(), ossimTieGptSet::getGroundBoundaries(), ossimTiledElevationDatabase::getHeightAboveMSL(), ossimDtedHandler::getHeightAboveMSL(), ossimSrtmHandler::getHeightAboveMSLFileTemplate(), ossimSrtmHandler::getHeightAboveMSLMemoryTemplate(), ossimRpfTocEntry::getImageGeometry(), ossimInfo::getImageGeometryInfo(), ossimRpcProjection::getInverseDeriv(), ossimSensorModel::getInverseDeriv(), ossimChipperUtil::getIrect(), ossimPdfWriter::getLgiDictCtm(), ossimChipperUtil::getNewGeoScaledProjection(), ossimGpkgTileEntry::getNewMapProjection(), ossimChipperUtil::getNewUtmProjection(), ossimXmpInfo::getProjection(), ossimChipProcTool::getProjectionOrigin(), ossimRpcProjection::getResidue(), ossimSensorModel::getResidue(), ossimImageGeometry::getTiePoint(), ossimFormosatDimapSupportData::initFramePoints(), ossimSpotDimapSupportData::initFramePoints(), ossimTilingRect::initializeBase(), ossimH5GridModel::initializeModelParams(), ossimCoarseGridModel::initializeModelParams(), ossimGpkgWriter::initializeRect(), ossimImageViewProjectionTransform::initializeViewSize(), ossimplugins::ossimTerraSarProductDoc::initTiePoints(), ossimGrect::intersects(), isEqualTo(), ossimGrect::isLonLatNan(), ossimQuadProjection::lineSampleHeightToWorld(), ossimPolynomProjection::lineSampleHeightToWorld(), ossimRsmModel::lineSampleHeightToWorld(), ossimBilinearProjection::lineSampleHeightToWorld(), ossimplugins::ossimGeometricSarSensorModel::lineSampleHeightToWorld(), ossimplugins::ossimTileMapModel::lineSampleHeightToWorld(), ossimRpcModel::lineSampleHeightToWorld(), ossimGrect::ll(), ossim::GroundControlPoint::loadJSON(), ossimTiledElevationDatabase::mapRegion(), ossimImageElevationHandler::open(), ossimplugins::ossimRadarSat2RPCModel::open(), ossimDpt::operator=(), operator=(), operator==(), ossimPolynomProjection::optimizeFit(), ossimViewshedTool::optimizeFOV(), ossimDpt3d::ossimDpt3d(), ossimGpt(), ossimGrect::ossimGrect(), ossimRangeDome::ossimRangeDome(), ossimplugins::ossimSpot6DimapSupportData::parseDatasetContent(), ossimplugins::ossimPleiadesDimapSupportData::parseDatasetContent(), ossimSpotDimapSupportData::parsePart3(), ossimGrect::pointWithin(), ossimUsgsQuad::quadKwRect(), ossimUsgsQuad::quadRect(), ossimUsgsQuad::quarterQuadKwRect(), ossimUsgsQuad::quarterQuadRect(), ossimGpkgWriter::setProjectionTie(), ossimBilinearProjection::setTiePoints(), ossimPotraceTool::transformLineStrings(), ossimPotraceTool::transformPolygons(), ossimGrect::ur(), ossimRsmModel::worldToLineSample(), ossimPolynomProjection::worldToLineSample(), ossimplugins::ossimTileMapModel::worldToLineSample(), ossimH5GridModel::worldToLineSample(), ossimEquDistCylProjection::worldToLineSample(), ossimRpcModel::worldToLineSample(), ossimSensorModel::worldToLineSample(), wrap(), and ossimWriter::writeTiffTags().

◆ theDatum

const ossimDatum* ossimGpt::theDatum
private

Know reference location plus an implied ellipsoid.

Definition at line 281 of file ossimGpt.h.

Referenced by changeDatum(), isEqualTo(), metersPerDegree(), operator=(), operator==(), ossimGpt(), print(), and toString().


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