32 #ifndef PCIDSKDATASET2_H_INCLUDED 33 #define PCIDSKDATASET2_H_INCLUDED 35 #define GDAL_PCIDSK_DRIVER 37 #include "cpl_string.h" 39 #include "ogrsf_frmts.h" 40 #include "ogr_spatialref.h" 42 #include "pcidsk_pct.h" 43 #include "pcidsk_vectorsegment.h" 58 CPLString osLastMDValue;
59 char **papszLastMDListValue;
61 PCIDSK::PCIDSKFile *poFile;
63 std::vector<OGRPCIDSKLayer*> apoLayers;
65 static GDALDataType PCIDSKTypeToGDAL( PCIDSK::eChanType eType );
72 static int Identify( GDALOpenInfo * );
73 static GDALDataset *Open( GDALOpenInfo * );
74 static GDALDataset *LLOpen(
const char *pszFilename, PCIDSK::PCIDSKFile *,
76 char** papszSiblingFiles = NULL );
77 static GDALDataset *Create(
const char * pszFilename,
78 int nXSize,
int nYSize,
int nBands,
80 char **papszParmList );
82 char **GetFileList()
override;
83 CPLErr GetGeoTransform(
double * padfTransform )
override;
84 CPLErr SetGeoTransform(
double * )
override;
85 const char *GetProjectionRef()
override;
86 CPLErr SetProjection(
const char * )
override;
88 virtual char **GetMetadataDomainList()
override;
89 CPLErr SetMetadata(
char **,
const char * )
override;
90 char **GetMetadata(
const char* )
override;
91 CPLErr SetMetadataItem(
const char*,
const char*,
const char*)
override;
92 const char *GetMetadataItem(
const char*,
const char*)
override;
94 virtual void FlushCache()
override;
96 virtual CPLErr IBuildOverviews(
const char *,
int,
int *,
97 int,
int *, GDALProgressFunc,
void * )
override;
99 virtual int GetLayerCount()
override {
return (
int) apoLayers.size(); }
100 virtual OGRLayer *GetLayer(
int )
override;
102 virtual int TestCapability(
const char * )
override;
104 virtual OGRLayer *ICreateLayer(
const char *, OGRSpatialReference *,
105 OGRwkbGeometryType,
char ** )
override;
116 PCIDSK::PCIDSKChannel *poChannel;
117 PCIDSK::PCIDSKFile *poFile;
119 void RefreshOverviewList();
120 std::vector<PCIDSK2Band*> apoOverviews;
122 CPLString osLastMDValue;
123 char **papszLastMDListValue;
125 bool CheckForColorTable();
126 GDALColorTable *poColorTable;
127 bool bCheckedForColorTable;
130 char **papszCategoryNames;
139 virtual CPLErr IReadBlock(
int,
int,
void * )
override;
140 virtual CPLErr IWriteBlock(
int,
int,
void * )
override;
142 virtual int GetOverviewCount()
override;
143 virtual GDALRasterBand *GetOverview(
int)
override;
145 virtual GDALColorInterp GetColorInterpretation()
override;
146 virtual GDALColorTable *GetColorTable()
override;
147 virtual CPLErr SetColorTable( GDALColorTable * )
override;
149 virtual void SetDescription(
const char * )
override;
151 virtual char **GetMetadataDomainList()
override;
152 CPLErr SetMetadata(
char **,
const char * )
override;
153 char **GetMetadata(
const char* )
override;
154 CPLErr SetMetadataItem(
const char*,
const char*,
const char*)
override;
155 const char *GetMetadataItem(
const char*,
const char*)
override;
157 virtual char **GetCategoryNames()
override;
166 PCIDSK::PCIDSKVectorSegment *poVecSeg;
167 PCIDSK::PCIDSKSegment *poSeg;
169 OGRFeatureDefn *poFeatureDefn;
171 OGRFeature * GetNextUnfilteredFeature();
174 PCIDSK::ShapeId hLastShapeId;
178 OGRSpatialReference *poSRS;
181 OGRPCIDSKLayer( PCIDSK::PCIDSKSegment*, PCIDSK::PCIDSKVectorSegment *,
bool bUpdate );
184 void ResetReading()
override;
185 OGRFeature * GetNextFeature()
override;
186 OGRFeature *GetFeature( GIntBig nFeatureId )
override;
187 virtual OGRErr ISetFeature( OGRFeature *poFeature )
override;
189 OGRFeatureDefn * GetLayerDefn()
override {
return poFeatureDefn; }
191 int TestCapability(
const char * )
override;
193 OGRErr DeleteFeature( GIntBig nFID )
override;
194 virtual OGRErr ICreateFeature( OGRFeature *poFeature )
override;
195 virtual OGRErr CreateField( OGRFieldDefn *poField,
196 int bApproxOK = TRUE )
override;
198 GIntBig GetFeatureCount(
int )
override;
199 OGRErr GetExtent( OGREnvelope *psExtent,
int bForce )
override;
200 virtual OGRErr GetExtent(
int iGeomField, OGREnvelope *psExtent,
int bForce)
override 201 {
return OGRLayer::GetExtent(iGeomField, psExtent, bForce); }
Definition: pcidskdataset2.h:164
Definition: pcidskdataset2.h:112
Definition: pcidskdataset2.h:53