OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimGpkgTileEntry.h
Go to the documentation of this file.
1 //----------------------------------------------------------------------------
2 //
3 // File: ossimGpkgTileEntry.h
4 //
5 // License: LGPL
6 //
7 // See LICENSE.txt file in the top level directory for more details.
8 //
9 // Description: Container class for GeoPackage tile entry.
10 //
11 // Holds a gpkg_tile_matrix_set and a vector of gpkg_tile_matrix.
12 //
13 //----------------------------------------------------------------------------
14 // $Id$
15 
16 #ifndef ossimGpkgTileEntry_HEADER
17 #define ossimGpkgTileEntry_HEADER 1
18 
23 
24 #include <ossim/base/ossimRefPtr.h>
25 
26 #include <iosfwd>
27 #include <vector>
28 
29 class ossimDpt;
30 class ossimIpt;
31 class ossimKeywordlist;
32 class ossimMapProjection;
33 
35 {
36 public:
37 
40 
41  /* @brief copy constructor */
43 
44  /* @brief assignment operator= */
45  const ossimGpkgTileEntry& operator=
46  (const ossimGpkgTileEntry& obj);
47 
50 
56 
59 
64  void setSrs( const ossimGpkgSpatialRefSysRecord& srs );
65 
67  const ossimGpkgSpatialRefSysRecord& getSrs() const;
68 
73  void addTileMatrix(const ossimGpkgTileMatrixRecord& level);
74 
76  const std::vector<ossimGpkgTileMatrixRecord>& getTileMatrix() const;
77 
83 
85  const std::vector<ossimGpkgNsgTileMatrixExtentRecord>&
86  getTileMatrixExtent() const;
87 
96  void sortTileMatrix();
97 
106  void sortTileMatrixExtents();
107 
113  void saveState( ossimKeywordlist& kwl,
114  const std::string& prefix ) const;
115 
116  ossim_uint32 getNumberOfLines( ossim_uint32 resLevel ) const;
117  ossim_uint32 getNumberOfSamples( ossim_uint32 resLevel ) const;
118  void getSubImageOffset( ossim_uint32 resLevel, ossimIpt& offset ) const;
119 
124  void getTiePoint( ossimDpt& offset ) const;
125 
131  void getGsd( ossim_uint32 index, ossimDpt& gsd ) const;
132 
138  void getZoomLevels( std::vector<ossim_int32>& zoomLevels ) const;
139 
145  void getZoomLevelMatrixSizes( std::vector<ossimIpt>& zoomLevelMatrixSizes ) const;
146 
152 
158  std::ostream& print(std::ostream& out) const;
159 
166 
172  friend std::ostream& operator<<(std::ostream& out,
173  const ossimGpkgTileEntry& obj);
174 
175 private:
178  std::vector<ossimGpkgTileMatrixRecord> m_tileMatrix;
179  std::vector<ossimGpkgNsgTileMatrixExtentRecord> m_tileMatrixExtents;
180 };
181 
182 #endif /* #ifndef ossimGpkgTileEntry_HEADER */
void addTileMatrixExtent(const ossimGpkgNsgTileMatrixExtentRecord &record)
Adds a tile matrix extent level to array.
friend std::ostream & operator<<(std::ostream &out, const ossimGpkgTileEntry &obj)
Convenience operator << function.
Represents serializable keyword/value map.
const ossimGpkgTileMatrixSetRecord & getTileMatrixSet() const
ossim_uint32 getNumberOfSamples(ossim_uint32 resLevel) const
void setTileMatrixSet(const ossimGpkgTileMatrixSetRecord &set)
Sets the tile matrix set.
void saveState(ossimKeywordlist &kwl, const std::string &prefix) const
Saves the state of object.
void getZoomLevelMatrixSizes(std::vector< ossimIpt > &zoomLevelMatrixSizes) const
Gets zoom level matrix of all tile matrixes.
void getGsd(ossim_uint32 index, ossimDpt &gsd) const
Gets the gsd from tile matrix.
std::ostream & printValidate(std::ostream &out) const
Validate method.
void sortTileMatrix()
Sorts the m_tileMatrix by zoom levels with the highest zoom level being at the lowest array index...
unsigned int ossim_uint32
std::vector< ossimGpkgNsgTileMatrixExtentRecord > m_tileMatrixExtents
ossimGpkgTileEntry()
default constructor
void addTileMatrix(const ossimGpkgTileMatrixRecord &level)
Adds a tile matrix level to array.
ossimGpkgTileMatrixSetRecord m_tileMatrixSet
const ossimGpkgSpatialRefSysRecord & getSrs() const
Spatial ref sys.
void sortTileMatrixExtents()
Sorts the m_tileMatrixExtents by zoom levels with the highest zoom level being at the lowest array in...
void getTiePoint(ossimDpt &offset) const
Gets the tie point from the first tile matrix extents if initialized else from the tile matrix extent...
void setSrs(const ossimGpkgSpatialRefSysRecord &srs)
Sets the spatial ref sys.
ossimGpkgSpatialRefSysRecord m_srs
const std::vector< ossimGpkgTileMatrixRecord > & getTileMatrix() const
~ossimGpkgTileEntry()
destructor
ossimRefPtr< ossimMapProjection > getNewMapProjection() const
Gets the map projection to include setting the tie and scale.
void getSubImageOffset(ossim_uint32 resLevel, ossimIpt &offset) const
std::ostream & print(std::ostream &out) const
Print method.
std::vector< ossimGpkgTileMatrixRecord > m_tileMatrix
void getZoomLevels(std::vector< ossim_int32 > &zoomLevels) const
Gets zoom levels of all tile matrixes.
ossim_uint32 getNumberOfLines(ossim_uint32 resLevel) const
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23
const std::vector< ossimGpkgNsgTileMatrixExtentRecord > & getTileMatrixExtent() const