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

#include <ossimDemHeader.h>

Public Member Functions

 ossimDemHeader ()
 
bool open (const ossimFilename &file)
 open method that takes a file. More...
 
bool open (std::shared_ptr< ossim::istream > &str, const std::string &connectionString)
 
ossim::istreamopen (ossim::istream &is)
 open method that takes a stream. More...
 
std::ostream & print (std::ostream &out) const
 Print method. More...
 
std::string const & getQuadName () const
 
std::string const & getProcessInfo () const
 
double getSEGeoCornerX () const
 
double getSEGeoCornerY () const
 
ossim_int32 getProcessCode () const
 
std::string const & getSectionIndicator () const
 
std::string const & getMappingCenterCode () const
 
ossim_int32 getLevelCode () const
 
ossim_int32 getElevPattern () const
 
ossim_int32 getGroundRefSysCode () const
 
ossimString getProjectionType () const
 
ossim_int32 getGroundRefSysZone () const
 
ossim_int32 getGroundRefSysUnits () const
 
ossim_int32 getElevationUnits () const
 
ossim_int32 getNumPolySides () const
 
const ossimDemPointVectorgetDEMCorners () const
 
double getCounterclockAngle () const
 
ossim_int32 getElevAccuracyCode () const
 
double getMinimumElev () const
 
double getMaximumElev () const
 
double getSpatialResX () const
 
double getSpatialResY () const
 
double getSpatialResZ () const
 
ossim_int32 getProfileRows () const
 
ossim_int32 getProfileColumns () const
 
ossim_int32 getLargeContInt () const
 
ossim_int32 getMaxSourceUnits () const
 
ossim_int32 getSmallContInt () const
 
ossim_int32 getMinSourceUnits () const
 
ossim_int32 getSourceDate () const
 
ossim_int32 getInspRevDate () const
 
std::string const & getInspFlag () const
 
ossim_int32 getDataValFlag () const
 
ossim_int32 getSuspectVoidFlag () const
 
ossim_int32 getVertDatum () const
 
ossim_int32 getHorizDatum () const
 
ossimString getHorizDatumCode () const
 
ossim_int32 getDataEdition () const
 
ossim_int32 getPerctVoid () const
 
ossim_int32 getWestEdgeFlag () const
 
ossim_int32 getNorthEdgeFlag () const
 
ossim_int32 getEastEdgeFlag () const
 
ossim_int32 getSouthEdgeFlag () const
 
double getVertDatumShift () const
 
bool getImageGeometry (ossimKeywordlist &kwl, const char *prefix=NULL) const
 

Private Attributes

std::string _quadName
 
std::string _processInfo
 
double _seGeoCornerX
 
double _seGeoCornerY
 
ossim_int32 _processCode
 
std::string _sectionIndicator
 
std::string _mapCenterCode
 
ossim_int32 _levelCode
 
ossim_int32 _elevPattern
 
ossim_int32 _groundRefSysCode
 
ossim_int32 _groundRefSysZone
 
ossim_int32 _groundRefSysUnits
 
ossim_int32 _elevUnits
 
ossim_int32 _numPolySides
 
ossimDemPointVector _demCorners
 
double _counterclockAngle
 
ossim_int32 _elevAccuracyCode
 
double _minElevation
 
double _maxElevation
 
double _spatialResX
 
double _spatialResY
 
double _spatialResZ
 
ossim_int32 _profileRows
 
ossim_int32 _profileColumns
 
ossim_int32 _largeContInt
 
ossim_int32 _maxSourceUnits
 
ossim_int32 _smallContInt
 
ossim_int32 _minSourceUnits
 
ossim_int32 _sourceDate
 
ossim_int32 _inspRevDate
 
std::string _inspFlag
 
ossim_int32 _valFlag
 
ossim_int32 _suspectVoidFlg
 
ossim_int32 _vertDatum
 
ossim_int32 _horizDatum
 
ossim_int32 _dataEdition
 
ossim_int32 _perctVoid
 
ossim_int32 _westEdgeFlag
 
ossim_int32 _northEdgeFlag
 
ossim_int32 _eastEdgeFlag
 
ossim_int32 _southEdgeFlag
 
double _vertDatumShift
 

Friends

OSSIM_DLL std::ostream & operator<< (ossim::ostream &s, const ossimDemHeader &header)
 
OSSIM_DLL ossim::istreamoperator>> (ossim::istream &s, ossimDemHeader &header)
 

Detailed Description

Definition at line 30 of file ossimDemHeader.h.

Constructor & Destructor Documentation

◆ ossimDemHeader()

ossimDemHeader::ossimDemHeader ( )

Definition at line 78 of file ossimDemHeader.cpp.

79  : _seGeoCornerX(0.0),
80  _seGeoCornerY(0.0),
81  _processCode(0),
82  _levelCode(0),
83  _elevPattern(0),
87  _elevUnits(0),
88  _numPolySides(0),
89  _counterclockAngle(0.0),
91  _minElevation(0),
92  _maxElevation(0),
93  _spatialResX(0.0),
94  _spatialResY(0.0),
95  _spatialResZ(0.0),
96  _profileRows(0),
97  _profileColumns(0),
98  _largeContInt(0),
99  _maxSourceUnits(0),
100  _smallContInt(0),
101  _minSourceUnits(0),
102  _sourceDate(0),
103  _inspRevDate(0),
104  _valFlag(0),
105  _suspectVoidFlg(0),
106  _vertDatum(0),
107  _horizDatum(0),
108  _dataEdition(0),
109  _perctVoid(0),
110  _westEdgeFlag(0),
111  _northEdgeFlag(0),
112  _eastEdgeFlag(0),
113  _southEdgeFlag(0),
114  _vertDatumShift(0.0)
115 {
116 }
ossim_int32 _maxSourceUnits
double _vertDatumShift
ossim_int32 _suspectVoidFlg
ossim_int32 _levelCode
ossim_int32 _processCode
ossim_int32 _perctVoid
ossim_int32 _inspRevDate
ossim_int32 _vertDatum
ossim_int32 _dataEdition
ossim_int32 _elevAccuracyCode
ossim_int32 _westEdgeFlag
ossim_int32 _groundRefSysUnits
ossim_int32 _groundRefSysZone
double _counterclockAngle
ossim_int32 _sourceDate
ossim_int32 _numPolySides
ossim_int32 _eastEdgeFlag
ossim_int32 _valFlag
ossim_int32 _profileRows
ossim_int32 _minSourceUnits
ossim_int32 _southEdgeFlag
ossim_int32 _smallContInt
ossim_int32 _largeContInt
ossim_int32 _profileColumns
ossim_int32 _horizDatum
ossim_int32 _northEdgeFlag
ossim_int32 _groundRefSysCode
ossim_int32 _elevPattern
ossim_int32 _elevUnits

Member Function Documentation

◆ getCounterclockAngle()

double ossimDemHeader::getCounterclockAngle ( ) const

In Radians the counterclockwise angle from the primary axis of ground planimetric reference to the primary axis of the DEM local reference system. Set to 0 to align with the coordinate system

Definition at line 209 of file ossimDemHeader.cpp.

References _counterclockAngle.

210 {
211  return _counterclockAngle;
212 }
double _counterclockAngle

◆ getDataEdition()

ossim_int32 ossimDemHeader::getDataEdition ( ) const

01-99 Primarily a DMA specfic field. (For USGS use set to 01)

Definition at line 329 of file ossimDemHeader.cpp.

References _dataEdition.

330 {
331  return _dataEdition;
332 }
ossim_int32 _dataEdition

◆ getDataValFlag()

ossim_int32 ossimDemHeader::getDataValFlag ( ) const

0 == No Validation 1 == RSME computed from test points, no quantative test or interactive editing/review 2 == Batch process water body edit and RSME computed from test points 3 == Review and edit, including water edit. No RSME computed from test points 4 == Level 1 DEM's reviewed & edited. RSME computed from test points 5 == Level 2 & 3 DEM's reviewed & edited. RSME computed from test points

Definition at line 305 of file ossimDemHeader.cpp.

References _valFlag.

306 {
307  return _valFlag;
308 }
ossim_int32 _valFlag

◆ getDEMCorners()

ossimDemPointVector const & ossimDemHeader::getDEMCorners ( ) const

The coordinates of the quadrangle corners are ordered in a clockwise direction beginning with the southwest corner.

Definition at line 203 of file ossimDemHeader.cpp.

References _demCorners.

204 {
205  return _demCorners;
206 }
ossimDemPointVector _demCorners

◆ getEastEdgeFlag()

ossim_int32 ossimDemHeader::getEastEdgeFlag ( ) const

East edge match staus flag

Definition at line 353 of file ossimDemHeader.cpp.

References _eastEdgeFlag.

354 {
355  return _eastEdgeFlag;
356 }
ossim_int32 _eastEdgeFlag

◆ getElevAccuracyCode()

ossim_int32 ossimDemHeader::getElevAccuracyCode ( ) const

0 == unknown accuracy 1 == accuracy info is given in logical record type C

Definition at line 215 of file ossimDemHeader.cpp.

References _elevAccuracyCode.

216 {
217  return _elevAccuracyCode;
218 }
ossim_int32 _elevAccuracyCode

◆ getElevationUnits()

ossim_int32 ossimDemHeader::getElevationUnits ( ) const

Code defining unit of measure for elevation coordinates used throughout the file. 1 == Feet 2 == Meters

Definition at line 191 of file ossimDemHeader.cpp.

References _elevUnits.

192 {
193  return _elevUnits;
194 }
ossim_int32 _elevUnits

◆ getElevPattern()

ossim_int32 ossimDemHeader::getElevPattern ( ) const

1 == Regular 2 == Random (reserved for future use).

Definition at line 167 of file ossimDemHeader.cpp.

References _elevPattern.

168 {
169  return _elevPattern;
170 }
ossim_int32 _elevPattern

◆ getGroundRefSysCode()

ossim_int32 ossimDemHeader::getGroundRefSysCode ( ) const

Code defining ground planimetric reference system. 0 == Geographic 1 == UTM 2 == State Plane

Definition at line 173 of file ossimDemHeader.cpp.

References _groundRefSysCode.

Referenced by getImageGeometry(), getProjectionType(), and ossimDemGrid::read().

174 {
175  return _groundRefSysCode;
176 }
ossim_int32 _groundRefSysCode

◆ getGroundRefSysUnits()

ossim_int32 ossimDemHeader::getGroundRefSysUnits ( ) const

Code defining unit of measure for ground planimetric coordinates used throughout the file. 0 == Radians 1 == Feet 2 == Meters 3 == Arc Seconds

Definition at line 185 of file ossimDemHeader.cpp.

References _groundRefSysUnits.

Referenced by getImageGeometry().

186 {
187  return _groundRefSysUnits;
188 }
ossim_int32 _groundRefSysUnits

◆ getGroundRefSysZone()

ossim_int32 ossimDemHeader::getGroundRefSysZone ( ) const

Code defining zone in ground planimetric reference system.

Definition at line 179 of file ossimDemHeader.cpp.

References _groundRefSysZone.

Referenced by getImageGeometry().

180 {
181  return _groundRefSysZone;
182 }
ossim_int32 _groundRefSysZone

◆ getHorizDatum()

ossim_int32 ossimDemHeader::getHorizDatum ( ) const

1 == North Amercian Datum 1927 (NAD 27) 2 == World Geoditic System 1972 (WGS 72) 3 == WGS 84 4 == NAD 83 5 == Old Hawaii Datum 6 == Puerto Rico Datum

Definition at line 323 of file ossimDemHeader.cpp.

References _horizDatum.

Referenced by getHorizDatumCode().

324 {
325  return _horizDatum;
326 }
ossim_int32 _horizDatum

◆ getHorizDatumCode()

ossimString ossimDemHeader::getHorizDatumCode ( ) const
Returns
The ossim datum code as a string.

Definition at line 842 of file ossimDemHeader.cpp.

References getHorizDatum().

Referenced by getImageGeometry().

843 {
844  ossimString code;
845  switch(getHorizDatum())
846  {
847  case 1:
848  code = "NAS-C";
849  break;
850  case 2:
851  code = "WGD";
852  break;
853  case 3:
854  code = "WGE";
855  break;
856  case 4:
857  code = "NAR-C";
858  break;
859  case 5:
860  code = "OHA-M";
861  break;
862  case 6:
863  code = "PUR";
864  break;
865  default:
866  code = "unknown";
867  break;
868  }
869  return code;
870 }
ossim_int32 getHorizDatum() const

◆ getImageGeometry()

bool ossimDemHeader::getImageGeometry ( ossimKeywordlist kwl,
const char *  prefix = NULL 
) const

Populates keyword list with geometry info.

Returns
true on success, false on error.

Definition at line 739 of file ossimDemHeader.cpp.

References _demCorners, abs, ossimKeywordlist::add(), ossimKeywordNames::DATUM_KW, ossimKeywordNames::DECIMAL_DEGREES_PER_PIXEL_LAT, ossimKeywordNames::DECIMAL_DEGREES_PER_PIXEL_LON, getGroundRefSysCode(), getGroundRefSysUnits(), getGroundRefSysZone(), getHorizDatumCode(), getProjectionType(), getSpatialResX(), ossimKeywordNames::HEMISPHERE_KW, M_PI, ossimKeywordNames::METERS_PER_PIXEL_X_KW, ossimKeywordNames::METERS_PER_PIXEL_Y_KW, ossimKeywordNames::TIE_POINT_EASTING_KW, ossimKeywordNames::TIE_POINT_LAT_KW, ossimKeywordNames::TIE_POINT_LON_KW, ossimKeywordNames::TIE_POINT_NORTHING_KW, ossimKeywordNames::TYPE_KW, ossim::usft2mtrs(), and ossimKeywordNames::ZONE_KW.

741 {
743  ossimString datum = getHorizDatumCode();
744  if ( (type == "unknown") || (datum == "unknown") )
745  {
746  return false;
747  }
748 
749  if (_demCorners.size() != 4)
750  {
751  return false;
752  }
753 
754  double tieX = _demCorners[1].getX();
755  double tieY = _demCorners[1].getY();
756  double scaleX = getSpatialResX();
757  double scaleY = getSpatialResX();
758 
759  // Add these for all projections.
760  kwl.add(prefix,
762  type);
763 
764  kwl.add(prefix,
766  datum);
767 
768  if (getGroundRefSysCode() == 0) // Geographic.
769  {
770  // ESH 10/2008 -- The Dem ground units can be either radians or
771  // arc seconds, so we have to convert parameters in these units
772  // to degrees which is what OSSIM is assuming.
773  bool bIsArcSecs = (getGroundRefSysUnits() == 3) ? true : false;
774  bool bIsRadians = (getGroundRefSysUnits() == 0) ? true : false;
775 
776  double convertFactor = 1.0;
777  if ( bIsArcSecs == true )
778  {
779  convertFactor = 1.0 / 3600;
780  }
781  else if ( bIsRadians == true )
782  {
783  convertFactor = 180.0 / M_PI;
784  }
785 
786  kwl.add(prefix,
788  (tieX * convertFactor) );
789  kwl.add(prefix,
791  (tieY * convertFactor) );
792  kwl.add(prefix,
794  (scaleX * convertFactor) );
795  kwl.add(prefix,
797  (scaleY * convertFactor) );
798  }
799  else if (getGroundRefSysCode() == 1) // UTM
800  {
801  // Get the zone.
802  kwl.add(prefix,
805 
806  // Set the hemisphere.
807  kwl.add(prefix,
809  (getGroundRefSysZone()<0?"S":"N"));
810 
811  // Set the tie.
812  if (getGroundRefSysUnits() == 1) // Feet...
813  {
814  tieX = ossim::usft2mtrs(tieX);
815  tieY = ossim::usft2mtrs(tieY);
816  scaleX = ossim::usft2mtrs(scaleX);
817  scaleY = ossim::usft2mtrs(scaleY);
818 
819  }
820  kwl.add(prefix,
822  tieX);
823  kwl.add(prefix,
825  tieY);
826  kwl.add(prefix,
828  scaleX);
829  kwl.add(prefix,
831  scaleY);
832  }
833  else if (getGroundRefSysCode() == 2) // State Plane
834  {
835  return false; // Need to code...
836  }
837 
838 
839  return true;
840 }
ossim_int32 getGroundRefSysUnits() const
static const char * DECIMAL_DEGREES_PER_PIXEL_LAT
static const char * DATUM_KW
ossimDemPointVector _demCorners
static const char * TIE_POINT_LON_KW
ossimString getProjectionType() const
#define abs(a)
Definition: auxiliary.h:74
static const char * METERS_PER_PIXEL_Y_KW
static const char * TYPE_KW
ossim_int32 getGroundRefSysCode() const
static const char * TIE_POINT_NORTHING_KW
void add(const char *prefix, const ossimKeywordlist &kwl, bool overwrite=true)
static const char * ZONE_KW
#define M_PI
static const char * TIE_POINT_EASTING_KW
ossim_int32 getGroundRefSysZone() const
ossimString getHorizDatumCode() const
static const char * DECIMAL_DEGREES_PER_PIXEL_LON
double usft2mtrs(double feet)
Definition: ossimCommon.h:373
double getSpatialResX() const
static const char * HEMISPHERE_KW
static const char * TIE_POINT_LAT_KW
static const char * METERS_PER_PIXEL_X_KW

◆ getInspFlag()

std::string const & ossimDemHeader::getInspFlag ( ) const

"I" indicates all processes of part3, Quality Control have been performed.

Definition at line 299 of file ossimDemHeader.cpp.

References _inspFlag.

300 {
301  return _inspFlag;
302 }
std::string _inspFlag

◆ getInspRevDate()

ossim_int32 ossimDemHeader::getInspRevDate ( ) const

YYY

Definition at line 293 of file ossimDemHeader.cpp.

References _inspRevDate.

294 {
295  return _inspRevDate;
296 }
ossim_int32 _inspRevDate

◆ getLargeContInt()

ossim_int32 ossimDemHeader::getLargeContInt ( ) const

Present only if two or more primary intervals exist (level 2 DEM's only)

Definition at line 263 of file ossimDemHeader.cpp.

References _largeContInt.

264 {
265  return _largeContInt;
266 }
ossim_int32 _largeContInt

◆ getLevelCode()

ossim_int32 ossimDemHeader::getLevelCode ( ) const

1 == DEM-1 2 == DEM-2 3 == DEM-3

Definition at line 161 of file ossimDemHeader.cpp.

References _levelCode.

162 {
163  return _levelCode;
164 }
ossim_int32 _levelCode

◆ getMappingCenterCode()

std::string const & ossimDemHeader::getMappingCenterCode ( ) const

Mapping Center origin code. "EMC","WMC","MCMC","RMMC","FS" and "GPM2"

Definition at line 155 of file ossimDemHeader.cpp.

References _mapCenterCode.

156 {
157  return _mapCenterCode;
158 }
std::string _mapCenterCode

◆ getMaximumElev()

double ossimDemHeader::getMaximumElev ( ) const

Maximum elevation in the DEM.

Definition at line 227 of file ossimDemHeader.cpp.

References _maxElevation.

228 {
229  return _maxElevation;
230 }

◆ getMaxSourceUnits()

ossim_int32 ossimDemHeader::getMaxSourceUnits ( ) const

0 == NA 1 == feet 2 == meters (level two DEM's only)

Definition at line 269 of file ossimDemHeader.cpp.

References _maxSourceUnits.

270 {
271  return _maxSourceUnits;
272 }
ossim_int32 _maxSourceUnits

◆ getMinimumElev()

double ossimDemHeader::getMinimumElev ( ) const

Minimum elevation in the DEM.

Definition at line 221 of file ossimDemHeader.cpp.

References _minElevation.

222 {
223  return _minElevation;
224 }

◆ getMinSourceUnits()

ossim_int32 ossimDemHeader::getMinSourceUnits ( ) const

1 == feet 2 == meters

Definition at line 281 of file ossimDemHeader.cpp.

References _minSourceUnits.

282 {
283  return _minSourceUnits;
284 }
ossim_int32 _minSourceUnits

◆ getNorthEdgeFlag()

ossim_int32 ossimDemHeader::getNorthEdgeFlag ( ) const

North edge match status flag

Definition at line 347 of file ossimDemHeader.cpp.

References _northEdgeFlag.

348 {
349  return _northEdgeFlag;
350 }
ossim_int32 _northEdgeFlag

◆ getNumPolySides()

ossim_int32 ossimDemHeader::getNumPolySides ( ) const

Set n == 4

Definition at line 197 of file ossimDemHeader.cpp.

References _numPolySides.

198 {
199  return _numPolySides;
200 }
ossim_int32 _numPolySides

◆ getPerctVoid()

ossim_int32 ossimDemHeader::getPerctVoid ( ) const

Contains the percentage of nodes in the file set to void

Definition at line 335 of file ossimDemHeader.cpp.

References _perctVoid.

336 {
337  return _perctVoid;
338 }
ossim_int32 _perctVoid

◆ getProcessCode()

ossim_int32 ossimDemHeader::getProcessCode ( ) const

1 == Autocorrelation resample simple bilinear 2 == Manual profile GRIDEM simple bilinear 3 == DLG/hypsography CTOG 8-direction bilinear 4 == Interpolation from photogrammetic system contours DCASS 4-direction bilinear 5 == DLG/hypsography LINETRACE, LT4X complex linear 6 == DLG/hypsography CPS-3, ANUDEM, GRASS complex polynomial 7 == Electronic imaging (non-photogrammetric), active or passive sensor systems

Definition at line 143 of file ossimDemHeader.cpp.

References _processCode.

Referenced by print().

144 {
145  return _processCode;
146 }
ossim_int32 _processCode

◆ getProcessInfo()

std::string const & ossimDemHeader::getProcessInfo ( ) const

Free format desciptor field containing process information.

Definition at line 125 of file ossimDemHeader.cpp.

References _processInfo.

Referenced by print().

126 {
127  return _processInfo;
128 }
std::string _processInfo

◆ getProfileColumns()

ossim_int32 ossimDemHeader::getProfileColumns ( ) const

Definition at line 257 of file ossimDemHeader.cpp.

References _profileColumns.

Referenced by ossimDemGrid::fillGeographic(), and ossimDemGrid::fillUTM().

258 {
259  return _profileColumns;
260 }
ossim_int32 _profileColumns

◆ getProfileRows()

ossim_int32 ossimDemHeader::getProfileRows ( ) const

The number of rows and columns in profiles in the DEM. NOTE: When profile rows == 1, profile columns is the number of profiles in the DEM.

Definition at line 251 of file ossimDemHeader.cpp.

References _profileRows.

252 {
253  return _profileRows;
254 }
ossim_int32 _profileRows

◆ getProjectionType()

ossimString ossimDemHeader::getProjectionType ( ) const
Returns
The projection type as a string.

Definition at line 872 of file ossimDemHeader.cpp.

References getGroundRefSysCode().

Referenced by getImageGeometry().

873 {
874  ossimString type;
875  switch(getGroundRefSysCode())
876  {
877  case 0:
878  type = "ossimEquDistCylProjection";
879  break;
880  case 1:
881  type = "ossimUtmProjection";
882  break;
883  case 2:
884  default:
885  type = "unknown";
886  break;
887  }
888  return type;
889 }
ossim_int32 getGroundRefSysCode() const

◆ getQuadName()

std::string const & ossimDemHeader::getQuadName ( ) const

Quadrangle name.

Definition at line 119 of file ossimDemHeader.cpp.

References _quadName.

Referenced by print().

120 {
121  return _quadName;
122 }
std::string _quadName

◆ getSectionIndicator()

std::string const & ossimDemHeader::getSectionIndicator ( ) const

Used for 30 minute DEMs - Identifies 1:100,000 scale sections Formatted as XNN, wher X is "S" == 7.5 min. & "F" == 15 min. NN is a two digit sequence number

Definition at line 149 of file ossimDemHeader.cpp.

References _sectionIndicator.

150 {
151  return _sectionIndicator;
152 }
std::string _sectionIndicator

◆ getSEGeoCornerX()

double ossimDemHeader::getSEGeoCornerX ( ) const

SE geographic corner orderd as: x == Longitude == SDDDMMSS.SSSS (neg sign (s) right justified, no leading zeros, plus sign (s) implied

Definition at line 131 of file ossimDemHeader.cpp.

References _seGeoCornerX.

Referenced by print().

132 {
133  return _seGeoCornerX;
134 }

◆ getSEGeoCornerY()

double ossimDemHeader::getSEGeoCornerY ( ) const

SE geographic corner orderd as: y == Latitude == SDDMMSS.SSSS (neg sign (s) right justified, no leading zeros, plus sign (s) implied

Definition at line 137 of file ossimDemHeader.cpp.

References _seGeoCornerY.

Referenced by print().

138 {
139  return _seGeoCornerY;
140 }

◆ getSmallContInt()

ossim_int32 ossimDemHeader::getSmallContInt ( ) const

Smallest or only primary contour interval (level 2 DEM's only)

Definition at line 275 of file ossimDemHeader.cpp.

References _smallContInt.

276 {
277  return _smallContInt;
278 }
ossim_int32 _smallContInt

◆ getSourceDate()

ossim_int32 ossimDemHeader::getSourceDate ( ) const

YYY

Definition at line 287 of file ossimDemHeader.cpp.

References _sourceDate.

288 {
289  return _sourceDate;
290 }
ossim_int32 _sourceDate

◆ getSouthEdgeFlag()

ossim_int32 ossimDemHeader::getSouthEdgeFlag ( ) const

South edge match status flag

Definition at line 359 of file ossimDemHeader.cpp.

References _southEdgeFlag.

360 {
361  return _southEdgeFlag;
362 }
ossim_int32 _southEdgeFlag

◆ getSpatialResX()

double ossimDemHeader::getSpatialResX ( ) const

Definition at line 233 of file ossimDemHeader.cpp.

References _spatialResX.

Referenced by ossimDemGrid::getGroundCoords(), and getImageGeometry().

234 {
235  return _spatialResX;
236 }

◆ getSpatialResY()

double ossimDemHeader::getSpatialResY ( ) const

Definition at line 239 of file ossimDemHeader.cpp.

References _spatialResY.

Referenced by ossimDemGrid::fillGeographic(), ossimDemGrid::fillUTM(), and ossimDemGrid::getGroundCoords().

240 {
241  return _spatialResY;
242 }

◆ getSpatialResZ()

double ossimDemHeader::getSpatialResZ ( ) const

Definition at line 245 of file ossimDemHeader.cpp.

References _spatialResZ.

Referenced by ossimUsgsDemTileSource::fillBuffer().

246 {
247  return _spatialResZ;
248 }

◆ getSuspectVoidFlag()

ossim_int32 ossimDemHeader::getSuspectVoidFlag ( ) const

0 == none 1 == suspect areas 2 == void areas 3 == suspect & void areas

Definition at line 311 of file ossimDemHeader.cpp.

References _suspectVoidFlg.

312 {
313  return _suspectVoidFlg;
314 }
ossim_int32 _suspectVoidFlg

◆ getVertDatum()

ossim_int32 ossimDemHeader::getVertDatum ( ) const

1 == local mean sea level 2 == National Geodetic Vertical Datum 1929 3 == North American Vertical Datum 1988

Definition at line 317 of file ossimDemHeader.cpp.

References _vertDatum.

318 {
319  return _vertDatum;
320 }
ossim_int32 _vertDatum

◆ getVertDatumShift()

double ossimDemHeader::getVertDatumShift ( ) const

Vertical datum shift - value is in the form of SFFF.DD Value is the average shift value for the four quadrangle corners obtained from program VERTCOM.

Definition at line 365 of file ossimDemHeader.cpp.

References _vertDatumShift.

366 {
367  return _vertDatumShift;
368 }
double _vertDatumShift

◆ getWestEdgeFlag()

ossim_int32 ossimDemHeader::getWestEdgeFlag ( ) const

West edge match status flag

Definition at line 341 of file ossimDemHeader.cpp.

References _westEdgeFlag.

342 {
343  return _westEdgeFlag;
344 }
ossim_int32 _westEdgeFlag

◆ open() [1/3]

bool ossimDemHeader::open ( const ossimFilename file)

open method that takes a file.

Parameters
fileFile name to open.
Returns
true on success false on error.

Definition at line 376 of file ossimDemHeader.cpp.

References ossimString::c_str(), ossim::StreamFactoryRegistry::instance(), and ossimDemUtil::isUsgsDem().

Referenced by operator>>(), and ossimDemInfo::print().

377 {
378  bool result = ossimDemUtil::isUsgsDem(file);
379  std::string connectionString = file.c_str();
380  std::shared_ptr<ossim::istream> is = ossim::StreamFactoryRegistry::instance()->
381  createIstream(connectionString, std::ios_base::in | std::ios_base::binary);
382  if(result)
383  {
384  if ( is && is->good() )
385  {
386  open( is, connectionString );
387  }
388  else
389  {
390  result = false;
391  }
392  }
393 
394  return result;
395 }
bool open(const ossimFilename &file)
open method that takes a file.
static StreamFactoryRegistry * instance()
static bool isUsgsDem(const ossimFilename &file)
Does basic sanity checks to see if file is a dem.
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

◆ open() [2/3]

bool ossimDemHeader::open ( std::shared_ptr< ossim::istream > &  str,
const std::string &  connectionString 
)

Definition at line 399 of file ossimDemHeader.cpp.

References _counterclockAngle, _dataEdition, _demCorners, _eastEdgeFlag, _elevAccuracyCode, _elevPattern, _elevUnits, _groundRefSysCode, _groundRefSysUnits, _groundRefSysZone, _horizDatum, _inspFlag, _inspRevDate, _largeContInt, _levelCode, _mapCenterCode, _maxElevation, _maxSourceUnits, _minElevation, _minSourceUnits, _northEdgeFlag, _numPolySides, _perctVoid, _processCode, _processInfo, _profileColumns, _profileRows, _quadName, _sectionIndicator, _seGeoCornerX, _seGeoCornerY, _smallContInt, _sourceDate, _southEdgeFlag, _spatialResX, _spatialResY, _spatialResZ, _suspectVoidFlg, _valFlag, _vertDatum, _vertDatumShift, _westEdgeFlag, ossimDemUtil::getDouble(), ossimDemUtil::getLong(), ossimDemUtil::getRecord(), ossimDemUtil::isUsgsDem(), x, and y.

401 {
402  bool result = ossimDemUtil::isUsgsDem(ossimFilename(connectionString));
403  if ( result&&str&& str->good() )
404  {
405 
406  char* bufstr = new char[1024];
407  char* temp = new char[1024];
408  ossim_int32 i;
409 
410  ossimDemUtil::getRecord(*str, bufstr);
411 
412  strncpy(temp, bufstr, 40);
413  temp[40] = '\0';
414  _quadName = temp;
415 
416  strncpy(temp,bufstr+40,40);
417  temp[40] = '\0';
418  _processInfo = temp;
419 
420  ossimDemUtil::getDouble(bufstr, 109, 13, _seGeoCornerX);
421  ossimDemUtil::getDouble(bufstr, 122, 13, _seGeoCornerY);
422  _processCode = ossimDemUtil::getLong(bufstr, 135, 1);
423 
424  strncpy(temp,bufstr+137,3);
425  temp[3] = '\0';
426  _sectionIndicator = temp;
427 
428  strncpy(temp,bufstr+140,4);
429  temp[4] = '\0';
430  _mapCenterCode = temp;
431 
432  _levelCode = ossimDemUtil::getLong(bufstr, 144, 6);
433  _elevPattern = ossimDemUtil::getLong(bufstr, 150, 6);
434  _groundRefSysCode = ossimDemUtil::getLong(bufstr, 156, 6);
435  _groundRefSysZone = ossimDemUtil::getLong(bufstr, 162, 6);
436  _groundRefSysUnits = ossimDemUtil::getLong(bufstr, 528, 6);
437  _elevUnits = ossimDemUtil::getLong(bufstr, 534, 6);
438  _numPolySides = ossimDemUtil::getLong(bufstr, 540, 6);
439 
440  for (i = 0; i < 4; i++)
441  {
442  double x,y;
443  ossim_int32 pos = 546 + (i * 48);
444  ossimDemUtil::getDouble(bufstr, pos, 24, x);
445  ossimDemUtil::getDouble(bufstr, pos + 24, 24, y);
446  _demCorners.push_back(ossimDemPoint(x,y));
447  }
448 
449  ossimDemUtil::getDouble(bufstr, 738, 24, _minElevation);
450  ossimDemUtil::getDouble(bufstr, 762, 24, _maxElevation);
451  ossimDemUtil::getDouble(bufstr, 786, 24, _counterclockAngle );
452  _elevAccuracyCode = ossimDemUtil::getLong(bufstr, 810, 6);
453  ossimDemUtil::getDouble(bufstr, 816, 12, _spatialResX);
454  ossimDemUtil::getDouble(bufstr, 828, 12, _spatialResY);
455  ossimDemUtil::getDouble(bufstr, 840, 12, _spatialResZ);
456  _profileRows = ossimDemUtil::getLong(bufstr, 852, 6);
457  _profileColumns = ossimDemUtil::getLong(bufstr, 858, 6);
458  _largeContInt = ossimDemUtil::getLong(bufstr, 864, 5);
459  _maxSourceUnits = ossimDemUtil::getLong(bufstr, 869, 1);
460  _smallContInt = ossimDemUtil::getLong(bufstr, 870, 5);
461  _minSourceUnits = ossimDemUtil::getLong(bufstr, 875, 1);
462  _sourceDate = ossimDemUtil::getLong(bufstr, 876, 4);
463  _inspRevDate = ossimDemUtil::getLong(bufstr, 880, 4);
464 
465  strncpy(temp, bufstr+884,1);
466  temp[1]='\0';
467  _inspFlag = temp;
468 
469  _valFlag = ossimDemUtil::getLong(bufstr, 885, 1);
470  _suspectVoidFlg = ossimDemUtil::getLong(bufstr, 886, 2);
471  _vertDatum = ossimDemUtil::getLong(bufstr, 888, 2);
472  _horizDatum = ossimDemUtil::getLong(bufstr, 890, 2);
473  if (_horizDatum == 0)
474  _horizDatum = 1; // Default to NAD27
475 
476  _dataEdition = ossimDemUtil::getLong(bufstr, 892, 4);
477  _perctVoid = ossimDemUtil::getLong(bufstr, 896, 4);
478  _westEdgeFlag = ossimDemUtil::getLong(bufstr, 900, 2);
479  _northEdgeFlag = ossimDemUtil::getLong(bufstr, 902, 2);
480  _eastEdgeFlag = ossimDemUtil::getLong(bufstr, 904, 2);
481  _southEdgeFlag = ossimDemUtil::getLong(bufstr, 906, 2);
482  ossimDemUtil::getDouble(bufstr, 908, 7, _vertDatumShift);
483 
484  delete [] bufstr;
485  delete [] temp;
486  bufstr = 0;
487  temp = 0;
488  }
489  return result;
490 }
ossim_uint32 x
ossimDemPointVector _demCorners
std::string _processInfo
ossim_int32 _maxSourceUnits
double _vertDatumShift
ossim_uint32 y
ossim_int32 _suspectVoidFlg
ossim_int32 _levelCode
std::string _sectionIndicator
ossim_int32 _processCode
ossim_int32 _perctVoid
ossim_int32 _inspRevDate
ossim_int32 _vertDatum
ossim_int32 _dataEdition
ossim_int32 _elevAccuracyCode
ossim_int32 _westEdgeFlag
static long getLong(char *const strbuf, long const startpos, long const width)
static bool isUsgsDem(const ossimFilename &file)
Does basic sanity checks to see if file is a dem.
ossim_int32 _groundRefSysUnits
ossim_int32 _groundRefSysZone
static bool getDouble(std::string const &strbuf, long const startpos, long const width, double &val)
double _counterclockAngle
ossim_int32 _sourceDate
ossim_int32 _numPolySides
std::string _quadName
std::string _inspFlag
ossim_int32 _eastEdgeFlag
std::string _mapCenterCode
ossim_int32 _valFlag
ossim_int32 _profileRows
ossim_int32 _minSourceUnits
ossim_int32 _southEdgeFlag
ossim_int32 _smallContInt
ossim_int32 _largeContInt
ossim_int32 _profileColumns
ossim_int32 _horizDatum
static bool getRecord(ossim::istream &s, std::string &strbuf, long reclength=1024)
Reads a single record from a DEM.
ossim_int32 _northEdgeFlag
int ossim_int32
ossim_int32 _groundRefSysCode
ossim_int32 _elevPattern
ossim_int32 _elevUnits

◆ open() [3/3]

std::istream & ossimDemHeader::open ( ossim::istream is)

open method that takes a stream.

Parameters
isThe input stream to read from.
Returns
stream

Definition at line 493 of file ossimDemHeader.cpp.

References _counterclockAngle, _dataEdition, _demCorners, _eastEdgeFlag, _elevAccuracyCode, _elevPattern, _elevUnits, _groundRefSysCode, _groundRefSysUnits, _groundRefSysZone, _horizDatum, _inspFlag, _inspRevDate, _largeContInt, _levelCode, _mapCenterCode, _maxElevation, _maxSourceUnits, _minElevation, _minSourceUnits, _northEdgeFlag, _numPolySides, _perctVoid, _processCode, _processInfo, _profileColumns, _profileRows, _quadName, _sectionIndicator, _seGeoCornerX, _seGeoCornerY, _smallContInt, _sourceDate, _southEdgeFlag, _spatialResX, _spatialResY, _spatialResZ, _suspectVoidFlg, _valFlag, _vertDatum, _vertDatumShift, _westEdgeFlag, ossimDemUtil::getDouble(), ossimDemUtil::getLong(), ossimDemUtil::getRecord(), x, and y.

494 {
495  if(in.good())
496  {
497  char* bufstr = new char[1024];
498  char* temp = new char[1024];
499  ossim_int32 i;
500 
501  ossimDemUtil::getRecord(in, bufstr);
502 
503  strncpy(temp, bufstr, 40);
504  temp[40] = '\0';
505  _quadName = temp;
506 
507  strncpy(temp,bufstr+40,40);
508  temp[40] = '\0';
509  _processInfo = temp;
510 
511  ossimDemUtil::getDouble(bufstr, 109, 13, _seGeoCornerX);
512  ossimDemUtil::getDouble(bufstr, 122, 13, _seGeoCornerY);
513  _processCode = ossimDemUtil::getLong(bufstr, 135, 1);
514 
515  strncpy(temp,bufstr+137,3);
516  temp[3] = '\0';
517  _sectionIndicator = temp;
518 
519  strncpy(temp,bufstr+140,4);
520  temp[4] = '\0';
521  _mapCenterCode = temp;
522 
523  _levelCode = ossimDemUtil::getLong(bufstr, 144, 6);
524  _elevPattern = ossimDemUtil::getLong(bufstr, 150, 6);
525  _groundRefSysCode = ossimDemUtil::getLong(bufstr, 156, 6);
526  _groundRefSysZone = ossimDemUtil::getLong(bufstr, 162, 6);
527  _groundRefSysUnits = ossimDemUtil::getLong(bufstr, 528, 6);
528  _elevUnits = ossimDemUtil::getLong(bufstr, 534, 6);
529  _numPolySides = ossimDemUtil::getLong(bufstr, 540, 6);
530 
531  for (i = 0; i < 4; i++)
532  {
533  double x,y;
534  ossim_int32 pos = 546 + (i * 48);
535  ossimDemUtil::getDouble(bufstr, pos, 24, x);
536  ossimDemUtil::getDouble(bufstr, pos + 24, 24, y);
537  _demCorners.push_back(ossimDemPoint(x,y));
538  }
539 
540  ossimDemUtil::getDouble(bufstr, 738, 24, _minElevation);
541  ossimDemUtil::getDouble(bufstr, 762, 24, _maxElevation);
542  ossimDemUtil::getDouble(bufstr, 786, 24, _counterclockAngle );
543  _elevAccuracyCode = ossimDemUtil::getLong(bufstr, 810, 6);
544  ossimDemUtil::getDouble(bufstr, 816, 12, _spatialResX);
545  ossimDemUtil::getDouble(bufstr, 828, 12, _spatialResY);
546  ossimDemUtil::getDouble(bufstr, 840, 12, _spatialResZ);
547  _profileRows = ossimDemUtil::getLong(bufstr, 852, 6);
548  _profileColumns = ossimDemUtil::getLong(bufstr, 858, 6);
549  _largeContInt = ossimDemUtil::getLong(bufstr, 864, 5);
550  _maxSourceUnits = ossimDemUtil::getLong(bufstr, 869, 1);
551  _smallContInt = ossimDemUtil::getLong(bufstr, 870, 5);
552  _minSourceUnits = ossimDemUtil::getLong(bufstr, 875, 1);
553  _sourceDate = ossimDemUtil::getLong(bufstr, 876, 4);
554  _inspRevDate = ossimDemUtil::getLong(bufstr, 880, 4);
555 
556  strncpy(temp, bufstr+884,1);
557  temp[1]='\0';
558  _inspFlag = temp;
559 
560  _valFlag = ossimDemUtil::getLong(bufstr, 885, 1);
561  _suspectVoidFlg = ossimDemUtil::getLong(bufstr, 886, 2);
562  _vertDatum = ossimDemUtil::getLong(bufstr, 888, 2);
563  _horizDatum = ossimDemUtil::getLong(bufstr, 890, 2);
564  if (_horizDatum == 0)
565  _horizDatum = 1; // Default to NAD27
566 
567  _dataEdition = ossimDemUtil::getLong(bufstr, 892, 4);
568  _perctVoid = ossimDemUtil::getLong(bufstr, 896, 4);
569  _westEdgeFlag = ossimDemUtil::getLong(bufstr, 900, 2);
570  _northEdgeFlag = ossimDemUtil::getLong(bufstr, 902, 2);
571  _eastEdgeFlag = ossimDemUtil::getLong(bufstr, 904, 2);
572  _southEdgeFlag = ossimDemUtil::getLong(bufstr, 906, 2);
573  ossimDemUtil::getDouble(bufstr, 908, 7, _vertDatumShift);
574 
575  delete [] bufstr;
576  delete [] temp;
577  bufstr = 0;
578  temp = 0;
579  }
580  return in;
581 }
ossim_uint32 x
ossimDemPointVector _demCorners
std::string _processInfo
ossim_int32 _maxSourceUnits
double _vertDatumShift
ossim_uint32 y
ossim_int32 _suspectVoidFlg
ossim_int32 _levelCode
std::string _sectionIndicator
ossim_int32 _processCode
ossim_int32 _perctVoid
ossim_int32 _inspRevDate
ossim_int32 _vertDatum
ossim_int32 _dataEdition
ossim_int32 _elevAccuracyCode
ossim_int32 _westEdgeFlag
static long getLong(char *const strbuf, long const startpos, long const width)
ossim_int32 _groundRefSysUnits
ossim_int32 _groundRefSysZone
static bool getDouble(std::string const &strbuf, long const startpos, long const width, double &val)
double _counterclockAngle
ossim_int32 _sourceDate
ossim_int32 _numPolySides
std::string _quadName
std::string _inspFlag
ossim_int32 _eastEdgeFlag
std::string _mapCenterCode
ossim_int32 _valFlag
ossim_int32 _profileRows
ossim_int32 _minSourceUnits
ossim_int32 _southEdgeFlag
ossim_int32 _smallContInt
ossim_int32 _largeContInt
ossim_int32 _profileColumns
ossim_int32 _horizDatum
static bool getRecord(ossim::istream &s, std::string &strbuf, long reclength=1024)
Reads a single record from a DEM.
ossim_int32 _northEdgeFlag
int ossim_int32
ossim_int32 _groundRefSysCode
ossim_int32 _elevPattern
ossim_int32 _elevUnits

◆ print()

std::ostream & ossimDemHeader::print ( std::ostream &  out) const

Print method.

Parameters
outStream to print to.
Returns
std::ostream&

Definition at line 584 of file ossimDemHeader.cpp.

References getProcessCode(), getProcessInfo(), getQuadName(), getSEGeoCornerX(), and getSEGeoCornerY().

Referenced by operator<<(), and ossimDemInfo::print().

585 {
586  const int W = 24; // format width
587  const int CW = W-8; // format corner width
588 
589  // Capture the original flags then set float output to full precision.
590  std::ios_base::fmtflags f = out.flags();
591 
592  // Note: This is only a partial print for now...
593  std::string prefix = "usgs_dem.";
594 
595  out << std::setiosflags(std::ios_base::fixed|std::ios_base::left)
596  << std::setprecision(10)
597 
598  << prefix << std::setw(W)
599  << "quadrangle_name:" << getQuadName().c_str() << "\n"
600  << prefix << std::setw(W)
601  << "process_info:" << getProcessInfo().c_str() << "\n"
602  << prefix << std::setw(W)
603  << "se_geo_corner_x:" << getSEGeoCornerX() << "\n"
604  << prefix << std::setw(W)
605  << "se_geo_corner_y:" << getSEGeoCornerY() << "\n"
606  << prefix << std::setw(W)
607  << "process_code:";
608 
609  ossim_int32 tmpl = getProcessCode() - 1;
610  if ( tmpl >= 0 && tmpl <= MAX_PROCESS_CODE_INDEX)
611  {
612  out << PROCESS_CODE[tmpl] << "\n";
613  }
614  else
615  {
616  out << "unknown" << "\n";
617  }
618 
619  out << prefix << std::setw(W)
620  << "section_indicator: " << getSectionIndicator().c_str() << "\n"
621  << prefix << std::setw(W)
622  << "mapping_center_code: " << getMappingCenterCode().c_str() << "\n"
623  << prefix << std::setw(W)
624  << "level_code: " << getLevelCode() << "\n"
625  << prefix << std::setw(W)
626  << "elev_pattern: " << getElevPattern() << "\n"
627  << prefix << std::setw(W) << "ground_ref_sys: ";
628 
629  tmpl = getGroundRefSysCode();
630  if ( tmpl >= 0 && tmpl <= MAX_GROUND_REF_SYSTEM_INDEX)
631  {
632  out << GROUND_REF_SYSTEM[tmpl] << "\n";
633  }
634  else
635  {
636  out << "unknown\n";
637  }
638 
639  out << prefix << std::setw(W)
640  << "ground_ref_sys_zone: " << getGroundRefSysZone() << "\n"
641  << prefix << std::setw(W)
642  << "ground_ref_sys_units:";
643  tmpl = getGroundRefSysUnits();
644  if ( tmpl >= 0 && tmpl <= MAX_GROUND_REF_SYSTEM_UNITS_INDEX)
645  {
646  out << GROUND_REF_SYSTEM_UNITS[tmpl] << "\n";
647  }
648  else
649  {
650  out << "unknown\n";
651  }
652 
653  out << prefix << std::setw(W)
654  << "elevation_units: ";
655  tmpl = getElevationUnits();
656  if ( tmpl >= 0 && tmpl <= MAX_GROUND_REF_SYSTEM_UNITS_INDEX)
657  {
658  out << GROUND_REF_SYSTEM_UNITS[tmpl] << "\n";
659  }
660  else
661  {
662  out << "unknown\n";
663  }
664 
665  out << prefix << std::setw(W)
666  << "number_poly_sides: " << getNumPolySides() << "\n"
667  << prefix << std::setw(W)
668  << "counterclock_angle: " << getCounterclockAngle()<< "\n"
669  << prefix << std::setw(W)
670  << "elev_accuracy_code: " << getElevAccuracyCode()<< "\n"
671  << prefix << std::setw(W)
672  << "minimum_elevation: " << getMinimumElev() << "\n"
673  << prefix << std::setw(W)
674  << "maximum_elevation: " << getMaximumElev() << "\n"
675  << prefix << std::setw(W)
676  << "spatial_res_x: " << getSpatialResX() << "\n"
677  << prefix << std::setw(W)
678  << "spatial_res_y: " << getSpatialResY() << "\n"
679  << prefix << std::setw(W)
680  << "spatial_res_z:" << getSpatialResZ() << "\n"
681  << prefix << std::setw(W)
682  << "profile_rows: " << getProfileRows() << "\n"
683  << prefix << std::setw(W)
684  << "profile_columns:" << getProfileColumns() << "\n"
685  << prefix << std::setw(W)
686  << "source_date:" << getSourceDate() << "\n"
687  << prefix << std::setw(W)
688  << "revision_date:" << getInspRevDate() << "\n"
689  << prefix << std::setw(W)
690  << "vertical_datum:";
691 
692  tmpl = getVertDatum() - 1;
693  if ( tmpl >= 0 && tmpl <= MAX_VERTICAL_DATUM_INDEX)
694  {
695  out << VERTICAL_DATUM[tmpl] << "\n";
696  }
697  else
698  {
699  out << "unknown\n";
700  }
701 
702  out << prefix << std::setw(W)
703  << "vertical_datum_shift:" << getVertDatumShift() << "\n"
704  << prefix << std::setw(W)
705  << "horizontal_datum:";
706  tmpl = getHorizDatum() - 1;
707  if ( tmpl >= 0 && tmpl <= MAX_HORIZONTAL_DATUM_INDEX)
708  {
709  out << HORIZONTAL_DATUM[tmpl] << "\n";
710  }
711  else
712  {
713  out << "unknown\n";
714  }
715 
716  const ossimDemPointVector CORNERS = getDEMCorners();
717  for (unsigned int i=0; i < CORNERS.size(); ++i)
718  {
719  out << prefix << "corner[" << i
720  << std::setw(CW)<< "].x: " << CORNERS[i].getX() << "\n"
721  << prefix << "corner[" << i
722  << std::setw(CW)<< "].y: " << CORNERS[i].getY() << "\n"
723  << std::endl;
724  }
725 
726  out << std::endl;
727 
728  // Reset flags.
729  out.setf(f);
730 
731  return out;
732 }
double getSpatialResY() const
ossim_int32 getGroundRefSysUnits() const
ossim_int32 getElevAccuracyCode() const
ossim_int32 getElevationUnits() const
ossim_int32 getElevPattern() const
ossim_int32 getSourceDate() const
double getSEGeoCornerY() const
std::string const & getMappingCenterCode() const
ossim_int32 getInspRevDate() const
double getMinimumElev() const
std::string const & getQuadName() const
std::string const & getProcessInfo() const
ossim_int32 getGroundRefSysCode() const
double getVertDatumShift() const
std::string const & getSectionIndicator() const
ossim_int32 getVertDatum() const
ossim_int32 getGroundRefSysZone() const
std::vector< ossimDemPoint > ossimDemPointVector
Definition: ossimDemPoint.h:95
ossim_int32 getNumPolySides() const
ossim_int32 getProfileColumns() const
ossim_int32 getProfileRows() const
double getSpatialResZ() const
const ossimDemPointVector & getDEMCorners() const
double getSpatialResX() const
double getCounterclockAngle() const
ossim_int32 getProcessCode() const
double getMaximumElev() const
double getSEGeoCornerX() const
ossim_int32 getLevelCode() const
ossim_int32 getHorizDatum() const
int ossim_int32

Friends And Related Function Documentation

◆ operator<<

OSSIM_DLL std::ostream& operator<< ( ossim::ostream s,
const ossimDemHeader header 
)
friend

◆ operator>>

OSSIM_DLL ossim::istream& operator>> ( ossim::istream s,
ossimDemHeader header 
)
friend

Definition at line 734 of file ossimDemHeader.cpp.

735 {
736  return header.open(s);
737 }
bool open(const ossimFilename &file)
open method that takes a file.

Member Data Documentation

◆ _counterclockAngle

double ossimDemHeader::_counterclockAngle
private

Definition at line 358 of file ossimDemHeader.h.

Referenced by getCounterclockAngle(), and open().

◆ _dataEdition

ossim_int32 ossimDemHeader::_dataEdition
private

Definition at line 378 of file ossimDemHeader.h.

Referenced by getDataEdition(), and open().

◆ _demCorners

ossimDemPointVector ossimDemHeader::_demCorners
private

Definition at line 357 of file ossimDemHeader.h.

Referenced by getDEMCorners(), getImageGeometry(), and open().

◆ _eastEdgeFlag

ossim_int32 ossimDemHeader::_eastEdgeFlag
private

Definition at line 382 of file ossimDemHeader.h.

Referenced by getEastEdgeFlag(), and open().

◆ _elevAccuracyCode

ossim_int32 ossimDemHeader::_elevAccuracyCode
private

Definition at line 359 of file ossimDemHeader.h.

Referenced by getElevAccuracyCode(), and open().

◆ _elevPattern

ossim_int32 ossimDemHeader::_elevPattern
private

Definition at line 351 of file ossimDemHeader.h.

Referenced by getElevPattern(), and open().

◆ _elevUnits

ossim_int32 ossimDemHeader::_elevUnits
private

Definition at line 355 of file ossimDemHeader.h.

Referenced by getElevationUnits(), and open().

◆ _groundRefSysCode

ossim_int32 ossimDemHeader::_groundRefSysCode
private

Definition at line 352 of file ossimDemHeader.h.

Referenced by getGroundRefSysCode(), and open().

◆ _groundRefSysUnits

ossim_int32 ossimDemHeader::_groundRefSysUnits
private

Definition at line 354 of file ossimDemHeader.h.

Referenced by getGroundRefSysUnits(), and open().

◆ _groundRefSysZone

ossim_int32 ossimDemHeader::_groundRefSysZone
private

Definition at line 353 of file ossimDemHeader.h.

Referenced by getGroundRefSysZone(), and open().

◆ _horizDatum

ossim_int32 ossimDemHeader::_horizDatum
private

Definition at line 377 of file ossimDemHeader.h.

Referenced by getHorizDatum(), and open().

◆ _inspFlag

std::string ossimDemHeader::_inspFlag
private

Definition at line 373 of file ossimDemHeader.h.

Referenced by getInspFlag(), and open().

◆ _inspRevDate

ossim_int32 ossimDemHeader::_inspRevDate
private

Definition at line 372 of file ossimDemHeader.h.

Referenced by getInspRevDate(), and open().

◆ _largeContInt

ossim_int32 ossimDemHeader::_largeContInt
private

Definition at line 367 of file ossimDemHeader.h.

Referenced by getLargeContInt(), and open().

◆ _levelCode

ossim_int32 ossimDemHeader::_levelCode
private

Definition at line 350 of file ossimDemHeader.h.

Referenced by getLevelCode(), and open().

◆ _mapCenterCode

std::string ossimDemHeader::_mapCenterCode
private

Definition at line 349 of file ossimDemHeader.h.

Referenced by getMappingCenterCode(), and open().

◆ _maxElevation

double ossimDemHeader::_maxElevation
private

Definition at line 361 of file ossimDemHeader.h.

Referenced by getMaximumElev(), and open().

◆ _maxSourceUnits

ossim_int32 ossimDemHeader::_maxSourceUnits
private

Definition at line 368 of file ossimDemHeader.h.

Referenced by getMaxSourceUnits(), and open().

◆ _minElevation

double ossimDemHeader::_minElevation
private

Definition at line 360 of file ossimDemHeader.h.

Referenced by getMinimumElev(), and open().

◆ _minSourceUnits

ossim_int32 ossimDemHeader::_minSourceUnits
private

Definition at line 370 of file ossimDemHeader.h.

Referenced by getMinSourceUnits(), and open().

◆ _northEdgeFlag

ossim_int32 ossimDemHeader::_northEdgeFlag
private

Definition at line 381 of file ossimDemHeader.h.

Referenced by getNorthEdgeFlag(), and open().

◆ _numPolySides

ossim_int32 ossimDemHeader::_numPolySides
private

Definition at line 356 of file ossimDemHeader.h.

Referenced by getNumPolySides(), and open().

◆ _perctVoid

ossim_int32 ossimDemHeader::_perctVoid
private

Definition at line 379 of file ossimDemHeader.h.

Referenced by getPerctVoid(), and open().

◆ _processCode

ossim_int32 ossimDemHeader::_processCode
private

Definition at line 347 of file ossimDemHeader.h.

Referenced by getProcessCode(), and open().

◆ _processInfo

std::string ossimDemHeader::_processInfo
private

Definition at line 344 of file ossimDemHeader.h.

Referenced by getProcessInfo(), and open().

◆ _profileColumns

ossim_int32 ossimDemHeader::_profileColumns
private

Definition at line 366 of file ossimDemHeader.h.

Referenced by getProfileColumns(), and open().

◆ _profileRows

ossim_int32 ossimDemHeader::_profileRows
private

Definition at line 365 of file ossimDemHeader.h.

Referenced by getProfileRows(), and open().

◆ _quadName

std::string ossimDemHeader::_quadName
private

Definition at line 343 of file ossimDemHeader.h.

Referenced by getQuadName(), and open().

◆ _sectionIndicator

std::string ossimDemHeader::_sectionIndicator
private

Definition at line 348 of file ossimDemHeader.h.

Referenced by getSectionIndicator(), and open().

◆ _seGeoCornerX

double ossimDemHeader::_seGeoCornerX
private

Definition at line 345 of file ossimDemHeader.h.

Referenced by getSEGeoCornerX(), and open().

◆ _seGeoCornerY

double ossimDemHeader::_seGeoCornerY
private

Definition at line 346 of file ossimDemHeader.h.

Referenced by getSEGeoCornerY(), and open().

◆ _smallContInt

ossim_int32 ossimDemHeader::_smallContInt
private

Definition at line 369 of file ossimDemHeader.h.

Referenced by getSmallContInt(), and open().

◆ _sourceDate

ossim_int32 ossimDemHeader::_sourceDate
private

Definition at line 371 of file ossimDemHeader.h.

Referenced by getSourceDate(), and open().

◆ _southEdgeFlag

ossim_int32 ossimDemHeader::_southEdgeFlag
private

Definition at line 383 of file ossimDemHeader.h.

Referenced by getSouthEdgeFlag(), and open().

◆ _spatialResX

double ossimDemHeader::_spatialResX
private

Definition at line 362 of file ossimDemHeader.h.

Referenced by getSpatialResX(), and open().

◆ _spatialResY

double ossimDemHeader::_spatialResY
private

Definition at line 363 of file ossimDemHeader.h.

Referenced by getSpatialResY(), and open().

◆ _spatialResZ

double ossimDemHeader::_spatialResZ
private

Definition at line 364 of file ossimDemHeader.h.

Referenced by getSpatialResZ(), and open().

◆ _suspectVoidFlg

ossim_int32 ossimDemHeader::_suspectVoidFlg
private

Definition at line 375 of file ossimDemHeader.h.

Referenced by getSuspectVoidFlag(), and open().

◆ _valFlag

ossim_int32 ossimDemHeader::_valFlag
private

Definition at line 374 of file ossimDemHeader.h.

Referenced by getDataValFlag(), and open().

◆ _vertDatum

ossim_int32 ossimDemHeader::_vertDatum
private

Definition at line 376 of file ossimDemHeader.h.

Referenced by getVertDatum(), and open().

◆ _vertDatumShift

double ossimDemHeader::_vertDatumShift
private

Definition at line 384 of file ossimDemHeader.h.

Referenced by getVertDatumShift(), and open().

◆ _westEdgeFlag

ossim_int32 ossimDemHeader::_westEdgeFlag
private

Definition at line 380 of file ossimDemHeader.h.

Referenced by getWestEdgeFlag(), and open().


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