OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimGmlSupportData.h
Go to the documentation of this file.
1 //---
2 //
3 // License: MIT
4 //
5 // See LICENSE.txt file in the top level directory for more details.
6 //
7 // Author: David Burken
8 //
9 // Description: GML support data object.
10 //
11 //---
12 // $Id$
13 #ifndef ossimGmlSupportData_HEADER
14 #define ossimGmlSupportData_HEADER 1
15 
17 #include <ossim/base/ossimRefPtr.h>
18 #include <ossim/base/ossimString.h>
19 #include <iosfwd>
20 
21 class ossimImageGeometry;
22 class ossimIpt;
23 class ossimIrect;
24 class ossimKeywordlist;
25 class ossimXmlDocument;
26 class ossimXmlNode;
27 
30 {
31 public:
32 
35 
38 
44  bool initialize( const ossimImageGeometry* geom,
45  const ossimIrect& rect );
46 
51  bool initialize( std::istream& in );
52 
54  bool write( std::ostream& os );
55 
57  ossimRefPtr<ossimXmlDocument> getXmlDoc() const;
58 
69  bool getImageGeometry( ossimKeywordlist& geomKwl ) const;
70 
71 
72 private:
73 
74  ossimRefPtr<ossimXmlNode> getGmljp2V1RootNode() const;
75  ossimRefPtr<ossimXmlNode> getGmljp2V2RootNode() const;
76 
77  void getGeoOrigin( const ossimImageGeometry* geom,
78  const ossimIpt& ul,
79  ossimString& originString,
80  ossimString& offsetVector1String,
81  ossimString& offsetVector2String ) const;
82 
83  void getMapOrigin( const ossimImageGeometry* geom,
84  const ossimIpt& ul,
85  ossimString& originString,
86  ossimString& offsetVector1String,
87  ossimString& offsetVector2String ) const;
88 
89  void getLimits( const ossimIrect& rect,
90  ossimString& gridHighString,
91  ossimString& gridLowString ) const;
92 
93  void getGeoBounds( const ossimImageGeometry* geom,
94  const ossimIrect& rect,
95  ossimString& upperCornerString,
96  ossimString& lowerCornerString ) const;
97 #if 0
98  bool configureGmljp2V1( ossimRefPtr<ossimXmlNode> node,
99  const ossimImageGeometry* geom,
100  const ossimIrect& rect );
101 #endif
102 
103  bool configureGmljp2V2( ossimRefPtr<ossimXmlNode> node,
104  const ossimImageGeometry* geom,
105  const ossimIrect& rect );
106 
107  bool configureBounds ( ossimRefPtr<ossimXmlNode> node,
108  const ossimImageGeometry* geom,
109  const ossimIrect& rect );
110 
115  bool getImageGeometryFromSeonsorModel( ossimKeywordlist& geomKwl ) const;
116 
121  bool getImageGeometryFromRectifiedGrid( ossimKeywordlist& geomKwl ) const;
122 
129  bool addLineSamps( const ossimString& xpath0,
130  bool useGmlPrefix,
131  ossimKeywordlist& geomKwl ) const;
132 
139  bool addTie( const ossimString& xpath0,
140  bool useGmlPrefix,
141  ossim_uint32 pcsCode,
142  ossimKeywordlist& geomKwl ) const;
143 
150  bool addScale( const ossimString& xpath0,
151  bool useGmlPrefix,
152  ossim_uint32 pcsCode,
153  ossimKeywordlist& geomKwl ) const;
154 
156 
157  // bool m_use_gmljp2_version2;
167 
168 };
169 
170 #endif /* End of "#ifndef ossimGmlSupportData_HEADER" */
ossimString m_srsDimensionString
Represents serializable keyword/value map.
ossimString m_axisLabelsStringMap
ossimRefPtr< ossimXmlDocument > m_xmlDocument
GML support data class.
unsigned int ossim_uint32
ossimString m_axisLabelsStringGeo
Container class that holds both 2D transform and 3D projection information for an image Only one inst...
std::basic_istream< char > istream
Base class for char input streams.
Definition: ossimIosFwd.h:20
#define OSSIM_DLL
str write(os2.str().data(), os2.str().size())
ossimString m_uomLabelsStringMap
ossimString m_uomLabelsStringGeo
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23