32 #ifndef PCIDSKDATASET2_H_INCLUDED
33 #define PCIDSKDATASET2_H_INCLUDED
35 #define GDAL_PCIDSK_DRIVER
38 #include "pcidsk_pct.h"
39 #include "ogrsf_frmts.h"
40 #include "pcidsk_vectorsegment.h"
42 #include "cpl_string.h"
43 #include "ogr_spatialref.h"
58 CPLString osLastMDValue;
59 char **papszLastMDListValue;
63 std::vector<OGRPCIDSKLayer*> apoLayers;
65 static GDALDataType PCIDSKTypeToGDAL( 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(
void);
83 CPLErr GetGeoTransform(
double * padfTransform );
84 CPLErr SetGeoTransform(
double * );
85 const char *GetProjectionRef();
86 CPLErr SetProjection(
const char * );
88 virtual char **GetMetadataDomainList();
89 CPLErr SetMetadata(
char **,
const char * );
90 char **GetMetadata(
const char* );
91 CPLErr SetMetadataItem(
const char*,
const char*,
const char*);
92 const char *GetMetadataItem(
const char*,
const char*);
94 virtual void FlushCache(
void);
96 virtual CPLErr IBuildOverviews(
const char *,
int,
int *,
97 int,
int *, GDALProgressFunc,
void * );
99 virtual int GetLayerCount() {
return (
int) apoLayers.size(); }
100 virtual OGRLayer *GetLayer(
int );
102 virtual int TestCapability(
const char * );
104 virtual OGRLayer *ICreateLayer(
const char *, OGRSpatialReference *,
105 OGRwkbGeometryType,
char ** );
116 PCIDSKChannel *poChannel;
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 * );
140 virtual CPLErr IWriteBlock(
int,
int,
void * );
142 virtual int GetOverviewCount();
143 virtual GDALRasterBand *GetOverview(
int);
145 virtual GDALColorInterp GetColorInterpretation();
146 virtual GDALColorTable *GetColorTable();
147 virtual CPLErr SetColorTable( GDALColorTable * );
149 virtual void SetDescription(
const char * );
151 virtual char **GetMetadataDomainList();
152 CPLErr SetMetadata(
char **,
const char * );
153 char **GetMetadata(
const char* );
154 CPLErr SetMetadataItem(
const char*,
const char*,
const char*);
155 const char *GetMetadataItem(
const char*,
const char*);
157 virtual char **GetCategoryNames();
166 PCIDSK::PCIDSKVectorSegment *poVecSeg;
167 PCIDSK::PCIDSKSegment *poSeg;
169 OGRFeatureDefn *poFeatureDefn;
171 OGRFeature * GetNextUnfilteredFeature();
174 PCIDSK::ShapeId hLastShapeId;
178 OGRSpatialReference *poSRS;
185 OGRFeature * GetNextFeature();
186 OGRFeature *GetFeature( GIntBig nFeatureId );
187 virtual OGRErr ISetFeature( OGRFeature *poFeature );
189 OGRFeatureDefn * GetLayerDefn() {
return poFeatureDefn; }
191 int TestCapability(
const char * );
193 OGRErr DeleteFeature( GIntBig nFID );
194 virtual OGRErr ICreateFeature( OGRFeature *poFeature );
195 virtual OGRErr CreateField( OGRFieldDefn *poField,
196 int bApproxOK = TRUE );
198 GIntBig GetFeatureCount(
int );
199 OGRErr GetExtent( OGREnvelope *psExtent,
int bForce );
Definition: pcidskdataset2.h:164
Definition: pcidskdataset2.h:112
Definition: pcidskdataset2.h:53