OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimGdalWriter.h
Go to the documentation of this file.
1 //*******************************************************************
2 //
3 // License: See top level LICENSE.txt file.
4 //
5 // Author: Garrett Potts
6 //
7 //*******************************************************************
8 // $Id: ossimGdalWriter.h 19733 2011-06-06 23:35:25Z dburken $
9 #ifndef ossimGdalWriter_HEADER
10 #define ossimGdalWriter_HEADER 1
11 
12 #include <gdal.h>
16 
17 class ossimXmlNode;
18 
20 {
21 public:
23  {
27  };
29  virtual ~ossimGdalWriter();
30 
31 
32  ossimGdalWriter(ossimImageSource *inputSource,
33  const ossimFilename& filename);
34 
42  virtual void getImageTypeList(std::vector<ossimString>& imageTypeList)const;
43  virtual bool hasImageType(const ossimString& imageType) const;
44 
53  virtual ossimString getExtension() const;
54 
55  virtual bool isOpen()const;
56 
57  virtual bool open();
58  virtual void close();
59 
63  virtual bool saveState(ossimKeywordlist& kwl,
64  const char* prefix=0)const;
65 
70  virtual bool loadState(const ossimKeywordlist& kwl,
71  const char* prefix=0);
72 
73  static void getSupportedWriters(vector<ossimString>& writers);
74 
75  virtual void setProperty(ossimRefPtr<ossimProperty> property);
76  virtual ossimRefPtr<ossimProperty> getProperty(const ossimString& name)const;
77  virtual void getPropertyNames(std::vector<ossimString>& propertyNames)const;
78 
79  virtual void setOutputImageType(const ossimString& type);
80 
81  void setLut(const ossimNBandLutDataObject& lut);
82 
83 protected:
84  virtual bool writeFile();
85  virtual bool writeBlockFile();
86  virtual void writeProjectionInfo(GDALDatasetH dataset);
87 
88  virtual void writeColorMap(int bands);
89 
90  virtual void setOptions(ossimKeywordlist& kwl,
91  const char* prefix=NULL);
93  ossimString convertToDriverName(const ossimString& imageTypeName)const;
94 
95  GDALDataType getGdalDataType(ossimScalarType scalar);
96  void getGdalPropertyNames(std::vector<ossimString>& propertyNames)const;
98  ossim_int32 findOptionIdx(const ossimString& name)const;
100  void storeProperty(const ossimString& name,
101  const ossimString& value);
102  bool getStoredPropertyValue(const ossimString& name,
103  ossimString& value)const;
104  bool validProperty(const ossimString& name)const;
107  void buildGdalOverviews();
108  void appendGdalOption(const ossimString& name, const ossimString& value, bool replaceFlag = true);
109 
114  void postProcessOutput() const;
115 
116  bool isLutEnabled()const;
117 
118  void checkColorLut();
119 
125  bool isInputDataIndexed();
126 
128 
129  GDALDriverH theDriver;
130  GDALDatasetH theDataset;
131 
134 
137 
142 
143 TYPE_DATA
144 };
145 
146 #endif
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
bool getStoredPropertyValue(const ossimString &name, ossimString &value) const
ossimRefPtr< ossimNBandToIndexFilter > theNBandToIndexFilter
virtual void setProperty(ossimRefPtr< ossimProperty > property)
Represents serializable keyword/value map.
virtual bool writeFile()
Write out the file.
void setLut(const ossimNBandLutDataObject &lut)
virtual void getPropertyNames(std::vector< ossimString > &propertyNames) const
virtual void setOutputImageType(const ossimString &type)
void getGdalPropertyNames(std::vector< ossimString > &propertyNames) const
virtual bool isOpen() const
virtual ~ossimGdalWriter()
GDALDriverH theDriver
ossim_int32 findOptionIdx(const ossimString &name) const
virtual ossimString getExtension() const
Returns a 3-letter extension from the image type descriptor (theOutputImageType) that can be used for...
virtual void setOptions(ossimKeywordlist &kwl, const char *prefix=NULL)
Pure virtual base class for image file writers.
ossimString convertToDriverName(const ossimString &imageTypeName) const
ossimFilename theLutFilename
void storeProperty(const ossimString &name, const ossimString &value)
ossimKeywordlist theDriverOptionValues
virtual void writeColorMap(int bands)
virtual bool hasImageType(const ossimString &imageType) const
bool hasImageType(const ossimString& imageType) const
virtual bool open()
#define TYPE_DATA
Definition: ossimRtti.h:339
const ossimRefPtr< ossimXmlNode > getGdalOptions() const
ossimString gdalOverviewTypeToString() const
ossimGdalOverviewType theGdalOverviewType
bool isInputDataIndexed()
Check input to see if it&#39;s indexed.
virtual bool writeBlockFile()
void appendGdalOption(const ossimString &name, const ossimString &value, bool replaceFlag=true)
ossimRefPtr< ossimNBandLutDataObject > theColorLut
ossimString theDriverName
ossimScalarType
GDALDataType getGdalDataType(ossimScalarType scalar)
virtual bool loadState(const ossimKeywordlist &kwl, const char *prefix=0)
bool isLutEnabled() const
virtual void writeProjectionInfo(GDALDatasetH dataset)
virtual void getImageTypeList(std::vector< ossimString > &imageTypeList) const
void getImageTypeList(std::vector<ossimString>& imageTypeList)const
class ossimNBandLutDataObject
static void getSupportedWriters(vector< ossimString > &writers)
ossimIpt theJpeg2000TileSize
ossimGdalOverviewType gdalOverviewTypeFromString(const ossimString &typeString) const
char ** theGdalDriverOptions
GDALDatasetH theDataset
virtual ossimRefPtr< ossimProperty > getProperty(const ossimString &name) const
void postProcessOutput() const
Method called after good writeFile to clean up any unwanted files.
void allocateGdalDriverOptions()
bool validProperty(const ossimString &name) const
virtual void close()
int ossim_int32