31 #ifndef _OGRSF_FRMTS_H_INCLUDED 32 #define _OGRSF_FRMTS_H_INCLUDED 34 #include "cpl_progress.h" 62 int m_bFilterIsEnvelope;
64 OGRPreparedGeometry *m_pPreparedFilterGeom;
66 int m_iGeomFieldFilter;
73 OGRErr GetExtentInternal(
int iGeomField,
OGREnvelope *psExtent,
int bForce );
81 virtual void SetSpatialFilterRect(
double dfMinX,
double dfMinY,
82 double dfMaxX,
double dfMaxY );
84 virtual void SetSpatialFilter(
int iGeomField,
OGRGeometry * );
85 virtual void SetSpatialFilterRect(
int iGeomField,
86 double dfMinX,
double dfMinY,
87 double dfMaxX,
double dfMaxY );
89 virtual OGRErr SetAttributeFilter(
const char * );
91 virtual void ResetReading() = 0;
93 virtual OGRErr SetNextByIndex(
long nIndex );
95 virtual OGRErr SetFeature(
OGRFeature *poFeature );
96 virtual OGRErr CreateFeature(
OGRFeature *poFeature );
97 virtual OGRErr DeleteFeature(
long nFID );
99 virtual const char *GetName();
102 virtual int FindFieldIndex(
const char *pszFieldName,
int bExactMatch );
106 virtual int GetFeatureCount(
int bForce = TRUE );
107 virtual OGRErr GetExtent(
OGREnvelope *psExtent,
int bForce = TRUE);
108 virtual OGRErr GetExtent(
int iGeomField,
OGREnvelope *psExtent,
111 virtual int TestCapability(
const char * ) = 0;
113 virtual const char *GetInfo(
const char * );
116 int bApproxOK = TRUE );
117 virtual OGRErr DeleteField(
int iField );
118 virtual OGRErr ReorderFields(
int* panMap );
119 virtual OGRErr AlterFieldDefn(
int iField,
OGRFieldDefn* poNewFieldDefn,
int nFlags );
122 int bApproxOK = TRUE );
124 virtual OGRErr SyncToDisk();
127 virtual void SetStyleTableDirectly(
OGRStyleTable *poStyleTable );
131 virtual OGRErr StartTransaction();
132 virtual OGRErr CommitTransaction();
133 virtual OGRErr RollbackTransaction();
135 virtual const char *GetFIDColumn();
136 virtual const char *GetGeometryColumn();
138 virtual OGRErr SetIgnoredFields(
const char **papszFields );
140 OGRErr Intersection(
OGRLayer *pLayerMethod,
142 char** papszOptions = NULL,
143 GDALProgressFunc pfnProgress = NULL,
144 void * pProgressArg = NULL );
145 OGRErr Union(
OGRLayer *pLayerMethod,
147 char** papszOptions = NULL,
148 GDALProgressFunc pfnProgress = NULL,
149 void * pProgressArg = NULL );
150 OGRErr SymDifference(
OGRLayer *pLayerMethod,
153 GDALProgressFunc pfnProgress,
154 void * pProgressArg );
155 OGRErr Identity(
OGRLayer *pLayerMethod,
157 char** papszOptions = NULL,
158 GDALProgressFunc pfnProgress = NULL,
159 void * pProgressArg = NULL );
160 OGRErr Update(
OGRLayer *pLayerMethod,
162 char** papszOptions = NULL,
163 GDALProgressFunc pfnProgress = NULL,
164 void * pProgressArg = NULL );
165 OGRErr Clip(
OGRLayer *pLayerMethod,
167 char** papszOptions = NULL,
168 GDALProgressFunc pfnProgress = NULL,
169 void * pProgressArg = NULL );
170 OGRErr Erase(
OGRLayer *pLayerMethod,
172 char** papszOptions = NULL,
173 GDALProgressFunc pfnProgress = NULL,
174 void * pProgressArg = NULL );
178 int GetRefCount()
const;
180 GIntBig GetFeaturesRead();
183 OGRErr ReorderField(
int iOldFieldPos,
int iNewFieldPos );
185 int AttributeFilterEvaluationNeedsGeometry();
188 OGRErr InitializeIndexSupport(
const char * );
194 char *m_pszAttrQueryString;
199 GIntBig m_nFeaturesRead;
223 OGRLayer* BuildLayerFromSelectInfo(
void* psSelectInfo,
225 const char *pszDialect);
233 virtual const char *GetName() = 0;
235 virtual int GetLayerCount() = 0;
236 virtual OGRLayer *GetLayer(
int) = 0;
237 virtual OGRLayer *GetLayerByName(
const char *);
238 virtual OGRErr DeleteLayer(
int);
240 virtual int TestCapability(
const char * ) = 0;
242 virtual OGRLayer *CreateLayer(
const char *pszName,
245 char ** papszOptions = NULL );
247 const char *pszNewName,
248 char **papszOptions = NULL );
251 virtual void SetStyleTableDirectly(
OGRStyleTable *poStyleTable );
255 virtual OGRLayer * ExecuteSQL(
const char *pszStatement,
257 const char *pszDialect );
258 virtual void ReleaseResultSet(
OGRLayer * poResultsSet );
260 virtual OGRErr SyncToDisk();
264 int GetRefCount()
const;
265 int GetSummaryRefCount()
const;
271 static int IsGenericSQLDialect(
const char* pszDialect);
275 OGRErr ProcessSQLCreateIndex(
const char * );
276 OGRErr ProcessSQLDropIndex(
const char * );
277 OGRErr ProcessSQLDropTable(
const char * );
278 OGRErr ProcessSQLAlterTableAddColumn(
const char * );
279 OGRErr ProcessSQLAlterTableDropColumn(
const char * );
280 OGRErr ProcessSQLAlterTableAlterColumn(
const char * );
281 OGRErr ProcessSQLAlterTableRenameColumn(
const char * );
306 virtual const char *GetName() = 0;
308 virtual OGRDataSource *Open(
const char *pszName,
int bUpdate=FALSE ) = 0;
310 virtual int TestCapability(
const char * ) = 0;
312 virtual OGRDataSource *CreateDataSource(
const char *pszName,
314 virtual OGRErr DeleteDataSource(
const char *pszName );
317 const char *pszNewName,
318 char **papszOptions = NULL );
342 char **papszOpenDSRawName;
345 GIntBig *panOpenDSPID;
352 static OGRDataSource *Open(
const char *pszName,
int bUpdate=FALSE,
355 OGRDataSource *OpenShared(
const char *pszName,
int bUpdate=FALSE,
362 int GetDriverCount(
void );
369 void AutoLoadDrivers();
378 void CPL_DLL RegisterOGRFileGDB();
379 void CPL_DLL RegisterOGRShape();
380 void CPL_DLL RegisterOGRNTF();
381 void CPL_DLL RegisterOGRFME();
382 void CPL_DLL RegisterOGRSDTS();
383 void CPL_DLL RegisterOGRTiger();
384 void CPL_DLL RegisterOGRS57();
385 void CPL_DLL RegisterOGRTAB();
386 void CPL_DLL RegisterOGRMIF();
387 void CPL_DLL RegisterOGROGDI();
388 void CPL_DLL RegisterOGRODBC();
389 void CPL_DLL RegisterOGRWAsP();
390 void CPL_DLL RegisterOGRPG();
391 void CPL_DLL RegisterOGRMSSQLSpatial();
392 void CPL_DLL RegisterOGRMySQL();
393 void CPL_DLL RegisterOGROCI();
394 void CPL_DLL RegisterOGRDGN();
395 void CPL_DLL RegisterOGRGML();
396 void CPL_DLL RegisterOGRLIBKML();
397 void CPL_DLL RegisterOGRKML();
398 void CPL_DLL RegisterOGRGeoJSON();
399 void CPL_DLL RegisterOGRAVCBin();
400 void CPL_DLL RegisterOGRAVCE00();
401 void CPL_DLL RegisterOGRREC();
402 void CPL_DLL RegisterOGRMEM();
403 void CPL_DLL RegisterOGRVRT();
404 void CPL_DLL RegisterOGRDODS();
405 void CPL_DLL RegisterOGRSQLite();
406 void CPL_DLL RegisterOGRCSV();
407 void CPL_DLL RegisterOGRILI1();
408 void CPL_DLL RegisterOGRILI2();
409 void CPL_DLL RegisterOGRGRASS();
410 void CPL_DLL RegisterOGRPGeo();
411 void CPL_DLL RegisterOGRDXFDWG();
412 void CPL_DLL RegisterOGRDXF();
413 void CPL_DLL RegisterOGRDWG();
414 void CPL_DLL RegisterOGRSDE();
415 void CPL_DLL RegisterOGRIDB();
416 void CPL_DLL RegisterOGRGMT();
417 void CPL_DLL RegisterOGRBNA();
418 void CPL_DLL RegisterOGRGPX();
419 void CPL_DLL RegisterOGRGeoconcept();
420 void CPL_DLL RegisterOGRIngres();
421 void CPL_DLL RegisterOGRPCIDSK();
422 void CPL_DLL RegisterOGRXPlane();
423 void CPL_DLL RegisterOGRNAS();
424 void CPL_DLL RegisterOGRGeoRSS();
425 void CPL_DLL RegisterOGRGTM();
426 void CPL_DLL RegisterOGRVFK();
427 void CPL_DLL RegisterOGRPGDump();
428 void CPL_DLL RegisterOGROSM();
429 void CPL_DLL RegisterOGRGPSBabel();
430 void CPL_DLL RegisterOGRSUA();
431 void CPL_DLL RegisterOGROpenAir();
432 void CPL_DLL RegisterOGRPDS();
433 void CPL_DLL RegisterOGRWFS();
434 void CPL_DLL RegisterOGRSOSI();
435 void CPL_DLL RegisterOGRHTF();
436 void CPL_DLL RegisterOGRAeronavFAA();
437 void CPL_DLL RegisterOGRGeomedia();
438 void CPL_DLL RegisterOGRMDB();
439 void CPL_DLL RegisterOGREDIGEO();
440 void CPL_DLL RegisterOGRGFT();
441 void CPL_DLL RegisterOGRGME();
442 void CPL_DLL RegisterOGRSVG();
443 void CPL_DLL RegisterOGRCouchDB();
444 void CPL_DLL RegisterOGRIdrisi();
445 void CPL_DLL RegisterOGRARCGEN();
446 void CPL_DLL RegisterOGRSEGUKOOA();
447 void CPL_DLL RegisterOGRSEGY();
448 void CPL_DLL RegisterOGRXLS();
449 void CPL_DLL RegisterOGRODS();
450 void CPL_DLL RegisterOGRXLSX();
451 void CPL_DLL RegisterOGRElastic();
452 void CPL_DLL RegisterOGRGeoPackage();
453 void CPL_DLL RegisterOGRPDF();
454 void CPL_DLL RegisterOGRWalk();
455 void CPL_DLL RegisterOGRCartoDB();
456 void CPL_DLL RegisterOGRSXF();
457 void CPL_DLL RegisterOGROpenFileGDB();
Definition: ogrsf_frmts.h:217
void OGRRegisterAll()
Register all drivers.
Definition: ogrregisterall.cpp:39
Definition: ogr_feature.h:112
Definition: ogr_feature.h:167
Definition: ogr_core.h:310
Definition: ogr_feature.h:52
OGRwkbGeometryType
Definition: ogr_core.h:308
Definition: ogr_geometry.h:79
Definition: ogr_feature.h:384
Definition: ogr_spatialref.h:129
Definition: ogrsf_frmts.h:334
OGRSFDriver * GetDriver(int iDriver)
Fetch the indicated driver.
Definition: ogrsfdriverregistrar.cpp:692
Definition: ogr_core.h:48
Definition: ogrsf_frmts.h:59
Definition: ogr_feature.h:232
Definition: ogr_featurestyle.h:81
int GetOpenDSCount()
Return the number of opened datasources.
Definition: ogrsf_frmts.h:366
Definition: ogr_attrind.h:66
Definition: ogrsf_frmts.h:301