31 #ifndef OGRSF_FRMTS_H_INCLUDED 32 #define OGRSF_FRMTS_H_INCLUDED 34 #include "cpl_progress.h" 37 #include "gdal_priv.h" 45 #if !defined(GDAL_COMPILATION) && !defined(SUPPRESS_DEPRECATION_WARNINGS) 47 #define OGR_DEPRECATED(x) CPL_WARN_DEPRECATED(x) 49 #define OGR_DEPRECATED(x) 53 class OGRLayerAttrIndex;
68 class CPL_DLL
OGRLayer :
public GDALMajorObject
71 void ConvertGeomsIfNecessary(
OGRFeature *poFeature );
75 int m_bFilterIsEnvelope;
78 OGREnvelope m_sFilterEnvelope;
79 int m_iGeomFieldFilter;
86 OGRErr GetExtentInternal(
int iGeomField, OGREnvelope *psExtent,
int bForce );
98 virtual void SetSpatialFilterRect(
double dfMinX,
double dfMinY,
99 double dfMaxX,
double dfMaxY );
101 virtual void SetSpatialFilter(
int iGeomField,
OGRGeometry * );
102 virtual void SetSpatialFilterRect(
int iGeomField,
103 double dfMinX,
double dfMinY,
104 double dfMaxX,
double dfMaxY );
106 virtual OGRErr SetAttributeFilter(
const char * );
108 virtual void ResetReading() = 0;
118 virtual const char *GetName();
121 virtual int FindFieldIndex(
const char *pszFieldName,
int bExactMatch );
125 virtual GIntBig GetFeatureCount(
int bForce = TRUE );
127 virtual OGRErr GetExtent(
int iGeomField, OGREnvelope *psExtent,
130 virtual int TestCapability(
const char * ) = 0;
133 int bApproxOK = TRUE );
134 virtual OGRErr DeleteField(
int iField );
135 virtual OGRErr ReorderFields(
int* panMap );
136 virtual OGRErr AlterFieldDefn(
int iField,
OGRFieldDefn* poNewFieldDefn,
int nFlagsIn );
139 int bApproxOK = TRUE );
141 virtual OGRErr SyncToDisk();
144 virtual void SetStyleTableDirectly(
OGRStyleTable *poStyleTable );
150 virtual OGRErr RollbackTransaction();
152 virtual const char *GetFIDColumn();
153 virtual const char *GetGeometryColumn();
155 virtual OGRErr SetIgnoredFields(
const char **papszFields );
159 char** papszOptions = NULL,
160 GDALProgressFunc pfnProgress = NULL,
161 void * pProgressArg = NULL );
164 char** papszOptions = NULL,
165 GDALProgressFunc pfnProgress = NULL,
166 void * pProgressArg = NULL );
170 GDALProgressFunc pfnProgress,
171 void * pProgressArg );
174 char** papszOptions = NULL,
175 GDALProgressFunc pfnProgress = NULL,
176 void * pProgressArg = NULL );
179 char** papszOptions = NULL,
180 GDALProgressFunc pfnProgress = NULL,
181 void * pProgressArg = NULL );
184 char** papszOptions = NULL,
185 GDALProgressFunc pfnProgress = NULL,
186 void * pProgressArg = NULL );
189 char** papszOptions = NULL,
190 GDALProgressFunc pfnProgress = NULL,
191 void * pProgressArg = NULL );
195 int GetRefCount()
const;
201 OGRErr ReorderField(
int iOldFieldPos,
int iNewFieldPos );
204 int AttributeFilterEvaluationNeedsGeometry();
207 OGRErr InitializeIndexSupport(
const char * );
208 OGRLayerAttrIndex *GetIndex() {
return m_poAttrIndex; }
214 OGRFeatureQuery *m_poAttrQuery;
215 char *m_pszAttrQueryString;
216 OGRLayerAttrIndex *m_poAttrIndex;
252 virtual const char *GetName() OGR_DEPRECATED(
"Use GDALDataset class instead") = 0;
254 static void DestroyDataSource(
OGRDataSource * ) OGR_DEPRECATED(
"Use GDALDataset class instead");
286 virtual const char *GetName() OGR_DEPRECATED(
"Use GDALDriver class instead") = 0;
288 virtual OGRDataSource *Open(
const char *pszName,
int bUpdate=FALSE ) OGR_DEPRECATED(
"Use GDALDriver class instead") = 0;
290 virtual int TestCapability(
const char *pszCap ) OGR_DEPRECATED(
"Use GDALDriver class instead") = 0;
292 virtual OGRDataSource *CreateDataSource(
const char *pszName,
293 char ** = NULL ) OGR_DEPRECATED(
"Use GDALDriver class instead");
294 virtual OGRErr DeleteDataSource(
const char *pszName ) OGR_DEPRECATED(
"Use GDALDriver class instead");
321 static GDALDataset* OpenWithDriverArg(GDALDriver* poDriver,
322 GDALOpenInfo* poOpenInfo);
323 static GDALDataset* CreateVectorOnly( GDALDriver* poDriver,
324 const char * pszName,
325 char ** papszOptions );
326 static CPLErr DeleteDataSource( GDALDriver* poDriver,
327 const char * pszName );
331 static OGRSFDriverRegistrar *GetRegistrar() OGR_DEPRECATED(
"Use GDALDriverManager class instead");
334 void RegisterDriver(
OGRSFDriver * poDriver ) OGR_DEPRECATED(
"Use GDALDriverManager class instead");
337 int GetDriverCount(
void ) OGR_DEPRECATED(
"Use GDALDriverManager class instead");
339 GDALDriver *GetDriver(
int iDriver ) OGR_DEPRECATED(
"Use GDALDriverManager class instead");
341 GDALDriver *GetDriverByName(
const char * ) OGR_DEPRECATED(
"Use GDALDriverManager class instead");
344 int GetOpenDSCount() OGR_DEPRECATED(
"Use GDALDriverManager class instead");
346 OGRDataSource *GetOpenDS(
int ) OGR_DEPRECATED(
"Use GDALDriverManager class instead");
357 void OGRRegisterAllInternal();
359 void CPL_DLL RegisterOGRFileGDB();
360 void CPL_DLL RegisterOGRShape();
361 void CPL_DLL RegisterOGRDB2();
362 void CPL_DLL RegisterOGRNTF();
363 void CPL_DLL RegisterOGRFME();
364 void CPL_DLL RegisterOGRSDTS();
365 void CPL_DLL RegisterOGRTiger();
366 void CPL_DLL RegisterOGRS57();
367 void CPL_DLL RegisterOGRTAB();
368 void CPL_DLL RegisterOGRMIF();
369 void CPL_DLL RegisterOGROGDI();
370 void CPL_DLL RegisterOGRODBC();
371 void CPL_DLL RegisterOGRWAsP();
372 void CPL_DLL RegisterOGRPG();
373 void CPL_DLL RegisterOGRMSSQLSpatial();
374 void CPL_DLL RegisterOGRMySQL();
375 void CPL_DLL RegisterOGROCI();
376 void CPL_DLL RegisterOGRDGN();
377 void CPL_DLL RegisterOGRGML();
378 void CPL_DLL RegisterOGRLIBKML();
379 void CPL_DLL RegisterOGRKML();
380 void CPL_DLL RegisterOGRGeoJSON();
381 void CPL_DLL RegisterOGRAVCBin();
382 void CPL_DLL RegisterOGRAVCE00();
383 void CPL_DLL RegisterOGRREC();
384 void CPL_DLL RegisterOGRMEM();
385 void CPL_DLL RegisterOGRVRT();
386 void CPL_DLL RegisterOGRDODS();
387 void CPL_DLL RegisterOGRSQLite();
388 void CPL_DLL RegisterOGRCSV();
389 void CPL_DLL RegisterOGRILI1();
390 void CPL_DLL RegisterOGRILI2();
391 void CPL_DLL RegisterOGRGRASS();
392 void CPL_DLL RegisterOGRPGeo();
393 void CPL_DLL RegisterOGRDXF();
394 void CPL_DLL RegisterOGRCAD();
395 void CPL_DLL RegisterOGRDWG();
396 void CPL_DLL RegisterOGRDGNV8();
397 void CPL_DLL RegisterOGRSDE();
398 void CPL_DLL RegisterOGRIDB();
399 void CPL_DLL RegisterOGRGMT();
400 void CPL_DLL RegisterOGRBNA();
401 void CPL_DLL RegisterOGRGPX();
402 void CPL_DLL RegisterOGRGeoconcept();
403 void CPL_DLL RegisterOGRIngres();
404 void CPL_DLL RegisterOGRXPlane();
405 void CPL_DLL RegisterOGRNAS();
406 void CPL_DLL RegisterOGRGeoRSS();
407 void CPL_DLL RegisterOGRGTM();
408 void CPL_DLL RegisterOGRVFK();
409 void CPL_DLL RegisterOGRPGDump();
410 void CPL_DLL RegisterOGROSM();
411 void CPL_DLL RegisterOGRGPSBabel();
412 void CPL_DLL RegisterOGRSUA();
413 void CPL_DLL RegisterOGROpenAir();
414 void CPL_DLL RegisterOGRPDS();
415 void CPL_DLL RegisterOGRWFS();
416 void CPL_DLL RegisterOGRSOSI();
417 void CPL_DLL RegisterOGRHTF();
418 void CPL_DLL RegisterOGRAeronavFAA();
419 void CPL_DLL RegisterOGRGeomedia();
420 void CPL_DLL RegisterOGRMDB();
421 void CPL_DLL RegisterOGREDIGEO();
422 void CPL_DLL RegisterOGRGFT();
423 void CPL_DLL RegisterOGRSVG();
424 void CPL_DLL RegisterOGRCouchDB();
425 void CPL_DLL RegisterOGRCloudant();
426 void CPL_DLL RegisterOGRIdrisi();
427 void CPL_DLL RegisterOGRARCGEN();
428 void CPL_DLL RegisterOGRSEGUKOOA();
429 void CPL_DLL RegisterOGRSEGY();
430 void CPL_DLL RegisterOGRXLS();
431 void CPL_DLL RegisterOGRODS();
432 void CPL_DLL RegisterOGRXLSX();
433 void CPL_DLL RegisterOGRElastic();
434 void CPL_DLL RegisterOGRGeoPackage();
435 void CPL_DLL RegisterOGRWalk();
436 void CPL_DLL RegisterOGRCarto();
437 void CPL_DLL RegisterOGRAmigoCloud();
438 void CPL_DLL RegisterOGRSXF();
439 void CPL_DLL RegisterOGROpenFileGDB();
440 void CPL_DLL RegisterOGRSelafin();
441 void CPL_DLL RegisterOGRJML();
442 void CPL_DLL RegisterOGRPLSCENES();
443 void CPL_DLL RegisterOGRCSW();
444 void CPL_DLL RegisterOGRMongoDB();
445 void CPL_DLL RegisterOGRVDV();
446 void CPL_DLL RegisterOGRGMLAS();
Definition: ogrsf_frmts.h:247
void OGRRegisterAll()
Register all drivers.
Definition: ogrregisterall.cpp:38
#define CPL_C_START
Definition: cpl_port.h:352
Definition: ogr_feature.h:141
Definition: ogr_feature.h:207
Definition: ogr_feature.h:62
OGRwkbGeometryType
Definition: ogr_core.h:312
Definition: ogr_geometry.h:118
Definition: ogr_spatialref.h:132
struct _OGRPreparedGeometry OGRPreparedGeometry
Definition: ogr_geometry.h:1799
Definition: ogrsf_frmts.h:315
Definition: ogrsf_frmts.h:68
Definition: ogr_feature.h:279
Definition: ogr_featurestyle.h:83
#define CPL_C_END
Definition: cpl_port.h:354
long long GIntBig
Definition: cpl_port.h:250
int OGRErr
Definition: ogr_core.h:285
CPLErr
Definition: cpl_error.h:52
Definition: ogrsf_frmts.h:280
#define CPL_WARN_UNUSED_RESULT
Definition: cpl_port.h:999