Go to the documentation of this file.
31 #ifndef OGRSF_FRMTS_H_INCLUDED
32 #define OGRSF_FRMTS_H_INCLUDED
34 #include "cpl_progress.h"
37 #include "gdal_priv.h"
47 #if !defined(GDAL_COMPILATION) && !defined(SUPPRESS_DEPRECATION_WARNINGS)
49 #define OGR_DEPRECATED(x) CPL_WARN_DEPRECATED(x)
51 #define OGR_DEPRECATED(x)
55 class OGRLayerAttrIndex;
70 class CPL_DLL
OGRLayer :
public GDALMajorObject
74 std::unique_ptr<Private> m_poPrivate;
76 void ConvertGeomsIfNecessary(
OGRFeature *poFeature );
78 class CPL_DLL FeatureIterator
81 std::unique_ptr<Private> m_poPrivate;
83 FeatureIterator(
OGRLayer* poLayer,
bool bStart);
84 FeatureIterator(FeatureIterator&& oOther);
87 FeatureIterator& operator++();
88 bool operator!=(
const FeatureIterator& it)
const;
92 friend inline FeatureIterator
end(
OGRLayer* poLayer);
96 int m_bFilterIsEnvelope;
99 OGREnvelope m_sFilterEnvelope;
100 int m_iGeomFieldFilter;
107 OGRErr GetExtentInternal(
int iGeomField, OGREnvelope *psExtent,
int bForce );
127 FeatureIterator
begin();
130 FeatureIterator
end();
134 virtual void SetSpatialFilterRect(
double dfMinX,
double dfMinY,
135 double dfMaxX,
double dfMaxY );
137 virtual void SetSpatialFilter(
int iGeomField,
OGRGeometry * );
138 virtual void SetSpatialFilterRect(
int iGeomField,
139 double dfMinX,
double dfMinY,
140 double dfMaxX,
double dfMaxY );
142 virtual OGRErr SetAttributeFilter(
const char * );
144 virtual void ResetReading() = 0;
154 virtual const char *GetName();
157 virtual int FindFieldIndex(
const char *pszFieldName,
int bExactMatch );
161 virtual GIntBig GetFeatureCount(
int bForce = TRUE );
163 virtual OGRErr GetExtent(
int iGeomField, OGREnvelope *psExtent,
166 virtual int TestCapability(
const char * ) = 0;
169 int bApproxOK = TRUE );
170 virtual OGRErr DeleteField(
int iField );
171 virtual OGRErr ReorderFields(
int* panMap );
172 virtual OGRErr AlterFieldDefn(
int iField,
OGRFieldDefn* poNewFieldDefn,
int nFlagsIn );
175 int bApproxOK = TRUE );
177 virtual OGRErr SyncToDisk();
180 virtual void SetStyleTableDirectly(
OGRStyleTable *poStyleTable );
186 virtual OGRErr RollbackTransaction();
188 virtual const char *GetFIDColumn();
189 virtual const char *GetGeometryColumn();
191 virtual OGRErr SetIgnoredFields(
const char **papszFields );
195 char** papszOptions =
nullptr,
196 GDALProgressFunc pfnProgress =
nullptr,
197 void * pProgressArg =
nullptr );
200 char** papszOptions =
nullptr,
201 GDALProgressFunc pfnProgress =
nullptr,
202 void * pProgressArg =
nullptr );
206 GDALProgressFunc pfnProgress,
207 void * pProgressArg );
210 char** papszOptions =
nullptr,
211 GDALProgressFunc pfnProgress =
nullptr,
212 void * pProgressArg =
nullptr );
215 char** papszOptions =
nullptr,
216 GDALProgressFunc pfnProgress =
nullptr,
217 void * pProgressArg =
nullptr );
220 char** papszOptions =
nullptr,
221 GDALProgressFunc pfnProgress =
nullptr,
222 void * pProgressArg =
nullptr );
225 char** papszOptions =
nullptr,
226 GDALProgressFunc pfnProgress =
nullptr,
227 void * pProgressArg =
nullptr );
231 int GetRefCount()
const;
237 OGRErr ReorderField(
int iOldFieldPos,
int iNewFieldPos );
240 int AttributeFilterEvaluationNeedsGeometry();
243 OGRErr InitializeIndexSupport(
const char * );
244 OGRLayerAttrIndex *GetIndex() {
return m_poAttrIndex; }
245 int GetGeomFieldFilter()
const {
return m_iGeomFieldFilter; }
246 const char *GetAttrQueryString()
const {
return m_pszAttrQueryString; }
253 {
return reinterpret_cast<OGRLayerH>(poLayer); }
259 {
return reinterpret_cast<OGRLayer*
>(hLayer); }
264 OGRFeatureQuery *m_poAttrQuery;
265 char *m_pszAttrQueryString;
266 OGRLayerAttrIndex *m_poAttrIndex;
290 inline OGRLayer::FeatureIterator
end(
OGRLayer* poLayer) {
return poLayer->
end(); }
320 virtual const char *GetName() OGR_DEPRECATED(
"Use GDALDataset class instead") = 0;
322 static void DestroyDataSource(
OGRDataSource * ) OGR_DEPRECATED(
"Use GDALDataset class instead");
354 virtual const char *GetName() OGR_DEPRECATED(
"Use GDALDriver class instead") = 0;
356 virtual OGRDataSource *Open(
const char *pszName,
int bUpdate=FALSE ) OGR_DEPRECATED(
"Use GDALDriver class instead") = 0;
358 virtual int TestCapability(
const char *pszCap ) OGR_DEPRECATED(
"Use GDALDriver class instead") = 0;
360 virtual OGRDataSource *CreateDataSource(
const char *pszName,
361 char ** =
nullptr ) OGR_DEPRECATED(
"Use GDALDriver class instead");
362 virtual OGRErr DeleteDataSource(
const char *pszName ) OGR_DEPRECATED(
"Use GDALDriver class instead");
389 static GDALDataset* OpenWithDriverArg(GDALDriver* poDriver,
390 GDALOpenInfo* poOpenInfo);
391 static GDALDataset* CreateVectorOnly( GDALDriver* poDriver,
392 const char * pszName,
393 char ** papszOptions );
394 static CPLErr DeleteDataSource( GDALDriver* poDriver,
395 const char * pszName );
399 static OGRSFDriverRegistrar *GetRegistrar() OGR_DEPRECATED(
"Use GDALDriverManager class instead");
402 void RegisterDriver(
OGRSFDriver * poDriver ) OGR_DEPRECATED(
"Use GDALDriverManager class instead");
405 int GetDriverCount(
void ) OGR_DEPRECATED(
"Use GDALDriverManager class instead");
407 GDALDriver *GetDriver(
int iDriver ) OGR_DEPRECATED(
"Use GDALDriverManager class instead");
409 GDALDriver *GetDriverByName(
const char * ) OGR_DEPRECATED(
"Use GDALDriverManager class instead");
412 int GetOpenDSCount() OGR_DEPRECATED(
"Use GDALDriverManager class instead");
414 OGRDataSource *GetOpenDS(
int ) OGR_DEPRECATED(
"Use GDALDriverManager class instead");
424 void OGRRegisterAllInternal();
426 void CPL_DLL RegisterOGRFileGDB();
427 void CPL_DLL RegisterOGRShape();
428 void CPL_DLL RegisterOGRDB2();
429 void CPL_DLL RegisterOGRNTF();
430 void CPL_DLL RegisterOGRFME();
431 void CPL_DLL RegisterOGRSDTS();
432 void CPL_DLL RegisterOGRTiger();
433 void CPL_DLL RegisterOGRS57();
434 void CPL_DLL RegisterOGRTAB();
435 void CPL_DLL RegisterOGRMIF();
436 void CPL_DLL RegisterOGROGDI();
437 void CPL_DLL RegisterOGRODBC();
438 void CPL_DLL RegisterOGRWAsP();
439 void CPL_DLL RegisterOGRPG();
440 void CPL_DLL RegisterOGRMSSQLSpatial();
441 void CPL_DLL RegisterOGRMySQL();
442 void CPL_DLL RegisterOGROCI();
443 void CPL_DLL RegisterOGRDGN();
444 void CPL_DLL RegisterOGRGML();
445 void CPL_DLL RegisterOGRLIBKML();
446 void CPL_DLL RegisterOGRKML();
447 void CPL_DLL RegisterOGRGeoJSON();
448 void CPL_DLL RegisterOGRESRIJSON();
449 void CPL_DLL RegisterOGRTopoJSON();
450 void CPL_DLL RegisterOGRAVCBin();
451 void CPL_DLL RegisterOGRAVCE00();
452 void CPL_DLL RegisterOGRREC();
453 void CPL_DLL RegisterOGRMEM();
454 void CPL_DLL RegisterOGRVRT();
455 void CPL_DLL RegisterOGRDODS();
456 void CPL_DLL RegisterOGRSQLite();
457 void CPL_DLL RegisterOGRCSV();
458 void CPL_DLL RegisterOGRILI1();
459 void CPL_DLL RegisterOGRILI2();
460 void CPL_DLL RegisterOGRGRASS();
461 void CPL_DLL RegisterOGRPGeo();
462 void CPL_DLL RegisterOGRDXF();
463 void CPL_DLL RegisterOGRCAD();
464 void CPL_DLL RegisterOGRDWG();
465 void CPL_DLL RegisterOGRDGNV8();
466 void CPL_DLL RegisterOGRSDE();
467 void CPL_DLL RegisterOGRIDB();
468 void CPL_DLL RegisterOGRGMT();
469 void CPL_DLL RegisterOGRBNA();
470 void CPL_DLL RegisterOGRGPX();
471 void CPL_DLL RegisterOGRGeoconcept();
472 void CPL_DLL RegisterOGRIngres();
473 void CPL_DLL RegisterOGRXPlane();
474 void CPL_DLL RegisterOGRNAS();
475 void CPL_DLL RegisterOGRGeoRSS();
476 void CPL_DLL RegisterOGRGTM();
477 void CPL_DLL RegisterOGRVFK();
478 void CPL_DLL RegisterOGRPGDump();
479 void CPL_DLL RegisterOGROSM();
480 void CPL_DLL RegisterOGRGPSBabel();
481 void CPL_DLL RegisterOGRSUA();
482 void CPL_DLL RegisterOGROpenAir();
483 void CPL_DLL RegisterOGRPDS();
484 void CPL_DLL RegisterOGRWFS();
485 void CPL_DLL RegisterOGRWFS3();
486 void CPL_DLL RegisterOGRSOSI();
487 void CPL_DLL RegisterOGRHTF();
488 void CPL_DLL RegisterOGRAeronavFAA();
489 void CPL_DLL RegisterOGRGeomedia();
490 void CPL_DLL RegisterOGRMDB();
491 void CPL_DLL RegisterOGREDIGEO();
492 void CPL_DLL RegisterOGRGFT();
493 void CPL_DLL RegisterOGRSVG();
494 void CPL_DLL RegisterOGRCouchDB();
495 void CPL_DLL RegisterOGRCloudant();
496 void CPL_DLL RegisterOGRIdrisi();
497 void CPL_DLL RegisterOGRARCGEN();
498 void CPL_DLL RegisterOGRSEGUKOOA();
499 void CPL_DLL RegisterOGRSEGY();
500 void CPL_DLL RegisterOGRXLS();
501 void CPL_DLL RegisterOGRODS();
502 void CPL_DLL RegisterOGRXLSX();
503 void CPL_DLL RegisterOGRElastic();
504 void CPL_DLL RegisterOGRGeoPackage();
505 void CPL_DLL RegisterOGRWalk();
506 void CPL_DLL RegisterOGRCarto();
507 void CPL_DLL RegisterOGRAmigoCloud();
508 void CPL_DLL RegisterOGRSXF();
509 void CPL_DLL RegisterOGROpenFileGDB();
510 void CPL_DLL RegisterOGRSelafin();
511 void CPL_DLL RegisterOGRJML();
512 void CPL_DLL RegisterOGRPLSCENES();
513 void CPL_DLL RegisterOGRCSW();
514 void CPL_DLL RegisterOGRMongoDB();
515 void CPL_DLL RegisterOGRVDV();
516 void CPL_DLL RegisterOGRGMLAS();
517 void CPL_DLL RegisterOGRMVT();
virtual OGRLinearRing * getInteriorRing(int)
Fetch reference to indicated internal ring.
Definition: ogrpolygon.cpp:217
virtual void setMeasured(OGRBoolean bIsMeasured) override
Add or remove the M coordinate dimension.
Definition: ogrlinestring.cpp:191
OGRBoolean Is3D() const
Definition: ogr_geometry.h:362
virtual OGRBoolean IsEmpty() const =0
Returns TRUE (non-zero) if the object has no points.
virtual void setCoordinateDimension(int nDimension)
Set the coordinate dimension.
Definition: ogrgeometry.cpp:1007
virtual OGRErr addRingDirectly(OGRCurve *)
Add a ring to a polygon.
Definition: ogrcurvepolygon.cpp:422
virtual OGRGeometry * getCurveGeometry(const char *const *papszOptions=nullptr) const override
Return curve version of this geometry.
Definition: ogrpolygon.cpp:853
@ wkbPointZM
Definition: ogr_core.h:381
#define CPL_SWAP32(x)
Definition: cpl_port.h:709
int getNumGeometries() const
Fetch number of geometries in PolyhedralSurface.
Definition: ogrpolyhedralsurface.cpp:914
OGRLinearRing * stealExteriorRing()
"Steal" reference to external polygon ring.
Definition: ogrpolygon.cpp:192
Definition: ogr_geometry.h:2307
static OGRMultiPolygon * CastToMultiPolygon(OGRPolyhedralSurface *poPS)
Casts the OGRPolyhedralSurface to an OGRMultiPolygon.
Definition: ogrpolyhedralsurface.cpp:825
OGRErr addGeometryDirectly(OGRGeometry *poNewGeom)
Add a geometry directly to the container.
Definition: ogrpolyhedralsurface.cpp:882
virtual OGRErr importFromWkb(const unsigned char *, int, OGRwkbVariant, int &nBytesConsumedOut) override
Assign geometry from well known binary data.
Definition: ogrpolyhedralsurface.cpp:218
#define OGRERR_UNSUPPORTED_GEOMETRY_TYPE
Definition: ogr_core.h:295
virtual int getNumPoints() const override
Fetch vertex count.
Definition: ogr_geometry.h:1158
virtual OGRwkbGeometryType getGeometryType() const =0
Fetch geometry type.
virtual OGRwkbGeometryType getGeometryType() const override
Returns the WKB Type of PolyhedralSurface.
Definition: ogrpolyhedralsurface.cpp:116
@ wkbPoint
Definition: ogr_core.h:321
OGRLayer::FeatureIterator begin(OGRLayer *poLayer)
Definition: ogrsf_frmts.h:285
virtual OGRBoolean IsEmpty() const override
Returns TRUE (non-zero) if the object has no points.
Definition: ogrcurvepolygon.cpp:720
virtual int WkbSize() const override
Returns size of related binary representation.
Definition: ogrpolyhedralsurface.cpp:132
CPLSTRING_DLL CPLString & Printf(const char *pszFormat,...)
Definition: cplstring.cpp:67
#define CPL_SWAPDOUBLE(p)
Definition: cpl_port.h:797
#define VSI_REALLOC_VERBOSE(pOldPtr, nNewSize)
Definition: cpl_vsi.h:285
Definition: ogr_featurestyle.h:84
virtual void set3D(OGRBoolean bIs3D)
Add or remove the Z coordinate dimension.
Definition: ogrgeometry.cpp:1030
virtual OGRErr transform(OGRCoordinateTransformation *) override
Apply arbitrary coordinate transformation to geometry.
Definition: ogrpolyhedralsurface.cpp:633
friend FeatureIterator begin(OGRLayer *poLayer)
Definition: ogrsf_frmts.h:285
void * CPLCalloc(size_t, size_t)
Definition: cpl_conv.cpp:138
virtual OGRErr importFromWkb(const unsigned char *, int, OGRwkbVariant, int &nBytesConsumedOut) override
Assign geometry from well known binary data.
Definition: ogrpolygon.cpp:320
void OGRRegisterAll(void)
Register all drivers.
Definition: ogrregisterall.cpp:38
virtual void setCoordinateDimension(int nDimension) override
Set the coordinate dimension.
Definition: ogrpolyhedralsurface.cpp:1022
@ wkbNDR
Definition: ogr_core.h:492
Definition: ogr_spatialref.h:145
virtual const char * getGeometryName() const override
Fetch WKT name for geometry type.
Definition: ogrpolyhedralsurface.cpp:102
OGRErr importFromWkt(const char **) override
Definition: ogrpolygon.cpp:447
Definition: ogr_geometry.h:2392
@ wkbPolygon25D
Definition: ogr_core.h:401
Definition: ogrlayer.cpp:39
@ wkbPolygonZM
Definition: ogr_core.h:383
@ wkbVariantPostGIS1
Definition: ogr_core.h:427
virtual OGRBoolean Intersects(const OGRGeometry *) const override
Do these features intersect?
Definition: ogrcurvepolygon.cpp:802
@ wkbPolygonM
Definition: ogr_core.h:365
Definition: ogr_geometry.h:286
virtual void swapXY() override
Swap x and y coordinates.
Definition: ogrpolyhedralsurface.cpp:1037
virtual const char * getGeometryName() const =0
Fetch WKT name for geometry type.
virtual void getEnvelope(OGREnvelope *psEnvelope) const override
Computes and returns the bounding envelope for this geometry in the passed psEnvelope structure.
Definition: ogrpolyhedralsurface.cpp:200
virtual const char * getGeometryName() const override
Fetch WKT name for geometry type.
Definition: ogrpolygon.cpp:123
Definition: ogrsf_frmts.h:70
virtual OGRGeometry * clone() const override
Make a copy of this object.
Definition: ogrpolyhedralsurface.cpp:173
Convenient string class based on std::string.
Definition: cpl_string.h:336
Definition: ogr_geometry.h:809
int WkbSize() const override
Returns size of related binary representation.
Definition: ogrpoint.cpp:279
virtual OGRErr exportToWkb(OGRwkbByteOrder, unsigned char *, OGRwkbVariant=wkbVariantOldOgc) const override
Convert a geometry into well known binary format.
Definition: ogrpolygon.cpp:374
virtual OGRGeometry * getLinearGeometry(double dfMaxAngleStepSizeDegrees=0, const char *const *papszOptions=nullptr) const CPL_WARN_UNUSED_RESULT
Return, possibly approximate, non-curve version of this geometry.
Definition: ogrgeometry.cpp:3118
@ wkbPolyhedralSurfaceZM
Definition: ogr_core.h:395
OGRGeometry & operator=(const OGRGeometry &other)
Assignment operator.
Definition: ogrgeometry.cpp:142
void * CPLRealloc(void *, size_t)
Definition: cpl_conv.cpp:225
@ wkbPoint25D
Definition: ogr_core.h:399
OGRPolygon & operator=(const OGRPolygon &other)
Assignment operator.
Definition: ogrpolygon.cpp:93
std::unique_ptr< OGRFeature, OGRFeatureUniquePtrDeleter > OGRFeatureUniquePtr
Definition: ogr_feature.h:779
#define EQUAL(a, b)
Definition: cpl_port.h:559
int OGRBoolean
Definition: ogr_core.h:306
Definition: ogrsf_frmts.h:383
virtual void flattenTo2D() override
Convert geometry to strictly 2D. In a sense this converts all Z coordinates to 0.0.
Definition: ogrpoint.cpp:248
virtual OGRGeometry * clone() const override
Make a copy of this object.
Definition: ogrpoint.cpp:181
virtual void closeRings() override
Force rings to be closed.
Definition: ogrpolygon.cpp:809
double x
Definition: ogr_geometry.h:73
#define wkbFlatten(x)
Definition: ogr_core.h:440
#define CPLAssert(expr)
Definition: cpl_error.h:182
Definition: ogr_geometry.h:63
#define CPL_C_START
Definition: cpl_port.h:335
virtual void getEnvelope(OGREnvelope *psEnvelope) const override
Computes and returns the bounding envelope for this geometry in the passed psEnvelope structure.
Definition: ogrpoint.cpp:630
virtual OGRGeometry * clone() const CPL_WARN_UNUSED_RESULT=0
Make a copy of this object.
virtual OGRLinearRing * stealInteriorRing(int)
"Steal" reference to indicated interior ring.
Definition: ogrpolygon.cpp:265
virtual void flattenTo2D() override
Convert geometry to strictly 2D. In a sense this converts all Z coordinates to 0.0.
Definition: ogrpolyhedralsurface.cpp:621
virtual void assignSpatialReference(OGRSpatialReference *poSR) override
Assign spatial reference to this object.
Definition: ogrgeometrycollection.cpp:1244
virtual OGRErr addGeometry(const OGRGeometry *)
Add a new geometry to a collection.
Definition: ogrpolyhedralsurface.cpp:846
Definition: ogr_geometry.h:1724
OGRwkbByteOrder
Definition: ogr_core.h:489
OGRLinearRing * getExteriorRing()
Fetch reference to external polygon ring.
Definition: ogrpolygon.cpp:147
OGRCurvePolygon()
Create an empty curve polygon.
Definition: ogrcurvepolygon.cpp:52
static OGRGeometry * createGeometry(OGRwkbGeometryType)
Create an empty geometry of desired type.
Definition: ogrgeometryfactory.cpp:527
friend FeatureIterator end(OGRLayer *poLayer)
Definition: ogrsf_frmts.h:290
@ wkbCurvePolygon
Definition: ogr_core.h:336
virtual OGRBoolean Intersects(const OGRGeometry *) const
Do these features intersect?
Definition: ogrgeometry.cpp:491
virtual OGRPolygon * CurvePolyToPoly(double dfMaxAngleStepSizeDegrees=0, const char *const *papszOptions=nullptr) const override
Return a polygon from a curve polygon.
Definition: ogrpolygon.cpp:820
static OGRLayerH ToHandle(OGRLayer *poLayer)
Definition: ogrsf_frmts.h:252
OGRPoint * toPoint()
Definition: ogr_geometry.h:523
virtual void set3D(OGRBoolean bIs3D) override
Add or remove the Z coordinate dimension.
Definition: ogrcurvepolygon.cpp:697
#define OGRERR_FAILURE
Definition: ogr_core.h:298
#define OGRERR_NOT_ENOUGH_MEMORY
Definition: ogr_core.h:294
@ wkbPolyhedralSurface
Definition: ogr_core.h:343
OGRPolyhedralSurface * toPolyhedralSurface()
Definition: ogr_geometry.h:761
void sfcgal_geometry_t
Definition: ogr_geometry.h:83
#define CPL_C_END
Definition: cpl_port.h:337
~OGRPolyhedralSurface() override
Destructor.
Definition: ogrpolyhedralsurface.cpp:74
OGRErr importFromWkt(const char **) override
Definition: ogrpoint.cpp:485
void CPLDebug(const char *, const char *,...)
Definition: cpl_error.cpp:544
Definition: ogr_feature.h:92
virtual int getDimension() const override
Get the dimension of this object.
Definition: ogrpoint.cpp:211
OGRErr exportToWkb(OGRwkbByteOrder, unsigned char *, OGRwkbVariant=wkbVariantOldOgc) const override
Convert a geometry into well known binary format.
Definition: ogrpoint.cpp:379
#define CPL_LSBPTR32(x)
Definition: cpl_port.h:824
virtual OGRGeometry * getLinearGeometry(double dfMaxAngleStepSizeDegrees=0, const char *const *papszOptions=nullptr) const override
Return, possibly approximate, non-curve version of this geometry.
Definition: ogrpolygon.cpp:840
@ wkbVariantIso
Definition: ogr_core.h:426
OGRErr removeGeometry(int iIndex, int bDelete=TRUE)
Remove a geometry from the container.
Definition: ogrpolyhedralsurface.cpp:1073
virtual void assignSpatialReference(OGRSpatialReference *poSR)
Assign spatial reference to this object.
Definition: ogrgeometry.cpp:421
virtual OGRBoolean Intersects(const OGRGeometry *) const override
Do these features intersect?
Definition: ogrpoint.cpp:785
virtual void setCoordinateDimension(int nDimension) override
Set the coordinate dimension.
Definition: ogrpoint.cpp:261
@ wkbPolygon
Definition: ogr_core.h:324
virtual OGRwkbGeometryType getGeometryType() const override
Fetch geometry type.
Definition: ogrpolygon.cpp:106
OGRSpatialReference * getSpatialReference(void) const
Returns spatial reference system for object.
Definition: ogr_geometry.h:434
OGRGeometry * getGeometryRef(int i)
Fetch geometry from container.
Definition: ogrpolyhedralsurface.cpp:936
virtual OGRGeometry * clone() const override
Make a copy of this object.
Definition: ogrcurvepolygon.cpp:106
#define VSI_CALLOC_VERBOSE(nCount, nSize)
Definition: cpl_vsi.h:280
virtual int getDimension() const override
Get the dimension of this object.
Definition: ogrpolyhedralsurface.cpp:146
@ wkbPolyhedralSurfaceM
Definition: ogr_core.h:377
Definition: ogrsf_frmts.h:315
struct _OGRPreparedGeometry OGRPreparedGeometry
Definition: ogr_geometry.h:2906
void CPLError(CPLErr eErrClass, CPLErrorNum err_no, const char *fmt,...)
Definition: cpl_error.cpp:232
Definition: ogr_feature.h:182
virtual OGRErr exportToWkt(char **ppszDstText, OGRwkbVariant=wkbVariantOldOgc) const override
Convert a geometry into well known text format.
Definition: ogrlinestring.cpp:1838
virtual void setMeasured(OGRBoolean bIsMeasured) override
Set the type as Measured.
Definition: ogrpolyhedralsurface.cpp:1001
static OGRLayer * FromHandle(OGRLayerH hLayer)
Definition: ogrsf_frmts.h:258
void VSIFree(void *)
Definition: cpl_vsisimple.cpp:823
virtual void empty() override
Clear geometry information. This restores the geometry to its initial state after construction,...
Definition: ogrpolyhedralsurface.cpp:155
#define CPLE_NotSupported
Definition: cpl_error.h:109
#define OGRERR_NOT_ENOUGH_DATA
Definition: ogr_core.h:293
#define OGRERR_CORRUPT_DATA
Definition: ogr_core.h:297
virtual OGRBoolean IsEmpty() const override
Returns TRUE (non-zero) if the object has no points.
Definition: ogr_geometry.h:847
virtual OGRBoolean Within(const OGRGeometry *) const override
Test for containment.
Definition: ogrpoint.cpp:768
OGRLayer::FeatureIterator end(OGRLayer *poLayer)
Definition: ogrsf_frmts.h:290
virtual void empty() override
Clear geometry information. This restores the geometry to its initial state after construction,...
Definition: ogrpoint.cpp:197
void setPointsM(int, const OGRRawPoint *, const double *)
Assign all points in a line string.
Definition: ogrlinestring.cpp:894
virtual OGRErr PointOnSurface(OGRPoint *) const override
This method relates to the SFCOM ISurface::get_PointOnSurface() method.
Definition: ogrpolyhedralsurface.cpp:781
Definition: ogrsf_frmts.h:348
#define CPL_MSBPTR32(x)
Definition: cpl_port.h:826
virtual OGRErr exportToWkt(char **ppszDstText, OGRwkbVariant=wkbVariantOldOgc) const override
Convert a geometry into well known text format.
Definition: ogrpolygon.cpp:623
OGRLinearRing * toLinearRing()
Definition: ogr_geometry.h:579
int OGRErr
Definition: ogr_core.h:290
OGRCurvePolygon * toCurvePolygon()
Definition: ogr_geometry.h:663
long long GIntBig
Definition: cpl_port.h:246
OGRPolygon * toPolygon()
Definition: ogr_geometry.h:635
#define VSI_MALLOC_VERBOSE(size)
Definition: cpl_vsi.h:265
OGRPoint()
Create an empty point.
Definition: ogrpoint.cpp:54
OGRwkbGeometryType
Definition: ogr_core.h:317
static OGRErr createFromWkb(const void *, OGRSpatialReference *, OGRGeometry **, int=-1, OGRwkbVariant=wkbVariantOldOgc)
Create a geometry object of the appropriate type from its well known binary representation.
Definition: ogrgeometryfactory.cpp:105
#define CPL_UNUSED
Definition: cpl_port.h:938
virtual OGRBoolean IsEmpty() const override
Checks if the PolyhedralSurface is empty.
Definition: ogrpolyhedralsurface.cpp:973
#define CPL_WARN_UNUSED_RESULT
Definition: cpl_port.h:929
Definition: ogr_feature.h:353
virtual void swapXY() override
Swap x and y coordinates.
Definition: ogrpoint.cpp:759
#define EQUALN(a, b, n)
Definition: cpl_port.h:557
OGRErr importFromWkb(const unsigned char *, int, OGRwkbVariant, int &nBytesConsumedOut) override
Assign geometry from well known binary data.
Definition: ogrpoint.cpp:297
double getZ() const
Fetch Z coordinate.
Definition: ogr_geometry.h:856
@ wkbXDR
Definition: ogr_core.h:491
virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear=FALSE) const override
Returns if this geometry is or has curve geometry.
Definition: ogrpolygon.cpp:831
OGRBoolean IsMeasured() const
Definition: ogr_geometry.h:364
OGRCurvePolygon & operator=(const OGRCurvePolygon &other)
Assignment operator.
Definition: ogrcurvepolygon.cpp:91
Definition: ogr_geometry.h:925
virtual void assignSpatialReference(OGRSpatialReference *poSR) override
Assign spatial reference to this object.
Definition: ogrcurvepolygon.cpp:711
double getY() const
Fetch Y coordinate.
Definition: ogr_geometry.h:854
CPLErr
Definition: cpl_error.h:52
virtual OGRBoolean Contains(const OGRGeometry *) const override
Test for containment.
Definition: ogrcurvepolygon.cpp:786
void setPoints(int, const OGRRawPoint *, const double *=nullptr)
Assign all points in a line string.
Definition: ogrlinestring.cpp:1008
@ wkbPolyhedralSurfaceZ
Definition: ogr_core.h:359
virtual const char * getGeometryName() const override
Fetch WKT name for geometry type.
Definition: ogrpoint.cpp:238
OGRPolyhedralSurface & operator=(const OGRPolyhedralSurface &other)
Assignment operator.
Definition: ogrpolyhedralsurface.cpp:87
OGRPolyhedralSurface()
Create an empty PolyhedralSurface.
Definition: ogrpolyhedralsurface.cpp:47
virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear=FALSE) const override
Returns if this geometry is or has curve geometry.
Definition: ogrpolyhedralsurface.cpp:1047
Definition: ogr_geometry.h:1312
OGRErr importFromWkt(const char **) override
Definition: ogrpolyhedralsurface.cpp:360
#define OGRERR_NONE
Definition: ogr_core.h:292
char * CPLStrdup(const char *)
Definition: cpl_conv.cpp:293
Definition: ogr_feature.h:259
virtual double get_Area() const override
Returns the area enclosed.
Definition: ogrpolyhedralsurface.cpp:754
double y
Definition: ogr_geometry.h:75
@ wkbLineString
Definition: ogr_core.h:322
virtual void setMeasured(OGRBoolean bIsMeasured) override
Add or remove the M coordinate dimension.
Definition: ogrcurvepolygon.cpp:702
OGRPolygon()
Create an empty polygon.
Definition: ogrpolygon.cpp:55
Definition: ogr_geometry.h:1909
Definition: ogr_geometry.h:1759
OGRBoolean IsPointOnSurface(const OGRPoint *) const
Definition: ogrpolygon.cpp:771
virtual void assignSpatialReference(OGRSpatialReference *poSR) override
Assign spatial reference to this object.
Definition: ogrpolyhedralsurface.cpp:1082
virtual OGRErr transform(OGRCoordinateTransformation *poCT) override
Apply arbitrary coordinate transformation to geometry.
Definition: ogrpoint.cpp:743
void * OGRLayerH
Definition: ogr_api.h:508
#define CPLFree
Definition: cpl_conv.h:81
virtual OGRBoolean Within(const OGRGeometry *) const
Test for containment.
Definition: ogrgeometry.cpp:4643
virtual OGRwkbGeometryType getGeometryType() const override
Fetch geometry type.
Definition: ogrpoint.cpp:221
virtual void setMeasured(OGRBoolean bIsMeasured)
Add or remove the M coordinate dimension.
Definition: ogrgeometry.cpp:1053
virtual OGRErr exportToWkt(char **ppszDstText, OGRwkbVariant=wkbVariantOldOgc) const override
Convert a geometry into well known text format.
Definition: ogrpolyhedralsurface.cpp:456
virtual OGRBoolean Equals(const OGRGeometry *) const override
Returns TRUE if two geometries are equivalent.
Definition: ogrpoint.cpp:714
virtual void set3D(OGRBoolean bIs3D) override
Add or remove the Z coordinate dimension.
Definition: ogrlinestring.cpp:182
static OGRLineString * CastToLineString(OGRLinearRing *poLR)
Cast to line string.
Definition: ogrlinearring.cpp:780
virtual int WkbSize() const override
Returns size of related binary representation.
Definition: ogrpolygon.cpp:300
OGRErr exportToWkt(char **ppszDstText, OGRwkbVariant=wkbVariantOldOgc) const override
Convert a geometry into well known text format.
Definition: ogrpoint.cpp:570
OGRwkbVariant
Definition: ogr_core.h:423
OGRCurve * stealExteriorRingCurve()
"Steal" reference to external ring.
Definition: ogrcurvepolygon.cpp:310
@ wkbPointM
Definition: ogr_core.h:363
virtual OGRErr exportToWkb(OGRwkbByteOrder, unsigned char *, OGRwkbVariant=wkbVariantOldOgc) const override
Convert a geometry into well known binary format.
Definition: ogrpolyhedralsurface.cpp:310
virtual OGRBoolean Equals(const OGRGeometry *) const override
Returns TRUE if two geometries are equivalent.
Definition: ogrpolyhedralsurface.cpp:714
double getX() const
Fetch X coordinate.
Definition: ogr_geometry.h:852
OGRwkbGeometryType getIsoGeometryType() const
Get the geometry type that conforms with ISO SQL/MM Part3.
Definition: ogrgeometry.cpp:761
virtual void set3D(OGRBoolean bIs3D) override
Set the type as 3D geometry.
Definition: ogrpolyhedralsurface.cpp:986
OGRPoint & operator=(const OGRPoint &other)
Assignment operator.
Definition: ogrpoint.cpp:161
#define STARTS_WITH_CI(a, b)
Definition: cpl_port.h:570
#define CPLE_AppDefined
Definition: cpl_error.h:99
unsigned int GUInt32
Definition: cpl_port.h:205
Generated for GDAL by
1.8.17.