OGR
ogrlayerdecorator.h
1 /******************************************************************************
2  * $Id: ogrlayerdecorator.h 2c3d60220a2d6b41496ded571e231b96435bffa0 2016-11-25 14:09:24Z Even Rouault $
3  *
4  * Project: OpenGIS Simple Features Reference Implementation
5  * Purpose: Defines OGRLayerDecorator class
6  * Author: Even Rouault, even dot rouault at mines dash paris dot org
7  *
8  ******************************************************************************
9  * Copyright (c) 2012-2013, Even Rouault <even dot rouault at mines-paris dot org>
10  *
11  * Permission is hereby granted, free of charge, to any person obtaining a
12  * copy of this software and associated documentation files (the "Software"),
13  * to deal in the Software without restriction, including without limitation
14  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
15  * and/or sell copies of the Software, and to permit persons to whom the
16  * Software is furnished to do so, subject to the following conditions:
17  *
18  * The above copyright notice and this permission notice shall be included
19  * in all copies or substantial portions of the Software.
20  *
21  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
22  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
24  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
26  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
27  * DEALINGS IN THE SOFTWARE.
28  ****************************************************************************/
29 
30 #ifndef OGRLAYERDECORATOR_H_INCLUDED
31 #define OGRLAYERDECORATOR_H_INCLUDED
32 
33 #ifndef DOXYGEN_SKIP
34 
35 #include "ogrsf_frmts.h"
36 
37 class CPL_DLL OGRLayerDecorator : public OGRLayer
38 {
39  protected:
40  OGRLayer *m_poDecoratedLayer;
41  int m_bHasOwnership;
42 
43  public:
44 
45  OGRLayerDecorator(OGRLayer* poDecoratedLayer,
46  int bTakeOwnership);
47  virtual ~OGRLayerDecorator();
48 
49  virtual OGRGeometry *GetSpatialFilter() override;
50  virtual void SetSpatialFilter( OGRGeometry * ) override;
51  virtual void SetSpatialFilterRect( double dfMinX, double dfMinY,
52  double dfMaxX, double dfMaxY ) override;
53  virtual void SetSpatialFilter( int iGeomField, OGRGeometry * ) override;
54  virtual void SetSpatialFilterRect( int iGeomField, double dfMinX, double dfMinY,
55  double dfMaxX, double dfMaxY ) override;
56 
57  virtual OGRErr SetAttributeFilter( const char * ) override;
58 
59  virtual void ResetReading() override;
60  virtual OGRFeature *GetNextFeature() override;
61  virtual OGRErr SetNextByIndex( GIntBig nIndex ) override;
62  virtual OGRFeature *GetFeature( GIntBig nFID ) override;
63  virtual OGRErr ISetFeature( OGRFeature *poFeature ) override;
64  virtual OGRErr ICreateFeature( OGRFeature *poFeature ) override;
65  virtual OGRErr DeleteFeature( GIntBig nFID ) override;
66 
67  virtual const char *GetName() override;
68  virtual OGRwkbGeometryType GetGeomType() override;
69  virtual OGRFeatureDefn *GetLayerDefn() override;
70 
71  virtual OGRSpatialReference *GetSpatialRef() override;
72 
73  virtual GIntBig GetFeatureCount( int bForce = TRUE ) override;
74  virtual OGRErr GetExtent(int iGeomField, OGREnvelope *psExtent, int bForce = TRUE) override;
75  virtual OGRErr GetExtent(OGREnvelope *psExtent, int bForce = TRUE) override;
76 
77  virtual int TestCapability( const char * ) override;
78 
79  virtual OGRErr CreateField( OGRFieldDefn *poField,
80  int bApproxOK = TRUE ) override;
81  virtual OGRErr DeleteField( int iField ) override;
82  virtual OGRErr ReorderFields( int* panMap ) override;
83  virtual OGRErr AlterFieldDefn( int iField, OGRFieldDefn* poNewFieldDefn, int nFlags ) override;
84 
85  virtual OGRErr CreateGeomField( OGRGeomFieldDefn *poField,
86  int bApproxOK = TRUE ) override;
87 
88  virtual OGRErr SyncToDisk() override;
89 
90  virtual OGRStyleTable *GetStyleTable() override;
91  virtual void SetStyleTableDirectly( OGRStyleTable *poStyleTable ) override;
92 
93  virtual void SetStyleTable(OGRStyleTable *poStyleTable) override;
94 
95  virtual OGRErr StartTransaction() override;
96  virtual OGRErr CommitTransaction() override;
97  virtual OGRErr RollbackTransaction() override;
98 
99  virtual const char *GetFIDColumn() override;
100  virtual const char *GetGeometryColumn() override;
101 
102  virtual OGRErr SetIgnoredFields( const char **papszFields ) override;
103 
104  virtual char **GetMetadata( const char * pszDomain = "" ) override;
105  virtual CPLErr SetMetadata( char ** papszMetadata,
106  const char * pszDomain = "" ) override;
107  virtual const char *GetMetadataItem( const char * pszName,
108  const char * pszDomain = "" ) override;
109  virtual CPLErr SetMetadataItem( const char * pszName,
110  const char * pszValue,
111  const char * pszDomain = "" ) override;
112 
113  OGRLayer* GetBaseLayer() { return m_poDecoratedLayer; }
114 };
115 
116 #endif /* #ifndef DOXYGEN_SKIP */
117 
118 #endif // OGRLAYERDECORATOR_H_INCLUDED
OGRLayer::GetName
virtual const char * GetName()
Return the layer name.
Definition: ogrlayer.cpp:1727
OGRGeometry::UnionCascaded
virtual OGRGeometry * UnionCascaded() const CPL_WARN_UNUSED_RESULT
Compute union using cascading.
Definition: ogrgeometry.cpp:4088
OGR_GFld_SetNullable
void OGR_GFld_SetNullable(OGRGeomFieldDefnH hDefn, int)
Set whether this geometry field can receive null values.
Definition: ogrgeomfielddefn.cpp:642
OGRPolygon::getInteriorRing
virtual OGRLinearRing * getInteriorRing(int)
Fetch reference to indicated internal ring.
Definition: ogrpolygon.cpp:217
OGRLayer::CreateField
virtual OGRErr CreateField(OGRFieldDefn *poField, int bApproxOK=TRUE)
Create a new field on a layer.
Definition: ogrlayer.cpp:664
OGRSimpleCurve::setPoint
void setPoint(int, OGRPoint *)
Set the location of a vertex in line string.
Definition: ogrlinestring.cpp:526
OGRGeometry::Is3D
OGRBoolean Is3D() const
Definition: ogr_geometry.h:362
CPL_LSBWORD32
#define CPL_LSBWORD32(x)
Definition: cpl_port.h:816
OGRGeometry::IsEmpty
virtual OGRBoolean IsEmpty() const =0
Returns TRUE (non-zero) if the object has no points.
OGRGeometry::toMultiPolygon
OGRMultiPolygon * toMultiPolygon()
Definition: ogr_geometry.h:719
OGRGeomFieldDefn::SetSpatialRef
void SetSpatialRef(OGRSpatialReference *poSRSIn)
Set the spatial reference of this field.
Definition: ogrgeomfielddefn.cpp:486
OGRGeometry::setCoordinateDimension
virtual void setCoordinateDimension(int nDimension)
Set the coordinate dimension.
Definition: ogrgeometry.cpp:1007
wkbTINM
@ wkbTINM
Definition: ogr_core.h:378
OGRCurvePolygon::addRingDirectly
virtual OGRErr addRingDirectly(OGRCurve *)
Add a ring to a polygon.
Definition: ogrcurvepolygon.cpp:422
OGRMultiLineString::toUpperClass
OGRGeometryCollection * toUpperClass()
Definition: ogr_geometry.h:2783
OGRMultiCurve
Definition: ogr_geometry.h:2664
wkbSurfaceM
@ wkbSurfaceM
Definition: ogr_core.h:376
OGRGeometryCollection::addGeometryDirectly
virtual OGRErr addGeometryDirectly(OGRGeometry *)
Add a geometry directly to the container.
Definition: ogrgeometrycollection.cpp:381
OGR_G_DelaunayTriangulation
OGRGeometryH OGR_G_DelaunayTriangulation(OGRGeometryH hThis, double dfTolerance, int bOnlyEdges) CPL_WARN_UNUSED_RESULT
Return a Delaunay triangulation of the vertices of the geometry.
Definition: ogrgeometry.cpp:5371
OGRGeometryFactory::forceToLineString
static OGRGeometry * forceToLineString(OGRGeometry *, bool bOnlyInOrder=true)
Convert to line string.
Definition: ogrgeometryfactory.cpp:3969
OGRCurve::CastToLineString
static OGRLineString * CastToLineString(OGRCurve *poCurve)
Cast to linestring.
Definition: ogrcurve.cpp:355
OGRLayer::ReorderFields
virtual OGRErr ReorderFields(int *panMap)
Reorder all the fields of a layer.
Definition: ogrlayer.cpp:732
OGRGeometryCollection::isCompatibleSubType
virtual OGRBoolean isCompatibleSubType(OGRwkbGeometryType) const
Definition: ogrgeometrycollection.cpp:1288
ogr_spatialref.h
OGRSimpleCurve::getX
double getX(int i) const
Get X at vertex.
Definition: ogr_geometry.h:1160
wkbPointZM
@ wkbPointZM
Definition: ogr_core.h:381
OGRSurface::get_Area
virtual double get_Area() const =0
Get the area of the surface object.
CPL_SWAP32
#define CPL_SWAP32(x)
Definition: cpl_port.h:709
wkbCurvePolygonZM
@ wkbCurvePolygonZM
Definition: ogr_core.h:390
OGRGeometryCollection::Equals
virtual OGRBoolean Equals(const OGRGeometry *) const override
Returns TRUE if two geometries are equivalent.
Definition: ogrgeometrycollection.cpp:1032
OGRLineString
Definition: ogr_geometry.h:1241
OGRSimpleCurve::setNumPoints
void setNumPoints(int nNewPointCount, int bZeroizeNewContent=TRUE)
Set number of points in geometry.
Definition: ogrlinestring.cpp:434
OGRPolyhedralSurface::getNumGeometries
int getNumGeometries() const
Fetch number of geometries in PolyhedralSurface.
Definition: ogrpolyhedralsurface.cpp:914
OGRGeometry::Contains
virtual OGRBoolean Contains(const OGRGeometry *) const
Test for containment.
Definition: ogrgeometry.cpp:4709
OGR_G_CoordinateDimension
int OGR_G_CoordinateDimension(OGRGeometryH)
Get the dimension of the coordinates in this geometry.
Definition: ogrgeometry.cpp:939
OGRPolygon::stealExteriorRing
OGRLinearRing * stealExteriorRing()
"Steal" reference to external polygon ring.
Definition: ogrpolygon.cpp:192
OGR_L_GetGeomType
OGRwkbGeometryType OGR_L_GetGeomType(OGRLayerH)
Return the layer geometry type.
Definition: ogrlayer.cpp:1769
OGRMultiPolygon
Definition: ogr_geometry.h:2307
_sPolyExtended
Definition: ogrgeometryfactory.cpp:1308
OGRSimpleCurve::getPoint
void getPoint(int, OGRPoint *) const
Fetch a point in line string.
Definition: ogrlinestring.cpp:312
GByte
unsigned char GByte
Definition: cpl_port.h:213
OGRLayer::Intersection
OGRErr Intersection(OGRLayer *pLayerMethod, OGRLayer *pLayerResult, char **papszOptions=nullptr, GDALProgressFunc pfnProgress=nullptr, void *pProgressArg=nullptr)
Intersection of two layers.
Definition: ogrlayer.cpp:2057
OGRPolyhedralSurface::CastToMultiPolygon
static OGRMultiPolygon * CastToMultiPolygon(OGRPolyhedralSurface *poPS)
Casts the OGRPolyhedralSurface to an OGRMultiPolygon.
Definition: ogrpolyhedralsurface.cpp:825
OGR_G_Intersection
OGRGeometryH OGR_G_Intersection(OGRGeometryH, OGRGeometryH) CPL_WARN_UNUSED_RESULT
Compute intersection.
Definition: ogrgeometry.cpp:3948
OGR_G_IsMeasured
int OGR_G_IsMeasured(OGRGeometryH)
See whether this geometry is measured.
Definition: ogrgeometry.cpp:981
OGRPolyhedralSurface::addGeometryDirectly
OGRErr addGeometryDirectly(OGRGeometry *poNewGeom)
Add a geometry directly to the container.
Definition: ogrpolyhedralsurface.cpp:882
CPLE_UserInterrupt
#define CPLE_UserInterrupt
Definition: cpl_error.h:115
OGRMultiPoint::toUpperClass
OGRGeometryCollection * toUpperClass()
Definition: ogr_geometry.h:2630
OGR_G_FlattenTo2D
void OGR_G_FlattenTo2D(OGRGeometryH)
Convert geometry to strictly 2D. In a sense this converts all Z coordinates to 0.0.
Definition: ogrgeometry.cpp:2759
OGRLayer::Erase
OGRErr Erase(OGRLayer *pLayerMethod, OGRLayer *pLayerResult, char **papszOptions=nullptr, GDALProgressFunc pfnProgress=nullptr, void *pProgressArg=nullptr)
Remove areas that are covered by the method layer.
Definition: ogrlayer.cpp:4074
OGR_G_UnionCascaded
OGRGeometryH OGR_G_UnionCascaded(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Compute union using cascading.
Definition: ogrgeometry.cpp:4135
OGRERR_UNSUPPORTED_GEOMETRY_TYPE
#define OGRERR_UNSUPPORTED_GEOMETRY_TYPE
Definition: ogr_core.h:295
OGRFeature::StealGeometry
OGRGeometry * StealGeometry() CPL_WARN_UNUSED_RESULT
Take away ownership of geometry.
Definition: ogrfeature.cpp:498
OGRGeometry::getCoordinateDimension
virtual int getCoordinateDimension() const
Get the dimension of the coordinates in this object.
Definition: ogrgeometry.cpp:864
OGR_GFld_SetType
void OGR_GFld_SetType(OGRGeomFieldDefnH, OGRwkbGeometryType)
Set the geometry type of this field. This should never be done to an OGRGeomFieldDefn that is already...
Definition: ogrgeomfielddefn.cpp:338
OGR_L_TestCapability
int OGR_L_TestCapability(OGRLayerH, const char *)
Test if this layer supported the named capability.
Definition: ogrlayer.cpp:1066
OGR_L_CreateFeature
OGRErr OGR_L_CreateFeature(OGRLayerH, OGRFeatureH) CPL_WARN_UNUSED_RESULT
Create and write a new feature within a layer.
Definition: ogrlayer.cpp:646
OGR_GT_GetCollection
OGRwkbGeometryType OGR_GT_GetCollection(OGRwkbGeometryType eType)
Returns the collection type that can contain the passed geometry type.
Definition: ogrgeometry.cpp:6352
wkbMultiCurveZM
@ wkbMultiCurveZM
Definition: ogr_core.h:391
VALIDATE_POINTER0
#define VALIDATE_POINTER0(ptr, func)
Definition: cpl_error.h:251
OGR_L_GetExtentEx
OGRErr OGR_L_GetExtentEx(OGRLayerH, int iGeomField, OGREnvelope *psExtent, int bForce)
Fetch the extent of this layer, on the specified geometry field.
Definition: ogrlayer.cpp:319
OGRLayer::DeleteField
virtual OGRErr DeleteField(int iField)
Delete an existing field on a layer.
Definition: ogrlayer.cpp:700
OGRMultiCurve::CastToMultiLineString
static OGRMultiLineString * CastToMultiLineString(OGRMultiCurve *poMC)
Cast to multi line string.
Definition: ogrmulticurve.cpp:214
cpl_error.h
OGRGeometry::closeRings
virtual void closeRings()
Force rings to be closed.
Definition: ogrgeometry.cpp:4833
OGRGeometry::Disjoint
virtual OGRBoolean Disjoint(const OGRGeometry *) const
Test for disjointness.
Definition: ogrgeometry.cpp:4414
OGRCompoundCurve
Definition: ogr_geometry.h:1579
OGRSimpleCurve::getNumPoints
virtual int getNumPoints() const override
Fetch vertex count.
Definition: ogr_geometry.h:1158
wkbMultiLineStringZM
@ wkbMultiLineStringZM
Definition: ogr_core.h:385
OGRGeometry::getGeometryType
virtual OGRwkbGeometryType getGeometryType() const =0
Fetch geometry type.
OGRGeometry::swapXY
virtual void swapXY()
Swap x and y coordinates.
Definition: ogrgeometry.cpp:5523
OGR_G_Is3D
int OGR_G_Is3D(OGRGeometryH)
See whether this geometry has Z coordinates.
Definition: ogrgeometry.cpp:960
OGRGeometryFactory::organizePolygons
static OGRGeometry * organizePolygons(OGRGeometry **papoPolygons, int nPolygonCount, int *pbResultValidGeometry, const char **papszOptions=nullptr)
Organize polygons based on geometries.
Definition: ogrgeometryfactory.cpp:1408
OGRCoordinateTransformation::Transform
virtual int Transform(int nCount, double *x, double *y, double *z=nullptr)=0
OGRSpatialReference::Release
void Release()
Decrements the reference count by one, and destroy if zero.
Definition: ogrspatialreference.cpp:398
OGRSpatialReference::SetWellKnownGeogCS
OGRErr SetWellKnownGeogCS(const char *)
Set a GeogCS based on well known name.
Definition: ogrspatialreference.cpp:1954
CPLJSONDocument::LoadMemory
bool LoadMemory(const std::string &osStr)
Definition: cpl_json.cpp:199
OGRGeometryCollection::hasCurveGeometry
virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear=FALSE) const override
Returns if this geometry is or has curve geometry.
Definition: ogrgeometrycollection.cpp:1299
OGR_G_ExportToIsoWkb
OGRErr OGR_G_ExportToIsoWkb(OGRGeometryH, OGRwkbByteOrder, unsigned char *)
Convert a geometry into SFSQL 1.2 / ISO SQL/MM Part 3 well known binary format.
Definition: ogrgeometry.cpp:1534
OGRGeometry::toCurve
OGRCurve * toCurve()
Definition: ogr_geometry.h:537
wkbPoint
@ wkbPoint
Definition: ogr_core.h:321
OGRCurvePolygon::get_Area
virtual double get_Area() const override
Get the area of the surface object.
Definition: ogrcurvepolygon.cpp:671
OGRLayer::GetNextFeature
virtual OGRFeature * GetNextFeature() CPL_WARN_UNUSED_RESULT=0
Fetch the next available feature from this layer.
OGRLayer::ResetReading
virtual void ResetReading()=0
Reset feature reading to start on the first feature.
CPLString::Printf
CPLSTRING_DLL CPLString & Printf(const char *pszFormat,...)
Definition: cplstring.cpp:67
wkbCurvePolygonZ
@ wkbCurvePolygonZ
Definition: ogr_core.h:354
OGRGeometryCollection::CastToGeometryCollection
static OGRGeometryCollection * CastToGeometryCollection(OGRGeometryCollection *poSrc)
Cast to geometry collection.
Definition: ogrgeometrycollection.cpp:1403
wkbMultiSurfaceZM
@ wkbMultiSurfaceZM
Definition: ogr_core.h:392
wkbTriangleZ
@ wkbTriangleZ
Definition: ogr_core.h:361
VSI_REALLOC_VERBOSE
#define VSI_REALLOC_VERBOSE(pOldPtr, nNewSize)
Definition: cpl_vsi.h:285
OGR_L_ReorderField
OGRErr OGR_L_ReorderField(OGRLayerH, int iOldFieldPos, int iNewFieldPos)
Reorder an existing field on a layer.
Definition: ogrlayer.cpp:823
OGRGeomFieldDefn::SetIgnored
void SetIgnored(int bIgnoreIn)
Set whether this field should be omitted when fetching features.
Definition: ogr_feature.h:212
OGR_L_GetLayerDefn
OGRFeatureDefnH OGR_L_GetLayerDefn(OGRLayerH)
Fetch the schema information for this layer.
Definition: ogrlayer.cpp:992
OGRStyleTable
Definition: ogr_featurestyle.h:84
OGR_GT_IsSubClassOf
int OGR_GT_IsSubClassOf(OGRwkbGeometryType eType, OGRwkbGeometryType eSuperType)
Returns if a type is a subclass of another one.
Definition: ogrgeometry.cpp:6288
OGRCurvePolygon::CurvePolyToPoly
virtual OGRPolygon * CurvePolyToPoly(double dfMaxAngleStepSizeDegrees=0, const char *const *papszOptions=nullptr) const
Return a polygon from a curve polygon.
Definition: ogrcurvepolygon.cpp:572
OGRGeometry::set3D
virtual void set3D(OGRBoolean bIs3D)
Add or remove the Z coordinate dimension.
Definition: ogrgeometry.cpp:1030
wkbCompoundCurveZM
@ wkbCompoundCurveZM
Definition: ogr_core.h:389
OGR_G_Boundary
OGRGeometryH OGR_G_Boundary(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Compute boundary.
Definition: ogrgeometry.cpp:3712
wkbMultiSurfaceM
@ wkbMultiSurfaceM
Definition: ogr_core.h:374
OGRMultiPolygon::CastToMultiSurface
static OGRMultiSurface * CastToMultiSurface(OGRMultiPolygon *poMP)
Cast to multisurface.
Definition: ogrmultipolygon.cpp:165
OGRGeometryFactory
Definition: ogr_geometry.h:2813
OGRGeomFieldDefn::IsSame
int IsSame(const OGRGeomFieldDefn *) const
Test if the geometry field definition is identical to the other one.
Definition: ogrgeomfielddefn.cpp:536
OGRGeometryCollection::getNumGeometries
int getNumGeometries() const
Fetch number of geometries in container.
Definition: ogrgeometrycollection.cpp:258
wkbMultiPolygon
@ wkbMultiPolygon
Definition: ogr_core.h:329
OGR_L_SyncToDisk
OGRErr OGR_L_SyncToDisk(OGRLayerH)
Flush pending changes to disk.
Definition: ogrlayer.cpp:1529
OGRLayer::end
FeatureIterator end()
Definition: ogrlayer.cpp:4356
OGRGeometry::getCurveGeometry
virtual OGRGeometry * getCurveGeometry(const char *const *papszOptions=nullptr) const CPL_WARN_UNUSED_RESULT
Return curve version of this geometry.
Definition: ogrgeometry.cpp:3153
CPLCalloc
void * CPLCalloc(size_t, size_t)
Definition: cpl_conv.cpp:138
OGRLayer::FeatureIterator::Private
Definition: ogrlayer.cpp:4269
OGRGeometry::toMultiSurface
OGRMultiSurface * toMultiSurface()
Definition: ogr_geometry.h:747
OGR_G_Simplify
OGRGeometryH OGR_G_Simplify(OGRGeometryH hThis, double tolerance) CPL_WARN_UNUSED_RESULT
Compute a simplified geometry.
Definition: ogrgeometry.cpp:5192
OGR_GT_Flatten
OGRwkbGeometryType OGR_GT_Flatten(OGRwkbGeometryType eType)
Returns the 2D geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:6140
OGR_L_GetFeature
OGRFeatureH OGR_L_GetFeature(OGRLayerH, GIntBig) CPL_WARN_UNUSED_RESULT
Fetch a feature by its identifier.
Definition: ogrlayer.cpp:480
OGRFieldDefn::SetIgnored
void SetIgnored(int bIgnoreIn)
Set whether this field should be omitted when fetching features.
Definition: ogr_feature.h:142
OGR_G_ForceTo
OGRGeometryH OGR_G_ForceTo(OGRGeometryH hGeom, OGRwkbGeometryType eTargetType, char **papszOptions) CPL_WARN_UNUSED_RESULT
Convert to another geometry type.
Definition: ogrgeometryfactory.cpp:4528
wkbMultiPoint25D
@ wkbMultiPoint25D
Definition: ogr_core.h:402
OGR_L_SetSpatialFilterRect
void OGR_L_SetSpatialFilterRect(OGRLayerH, double, double, double, double)
Set a new rectangular spatial filter.
Definition: ogrlayer.cpp:1217
OGRFeature::ToHandle
static OGRFeatureH ToHandle(OGRFeature *poFeature)
Definition: ogr_feature.h:756
OGRGeometry::FromHandle
static OGRGeometry * FromHandle(OGRGeometryH hGeom)
Definition: ogr_geometry.h:516
OGRLayer::GetSpatialRef
virtual OGRSpatialReference * GetSpatialRef()
Fetch the spatial reference system for this layer.
Definition: ogrlayer.cpp:1036
OGR_L_SetFeature
OGRErr OGR_L_SetFeature(OGRLayerH, OGRFeatureH) CPL_WARN_UNUSED_RESULT
Rewrite an existing feature.
Definition: ogrlayer.cpp:607
OGRGeometry::SymDifference
virtual OGRGeometry * SymDifference(const OGRGeometry *) const CPL_WARN_UNUSED_RESULT
Compute symmetric difference.
Definition: ogrgeometry.cpp:4282
wkbNDR
@ wkbNDR
Definition: ogr_core.h:492
OGRFeatureDefn::GetGeomFieldIndex
virtual int GetGeomFieldIndex(const char *) const
Find geometry field by name.
Definition: ogrfeaturedefn.cpp:915
OGRGeometryCollection
Definition: ogr_geometry.h:2091
OGR_L_GetExtent
OGRErr OGR_L_GetExtent(OGRLayerH, OGREnvelope *, int)
Fetch the extent of this layer.
Definition: ogrlayer.cpp:302
OGRGeometry::hasCurveGeometry
virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear=FALSE) const
Returns if this geometry is or has curve geometry.
Definition: ogrgeometry.cpp:3085
wkbVariantOldOgc
@ wkbVariantOldOgc
Definition: ogr_core.h:425
OGR_GT_IsNonLinear
int OGR_GT_IsNonLinear(OGRwkbGeometryType)
Return if a geometry type is a non-linear geometry type.
Definition: ogrgeometry.cpp:6542
cpl_vsi.h
CSLFetchNameValueDef
const char * CSLFetchNameValueDef(CSLConstList papszStrList, const char *pszName, const char *pszDefault)
Definition: cpl_string.cpp:1646
OGRCoordinateTransformation::GetTargetCS
virtual OGRSpatialReference * GetTargetCS()=0
OGR_G_ForceToMultiLineString
OGRGeometryH OGR_G_ForceToMultiLineString(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Convert to multilinestring.
Definition: ogrgeometryfactory.cpp:1294
OGRSpatialReference
Definition: ogr_spatialref.h:145
wkbCompoundCurve
@ wkbCompoundCurve
Definition: ogr_core.h:335
OGRGeometryCollection::exportToWkt
virtual OGRErr exportToWkt(char **ppszDstText, OGRwkbVariant=wkbVariantOldOgc) const override
Convert a geometry into well known text format.
Definition: ogrgeometrycollection.cpp:812
OGRGeometryCollection::getGeometryRef
OGRGeometry * getGeometryRef(int)
Fetch geometry from container.
Definition: ogrgeometrycollection.cpp:283
OGR_GT_GetLinear
OGRwkbGeometryType OGR_GT_GetLinear(OGRwkbGeometryType eType)
Returns the non-curve geometry type that can contain the passed geometry type.
Definition: ogrgeometry.cpp:6457
OGR_G_Equals
int OGR_G_Equals(OGRGeometryH, OGRGeometryH)
Returns TRUE if two geometries are equivalent.
Definition: ogrgeometry.cpp:1197
OGRMergeGeometryTypes
OGRwkbGeometryType OGRMergeGeometryTypes(OGRwkbGeometryType eMain, OGRwkbGeometryType eExtra)
Find common geometry type.
Definition: ogrgeometry.cpp:2641
OGR_G_AssignSpatialReference
void OGR_G_AssignSpatialReference(OGRGeometryH, OGRSpatialReferenceH)
Assign spatial reference to this object.
Definition: ogrgeometry.cpp:459
OGRCreateCoordinateTransformation
OGRCoordinateTransformation * OGRCreateCoordinateTransformation(OGRSpatialReference *poSource, OGRSpatialReference *poTarget)
Definition: ogrct.cpp:493
OGRPolyhedralSurface
Definition: ogr_geometry.h:2392
OGRLayer::GetFeatureCount
virtual GIntBig GetFeatureCount(int bForce=TRUE)
Fetch the feature count in this layer.
Definition: ogrlayer.cpp:172
OGR_G_ExportToGMLEx
char * OGR_G_ExportToGMLEx(OGRGeometryH, char **papszOptions) CPL_WARN_UNUSED_RESULT
Convert a geometry into GML format.
Definition: ogr2gmlgeometry.cpp:1269
OGR_G_SymDifference
OGRGeometryH OGR_G_SymDifference(OGRGeometryH, OGRGeometryH) CPL_WARN_UNUSED_RESULT
Compute symmetric difference.
Definition: ogrgeometry.cpp:4364
wkbPolygon25D
@ wkbPolygon25D
Definition: ogr_core.h:401
OGRLayer::Private
Definition: ogrlayer.cpp:39
wkbPolygonZM
@ wkbPolygonZM
Definition: ogr_core.h:383
OGRGeometry::exportToJson
virtual char * exportToJson() const
Convert a geometry into GeoJSON format.
Definition: ogrgeometry.cpp:2847
OGR_G_SetCoordinateDimension
void OGR_G_SetCoordinateDimension(OGRGeometryH, int)
Set the coordinate dimension.
Definition: ogrgeometry.cpp:1082
OGRGeometryCollection::getGeometryName
virtual const char * getGeometryName() const override
Fetch WKT name for geometry type.
Definition: ogrgeometrycollection.cpp:239
OGRGeometry::toTriangulatedSurface
OGRTriangulatedSurface * toTriangulatedSurface()
Definition: ogr_geometry.h:775
OGR_GT_SetModifier
OGRwkbGeometryType OGR_GT_SetModifier(OGRwkbGeometryType eType, int bSetZ, int bSetM)
Returns a XY, XYZ, XYM or XYZM geometry type depending on parameter.
Definition: ogrgeometry.cpp:6261
OGR_G_Within
int OGR_G_Within(OGRGeometryH, OGRGeometryH)
Test for containment.
Definition: ogrgeometry.cpp:4678
wkbVariantPostGIS1
@ wkbVariantPostGIS1
Definition: ogr_core.h:427
OGR_G_IsEmpty
int OGR_G_IsEmpty(OGRGeometryH)
Test if the geometry is empty.
Definition: ogrgeometry.cpp:2025
OGR_L_SetSpatialFilterEx
void OGR_L_SetSpatialFilterEx(OGRLayerH, int iGeomField, OGRGeometryH hGeom)
Set a new spatial filter.
Definition: ogrlayer.cpp:1165
OGRLayer::DeleteFeature
virtual OGRErr DeleteFeature(GIntBig nFID) CPL_WARN_UNUSED_RESULT
Delete feature from layer.
Definition: ogrlayer.cpp:1546
OGRLayer::SetStyleTable
virtual void SetStyleTable(OGRStyleTable *poStyleTable)
Set layer style table.
Definition: ogrlayer.cpp:1673
wkbPolygonM
@ wkbPolygonM
Definition: ogr_core.h:365
OGRTriangulatedSurface::CastToPolyhedralSurface
static OGRPolyhedralSurface * CastToPolyhedralSurface(OGRTriangulatedSurface *poTS)
Casts the OGRTriangulatedSurface to an OGRPolyhedralSurface.
Definition: ogrtriangulatedsurface.cpp:259
OGR_G_Union
OGRGeometryH OGR_G_Union(OGRGeometryH, OGRGeometryH) CPL_WARN_UNUSED_RESULT
Compute union.
Definition: ogrgeometry.cpp:4059
OGRGeometry
Definition: ogr_geometry.h:286
OGRSpatialReference::IsSame
int IsSame(const OGRSpatialReference *) const
Do these two spatial references describe the same system ?
Definition: ogrspatialreference.cpp:6997
wkbTriangleM
@ wkbTriangleM
Definition: ogr_core.h:379
OGRMultiPoint
Definition: ogr_geometry.h:2586
OGRLayer::GetFIDColumn
virtual const char * GetFIDColumn()
This method returns the name of the underlying database column being used as the FID column,...
Definition: ogrlayer.cpp:1596
OGRGeometry::IsValid
virtual OGRBoolean IsValid() const
Test if the geometry is valid.
Definition: ogrgeometry.cpp:2052
OGRFeatureDefn::GetName
virtual const char * GetName() const
Get name of this OGRFeatureDefn.
Definition: ogrfeaturedefn.cpp:248
OGR_GFld_SetSpatialRef
void OGR_GFld_SetSpatialRef(OGRGeomFieldDefnH, OGRSpatialReferenceH hSRS)
Set the spatial reference of this field.
Definition: ogrgeomfielddefn.cpp:514
OGRLayer::Update
OGRErr Update(OGRLayer *pLayerMethod, OGRLayer *pLayerResult, char **papszOptions=nullptr, GDALProgressFunc pfnProgress=nullptr, void *pProgressArg=nullptr)
Update this layer with features from the update layer.
Definition: ogrlayer.cpp:3523
OGRMultiPolygon::exportToWkt
virtual OGRErr exportToWkt(char **, OGRwkbVariant=wkbVariantOldOgc) const override
Convert a geometry into well known text format.
Definition: ogrmultipolygon.cpp:135
OGRGeometry::getGeometryName
virtual const char * getGeometryName() const =0
Fetch WKT name for geometry type.
OGR_G_GetEnvelope
void OGR_G_GetEnvelope(OGRGeometryH, OGREnvelope *)
Computes and returns the bounding envelope for this geometry in the passed psEnvelope structure.
Definition: ogrgeometry.cpp:1302
OGR_G_ExportToJson
char * OGR_G_ExportToJson(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Convert a geometry into GeoJSON format.
Definition: ogrgeojsonwriter.cpp:1376
ograpispy.h
wkbCircularString
@ wkbCircularString
Definition: ogr_core.h:333
OGRSpatialReference::FromHandle
static OGRSpatialReference * FromHandle(OGRSpatialReferenceH hSRS)
Definition: ogr_spatialref.h:652
OGRLayer
Definition: ogrsf_frmts.h:70
CPLString
Convenient string class based on std::string.
Definition: cpl_string.h:336
OGRGeometry::IsSimple
virtual OGRBoolean IsSimple() const
Test if the geometry is simple.
Definition: ogrgeometry.cpp:2150
OGRGeomFieldDefn::ToHandle
static OGRGeomFieldDefnH ToHandle(OGRGeomFieldDefn *poGeomFieldDefn)
Definition: ogr_feature.h:223
OGRGeometry::Crosses
virtual OGRBoolean Crosses(const OGRGeometry *) const
Test for crossing.
Definition: ogrgeometry.cpp:4546
OGRGeometry::importFromWkb
OGRErr importFromWkb(const GByte *, int=-1, OGRwkbVariant=wkbVariantOldOgc)
Assign geometry from well known binary data.
Definition: ogrgeometry.cpp:1373
OGRGeometryCollection::WkbSize
virtual int WkbSize() const override
Returns size of related binary representation.
Definition: ogrgeometrycollection.cpp:459
wkbMultiPolygonZM
@ wkbMultiPolygonZM
Definition: ogr_core.h:386
OGRMultiSurface
Definition: ogr_geometry.h:2228
OGRGeometry::Simplify
virtual OGRGeometry * Simplify(double dTolerance) const CPL_WARN_UNUSED_RESULT
Simplify the geometry.
Definition: ogrgeometry.cpp:5142
OGRPoint
Definition: ogr_geometry.h:809
OGRSpatialReference::ToHandle
static OGRSpatialReferenceH ToHandle(OGRSpatialReference *poSRS)
Definition: ogr_spatialref.h:646
OGRCoordinateTransformation::GetEmitErrors
virtual bool GetEmitErrors()
Definition: ogr_spatialref.h:689
OGRCompoundCurve::stealCurve
OGRCurve * stealCurve(int)
"Steal" reference to curve.
Definition: ogrcompoundcurve.cpp:500
OGRLayer::SymDifference
OGRErr SymDifference(OGRLayer *pLayerMethod, OGRLayer *pLayerResult, char **papszOptions, GDALProgressFunc pfnProgress, void *pProgressArg)
Symmetrical difference of two layers.
Definition: ogrlayer.cpp:2833
wkbCurveM
@ wkbCurveM
Definition: ogr_core.h:375
OGRSpatialReference::Reference
int Reference()
Increments the reference count by one.
Definition: ogrspatialreference.cpp:313
ogr_geometry.h
OGRGeometryFactory::forceToMultiPolygon
static OGRGeometry * forceToMultiPolygon(OGRGeometry *)
Convert to multipolygon.
Definition: ogrgeometryfactory.cpp:814
OGR_L_SetSpatialFilter
void OGR_L_SetSpatialFilter(OGRLayerH, OGRGeometryH)
Set a new spatial filter.
Definition: ogrlayer.cpp:1147
OGRGeometry::getLinearGeometry
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
OGRSimpleCurve::getY
double getY(int i) const
Get Y at vertex.
Definition: ogr_geometry.h:1161
OGRLayer::GetGeometryColumn
virtual const char * GetGeometryColumn()
This method returns the name of the underlying database column being used as the geometry column,...
Definition: ogrlayer.cpp:1623
OGRLayer::GetSpatialFilter
virtual OGRGeometry * GetSpatialFilter()
This method returns the current spatial filter for this layer.
Definition: ogrlayer.cpp:1084
OGRGeomFieldDefn::SetType
void SetType(OGRwkbGeometryType eTypeIn)
Set the geometry type of this field. This should never be done to an OGRGeomFieldDefn that is already...
Definition: ogrgeomfielddefn.cpp:316
OGRGeometry::IsRing
virtual OGRBoolean IsRing() const
Test if the geometry is a ring.
Definition: ogrgeometry.cpp:2222
OGRGeometryFactory::transformWithOptions
static OGRGeometry * transformWithOptions(const OGRGeometry *poSrcGeom, OGRCoordinateTransformation *poCT, char **papszOptions)
Definition: ogrgeometryfactory.cpp:3660
wkbPolyhedralSurfaceZM
@ wkbPolyhedralSurfaceZM
Definition: ogr_core.h:395
OGRGeometry::operator=
OGRGeometry & operator=(const OGRGeometry &other)
Assignment operator.
Definition: ogrgeometry.cpp:142
OGRLayer::SetSpatialFilter
virtual void SetSpatialFilter(OGRGeometry *)
Set a new spatial filter.
Definition: ogrlayer.cpp:1112
OGRGeometryFactory::createFromGEOS
static OGRGeometry * createFromGEOS(GEOSContextHandle_t hGEOSCtxt, GEOSGeom)
Definition: ogrgeometryfactory.cpp:2045
OGR_L_CommitTransaction
OGRErr OGR_L_CommitTransaction(OGRLayerH) CPL_WARN_UNUSED_RESULT
For datasources which support transactions, CommitTransaction commits a transaction.
Definition: ogrlayer.cpp:948
CPLAtofM
double CPLAtofM(const char *)
Definition: cpl_strtod.cpp:142
OGRGeometryFactory::forceToPolygon
static OGRGeometry * forceToPolygon(OGRGeometry *)
Convert to polygon.
Definition: ogrgeometryfactory.cpp:673
OGRGeomFieldDefn::GetNameRef
const char * GetNameRef() const
Fetch name of this field.
Definition: ogr_feature.h:203
OGRGeomFieldDefn::IsIgnored
int IsIgnored() const
Return whether this field should be omitted when fetching features.
Definition: ogr_feature.h:211
OGRGeometry::importFromWkt
virtual OGRErr importFromWkt(const char **ppszInput)=0
Assign geometry from well known text data.
OGRGeometry::SimplifyPreserveTopology
OGRGeometry * SimplifyPreserveTopology(double dTolerance) const CPL_WARN_UNUSED_RESULT
Simplify the geometry while preserving topology.
Definition: ogrgeometry.cpp:5221
wkbPoint25D
@ wkbPoint25D
Definition: ogr_core.h:399
wkbSurfaceZM
@ wkbSurfaceZM
Definition: ogr_core.h:394
OGRGeometry::Buffer
virtual OGRGeometry * Buffer(double dfDist, int nQuadSegs=30) const CPL_WARN_UNUSED_RESULT
Compute buffer of geometry.
Definition: ogrgeometry.cpp:3771
wkbCircularStringZM
@ wkbCircularStringZM
Definition: ogr_core.h:388
OGRLayer::ReorderField
OGRErr ReorderField(int iOldFieldPos, int iNewFieldPos)
Reorder an existing field on a layer.
Definition: ogrlayer.cpp:764
OGRFeatureUniquePtr
std::unique_ptr< OGRFeature, OGRFeatureUniquePtrDeleter > OGRFeatureUniquePtr
Definition: ogr_feature.h:779
OGRFeatureH
void * OGRFeatureH
Definition: ogr_api.h:301
EQUAL
#define EQUAL(a, b)
Definition: cpl_port.h:559
OGRStyleTableH
void * OGRStyleTableH
Definition: ogr_api.h:303
wkbHasZ
#define wkbHasZ(x)
Definition: ogr_core.h:446
OGRFieldDefn::GetNameRef
const char * GetNameRef() const
Fetch name of this field.
Definition: ogr_feature.h:113
wkbCircularStringZ
@ wkbCircularStringZ
Definition: ogr_core.h:352
OGRBoolean
int OGRBoolean
Definition: ogr_core.h:306
wkbCurve
@ wkbCurve
Definition: ogr_core.h:341
OGRFeatureDefnH
void * OGRFeatureDefnH
Definition: ogr_api.h:299
OGRGeometry::Intersection
virtual OGRGeometry * Intersection(const OGRGeometry *) const CPL_WARN_UNUSED_RESULT
Compute intersection.
Definition: ogrgeometry.cpp:3871
OGR_L_RollbackTransaction
OGRErr OGR_L_RollbackTransaction(OGRLayerH)
For datasources which support transactions, RollbackTransaction will roll back a datasource to its st...
Definition: ogrlayer.cpp:975
OGRLayer::GetRefCount
int GetRefCount() const
Fetch reference count.
Definition: ogrlayer.cpp:150
OGRLayer::GetLayerDefn
virtual OGRFeatureDefn * GetLayerDefn()=0
Fetch the schema information for this layer.
OGRGeometry::Union
virtual OGRGeometry * Union(const OGRGeometry *) const CPL_WARN_UNUSED_RESULT
Compute union.
Definition: ogrgeometry.cpp:3980
wkbMultiPointZM
@ wkbMultiPointZM
Definition: ogr_core.h:384
OGRFeatureDefn::GetFieldDefn
virtual OGRFieldDefn * GetFieldDefn(int i)
Fetch field definition.
Definition: ogrfeaturedefn.cpp:329
OGR_G_CreateFromFgf
OGRErr OGR_G_CreateFromFgf(const void *, OGRSpatialReferenceH, OGRGeometryH *, int, int *)
Create a geometry object of the appropriate type from its FGF (FDO Geometry Format) binary representa...
Definition: ogrgeometryfactory.cpp:2485
OGRMergeGeometryTypesEx
OGRwkbGeometryType OGRMergeGeometryTypesEx(OGRwkbGeometryType eMain, OGRwkbGeometryType eExtra, int bAllowPromotingToCurves)
Find common geometry type.
Definition: ogrgeometry.cpp:2678
wkbSetM
#define wkbSetM(x)
Definition: ogr_core.h:461
OGRRawPoint::x
double x
Definition: ogr_geometry.h:73
OGRPoint::setX
void setX(double xIn)
Assign point X coordinate.
Definition: ogr_geometry.h:865
OGRLayer::StartTransaction
virtual OGRErr StartTransaction() CPL_WARN_UNUSED_RESULT
For datasources which support transactions, StartTransaction creates a transaction.
Definition: ogrlayer.cpp:911
wkbTINZM
@ wkbTINZM
Definition: ogr_core.h:396
OGRLineString::getGeometryName
virtual const char * getGeometryName() const override
Fetch WKT name for geometry type.
Definition: ogrlinestring.cpp:2742
OGR_G_ApproximateArcAngles
OGRGeometryH OGR_G_ApproximateArcAngles(double dfCenterX, double dfCenterY, double dfZ, double dfPrimaryRadius, double dfSecondaryAxis, double dfRotation, double dfStartAngle, double dfEndAngle, double dfMaxAngleStepSizeDegrees) CPL_WARN_UNUSED_RESULT
Definition: ogrgeometryfactory.cpp:3930
OGR_GT_IsSurface
int OGR_GT_IsSurface(OGRwkbGeometryType)
Return if a geometry type is an instance of Surface.
Definition: ogrgeometry.cpp:6520
OGRGeomFieldDefnH
struct OGRGeomFieldDefnHS * OGRGeomFieldDefnH
Definition: ogr_api.h:306
OLCCurveGeometries
#define OLCCurveGeometries
Definition: ogr_core.h:764
wkbFlatten
#define wkbFlatten(x)
Definition: ogr_core.h:440
CPL_SWAP64PTR
#define CPL_SWAP64PTR(x)
Definition: cpl_port.h:751
wkbLineStringZM
@ wkbLineStringZM
Definition: ogr_core.h:382
OGRGeometryFactory::curveToLineString
static OGRLineString * curveToLineString(double x0, double y0, double z0, double x1, double y1, double z1, double x2, double y2, double z2, int bHasZ, double dfMaxAngleStepSizeDegrees, const char *const *papszOptions=nullptr)
Converts an arc circle into an approximate line string.
Definition: ogrgeometryfactory.cpp:4831
OGR_L_SetIgnoredFields
OGRErr OGR_L_SetIgnoredFields(OGRLayerH, const char **)
Set which fields can be omitted when retrieving features from the layer.
Definition: ogrlayer.cpp:1846
OGRGeometry::exportToWkb
virtual OGRErr exportToWkb(OGRwkbByteOrder, unsigned char *, OGRwkbVariant=wkbVariantOldOgc) const =0
Convert a geometry into well known binary format.
OGRGeometryFactory::forceTo
static OGRGeometry * forceTo(OGRGeometry *poGeom, OGRwkbGeometryType eTargetType, const char *const *papszOptions=nullptr)
Convert to another geometry type.
Definition: ogrgeometryfactory.cpp:4172
OGR_L_GetStyleTable
OGRStyleTableH OGR_L_GetStyleTable(OGRLayerH)
Definition: ogrlayer.cpp:1685
OGRLinearRing::isPointOnRingBoundary
OGRBoolean isPointOnRingBoundary(const OGRPoint *pt, int bTestEnvelope=TRUE) const
Definition: ogrlinearring.cpp:675
CPLAssert
#define CPLAssert(expr)
Definition: cpl_error.h:182
OGRGeometryCollection::clone
virtual OGRGeometry * clone() const override
Make a copy of this object.
Definition: ogrgeometrycollection.cpp:158
OGR_G_CreateFromWkb
OGRErr OGR_G_CreateFromWkb(const void *, OGRSpatialReferenceH, OGRGeometryH *, int)
Create a geometry object of the appropriate type from its well known binary representation.
Definition: ogrgeometryfactory.cpp:274
OGRRawPoint
Definition: ogr_geometry.h:63
OGR_GFld_GetNameRef
const char * OGR_GFld_GetNameRef(OGRGeomFieldDefnH)
Fetch name of this field.
Definition: ogrgeomfielddefn.cpp:238
OGRMultiLineString
Definition: ogr_geometry.h:2743
OGR_GT_SetM
OGRwkbGeometryType OGR_GT_SetM(OGRwkbGeometryType eType)
Returns the measured geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:6234
OGR_L_DeleteField
OGRErr OGR_L_DeleteField(OGRLayerH, int iField)
Delete an existing field on a layer.
Definition: ogrlayer.cpp:715
OGRGeometry::clone
virtual OGRGeometry * clone() const CPL_WARN_UNUSED_RESULT=0
Make a copy of this object.
OGR_L_DeleteFeature
OGRErr OGR_L_DeleteFeature(OGRLayerH, GIntBig) CPL_WARN_UNUSED_RESULT
Delete feature from layer.
Definition: ogrlayer.cpp:1555
OGRCurvePolygon::exportToWkt
virtual OGRErr exportToWkt(char **ppszDstText, OGRwkbVariant eWkbVariant=wkbVariantOldOgc) const override
Convert a geometry into well known text format.
Definition: ogrcurvepolygon.cpp:542
OGRGeometryCollection::swapXY
virtual void swapXY() override
Swap x and y coordinates.
Definition: ogrgeometrycollection.cpp:1269
OGR_GFld_IsIgnored
int OGR_GFld_IsIgnored(OGRGeomFieldDefnH hDefn)
Return whether this field should be omitted when fetching features.
Definition: ogrgeomfielddefn.cpp:377
OGRGeometry::flattenTo2D
virtual void flattenTo2D()=0
Convert geometry to strictly 2D. In a sense this converts all Z coordinates to 0.0.
OGRCurve::StartPoint
virtual void StartPoint(OGRPoint *) const =0
Return the curve start point.
OGR_L_ResetReading
void OGR_L_ResetReading(OGRLayerH)
Reset feature reading to start on the first feature.
Definition: ogrlayer.cpp:1472
OGRGeometryCollection::transform
virtual OGRErr transform(OGRCoordinateTransformation *poCT) override
Apply arbitrary coordinate transformation to geometry.
Definition: ogrgeometrycollection.cpp:1063
OGR_G_DestroyGeometry
void OGR_G_DestroyGeometry(OGRGeometryH)
Destroy geometry object.
Definition: ogrgeometryfactory.cpp:647
OGRSpatialReferenceH
void * OGRSpatialReferenceH
Definition: ogr_api.h:74
OGR_G_Disjoint
int OGR_G_Disjoint(OGRGeometryH, OGRGeometryH)
Test for disjointness.
Definition: ogrgeometry.cpp:4449
OGRGeometry::toMultiCurve
OGRMultiCurve * toMultiCurve()
Definition: ogr_geometry.h:733
OGRLayer::RollbackTransaction
virtual OGRErr RollbackTransaction()
For datasources which support transactions, RollbackTransaction will roll back a datasource to its st...
Definition: ogrlayer.cpp:965
OGRPolygon::stealInteriorRing
virtual OGRLinearRing * stealInteriorRing(int)
"Steal" reference to indicated interior ring.
Definition: ogrpolygon.cpp:265
OGRGeometry::exportToGEOS
virtual GEOSGeom exportToGEOS(GEOSContextHandle_t hGEOSCtxt) const CPL_WARN_UNUSED_RESULT
Definition: ogrgeometry.cpp:2955
OGRGeomFieldDefn::GetSpatialRef
virtual OGRSpatialReference * GetSpatialRef() const
Fetch spatial reference system of this field.
Definition: ogrgeomfielddefn.cpp:435
OGR_L_FindFieldIndex
int OGR_L_FindFieldIndex(OGRLayerH, const char *, int bExactMatch)
Find the index of field in a layer.
Definition: ogrlayer.cpp:1010
OGRGeometryCollection::assignSpatialReference
virtual void assignSpatialReference(OGRSpatialReference *poSR) override
Assign spatial reference to this object.
Definition: ogrgeometrycollection.cpp:1244
OGRGeometryCollection::OGRGeometryCollection
OGRGeometryCollection()
Create an empty geometry collection.
Definition: ogrgeometrycollection.cpp:55
OGRGeometryCollection::getCurveGeometry
virtual OGRGeometry * getCurveGeometry(const char *const *papszOptions=nullptr) const override
Return curve version of this geometry.
Definition: ogrgeometrycollection.cpp:1338
OGRPolyhedralSurface::addGeometry
virtual OGRErr addGeometry(const OGRGeometry *)
Add a new geometry to a collection.
Definition: ogrpolyhedralsurface.cpp:846
OGR_L_SymDifference
OGRErr OGR_L_SymDifference(OGRLayerH, OGRLayerH, OGRLayerH, char **, GDALProgressFunc, void *)
Symmetrical difference of two layers.
Definition: ogrlayer.cpp:3093
OGR_GFld_SetName
void OGR_GFld_SetName(OGRGeomFieldDefnH, const char *)
Reset the name of this field.
Definition: ogrgeomfielddefn.cpp:199
OGR_L_GetName
const char * OGR_L_GetName(OGRLayerH)
Return the layer name.
Definition: ogrlayer.cpp:1737
OGRSurface
Definition: ogr_geometry.h:1724
CPLTestBool
bool CPLTestBool(const char *pszValue)
Definition: cpl_string.cpp:1526
OGRLayer::GetFeature
virtual OGRFeature * GetFeature(GIntBig nFID) CPL_WARN_UNUSED_RESULT
Fetch a feature by its identifier.
Definition: ogrlayer.cpp:446
OGRGeometryCollection::get_Length
virtual double get_Length() const
Compute the length of a multicurve.
Definition: ogrgeometrycollection.cpp:1162
OGRMultiSurface::hasCurveGeometry
virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear=FALSE) const override
Returns if this geometry is or has curve geometry.
Definition: ogrmultisurface.cpp:279
OGRCurve::getNumPoints
virtual int getNumPoints() const =0
Return the number of points of a curve geometry.
OGRGeometryCollection::set3D
virtual void set3D(OGRBoolean bIs3D) override
Add or remove the Z coordinate dimension.
Definition: ogrgeometrycollection.cpp:1126
OGRwkbByteOrder
OGRwkbByteOrder
Definition: ogr_core.h:489
OGR_G_ExportToKML
char * OGR_G_ExportToKML(OGRGeometryH, const char *pszAltitudeMode) CPL_WARN_UNUSED_RESULT
Convert a geometry into KML format.
Definition: ogr2kmlgeometry.cpp:502
OGR_G_IsValid
int OGR_G_IsValid(OGRGeometryH)
Test if the geometry is valid.
Definition: ogrgeometry.cpp:2123
OGRCoordinateTransformationH
void * OGRCoordinateTransformationH
Definition: ogr_api.h:76
OGRGeometry::Boundary
virtual OGRGeometry * Boundary() const CPL_WARN_UNUSED_RESULT
Compute boundary.
Definition: ogrgeometry.cpp:3644
OGR_L_StartTransaction
OGRErr OGR_L_StartTransaction(OGRLayerH) CPL_WARN_UNUSED_RESULT
For datasources which support transactions, StartTransaction creates a transaction.
Definition: ogrlayer.cpp:921
OGRTriangulatedSurface::toUpperClass
OGRPolyhedralSurface * toUpperClass()
Definition: ogr_geometry.h:2555
OGRGeometryFactory::forceToMultiLineString
static OGRGeometry * forceToMultiLineString(OGRGeometry *)
Convert to multilinestring.
Definition: ogrgeometryfactory.cpp:1086
OGRFeatureDefn::GetGeomFieldDefn
virtual OGRGeomFieldDefn * GetGeomFieldDefn(int i)
Fetch geometry field definition.
Definition: ogrfeaturedefn.cpp:680
OGRPolygon::getExteriorRing
OGRLinearRing * getExteriorRing()
Fetch reference to external polygon ring.
Definition: ogrpolygon.cpp:147
OGR_L_SetStyleTable
void OGR_L_SetStyleTable(OGRLayerH, OGRStyleTableH)
Definition: ogrlayer.cpp:1712
OGRCircularString
Definition: ogr_geometry.h:1394
OGRCoordinateTransformation::SetEmitErrors
virtual void SetEmitErrors(bool)
Definition: ogr_spatialref.h:692
OGRERR_UNSUPPORTED_OPERATION
#define OGRERR_UNSUPPORTED_OPERATION
Definition: ogr_core.h:296
OGRGeometryCollection::removeGeometry
virtual OGRErr removeGeometry(int iIndex, int bDelete=TRUE)
Remove a geometry from the container.
Definition: ogrgeometrycollection.cpp:427
OGR_L_AlterFieldDefn
OGRErr OGR_L_AlterFieldDefn(OGRLayerH, int iField, OGRFieldDefnH hNewFieldDefn, int nFlags)
Alter the definition of an existing field on a layer.
Definition: ogrlayer.cpp:855
OGRGeometryFactory::createGeometry
static OGRGeometry * createGeometry(OGRwkbGeometryType)
Create an empty geometry of desired type.
Definition: ogrgeometryfactory.cpp:527
OGR_G_Transform
OGRErr OGR_G_Transform(OGRGeometryH, OGRCoordinateTransformationH)
Apply arbitrary coordinate transformation to geometry.
Definition: ogrgeometry.cpp:731
wkbCurvePolygon
@ wkbCurvePolygon
Definition: ogr_core.h:336
OGR_G_ExportToIsoWkt
OGRErr OGR_G_ExportToIsoWkt(OGRGeometryH, char **)
Convert a geometry into SFSQL 1.2 / ISO SQL/MM Part 3 well known text format.
Definition: ogrgeometry.cpp:1805
OGR_G_SimplifyPreserveTopology
OGRGeometryH OGR_G_SimplifyPreserveTopology(OGRGeometryH hThis, double tolerance) CPL_WARN_UNUSED_RESULT
Simplify the geometry while preserving topology.
Definition: ogrgeometry.cpp:5274
OGRGeometry::Intersects
virtual OGRBoolean Intersects(const OGRGeometry *) const
Do these features intersect?
Definition: ogrgeometry.cpp:491
CPLE_ObjectNull
#define CPLE_ObjectNull
Definition: cpl_error.h:117
OGR_GFld_IsNullable
int OGR_GFld_IsNullable(OGRGeomFieldDefnH hDefn)
Return whether this geometry field can receive null values.
Definition: ogrgeomfielddefn.cpp:596
wkbLineStringM
@ wkbLineStringM
Definition: ogr_core.h:364
CPLJSONObject
The CPLJSONArray class holds JSON object from CPLJSONDocument.
Definition: cpl_json.h:53
OGRSimpleCurve::StartPoint
virtual void StartPoint(OGRPoint *) const override
Return the curve start point.
Definition: ogrlinestring.cpp:1956
OGRFeatureDefn::GetFieldCount
virtual int GetFieldCount() const
Fetch number of fields on this feature.
Definition: ogrfeaturedefn.cpp:285
OGRGeometryCollection::operator=
OGRGeometryCollection & operator=(const OGRGeometryCollection &other)
Assignment operator.
Definition: ogrgeometrycollection.cpp:117
OGR_L_ReorderFields
OGRErr OGR_L_ReorderFields(OGRLayerH, int *panMap)
Reorder all the fields of a layer.
Definition: ogrlayer.cpp:747
OGRCompoundCurve::addCurveDirectly
OGRErr addCurveDirectly(OGRCurve *, double dfToleranceEps=1e-14)
Add a curve directly to the container.
Definition: ogrcompoundcurve.cpp:558
GUIntBig
unsigned long long GUIntBig
Definition: cpl_port.h:249
OGRHasPreparedGeometrySupport
int OGRHasPreparedGeometrySupport()
Definition: ogrgeometry.cpp:5571
OGRGeometry::toPoint
OGRPoint * toPoint()
Definition: ogr_geometry.h:523
VALIDATE_POINTER1
#define VALIDATE_POINTER1(ptr, func, rc)
Definition: cpl_error.h:260
OGR_GFld_GetSpatialRef
OGRSpatialReferenceH OGR_GFld_GetSpatialRef(OGRGeomFieldDefnH)
Fetch spatial reference system of this field.
Definition: ogrgeomfielddefn.cpp:457
OGRLayer::CommitTransaction
virtual OGRErr CommitTransaction() CPL_WARN_UNUSED_RESULT
For datasources which support transactions, CommitTransaction commits a transaction.
Definition: ogrlayer.cpp:938
wkbSetZ
#define wkbSetZ(x)
Definition: ogr_core.h:451
OGRGeometry::DelaunayTriangulation
virtual OGRGeometry * DelaunayTriangulation(double dfTolerance, int bOnlyEdges) const CPL_WARN_UNUSED_RESULT
Return a Delaunay triangulation of the vertices of the geometry.
Definition: ogrgeometry.cpp:5308
OGRERR_FAILURE
#define OGRERR_FAILURE
Definition: ogr_core.h:298
OGR_GT_GetCurve
OGRwkbGeometryType OGR_GT_GetCurve(OGRwkbGeometryType eType)
Returns the curve geometry type that can contain the passed geometry type.
Definition: ogrgeometry.cpp:6408
OGRGeometry::toSurface
OGRSurface * toSurface()
Definition: ogr_geometry.h:621
OGRLayer::CreateGeomField
virtual OGRErr CreateGeomField(OGRGeomFieldDefn *poField, int bApproxOK=TRUE)
Create a new geometry field on a layer.
Definition: ogrlayer.cpp:875
OGR_G_GetCoordinateDimension
int OGR_G_GetCoordinateDimension(OGRGeometryH)
Get the dimension of the coordinates in this geometry.
Definition: ogrgeometry.cpp:913
OGR_G_Distance3D
double OGR_G_Distance3D(OGRGeometryH, OGRGeometryH)
Returns the 3D distance between two geometries.
Definition: ogrgeometry.cpp:3386
wkbMultiPolygon25D
@ wkbMultiPolygon25D
Definition: ogr_core.h:404
wkbCircularStringM
@ wkbCircularStringM
Definition: ogr_core.h:370
OGR_G_PointOnSurface
OGRGeometryH OGR_G_PointOnSurface(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Returns a point guaranteed to lie on the surface.
Definition: ogrgeometry.cpp:5030
wkbMultiSurface
@ wkbMultiSurface
Definition: ogr_core.h:340
OGRGeometry::Difference
virtual OGRGeometry * Difference(const OGRGeometry *) const CPL_WARN_UNUSED_RESULT
Compute difference.
Definition: ogrgeometry.cpp:4167
OGR_G_Crosses
int OGR_G_Crosses(OGRGeometryH, OGRGeometryH)
Test for crossing.
Definition: ogrgeometry.cpp:4612
OGRERR_NOT_ENOUGH_MEMORY
#define OGRERR_NOT_ENOUGH_MEMORY
Definition: ogr_core.h:294
ogrsf_frmts.h
OGRLayer::Dereference
int Dereference()
Decrement layer reference count.
Definition: ogrlayer.cpp:128
wkbPolyhedralSurface
@ wkbPolyhedralSurface
Definition: ogr_core.h:343
wkbCurvePolygonM
@ wkbCurvePolygonM
Definition: ogr_core.h:372
OGRLayer::GetStyleTable
virtual OGRStyleTable * GetStyleTable()
Returns layer style table.
Definition: ogrlayer.cpp:1653
OGRGeometry::toPolyhedralSurface
OGRPolyhedralSurface * toPolyhedralSurface()
Definition: ogr_geometry.h:761
OGR_L_Identity
OGRErr OGR_L_Identity(OGRLayerH, OGRLayerH, OGRLayerH, char **, GDALProgressFunc, void *)
Identify the features of this layer with the ones from the identity layer.
Definition: ogrlayer.cpp:3443
sfcgal_geometry_t
void sfcgal_geometry_t
Definition: ogr_geometry.h:83
OGRFieldDefn::FromHandle
static OGRFieldDefn * FromHandle(OGRFieldDefnH hFieldDefn)
Definition: ogr_feature.h:158
OGRCurvePolygon::transform
virtual OGRErr transform(OGRCoordinateTransformation *poCT) override
Apply arbitrary coordinate transformation to geometry.
Definition: ogrcurvepolygon.cpp:661
OGR_GFld_GetType
OGRwkbGeometryType OGR_GFld_GetType(OGRGeomFieldDefnH)
Fetch geometry type of this field.
Definition: ogrgeomfielddefn.cpp:281
OGR_L_Erase
OGRErr OGR_L_Erase(OGRLayerH, OGRLayerH, OGRLayerH, char **, GDALProgressFunc, void *)
Remove areas that are covered by the method layer.
Definition: ogrlayer.cpp:4247
OGRCurve::CurveToLine
virtual OGRLineString * CurveToLine(double dfMaxAngleStepSizeDegrees=0, const char *const *papszOptions=nullptr) const =0
Return a linestring from a curve geometry.
OGRLayer::CreateFeature
OGRErr CreateFeature(OGRFeature *poFeature) CPL_WARN_UNUSED_RESULT
Create and write a new feature within a layer.
Definition: ogrlayer.cpp:625
wkbMultiPointM
@ wkbMultiPointM
Definition: ogr_core.h:366
CPLDebug
void CPLDebug(const char *, const char *,...)
Definition: cpl_error.cpp:544
wkbGeometryCollectionM
@ wkbGeometryCollectionM
Definition: ogr_core.h:369
OGR_G_CreateFromGML
OGRGeometryH OGR_G_CreateFromGML(const char *) CPL_WARN_UNUSED_RESULT
Create geometry from GML.
Definition: gml2ogrgeometry.cpp:3709
OGRGeometry::CoordinateDimension
int CoordinateDimension() const
Get the dimension of the coordinates in this object.
Definition: ogrgeometry.cpp:883
OGRLayer::GetExtent
virtual OGRErr GetExtent(OGREnvelope *psExtent, int bForce=TRUE) CPL_WARN_UNUSED_RESULT
Fetch the extent of this layer.
Definition: ogrlayer.cpp:210
OGRGeometryCollection::importFromWkt
OGRErr importFromWkt(const char **) override
Definition: ogrgeometrycollection.cpp:799
OGRGeometryCollection::segmentize
virtual void segmentize(double dfMaxLength) override
Modify the geometry such it has no segment longer then the given distance.
Definition: ogrgeometrycollection.cpp:1257
OGR_L_SetSpatialFilterRectEx
void OGR_L_SetSpatialFilterRectEx(OGRLayerH, int iGeomField, double dfMinX, double dfMinY, double dfMaxX, double dfMaxY)
Set a new rectangular spatial filter.
Definition: ogrlayer.cpp:1237
OGR_L_CreateGeomField
OGRErr OGR_L_CreateGeomField(OGRLayerH hLayer, OGRGeomFieldDefnH hFieldDefn, int bForce)
Create a new geometry field on a layer.
Definition: ogrlayer.cpp:891
OGRFieldDefn
Definition: ogr_feature.h:92
OGRMultiSurface::toUpperClass
OGRGeometryCollection * toUpperClass()
Definition: ogr_geometry.h:2277
ogr_srs_api.h
OGRMultiSurface::CastToMultiPolygon
static OGRMultiPolygon * CastToMultiPolygon(OGRMultiSurface *poMS)
Cast to multipolygon.
Definition: ogrmultisurface.cpp:324
OGRGeomFieldDefn::IsNullable
int IsNullable() const
Return whether this geometry field can receive null values.
Definition: ogr_feature.h:214
CPLMalloc
void * CPLMalloc(size_t)
Definition: cpl_conv.cpp:168
CPL_LSBPTR32
#define CPL_LSBPTR32(x)
Definition: cpl_port.h:824
OGRGeometry::transformTo
OGRErr transformTo(OGRSpatialReference *poSR)
Transform geometry to new spatial reference system.
Definition: ogrgeometry.cpp:615
OGR_G_Empty
void OGR_G_Empty(OGRGeometryH)
Clear geometry information. This restores the geometry to its initial state after construction,...
Definition: ogrgeometry.cpp:1989
wkbVariantIso
@ wkbVariantIso
Definition: ogr_core.h:426
OGRFeatureDefn::SetStyleIgnored
virtual void SetStyleIgnored(int bIgnore)
Set whether the style can be omitted when fetching features.
Definition: ogr_feature.h:314
OGR_G_CloseRings
void OGR_G_CloseRings(OGRGeometryH)
Force rings to be closed.
Definition: ogrgeometry.cpp:4849
OGR_L_GetNextFeature
OGRFeatureH OGR_L_GetNextFeature(OGRLayerH) CPL_WARN_UNUSED_RESULT
Fetch the next available feature from this layer.
Definition: ogrlayer.cpp:540
OGR_G_SwapXY
void OGR_G_SwapXY(OGRGeometryH hGeom)
Swap x and y coordinates.
Definition: ogrgeometry.cpp:5539
OGR_GT_IsCurve
int OGR_GT_IsCurve(OGRwkbGeometryType)
Return if a geometry type is an instance of Curve.
Definition: ogrgeometry.cpp:6499
OGRSimpleCurve::addSubLineString
void addSubLineString(const OGRLineString *, int nStartVertex=0, int nEndVertex=-1)
Add a segment of another linestring to this one.
Definition: ogrlinestring.cpp:1416
OGRSimpleCurve::addPoint
void addPoint(const OGRPoint *)
Add a point to a line string.
Definition: ogrlinestring.cpp:783
OGR_G_Distance
double OGR_G_Distance(OGRGeometryH, OGRGeometryH)
Compute distance between two geometries.
Definition: ogrgeometry.cpp:3282
OGR_GFld_SetIgnored
void OGR_GFld_SetIgnored(OGRGeomFieldDefnH hDefn, int)
Set whether this field should be omitted when fetching features.
Definition: ogrgeomfielddefn.cpp:415
OGRGeometry::assignSpatialReference
virtual void assignSpatialReference(OGRSpatialReference *poSR)
Assign spatial reference to this object.
Definition: ogrgeometry.cpp:421
OGRGeometry::exportToKML
virtual char * exportToKML() const
Convert a geometry into KML format.
Definition: ogrgeometry.cpp:2825
OGRLayer::Union
OGRErr Union(OGRLayer *pLayerMethod, OGRLayer *pLayerResult, char **papszOptions=nullptr, GDALProgressFunc pfnProgress=nullptr, void *pProgressArg=nullptr)
Union of two layers.
Definition: ogrlayer.cpp:2403
ogr_feature.h
OGRMultiCurve::toUpperClass
OGRGeometryCollection * toUpperClass()
Definition: ogr_geometry.h:2713
OGRGeometryCollection::getLinearGeometry
virtual OGRGeometry * getLinearGeometry(double dfMaxAngleStepSizeDegrees=0, const char *const *papszOptions=nullptr) const override
Return, possibly approximate, non-curve version of this geometry.
Definition: ogrgeometrycollection.cpp:1314
cpl_conv.h
wkbNone
@ wkbNone
Definition: ogr_core.h:349
OGR_G_Intersects
int OGR_G_Intersects(OGRGeometryH, OGRGeometryH)
Do these features intersect?
Definition: ogrgeometry.cpp:563
OGR_G_ForceToLineString
OGRGeometryH OGR_G_ForceToLineString(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Convert to line string.
Definition: ogrgeometryfactory.cpp:4136
OGRGeometryFactory::curveFromLineString
static OGRCurve * curveFromLineString(const OGRLineString *poLS, const char *const *papszOptions=nullptr)
Try to convert a linestring approximating curves into a curve.
Definition: ogrgeometryfactory.cpp:5622
OGRCurvePolygon::CastToPolygon
static OGRPolygon * CastToPolygon(OGRCurvePolygon *poCP)
Convert to polygon.
Definition: ogrcurvepolygon.cpp:833
OGRGeometryCollection::setMeasured
virtual void setMeasured(OGRBoolean bIsMeasured) override
Add or remove the M coordinate dimension.
Definition: ogrgeometrycollection.cpp:1136
wkbPolygon
@ wkbPolygon
Definition: ogr_core.h:324
cpl_string.h
OGR_G_ExportToWkt
OGRErr OGR_G_ExportToWkt(OGRGeometryH, char **)
Convert a geometry into well known text format.
Definition: ogrgeometry.cpp:1772
OGR_G_Set3D
void OGR_G_Set3D(OGRGeometryH, int)
Add or remove the Z coordinate dimension.
Definition: ogrgeometry.cpp:1109
wkbMultiCurveM
@ wkbMultiCurveM
Definition: ogr_core.h:373
OGR_G_Centroid
int OGR_G_Centroid(OGRGeometryH, OGRGeometryH)
Compute the geometry centroid.
Definition: ogrgeometry.cpp:4988
wkbMultiLineString25D
@ wkbMultiLineString25D
Definition: ogr_core.h:403
OGRGeometry::getSpatialReference
OGRSpatialReference * getSpatialReference(void) const
Returns spatial reference system for object.
Definition: ogr_geometry.h:434
OGRGeometryCollection::get_Area
virtual double get_Area() const
Compute area of geometry collection.
Definition: ogrgeometrycollection.cpp:1200
OGR_G_DumpReadable
void OGR_G_DumpReadable(OGRGeometryH, FILE *, const char *)
Dump geometry in well known text format to indicated output file.
Definition: ogrgeometry.cpp:386
OGRGeometry::toLineString
OGRLineString * toLineString()
Definition: ogr_geometry.h:565
OGRFeature::SetGeomFieldDirectly
OGRErr SetGeomFieldDirectly(int iField, OGRGeometry *)
Set feature geometry of a specified geometry field.
Definition: ogrfeature.cpp:802
OGRCurve::CastToCompoundCurve
static OGRCompoundCurve * CastToCompoundCurve(OGRCurve *puCurve)
Cast to compound curve.
Definition: ogrcurve.cpp:324
OGRPolyhedralSurface::getGeometryRef
OGRGeometry * getGeometryRef(int i)
Fetch geometry from container.
Definition: ogrpolyhedralsurface.cpp:936
OGRGeometry::dumpReadable
virtual void dumpReadable(FILE *, const char *=nullptr, char **papszOptions=nullptr) const
Dump geometry in well known text format to indicated output file.
Definition: ogrgeometry.cpp:173
OGRGeometryCollection::getEnvelope
virtual void getEnvelope(OGREnvelope *psEnvelope) const override
Computes and returns the bounding envelope for this geometry in the passed psEnvelope structure.
Definition: ogrgeometrycollection.cpp:984
OGRLayer::Reference
int Reference()
Increment layer reference count.
Definition: ogrlayer.cpp:106
OGR_G_GetSpatialReference
OGRSpatialReferenceH OGR_G_GetSpatialReference(OGRGeometryH)
Returns spatial reference system for geometry.
Definition: ogrgeometry.cpp:1953
OGRGeometry::toSimpleCurve
OGRSimpleCurve * toSimpleCurve()
Definition: ogr_geometry.h:551
CPLErrorReset
void CPLErrorReset(void)
Definition: cpl_error.cpp:710
VSI_CALLOC_VERBOSE
#define VSI_CALLOC_VERBOSE(nCount, nSize)
Definition: cpl_vsi.h:280
OGRLayer::ICreateFeature
virtual OGRErr ICreateFeature(OGRFeature *poFeature) CPL_WARN_UNUSED_RESULT
Create and write a new feature within a layer.
Definition: ogrlayer.cpp:636
OGRGeometryCollection::closeRings
void closeRings() override
Force rings to be closed.
Definition: ogrgeometrycollection.cpp:1096
OGR_G_ConvexHull
OGRGeometryH OGR_G_ConvexHull(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Compute convex hull.
Definition: ogrgeometry.cpp:3612
wkbCompoundCurveM
@ wkbCompoundCurveM
Definition: ogr_core.h:371
OGR_G_Polygonize
OGRGeometryH OGR_G_Polygonize(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Polygonizes a set of sparse edges.
Definition: ogrgeometry.cpp:5504
OGRGeometry::empty
virtual void empty()=0
Clear geometry information. This restores the geometry to its initial state after construction,...
OGRLayer::Identity
OGRErr Identity(OGRLayer *pLayerMethod, OGRLayer *pLayerResult, char **papszOptions=nullptr, GDALProgressFunc pfnProgress=nullptr, void *pProgressArg=nullptr)
Identify the features of this layer with the ones from the identity layer.
Definition: ogrlayer.cpp:3178
OGRTriangle::toUpperClass
OGRPolygon * toUpperClass()
Definition: ogr_geometry.h:2068
OGRGeometryCollection::IsEmpty
virtual OGRBoolean IsEmpty() const override
Returns TRUE (non-zero) if the object has no points.
Definition: ogrgeometrycollection.cpp:1230
wkbPolyhedralSurfaceM
@ wkbPolyhedralSurfaceM
Definition: ogr_core.h:377
OGR_G_ImportFromWkt
OGRErr OGR_G_ImportFromWkt(OGRGeometryH, char **)
Assign geometry from well known text data.
Definition: ogrgeometry.cpp:1588
CPLSPrintf
const char * CPLSPrintf(const char *fmt,...)
Definition: cpl_string.cpp:977
OGRGeomFieldDefn::SetName
void SetName(const char *)
Reset the name of this field.
Definition: ogrgeomfielddefn.cpp:174
OGR_G_GetGeometryRef
OGRGeometryH OGR_G_GetGeometryRef(OGRGeometryH, int)
Fetch geometry from a geometry container.
Definition: ogr_api.cpp:1308
OGR_G_Difference
OGRGeometryH OGR_G_Difference(OGRGeometryH, OGRGeometryH) CPL_WARN_UNUSED_RESULT
Compute difference.
Definition: ogrgeometry.cpp:4246
OGRGeometry::Overlaps
virtual OGRBoolean Overlaps(const OGRGeometry *) const
Test for overlap.
Definition: ogrgeometry.cpp:4776
OGRGeometry::Centroid
virtual OGRErr Centroid(OGRPoint *poPoint) const
Compute the geometry centroid.
Definition: ogrgeometry.cpp:4888
OGRSimpleCurve
Definition: ogr_geometry.h:1034
wkbSurface
@ wkbSurface
Definition: ogr_core.h:342
OGRFromOGCGeomType
OGRwkbGeometryType OGRFromOGCGeomType(const char *pszGeomType)
Definition: ogrgeometry.cpp:2284
OGRFieldDefnH
void * OGRFieldDefnH
Definition: ogr_api.h:297
OGRPreparedGeometry
struct _OGRPreparedGeometry OGRPreparedGeometry
Definition: ogr_geometry.h:2906
OGRLinearRing::isPointInRing
OGRBoolean isPointInRing(const OGRPoint *pt, int bTestEnvelope=TRUE) const
Definition: ogrlinearring.cpp:594
OGRFeatureDefn::GetGeomType
virtual OGRwkbGeometryType GetGeomType() const
Fetch the geometry base type.
Definition: ogrfeaturedefn.cpp:983
OGRLinearRing::isClockwise
virtual int isClockwise() const
Returns TRUE if the ring has clockwise winding (or less than 2 points)
Definition: ogrlinearring.cpp:447
OGRLayer::SetSpatialFilterRect
virtual void SetSpatialFilterRect(double dfMinX, double dfMinY, double dfMaxX, double dfMaxY)
Set a new rectangular spatial filter.
Definition: ogrlayer.cpp:1183
OGRGeometryH
void * OGRGeometryH
Definition: ogr_api.h:60
CPLError
void CPLError(CPLErr eErrClass, CPLErrorNum err_no, const char *fmt,...)
Definition: cpl_error.cpp:232
OGRGeomFieldDefn
Definition: ogr_feature.h:182
CPLParseNameValue
const char * CPLParseNameValue(const char *pszNameValue, char **ppszKey)
Definition: cpl_string.cpp:1754
OGRCompoundCurve::getNumCurves
int getNumCurves() const
Return the number of curves.
Definition: ogrcompoundcurve.cpp:435
OGR_L_Update
OGRErr OGR_L_Update(OGRLayerH, OGRLayerH, OGRLayerH, char **, GDALProgressFunc, void *)
Update this layer with features from the update layer.
Definition: ogrlayer.cpp:3742
OGRCoordinateTransformation::GetSourceCS
virtual OGRSpatialReference * GetSourceCS()=0
OGRFeature::FromHandle
static OGRFeature * FromHandle(OGRFeatureH hFeature)
Definition: ogr_feature.h:762
OGRLayer::FromHandle
static OGRLayer * FromHandle(OGRLayerH hLayer)
Definition: ogrsf_frmts.h:258
wkbLinearRing
@ wkbLinearRing
Definition: ogr_core.h:350
VSIFree
void VSIFree(void *)
Definition: cpl_vsisimple.cpp:823
OGRCompoundCurve::getCurve
OGRCurve * getCurve(int)
Fetch reference to indicated internal ring.
Definition: ogrcompoundcurve.cpp:459
CPLE_NotSupported
#define CPLE_NotSupported
Definition: cpl_error.h:109
OGRERR_NOT_ENOUGH_DATA
#define OGRERR_NOT_ENOUGH_DATA
Definition: ogr_core.h:293
GEOSGeom
struct GEOSGeom_t * GEOSGeom
Definition: ogr_geometry.h:79
OGRGeometryCollection::setCoordinateDimension
virtual void setCoordinateDimension(int nDimension) override
Set the coordinate dimension.
Definition: ogrgeometrycollection.cpp:1115
OGRERR_CORRUPT_DATA
#define OGRERR_CORRUPT_DATA
Definition: ogr_core.h:297
OGRPoint::IsEmpty
virtual OGRBoolean IsEmpty() const override
Returns TRUE (non-zero) if the object has no points.
Definition: ogr_geometry.h:847
OGRCoordinateTransformation
Definition: ogr_spatialref.h:673
OGRPoint::empty
virtual void empty() override
Clear geometry information. This restores the geometry to its initial state after construction,...
Definition: ogrpoint.cpp:197
OGRLayer::Clip
OGRErr Clip(OGRLayer *pLayerMethod, OGRLayer *pLayerResult, char **papszOptions=nullptr, GDALProgressFunc pfnProgress=nullptr, void *pProgressArg=nullptr)
Clip off areas that are not covered by the method layer.
Definition: ogrlayer.cpp:3815
OGRCoordinateTransformation::FromHandle
static OGRCoordinateTransformation * FromHandle(OGRCoordinateTransformationH hCT)
Definition: ogr_spatialref.h:742
OGRFeatureDefn::GetFieldIndex
virtual int GetFieldIndex(const char *) const
Find field by name.
Definition: ogrfeaturedefn.cpp:1217
OGRSimpleCurve::getZ
double getZ(int i) const
Get Z at vertex.
Definition: ogrlinestring.cpp:380
OGRCurve::get_IsClosed
virtual int get_IsClosed() const
Return TRUE if curve is closed.
Definition: ogrcurve.cpp:97
OGRGeometry::getDimension
virtual int getDimension() const =0
Get the dimension of this object.
CPLJSONDocument::GetRoot
CPLJSONObject GetRoot()
Definition: cpl_json.cpp:119
OGR_G_Segmentize
void OGR_G_Segmentize(OGRGeometryH hGeom, double dfMaxLength)
Modify the geometry such it has no segment longer then the given distance.
Definition: ogrgeometry.cpp:812
OGRGeometry::toLinearRing
OGRLinearRing * toLinearRing()
Definition: ogr_geometry.h:579
OGRErr
int OGRErr
Definition: ogr_core.h:290
OGR_L_GetGeometryColumn
const char * OGR_L_GetGeometryColumn(OGRLayerH)
This method returns the name of the underlying database column being used as the geometry column,...
Definition: ogrlayer.cpp:1636
wkbCompoundCurveZ
@ wkbCompoundCurveZ
Definition: ogr_core.h:353
OGR_G_IsRing
int OGR_G_IsRing(OGRGeometryH)
Test if the geometry is a ring.
Definition: ogrgeometry.cpp:2268
OGRGeometry::toCurvePolygon
OGRCurvePolygon * toCurvePolygon()
Definition: ogr_geometry.h:663
OGRGeometryCollection::flattenTo2D
virtual void flattenTo2D() override
Convert geometry to strictly 2D. In a sense this converts all Z coordinates to 0.0.
Definition: ogrgeometrycollection.cpp:223
OGRGeometry::segmentize
virtual void segmentize(double dfMaxLength)
Modify the geometry such it has no segment longer then the given distance.
Definition: ogrgeometry.cpp:789
OGR_G_GetEnvelope3D
void OGR_G_GetEnvelope3D(OGRGeometryH, OGREnvelope3D *)
Computes and returns the bounding envelope (3D) for this geometry in the passed psEnvelope structure.
Definition: ogrgeometry.cpp:1338
OGRGeometry::freeGEOSContext
static void freeGEOSContext(GEOSContextHandle_t hGEOSCtxt)
Definition: ogrgeometry.cpp:2914
M_PI
#define M_PI
Definition: cpl_port.h:407
OGR_G_GetGeometryType
OGRwkbGeometryType OGR_G_GetGeometryType(OGRGeometryH)
Fetch geometry type.
Definition: ogrgeometry.cpp:1844
GIntBig
long long GIntBig
Definition: cpl_port.h:246
OGRGeometry::toPolygon
OGRPolygon * toPolygon()
Definition: ogr_geometry.h:635
wkbCurveZ
@ wkbCurveZ
Definition: ogr_core.h:357
OGR_GT_HasZ
int OGR_GT_HasZ(OGRwkbGeometryType eType)
Return if the geometry type is a 3D geometry type.
Definition: ogrgeometry.cpp:6165
OGR_G_Clone
OGRGeometryH OGR_G_Clone(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Make a copy of this object.
Definition: ogrgeometry.cpp:1916
OGRGeometry::toGeometryCollection
OGRGeometryCollection * toGeometryCollection()
Definition: ogr_geometry.h:677
OGRCurvePolygon::getExteriorRingCurve
OGRCurve * getExteriorRingCurve()
Fetch reference to external polygon ring.
Definition: ogrcurvepolygon.cpp:204
OGR_L_SetNextByIndex
OGRErr OGR_L_SetNextByIndex(OGRLayerH, GIntBig)
Move read cursor to the nIndex'th feature in the current resultset.
Definition: ogrlayer.cpp:523
OGRCurvePolygon::getNumInteriorRings
int getNumInteriorRings() const
Fetch the number of internal rings.
Definition: ogrcurvepolygon.cpp:241
OGRGeometryFactory::GetCurveParmeters
static int GetCurveParmeters(double x0, double y0, double x1, double y1, double x2, double y2, double &R, double &cx, double &cy, double &alpha0, double &alpha1, double &alpha2)
Returns the parameter of an arc circle.
Definition: ogrgeometryfactory.cpp:4571
VSI_MALLOC_VERBOSE
#define VSI_MALLOC_VERBOSE(size)
Definition: cpl_vsi.h:265
OGRSimpleCurve::EndPoint
virtual void EndPoint(OGRPoint *) const override
Return the curve end point.
Definition: ogrlinestring.cpp:1966
OGRwkbGeometryType
OGRwkbGeometryType
Definition: ogr_core.h:317
OGR_G_ExportToWkb
OGRErr OGR_G_ExportToWkb(OGRGeometryH, OGRwkbByteOrder, unsigned char *)
Convert a geometry well known binary format.
Definition: ogrgeometry.cpp:1496
OGRGeometryFactory::createFromWkb
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
OGRGeometryFactory::createFromFgf
static OGRErr createFromFgf(const void *, OGRSpatialReference *, OGRGeometry **, int=-1, int *=nullptr)
Create a geometry object of the appropriate type from its FGF (FDO Geometry Format) binary representa...
Definition: ogrgeometryfactory.cpp:2157
CPL_UNUSED
#define CPL_UNUSED
Definition: cpl_port.h:938
OGR_GT_HasM
int OGR_GT_HasM(OGRwkbGeometryType eType)
Return if the geometry type is a measured type.
Definition: ogrgeometry.cpp:6189
wkbTINZ
@ wkbTINZ
Definition: ogr_core.h:360
OGR_L_GetFeatureCount
GIntBig OGR_L_GetFeatureCount(OGRLayerH, int)
Fetch the feature count in this layer.
Definition: ogrlayer.cpp:193
OGRTriangle
Definition: ogr_geometry.h:2032
OGRGeometryTypeToName
const char * OGRGeometryTypeToName(OGRwkbGeometryType eType)
Fetch a human readable name corresponding to an OGRwkbGeometryType value. The returned value should n...
Definition: ogrgeometry.cpp:2418
OGRFeature
Definition: ogr_feature.h:353
OGR_L_SetAttributeFilter
OGRErr OGR_L_SetAttributeFilter(OGRLayerH, const char *)
Set a new attribute query.
Definition: ogrlayer.cpp:429
cpl_port.h
OGRPoint::setY
void setY(double yIn)
Assign point Y coordinate.
Definition: ogr_geometry.h:869
OGRStyleTable::Clone
OGRStyleTable * Clone()
Duplicate style table.
Definition: ogrfeaturestyle.cpp:1209
OGRGeometryFactory::createFromGML
static OGRGeometry * createFromGML(const char *)
Create geometry from GML.
Definition: ogrgeometryfactory.cpp:2025
OGRGeomFieldDefn::GetType
OGRwkbGeometryType GetType() const
Fetch geometry type of this field.
Definition: ogr_feature.h:205
OGR_G_ForceToMultiPoint
OGRGeometryH OGR_G_ForceToMultiPoint(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Convert to multipoint.
Definition: ogrgeometryfactory.cpp:1054
OGRGeometry::Polygonize
virtual OGRGeometry * Polygonize() const CPL_WARN_UNUSED_RESULT
Polygonizes a set of sparse edges.
Definition: ogrgeometry.cpp:5413
EQUALN
#define EQUALN(a, b, n)
Definition: cpl_port.h:557
OGRFeature::GetGeometryRef
OGRGeometry * GetGeometryRef()
Fetch pointer to feature geometry.
Definition: ogrfeature.cpp:583
ogr_api.h
CPLJSONDocument
The CPLJSONDocument class Wrapper class around json-c library.
Definition: cpl_json.h:188
OGR_L_SetStyleTableDirectly
void OGR_L_SetStyleTableDirectly(OGRLayerH, OGRStyleTableH)
Definition: ogrlayer.cpp:1698
wkbTriangleZM
@ wkbTriangleZM
Definition: ogr_core.h:397
OGRPoint::getZ
double getZ() const
Fetch Z coordinate.
Definition: ogr_geometry.h:856
OGRPoint::setZ
void setZ(double zIn)
Assign point Z coordinate. Calling this method will force the geometry coordinate dimension to 3D (wk...
Definition: ogr_geometry.h:873
wkbXDR
@ wkbXDR
Definition: ogr_core.h:491
OGRCurvePolygon::addRing
virtual OGRErr addRing(OGRCurve *)
Add a ring to a polygon.
Definition: ogrcurvepolygon.cpp:365
OGRGeomFieldDefn::SetNullable
void SetNullable(int bNullableIn)
Set whether this geometry field can receive null values.
Definition: ogr_feature.h:215
OGR_G_Contains
int OGR_G_Contains(OGRGeometryH, OGRGeometryH)
Test for containment.
Definition: ogrgeometry.cpp:4744
OGRGeometry::WkbSize
virtual int WkbSize() const =0
Returns size of related binary representation.
OGRGeometry::IsMeasured
OGRBoolean IsMeasured() const
Definition: ogr_geometry.h:364
OGR_G_Touches
int OGR_G_Touches(OGRGeometryH, OGRGeometryH)
Test for touching.
Definition: ogrgeometry.cpp:4515
OGR_G_GetGeometryName
const char * OGR_G_GetGeometryName(OGRGeometryH)
Fetch WKT name for geometry type.
Definition: ogrgeometry.cpp:1880
OGRPreparedGeometryUniquePtr
std::unique_ptr< OGRPreparedGeometry, OGRPreparedGeometryUniquePtrDeleter > OGRPreparedGeometryUniquePtr
Definition: ogr_geometry.h:2925
OGRMultiCurve::hasCurveGeometry
virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear=FALSE) const override
Returns if this geometry is or has curve geometry.
Definition: ogrmulticurve.cpp:188
wkbGeometryCollection25D
@ wkbGeometryCollection25D
Definition: ogr_core.h:405
OGR_G_CreateFromWkt
OGRErr OGR_G_CreateFromWkt(char **, OGRSpatialReferenceH, OGRGeometryH *)
Create a geometry object of the appropriate type from its well known text representation.
Definition: ogrgeometryfactory.cpp:496
OGRCurve
Definition: ogr_geometry.h:925
OGRCurvePolygon::assignSpatialReference
virtual void assignSpatialReference(OGRSpatialReference *poSR) override
Assign spatial reference to this object.
Definition: ogrcurvepolygon.cpp:711
OGRLayer::begin
FeatureIterator begin()
Definition: ogrlayer.cpp:4347
OGRPoint::getY
double getY() const
Fetch Y coordinate.
Definition: ogr_geometry.h:854
OGRFeatureDefn::SetGeometryIgnored
virtual void SetGeometryIgnored(int bIgnore)
Set whether the geometry can be omitted when fetching features.
Definition: ogrfeaturedefn.cpp:1326
OGRDefaultGeometryVisitor::visit
void visit(OGRPoint *) override
Definition: ogr_geometry.h:170
OGRGeomFieldDefn::FromHandle
static OGRGeomFieldDefn * FromHandle(OGRGeomFieldDefnH hGeomFieldDefn)
Definition: ogr_feature.h:229
wkbGeometryCollection
@ wkbGeometryCollection
Definition: ogr_core.h:330
OGRFeatureDefn::ToHandle
static OGRFeatureDefnH ToHandle(OGRFeatureDefn *poFeatureDefn)
Definition: ogr_feature.h:332
OGRGeometryFactory::createFromGeoJson
static OGRGeometry * createFromGeoJson(const char *)
Create geometry from GeoJson fragment.
Definition: ogrgeometryfactory.cpp:5720
OGRGeometryCollection::empty
virtual void empty() override
Clear geometry information. This restores the geometry to its initial state after construction,...
Definition: ogrgeometrycollection.cpp:138
GEOSContextHandle_t
struct GEOSContextHandle_HS * GEOSContextHandle_t
Definition: ogr_geometry.h:81
OGRFeatureDefn::GetGeomFieldCount
virtual int GetGeomFieldCount() const
Fetch number of geometry fields on this feature.
Definition: ogrfeaturedefn.cpp:631
CSLFetchNameValue
const char * CSLFetchNameValue(CSLConstList papszStrList, const char *pszName)
Definition: cpl_string.cpp:1674
OGR_G_CreateGeometry
OGRGeometryH OGR_G_CreateGeometry(OGRwkbGeometryType) CPL_WARN_UNUSED_RESULT
Create an empty geometry of desired type.
Definition: ogrgeometryfactory.cpp:604
CPLErr
CPLErr
Definition: cpl_error.h:52
wkbMultiCurveZ
@ wkbMultiCurveZ
Definition: ogr_core.h:355
OGRSimpleCurve::setPoints
void setPoints(int, const OGRRawPoint *, const double *=nullptr)
Assign all points in a line string.
Definition: ogrlinestring.cpp:1008
OGR_G_Overlaps
int OGR_G_Overlaps(OGRGeometryH, OGRGeometryH)
Test for overlap.
Definition: ogrgeometry.cpp:4812
OGR_G_ForceToMultiPolygon
OGRGeometryH OGR_G_ForceToMultiPolygon(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Convert to multipolygon.
Definition: ogrgeometryfactory.cpp:962
OGRLayer::SetNextByIndex
virtual OGRErr SetNextByIndex(GIntBig nIndex)
Move read cursor to the nIndex'th feature in the current resultset.
Definition: ogrlayer.cpp:498
OGRGeometryCollection::getDimension
virtual int getDimension() const override
Get the dimension of this object.
Definition: ogrgeometrycollection.cpp:200
OGRGeometry::transform
virtual OGRErr transform(OGRCoordinateTransformation *poCT)=0
Apply arbitrary coordinate transformation to geometry.
wkbPolyhedralSurfaceZ
@ wkbPolyhedralSurfaceZ
Definition: ogr_core.h:359
wkbMultiCurve
@ wkbMultiCurve
Definition: ogr_core.h:339
OGR_G_SetMeasured
void OGR_G_SetMeasured(OGRGeometryH, int)
Add or remove the M coordinate dimension.
Definition: ogrgeometry.cpp:1136
OGRLayer::SetIgnoredFields
virtual OGRErr SetIgnoredFields(const char **papszFields)
Set which fields can be omitted when retrieving features from the layer.
Definition: ogrlayer.cpp:1791
GBool
int GBool
Definition: cpl_port.h:221
wkbMultiPolygonM
@ wkbMultiPolygonM
Definition: ogr_core.h:368
OGRGeometryFactory::haveGEOS
static bool haveGEOS()
Test if GEOS enabled.
Definition: ogrgeometryfactory.cpp:2120
OGR_L_Clip
OGRErr OGR_L_Clip(OGRLayerH, OGRLayerH, OGRLayerH, char **, GDALProgressFunc, void *)
Clip off areas that are not covered by the method layer.
Definition: ogrlayer.cpp:4001
OGRMultiPolygon::toUpperClass
OGRGeometryCollection * toUpperClass()
Definition: ogr_geometry.h:2360
wkbLineString25D
@ wkbLineString25D
Definition: ogr_core.h:400
OGR_G_Buffer
OGRGeometryH OGR_G_Buffer(OGRGeometryH, double, int) CPL_WARN_UNUSED_RESULT
Compute buffer of geometry.
Definition: ogrgeometry.cpp:3838
OGR_L_GetFIDColumn
const char * OGR_L_GetFIDColumn(OGRLayerH)
This method returns the name of the underlying database column being used as the FID column,...
Definition: ogrlayer.cpp:1606
OGRGeometryCollection::importFromWkb
virtual OGRErr importFromWkb(const unsigned char *, int, OGRwkbVariant, int &nBytesConsumedOut) override
Assign geometry from well known binary data.
Definition: ogrgeometrycollection.cpp:597
OGRLinearRing
Definition: ogr_geometry.h:1312
wkbGeometryCollectionZM
@ wkbGeometryCollectionZM
Definition: ogr_core.h:387
OGRGeometryUniquePtr
std::unique_ptr< OGRGeometry, OGRGeometryUniquePtrDeleter > OGRGeometryUniquePtr
Definition: ogr_geometry.h:797
OGR_L_GetSpatialRef
OGRSpatialReferenceH OGR_L_GetSpatialRef(OGRLayerH)
Fetch the spatial reference system for this layer.
Definition: ogrlayer.cpp:1048
OGRERR_NONE
#define OGRERR_NONE
Definition: ogr_core.h:292
CPLStrdup
char * CPLStrdup(const char *)
Definition: cpl_conv.cpp:293
OGRGeometryFactory::destroyGeometry
static void destroyGeometry(OGRGeometry *)
Destroy geometry object.
Definition: ogrgeometryfactory.cpp:626
OGRFeatureDefn
Definition: ogr_feature.h:259
OGRLayer::GetGeomType
virtual OGRwkbGeometryType GetGeomType()
Return the layer geometry type.
Definition: ogrlayer.cpp:1754
wkbMultiSurfaceZ
@ wkbMultiSurfaceZ
Definition: ogr_core.h:356
CPLGetLastErrorType
CPLErr CPLGetLastErrorType(void)
Definition: cpl_error.cpp:823
OGRCurve::CastToLinearRing
static OGRLinearRing * CastToLinearRing(OGRCurve *poCurve)
Cast to linear ring.
Definition: ogrcurve.cpp:377
OGR_L_GetSpatialFilter
OGRGeometryH OGR_L_GetSpatialFilter(OGRLayerH)
This function returns the current spatial filter for this layer.
Definition: ogrlayer.cpp:1094
OGR_GFld_Destroy
void OGR_GFld_Destroy(OGRGeomFieldDefnH)
Destroy a geometry field definition.
Definition: ogrgeomfielddefn.cpp:152
OGRLayer::ISetFeature
virtual OGRErr ISetFeature(OGRFeature *poFeature) CPL_WARN_UNUSED_RESULT
Rewrite an existing feature.
Definition: ogrlayer.cpp:597
OGRGeometryFactory::forceToMultiPoint
static OGRGeometry * forceToMultiPoint(OGRGeometry *)
Convert to multipoint.
Definition: ogrgeometryfactory.cpp:985
OGRGetNonLinearGeometriesEnabledFlag
int OGRGetNonLinearGeometriesEnabledFlag(void)
Get flag to enable/disable returning non-linear geometries in the C API.
Definition: ogr_api.cpp:1853
CPLE_IllegalArg
#define CPLE_IllegalArg
Definition: cpl_error.h:107
OGRToOGCGeomType
const char * OGRToOGCGeomType(OGRwkbGeometryType eGeomType)
Definition: ogrgeometry.cpp:2357
OGRRawPoint::y
double y
Definition: ogr_geometry.h:75
CPLBinaryToHex
char * CPLBinaryToHex(int nBytes, const GByte *pabyData)
Definition: cpl_string.cpp:2469
wkbTriangle
@ wkbTriangle
Definition: ogr_core.h:347
OGRLayer::SetAttributeFilter
virtual OGRErr SetAttributeFilter(const char *)
Set a new attribute query.
Definition: ogrlayer.cpp:337
wkbLineString
@ wkbLineString
Definition: ogr_core.h:322
OGR_G_GetDimension
int OGR_G_GetDimension(OGRGeometryH)
Get the dimension of this geometry.
Definition: ogrgeometry.cpp:843
OGRGeometry::Distance
virtual double Distance(const OGRGeometry *) const
Compute distance between two geometries.
Definition: ogrgeometry.cpp:3181
CPLJSONObject::IsValid
bool IsValid() const
Definition: cpl_json.cpp:1115
OGRFeature::GetGeomFieldRef
OGRGeometry * GetGeomFieldRef(int iField)
Fetch pointer to feature geometry.
Definition: ogrfeature.cpp:666
OGRPolygon
Definition: ogr_geometry.h:1909
OGRTriangulatedSurface
Definition: ogr_geometry.h:2511
OGRGeometry::ConvexHull
virtual OGRGeometry * ConvexHull() const CPL_WARN_UNUSED_RESULT
Compute convex hull.
Definition: ogrgeometry.cpp:3529
wkbMultiLineString
@ wkbMultiLineString
Definition: ogr_core.h:328
OGRCurvePolygon
Definition: ogr_geometry.h:1759
OGRGeometry::getEnvelope
virtual void getEnvelope(OGREnvelope *psEnvelope) const =0
Computes and returns the bounding envelope for this geometry in the passed psEnvelope structure.
wkbHasM
#define wkbHasM(x)
Definition: ogr_core.h:456
OGRLayer::SetStyleTableDirectly
virtual void SetStyleTableDirectly(OGRStyleTable *poStyleTable)
Set layer style table.
Definition: ogrlayer.cpp:1662
OGRCurvePolygon::getInteriorRingCurve
OGRCurve * getInteriorRingCurve(int)
Fetch reference to indicated internal ring.
Definition: ogrcurvepolygon.cpp:269
OGRLayer::TestCapability
virtual int TestCapability(const char *)=0
Test if this layer supported the named capability.
OGRGeometry::Equals
virtual OGRBoolean Equals(const OGRGeometry *) const =0
Returns TRUE if two geometries are equivalent.
OGRPolyhedralSurface::assignSpatialReference
virtual void assignSpatialReference(OGRSpatialReference *poSR) override
Assign spatial reference to this object.
Definition: ogrpolyhedralsurface.cpp:1082
OGRGeometry::exportToGML
virtual char * exportToGML(const char *const *papszOptions=nullptr) const
Convert a geometry into GML format.
Definition: ogrgeometry.cpp:2802
OGRMultiLineString::CastToMultiCurve
static OGRMultiCurve * CastToMultiCurve(OGRMultiLineString *poMLS)
Cast to multicurve.
Definition: ogrmultilinestring.cpp:168
OGRGeometryCollection::addGeometry
virtual OGRErr addGeometry(const OGRGeometry *)
Add a geometry to the container.
Definition: ogrgeometrycollection.cpp:341
wkbCurveZM
@ wkbCurveZM
Definition: ogr_core.h:393
OGRCurve::get_Length
virtual double get_Length() const =0
Returns the length of the curve.
CPLErrorV
void CPLErrorV(CPLErr, CPLErrorNum, const char *, va_list)
Definition: cpl_error.cpp:248
ogr_core.h
OGRGeometry::exportToWkt
virtual OGRErr exportToWkt(char **ppszDstText, OGRwkbVariant=wkbVariantOldOgc) const =0
Convert a geometry into well known text format.
OGRLayer::AlterFieldDefn
virtual OGRErr AlterFieldDefn(int iField, OGRFieldDefn *poNewFieldDefn, int nFlagsIn)
Alter the definition of an existing field on a layer.
Definition: ogrlayer.cpp:840
OGRGeometryCollection::exportToWkb
virtual OGRErr exportToWkb(OGRwkbByteOrder, unsigned char *, OGRwkbVariant=wkbVariantOldOgc) const override
Convert a geometry into well known binary format.
Definition: ogrgeometrycollection.cpp:613
OGR_L_Union
OGRErr OGR_L_Union(OGRLayerH, OGRLayerH, OGRLayerH, char **, GDALProgressFunc, void *)
Union of two layers.
Definition: ogrlayer.cpp:2753
OGRSimpleCurve::clone
virtual OGRGeometry * clone() const override
Make a copy of this object.
Definition: ogrlinestring.cpp:140
OGRGeometry::Touches
virtual OGRBoolean Touches(const OGRGeometry *) const
Test for touching.
Definition: ogrgeometry.cpp:4480
OGRLayerH
void * OGRLayerH
Definition: ogr_api.h:508
OGR_GFld_Create
OGRGeomFieldDefnH OGR_GFld_Create(const char *, OGRwkbGeometryType) CPL_WARN_UNUSED_RESULT
Create a new field geometry definition.
Definition: ogrgeomfielddefn.cpp:103
OGR_L_Intersection
OGRErr OGR_L_Intersection(OGRLayerH, OGRLayerH, OGRLayerH, char **, GDALProgressFunc, void *)
Intersection of two layers.
Definition: ogrlayer.cpp:2316
OGRGeometry::toMultiLineString
OGRMultiLineString * toMultiLineString()
Definition: ogr_geometry.h:705
GUInt16
unsigned short GUInt16
Definition: cpl_port.h:211
wkbMultiLineStringM
@ wkbMultiLineStringM
Definition: ogr_core.h:367
OGRERR_INVALID_HANDLE
#define OGRERR_INVALID_HANDLE
Definition: ogr_core.h:300
OGRLayer::SetFeature
OGRErr SetFeature(OGRFeature *poFeature) CPL_WARN_UNUSED_RESULT
Rewrite an existing feature.
Definition: ogrlayer.cpp:586
OGR_GT_SetZ
OGRwkbGeometryType OGR_GT_SetZ(OGRwkbGeometryType eType)
Returns the 3D geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:6211
OGRLayer::SyncToDisk
virtual OGRErr SyncToDisk()
Flush pending changes to disk.
Definition: ogrlayer.cpp:1519
CPLFree
#define CPLFree
Definition: cpl_conv.h:81
OGRGeometry::Within
virtual OGRBoolean Within(const OGRGeometry *) const
Test for containment.
Definition: ogrgeometry.cpp:4643
OGRGeometryFactory::approximateArcAngles
static OGRGeometry * approximateArcAngles(double dfX, double dfY, double dfZ, double dfPrimaryRadius, double dfSecondaryAxis, double dfRotation, double dfStartAngle, double dfEndAngle, double dfMaxAngleStepSizeDegrees)
Definition: ogrgeometryfactory.cpp:3826
wkbUnknown
@ wkbUnknown
Definition: ogr_core.h:319
OGRSimpleCurve::reversePoints
void reversePoints(void)
Reverse point order.
Definition: ogrlinestring.cpp:1378
wkbTIN
@ wkbTIN
Definition: ogr_core.h:345
OGR_G_ImportFromWkb
OGRErr OGR_G_ImportFromWkb(OGRGeometryH, const void *, int)
Assign geometry from well known binary data.
Definition: ogrgeometry.cpp:1431
OGRGeometryCollection::getGeometryType
virtual OGRwkbGeometryType getGeometryType() const override
Fetch geometry type.
Definition: ogrgeometrycollection.cpp:183
GInt32
int GInt32
Definition: cpl_port.h:203
OGRGeometry::setMeasured
virtual void setMeasured(OGRBoolean bIsMeasured)
Add or remove the M coordinate dimension.
Definition: ogrgeometry.cpp:1053
OGRPolygon::toUpperClass
OGRCurvePolygon * toUpperClass()
Definition: ogr_geometry.h:2000
OGRGeomFieldDefn::OGRGeomFieldDefn
OGRGeomFieldDefn(const char *pszNameIn, OGRwkbGeometryType eGeomTypeIn)
Constructor.
Definition: ogrgeomfielddefn.cpp:58
OGRLayer::FindFieldIndex
virtual int FindFieldIndex(const char *pszFieldName, int bExactMatch)
Find the index of field in the layer.
Definition: ogrlayer.cpp:1027
OGRPoint::Equals
virtual OGRBoolean Equals(const OGRGeometry *) const override
Returns TRUE if two geometries are equivalent.
Definition: ogrpoint.cpp:714
CPLHexToBinary
GByte * CPLHexToBinary(const char *pszHex, int *pnBytes)
Definition: cpl_string.cpp:2527
OGRDefaultConstGeometryVisitor::visit
void visit(const OGRPoint *) override
Definition: ogr_geometry.h:244
OGRwkbVariant
OGRwkbVariant
Definition: ogr_core.h:423
OGRCurvePolygon::stealExteriorRingCurve
OGRCurve * stealExteriorRingCurve()
"Steal" reference to external ring.
Definition: ogrcurvepolygon.cpp:310
OGRLinearRing::toUpperClass
OGRLineString * toUpperClass()
Definition: ogr_geometry.h:1358
wkbPointM
@ wkbPointM
Definition: ogr_core.h:363
wkbMultiPoint
@ wkbMultiPoint
Definition: ogr_core.h:327
wkbSurfaceZ
@ wkbSurfaceZ
Definition: ogr_core.h:358
OGRGeometry::toCompoundCurve
OGRCompoundCurve * toCompoundCurve()
Definition: ogr_geometry.h:607
OGRPoint::getX
double getX() const
Fetch X coordinate.
Definition: ogr_geometry.h:852
CPLGetConfigOption
const char * CPLGetConfigOption(const char *, const char *)
Definition: cpl_conv.cpp:1690
OGR_L_CreateField
OGRErr OGR_L_CreateField(OGRLayerH, OGRFieldDefnH, int)
Create a new field on a layer.
Definition: ogrlayer.cpp:680
OGRGeometry::getIsoGeometryType
OGRwkbGeometryType getIsoGeometryType() const
Get the geometry type that conforms with ISO SQL/MM Part3.
Definition: ogrgeometry.cpp:761
OGR_G_ForceToPolygon
OGRGeometryH OGR_G_ForceToPolygon(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Convert to polygon.
Definition: ogrgeometryfactory.cpp:792
OGRCurve::get_Area
virtual double get_Area() const =0
Get the area of the (closed) curve.
OGR_G_GetGeometryCount
int OGR_G_GetGeometryCount(OGRGeometryH)
Fetch the number of elements in a geometry or number of geometries in container.
Definition: ogr_api.cpp:1243
OGR_G_IsSimple
int OGR_G_IsSimple(OGRGeometryH)
Returns TRUE if the geometry is simple.
Definition: ogrgeometry.cpp:2195
OLCMeasuredGeometries
#define OLCMeasuredGeometries
Definition: ogr_core.h:765
OGRGeometry::ToHandle
static OGRGeometryH ToHandle(OGRGeometry *poGeom)
Definition: ogr_geometry.h:510
OGRGeometry::createGEOSContext
static GEOSContextHandle_t createGEOSContext()
Definition: ogrgeometry.cpp:2896
OGR_G_WkbSize
int OGR_G_WkbSize(OGRGeometryH hGeom)
Returns size of related binary representation.
Definition: ogrgeometry.cpp:1270
OGRGeometryFactory::createFromWkt
static OGRErr createFromWkt(const char *, OGRSpatialReference *, OGRGeometry **)
Create a geometry object of the appropriate type from its well known text representation.
Definition: ogrgeometryfactory.cpp:463
STARTS_WITH_CI
#define STARTS_WITH_CI(a, b)
Definition: cpl_port.h:570
CPLE_AppDefined
#define CPLE_AppDefined
Definition: cpl_error.h:99
OGRGeometry::Distance3D
virtual double Distance3D(const OGRGeometry *poOtherGeom) const
Returns the 3D distance between two geometries.
Definition: ogrgeometry.cpp:3312
GUInt32
unsigned int GUInt32
Definition: cpl_port.h:205
OGR_G_TransformTo
OGRErr OGR_G_TransformTo(OGRGeometryH, OGRSpatialReferenceH)
Transform geometry to new spatial reference system.
Definition: ogrgeometry.cpp:672

Generated for GDAL by doxygen 1.8.17.