OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimOgrVectorTileSource.h
Go to the documentation of this file.
1 
2 //*******************************************************************
3 // Copyright (C) 2000 ImageLinks Inc.
4 //
5 // License: LGPL
6 //
7 // See LICENSE.txt file in the top level directory for more details.
8 //
9 // Author: Mingjie Su
10 //
11 // Description:
12 //
13 // Contains class definition for the class "ossimOgrVectorTileSource".
14 // ossimOgrVectorTileSource is derived from ImageHandler which is derived from
15 // TileSource. It is for displaying the information from OGR vector dataset
16 // like SDE and VPF.
17 //
18 //*******************************************************************
19 // $Id: ossimOgrVectorTileSource.h 1347 2010-08-23 17:03:06Z oscar.kramer $
20 
21 #ifndef ossimOgrVectorTileSource_HEADER
22 #define ossimOgrVectorTileSource_HEADER
23 #include <vector>
24 #include <list>
25 #include <map>
26 
28 #include <ossim/base/ossimIrect.h>
29 #include <ossim/base/ossimDrect.h>
30 
31 //OGR Includes
32  // #include <ogrsf_frmts/ogrsf_frmts.h>
33 #include <ogrsf_frmts.h>
34 #include <gdal.h>
35 
36 class ossimProjection;
37 class ossimMapProjection;
40 
42  public ossimImageHandler
43 {
44 public:
46  virtual ~ossimOgrVectorTileSource();
47 
48  virtual void close();
49 
58  virtual bool open();
59 
65  virtual ossimRefPtr<ossimImageData> getTile(const ossimIrect& tileRect,
66  ossim_uint32 resLevel=0);
67 
72  virtual ossim_uint32 getNumberOfInputBands() const;
73 
79  virtual ossim_uint32 getNumberOfOutputBands() const;
80 
85  virtual ossim_uint32 getNumberOfLines(ossim_uint32 reduced_res_level = 0) const;
86 
91  virtual ossim_uint32 getNumberOfSamples(ossim_uint32 reduced_res_level = 0) const;
92 
100 
105  virtual ossimIrect getImageRectangle(ossim_uint32 reduced_res_level = 0) const;
106 
111  virtual bool saveState(ossimKeywordlist& kwl,
112  const char* prefix=0)const;
113 
118  virtual bool loadState(const ossimKeywordlist& kwl,
119  const char* prefix=0);
120 
124 
126 
130  virtual ossimScalarType getOutputScalarType() const;
131 
135  virtual ossim_uint32 getTileWidth() const;
136 
140  virtual ossim_uint32 getTileHeight() const;
141 
148  virtual ossim_uint32 getImageTileWidth() const;
149 
156  virtual ossim_uint32 getImageTileHeight() const;
157 
158  virtual bool isOpen()const;
159 
160  virtual double getNullPixelValue(ossim_uint32 band=0)const;
161 
162  virtual double getMinPixelValue(ossim_uint32 band=0)const;
163 
164  virtual double getMaxPixelValue(ossim_uint32 band=0)const;
165 
166  virtual bool setCurrentEntry(ossim_uint32 entryIdx);
167 
171  virtual ossim_uint32 getNumberOfEntries()const;
172 
178  virtual void getEntryList(std::vector<ossim_uint32>& entryList) const;
179 
180  ossimProjection* createProjFromReference(OGRSpatialReference* reference) const;
181 
183 
184  bool isOgrVectorDataSource()const;
185 
186 private:
187  std::vector<ossimOgrVectorLayerNode*> theLayerVector;
188  OGRDataSource* theDataSource;
191  OGREnvelope theBoundingExtent;
192 TYPE_DATA
193 };
194 
195 #endif
virtual ossim_uint32 getNumberOfOutputBands() const
virtual bool setCurrentEntry(ossim_uint32 entryIdx)
virtual ossimScalarType getOutputScalarType() const
virtual ossim_uint32 getNumberOfSamples(ossim_uint32 reduced_res_level=0) const
virtual void close()
Deletes the overview and clears the valid image vertices.
virtual double getNullPixelValue(ossim_uint32 band=0) const
Each band has a null pixel associated with it.
ossimMapProjection * createDefaultProj()
Represents serializable keyword/value map.
virtual ossim_uint32 getImageTileHeight() const
ossimRefPtr< ossimImageGeometry > theImageGeometry
virtual ossim_uint32 getNumberOfEntries() const
Class derived from ossimImageModel, this adds an image projection for lineSampleToWorld and worldToLi...
ossimProjection * createProjFromReference(OGRSpatialReference *reference) const
std::vector< ossimOgrVectorLayerNode * > theLayerVector
virtual ossimRefPtr< ossimImageData > getTile(const ossimIrect &tileRect, ossim_uint32 resLevel=0)
virtual ossim_uint32 getTileHeight() const
#define TYPE_DATA
Definition: ossimRtti.h:339
unsigned int ossim_uint32
virtual ossim_uint32 getImageTileWidth() const
virtual double getMinPixelValue(ossim_uint32 band=0) const
Retuns the min pixel value.
virtual ossim_uint32 getNumberOfLines(ossim_uint32 reduced_res_level=0) const
virtual ossim_uint32 getTileWidth() const
ossimScalarType
This class defines an abstract Handler which all image handlers(loaders) should derive from...
virtual ossim_uint32 getNumberOfInputBands() const
virtual double getMaxPixelValue(ossim_uint32 band=0) const
Returns the max pixel of the band.
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
virtual bool isOpen() const
Derived classes must implement this method to be concrete.
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
virtual ossimRefPtr< ossimImageGeometry > getInternalImageGeometry() const
Returns the image geometry object associated with this tile source or NULL if non defined...
virtual void getEntryList(std::vector< ossim_uint32 > &entryList) const
virtual ossimRefPtr< ossimImageGeometry > getImageGeometry()
Returns the image geometry object associated with this tile source or NULL if non defined...
virtual ossim_uint32 getNumberOfDecimationLevels() const
virtual ossimIrect getImageRectangle(ossim_uint32 reduced_res_level=0) const