OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimNadconGridDatum.cpp
Go to the documentation of this file.
2 
3 RTTI_DEF1(ossimNadconGridDatum, "ossimNadconGridDatum", ossimThreeParamDatum);
5  const ossimString &code, const ossimString &name,
6  const ossimEllipsoid* anEllipsoid,
7  double sigmaX,
8  double sigmaY,
9  double sigmaZ,
10  double westLongitude,
11  double eastLongitude,
12  double southLatitude,
13  double northLatitude,
14  double param1,
15  double param2,
16  double param3)
18  name,
19  anEllipsoid,
20  sigmaX,
21  sigmaY,
22  sigmaZ,
23  westLongitude,
24  eastLongitude,
25  southLatitude,
26  northLatitude,
27  param1,
28  param2,
29  param3),
30  theDatumDirectory(datumDirectory)
31 {
33 
34  ossimNadconGridHeader header;
42 
43  if(header.readHeader(theDatumDirectory.dirCat("conus.las")))
44  {
45  theConusRect = header.getBoundingRect();
46  }
47  if(header.readHeader(theDatumDirectory.dirCat("hawaii.las")))
48  {
49  theHawaiiRect = header.getBoundingRect();
50  }
51  if(header.readHeader(theDatumDirectory.dirCat("alaska.las")))
52  {
53  theAlaskaRect = header.getBoundingRect();
54  }
55  if(header.readHeader(theDatumDirectory.dirCat("stgeorge.las")))
56  {
58  }
59  if(header.readHeader(theDatumDirectory.dirCat("stlrnc.las")))
60  {
62  }
63  if(header.readHeader(theDatumDirectory.dirCat("stpaul.las")))
64  {
65  theStPaulRect = header.getBoundingRect();
66  }
67  if(header.readHeader(theDatumDirectory.dirCat("prvi.las")))
68  {
69  thePrviRect = header.getBoundingRect();
70  }
71 }
72 
73 void ossimNadconGridDatum::checkGrid(const ossimDpt& latLon)const
74 {
76  {
77  return;
78  }
79  else if(theConusRect.pointWithin(latLon))
80  {
83 
85  }
86  else if(theHawaiiRect.pointWithin(latLon))
87  {
88  theLatGrid.open(theDatumDirectory.dirCat("hawaii.las"));
89  theLonGrid.open(theDatumDirectory.dirCat("hawaii.los"));
90 
92  }
93  else if(theAlaskaRect.pointWithin(latLon))
94  {
95  theLatGrid.open(theDatumDirectory.dirCat("alaska.las"));
96  theLonGrid.open(theDatumDirectory.dirCat("alaska.los"));
97 
99  }
100  else if(theStGeorgeRect.pointWithin(latLon))
101  {
102  theLatGrid.open(theDatumDirectory.dirCat("stgeorge.las"));
103  theLonGrid.open(theDatumDirectory.dirCat("stgeorge.los"));
104 
106  }
107  else if(theLatStLaurenceRect.pointWithin(latLon))
108  {
109  theLatGrid.open(theDatumDirectory.dirCat("stlrnc.las"));
110  theLonGrid.open(theDatumDirectory.dirCat("stlrnc.los"));
111 
113  }
114  else if(theStPaulRect.pointWithin(latLon))
115  {
116  theLatGrid.open(theDatumDirectory.dirCat("stpaul.las"));
117  theLonGrid.open(theDatumDirectory.dirCat("stpaul.los"));
118 
120  }
121  else if(thePrviRect.pointWithin(latLon))
122  {
125 
127  }
128 }
129 
void makeNan()
Definition: ossimDrect.h:388
ossimFilename theDatumDirectory
bool pointWithin(const ossimDpt &pt, double epsilon=0.0) const
Definition: ossimDrect.h:781
bool readHeader(const ossimFilename &file)
void checkGrid(const ossimDpt &latLon) const
ossimNadconGridFile theLatGrid
ossimNadconGridDatum(const ossimFilename &datumDirectory, const ossimString &code, const ossimString &name, const ossimEllipsoid *anEllipsoid, double sigmaX, double sigmaY, double sigmaZ, double westLongitude, double eastLongitude, double southLatitude, double northLatitude, double param1, double param2, double param3)
ossimDrect getBoundingRect() const
RTTI_DEF1(ossimNadconGridDatum, "ossimNadconGridDatum", ossimThreeParamDatum)
ossimFilename dirCat(const ossimFilename &file) const
ossimNadconGridFile theLonGrid
bool open(const ossimFilename &file)