OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimDoqq.h
Go to the documentation of this file.
1 //*******************************************************************
2 // Copyright (C) 2000 ImageLinks Inc.
3 //
4 // License: MIT
5 //
6 // See LICENSE.txt file in the top level directory for more details.
7 //
8 // Author: Ken Melero
9 //
10 // Description: This class parses a Digital Ortho Quarter Quad (DOQQ)
11 // header.
12 //
13 //********************************************************************
14 // $Id: ossimDoqq.h 19900 2011-08-04 14:19:57Z dburken $
15 
16 #ifndef ossimDoqq_HEADER
17 #define ossimDoqq_HEADER
18 
19 //#include <iostream>
20 #include <stdlib.h>
21 #include <stdio.h>
22 #include <fstream>
23 #include <iostream>
24 
26 #include <ossim/base/ossimDpt.h>
27 #include <ossim/base/ossimString.h>
30 
32 {
33 public:
34  ossimDoqq();
36  ~ossimDoqq();
37 
39  {
40  OSSIM_OK = 0,
41  OSSIM_ERROR = 1
42  };
43 
44  enum
45  {
46  GSD_X_OFFSET = 59,
47  GSD_Y_OFFSET = 59,
48  DATA_ORDER_OFFSET = 142,
49  LINE_OFFSET = 145,
50  SAMPLE_OFFSET = 151,
51  PROJECTION_OFFSET = 196,
52  RGB_OFFSET = 157,
53  UL_EASTING_OFFSET = 288,
54  UL_NORTHING_OFFSET = 312,
55  UTM_ZONE_OFFSET = 199,
56  DATUM_OFFSET = 168,
57 
58  DATA_ORDER_SIZE = 3,
59  LINE_SIZE = 8,
60  SAMPLE_SIZE = 8,
61  PROJECTION_SIZE = 3,
62  RGB_SIZE = 3,
63  MARKING_U_SIZE = 5,
64  MARKING_V_SIZE = 5,
65  UL_EASTING_SIZE = 24,
66  UL_NORTHING_SIZE = 24,
67  UTM_ZONE_SIZE = 6,
68  DATUM_SIZE = 2,
69  RADIOMETRY_SIZE = 3,
70  GSD_SIZE = 12
71  };
72 
81  virtual bool open(std::shared_ptr<ossim::istream>& str,
82  const std::string& connectionString);
83 
85  virtual std::ostream& print(std::ostream& out) const;
86 
98 
103 
108 
110 
120 
121  ossim_int32 errorStatus() const { return theErrorStatus; }
122 
123 private:
124 
125  mutable std::shared_ptr<ossim::istream> m_doqqFileStr;
126  std::string m_connectionString;
128 
129  ossim_float64 convertStr(const char* str) const;
130 
131  void ldstr_v1(std::istream& in);
132  void ldstr_v2(std::istream& in);
133 };
134 
135 #endif
virtual bool open(const ossimFilename &file)
open method.
ossimString theQuad
Definition: ossimDoqq.h:90
ossimString theSourceImageID
Definition: ossimDoqq.h:97
ossim_float64 theEasting
Definition: ossimDoqq.h:111
ossimString theQuadName
Definition: ossimDoqq.h:89
ossimString theMarkV
Definition: ossimDoqq.h:95
ossimString theNation
Definition: ossimDoqq.h:91
ossimString theImageSource
Definition: ossimDoqq.h:96
ossimString theAcqYearMonthDay
Definition: ossimDoqq.h:107
ossim_int32 theUtmZone
Definition: ossimDoqq.h:99
ossimString theDatum
Definition: ossimDoqq.h:88
ossimString theState
Definition: ossimDoqq.h:92
std::shared_ptr< ossim::istream > m_doqqFileStr
Definition: ossimDoqq.h:125
ossim_int32 theRecordSize
Definition: ossimDoqq.h:119
ossimErrorStatus
Definition: ossimDoqq.h:38
ossimDpt theGsd
Definition: ossimDoqq.h:117
ossim_float64 theRMSE
Definition: ossimDoqq.h:109
ossim_int32 theLine
Definition: ossimDoqq.h:100
double ossim_float64
std::string m_connectionString
Definition: ossimDoqq.h:126
ossimString theProjection
Definition: ossimDoqq.h:87
Info Base.
Definition: ossimInfoBase.h:32
ossim_float64 theUN
Definition: ossimDoqq.h:113
ossim_int32 theHeaderSize
Definition: ossimDoqq.h:118
ossimString theDataOrder
Definition: ossimDoqq.h:93
ossim_float64 theNorthing
Definition: ossimDoqq.h:112
std::basic_istream< char > istream
Base class for char input streams.
Definition: ossimIosFwd.h:20
#define OSSIM_DLL
ossim_float64 theUE
Definition: ossimDoqq.h:114
ossim_int32 theSample
Definition: ossimDoqq.h:101
virtual std::ostream & print(std::ostream &out) const =0
Print method.
ossim_float64 theLN
Definition: ossimDoqq.h:115
ossimString theAcqMonth
Definition: ossimDoqq.h:105
ossimErrorStatus theErrorStatus
Definition: ossimDoqq.h:127
ossimString theAcqYear
Definition: ossimDoqq.h:104
ossimString theMarkU
Definition: ossimDoqq.h:94
ossim_float64 theLE
Definition: ossimDoqq.h:116
ossim_int32 theRgb
Definition: ossimDoqq.h:102
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23
ossim_int32 errorStatus() const
Definition: ossimDoqq.h:121
int ossim_int32
ossimString theAcqDay
Definition: ossimDoqq.h:106