OGR
ogrlayerdecorator.h
1 /******************************************************************************
2  * $Id: ogrlayerdecorator.h 765f9701959517cb9c13deea90566e390f72c718 2019-01-24 00:26:25 +0100 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  CPL_DISALLOW_COPY_ASSIGN(OGRLayerDecorator)
40 
41  protected:
42  OGRLayer *m_poDecoratedLayer;
43  int m_bHasOwnership;
44 
45  public:
46 
47  OGRLayerDecorator(OGRLayer* poDecoratedLayer,
48  int bTakeOwnership);
49  virtual ~OGRLayerDecorator();
50 
51  virtual OGRGeometry *GetSpatialFilter() override;
52  virtual void SetSpatialFilter( OGRGeometry * ) override;
53  virtual void SetSpatialFilterRect( double dfMinX, double dfMinY,
54  double dfMaxX, double dfMaxY ) override;
55  virtual void SetSpatialFilter( int iGeomField, OGRGeometry * ) override;
56  virtual void SetSpatialFilterRect( int iGeomField, double dfMinX, double dfMinY,
57  double dfMaxX, double dfMaxY ) override;
58 
59  virtual OGRErr SetAttributeFilter( const char * ) override;
60 
61  virtual void ResetReading() override;
62  virtual OGRFeature *GetNextFeature() override;
63  virtual OGRErr SetNextByIndex( GIntBig nIndex ) override;
64  virtual OGRFeature *GetFeature( GIntBig nFID ) override;
65  virtual OGRErr ISetFeature( OGRFeature *poFeature ) override;
66  virtual OGRErr ICreateFeature( OGRFeature *poFeature ) override;
67  virtual OGRErr DeleteFeature( GIntBig nFID ) override;
68 
69  virtual const char *GetName() override;
70  virtual OGRwkbGeometryType GetGeomType() override;
71  virtual OGRFeatureDefn *GetLayerDefn() override;
72 
73  virtual OGRSpatialReference *GetSpatialRef() override;
74 
75  virtual GIntBig GetFeatureCount( int bForce = TRUE ) override;
76  virtual OGRErr GetExtent(int iGeomField, OGREnvelope *psExtent, int bForce = TRUE) override;
77  virtual OGRErr GetExtent(OGREnvelope *psExtent, int bForce = TRUE) override;
78 
79  virtual int TestCapability( const char * ) override;
80 
81  virtual OGRErr CreateField( OGRFieldDefn *poField,
82  int bApproxOK = TRUE ) override;
83  virtual OGRErr DeleteField( int iField ) override;
84  virtual OGRErr ReorderFields( int* panMap ) override;
85  virtual OGRErr AlterFieldDefn( int iField, OGRFieldDefn* poNewFieldDefn, int nFlags ) override;
86 
87  virtual OGRErr CreateGeomField( OGRGeomFieldDefn *poField,
88  int bApproxOK = TRUE ) override;
89 
90  virtual OGRErr SyncToDisk() override;
91 
92  virtual OGRStyleTable *GetStyleTable() override;
93  virtual void SetStyleTableDirectly( OGRStyleTable *poStyleTable ) override;
94 
95  virtual void SetStyleTable(OGRStyleTable *poStyleTable) override;
96 
97  virtual OGRErr StartTransaction() override;
98  virtual OGRErr CommitTransaction() override;
99  virtual OGRErr RollbackTransaction() override;
100 
101  virtual const char *GetFIDColumn() override;
102  virtual const char *GetGeometryColumn() override;
103 
104  virtual OGRErr SetIgnoredFields( const char **papszFields ) override;
105 
106  virtual char **GetMetadata( const char * pszDomain = "" ) override;
107  virtual CPLErr SetMetadata( char ** papszMetadata,
108  const char * pszDomain = "" ) override;
109  virtual const char *GetMetadataItem( const char * pszName,
110  const char * pszDomain = "" ) override;
111  virtual CPLErr SetMetadataItem( const char * pszName,
112  const char * pszValue,
113  const char * pszDomain = "" ) override;
114 
115  OGRLayer* GetBaseLayer() const { return m_poDecoratedLayer; }
116 };
117 
118 #endif /* #ifndef DOXYGEN_SKIP */
119 
120 #endif // OGRLAYERDECORATOR_H_INCLUDED
OGRLayer::GetName
virtual const char * GetName()
Return the layer name.
Definition: ogrlayer.cpp:1728
OGRSpatialReference::SetAxisMappingStrategy
void SetAxisMappingStrategy(OSRAxisMappingStrategy)
Set the data axis to CRS axis mapping strategy.
Definition: ogrspatialreference.cpp:10635
OGRGeometry::UnionCascaded
virtual OGRGeometry * UnionCascaded() const CPL_WARN_UNUSED_RESULT
Compute union using cascading.
Definition: ogrgeometry.cpp:4233
OGR_GFld_SetNullable
void OGR_GFld_SetNullable(OGRGeomFieldDefnH hDefn, int)
Set whether this geometry field can receive null values.
Definition: ogrgeomfielddefn.cpp:645
OGRPolygon::getInteriorRing
virtual OGRLinearRing * getInteriorRing(int)
Fetch reference to indicated internal ring.
Definition: ogrpolygon.cpp:215
OGRLayer::CreateField
virtual OGRErr CreateField(OGRFieldDefn *poField, int bApproxOK=TRUE)
Create a new field on a layer.
Definition: ogrlayer.cpp:665
OGRSimpleCurve::setPoint
void setPoint(int, OGRPoint *)
Set the location of a vertex in line string.
Definition: ogrlinestring.cpp:536
OGRGeometry::Is3D
OGRBoolean Is3D() const
Definition: ogr_geometry.h:363
CPL_LSBWORD32
#define CPL_LSBWORD32(x)
Definition: cpl_port.h:826
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:720
OGRGeomFieldDefn::SetSpatialRef
void SetSpatialRef(OGRSpatialReference *poSRSIn)
Set the spatial reference of this field.
Definition: ogrgeomfielddefn.cpp:489
OGRGeometry::setCoordinateDimension
virtual void setCoordinateDimension(int nDimension)
Set the coordinate dimension.
Definition: ogrgeometry.cpp:1002
wkbTINM
@ wkbTINM
Definition: ogr_core.h:378
OGRCurvePolygon::addRingDirectly
virtual OGRErr addRingDirectly(OGRCurve *)
Add a ring to a polygon.
Definition: ogrcurvepolygon.cpp:419
OGRMultiLineString::toUpperClass
OGRGeometryCollection * toUpperClass()
Definition: ogr_geometry.h:2788
OGRMultiCurve
Definition: ogr_geometry.h:2670
wkbSurfaceM
@ wkbSurfaceM
Definition: ogr_core.h:376
OGRGeometryCollection::addGeometryDirectly
virtual OGRErr addGeometryDirectly(OGRGeometry *)
Add a geometry directly to the container.
Definition: ogrgeometrycollection.cpp:374
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:5583
OGRCreateCoordinateTransformation
OGRCoordinateTransformation * OGRCreateCoordinateTransformation(const OGRSpatialReference *poSource, const OGRSpatialReference *poTarget)
Definition: ogrct.cpp:465
OGRGeometryFactory::forceToLineString
static OGRGeometry * forceToLineString(OGRGeometry *, bool bOnlyInOrder=true)
Convert to line string.
Definition: ogrgeometryfactory.cpp:4047
OGRCurve::CastToLineString
static OGRLineString * CastToLineString(OGRCurve *poCurve)
Cast to linestring.
Definition: ogrcurve.cpp:353
OGRLayer::ReorderFields
virtual OGRErr ReorderFields(int *panMap)
Reorder all the fields of a layer.
Definition: ogrlayer.cpp:733
OGRGeometryCollection::isCompatibleSubType
virtual OGRBoolean isCompatibleSubType(OGRwkbGeometryType) const
Definition: ogrgeometrycollection.cpp:1281
ogr_spatialref.h
OGRSimpleCurve::getX
double getX(int i) const
Get X at vertex.
Definition: ogr_geometry.h:1161
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:719
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:1025
OGRLineString
Definition: ogr_geometry.h:1243
OGRSimpleCurve::setNumPoints
void setNumPoints(int nNewPointCount, int bZeroizeNewContent=TRUE)
Set number of points in geometry.
Definition: ogrlinestring.cpp:435
OGRPolyhedralSurface::getNumGeometries
int getNumGeometries() const
Fetch number of geometries in PolyhedralSurface.
Definition: ogrpolyhedralsurface.cpp:909
OGRGeometry::Contains
virtual OGRBoolean Contains(const OGRGeometry *) const
Test for containment.
Definition: ogrgeometry.cpp:4909
OGR_G_CoordinateDimension
int OGR_G_CoordinateDimension(OGRGeometryH)
Get the dimension of the coordinates in this geometry.
Definition: ogrgeometry.cpp:934
OGRPolygon::stealExteriorRing
OGRLinearRing * stealExteriorRing()
"Steal" reference to external polygon ring.
Definition: ogrpolygon.cpp:190
OGR_L_GetGeomType
OGRwkbGeometryType OGR_L_GetGeomType(OGRLayerH)
Return the layer geometry type.
Definition: ogrlayer.cpp:1770
OGRMultiPolygon
Definition: ogr_geometry.h:2313
OGRSimpleCurve::getPoint
void getPoint(int, OGRPoint *) const
Fetch a point in line string.
Definition: ogrlinestring.cpp:313
GByte
unsigned char GByte
Definition: cpl_port.h:215
OGRLayer::Intersection
OGRErr Intersection(OGRLayer *pLayerMethod, OGRLayer *pLayerResult, char **papszOptions=nullptr, GDALProgressFunc pfnProgress=nullptr, void *pProgressArg=nullptr)
Intersection of two layers.
Definition: ogrlayer.cpp:2062
OGRPolyhedralSurface::CastToMultiPolygon
static OGRMultiPolygon * CastToMultiPolygon(OGRPolyhedralSurface *poPS)
Casts the OGRPolyhedralSurface to an OGRMultiPolygon.
Definition: ogrpolyhedralsurface.cpp:820
OGR_G_Intersection
OGRGeometryH OGR_G_Intersection(OGRGeometryH, OGRGeometryH) CPL_WARN_UNUSED_RESULT
Compute intersection.
Definition: ogrgeometry.cpp:4083
OGR_G_IsMeasured
int OGR_G_IsMeasured(OGRGeometryH)
See whether this geometry is measured.
Definition: ogrgeometry.cpp:976
OGRPolyhedralSurface::addGeometryDirectly
OGRErr addGeometryDirectly(OGRGeometry *poNewGeom)
Add a geometry directly to the container.
Definition: ogrpolyhedralsurface.cpp:877
CPLE_UserInterrupt
#define CPLE_UserInterrupt
Definition: cpl_error.h:115
OGRMultiPoint::toUpperClass
OGRGeometryCollection * toUpperClass()
Definition: ogr_geometry.h:2635
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:2763
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:4079
OGR_G_UnionCascaded
OGRGeometryH OGR_G_UnionCascaded(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Compute union using cascading.
Definition: ogrgeometry.cpp:4284
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:859
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:341
OGR_L_TestCapability
int OGR_L_TestCapability(OGRLayerH, const char *)
Test if this layer supported the named capability.
Definition: ogrlayer.cpp:1067
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:647
OGR_GT_GetCollection
OGRwkbGeometryType OGR_GT_GetCollection(OGRwkbGeometryType eType)
Returns the collection type that can contain the passed geometry type.
Definition: ogrgeometry.cpp:6564
OGRGeometryFactory::TransformWithOptionsCache
Definition: ogr_geometry.h:2880
wkbMultiCurveZM
@ wkbMultiCurveZM
Definition: ogr_core.h:391
VALIDATE_POINTER0
#define VALIDATE_POINTER0(ptr, func)
Definition: cpl_error.h:267
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:320
OGRLayer::DeleteField
virtual OGRErr DeleteField(int iField)
Delete an existing field on a layer.
Definition: ogrlayer.cpp:701
OGRMultiCurve::CastToMultiLineString
static OGRMultiLineString * CastToMultiLineString(OGRMultiCurve *poMC)
Cast to multi line string.
Definition: ogrmulticurve.cpp:212
cpl_error.h
OGRGeometry::closeRings
virtual void closeRings()
Force rings to be closed.
Definition: ogrgeometry.cpp:5045
OGRGeometry::Disjoint
virtual OGRBoolean Disjoint(const OGRGeometry *) const
Test for disjointness.
Definition: ogrgeometry.cpp:4582
OGRCompoundCurve
Definition: ogr_geometry.h:1582
OGRSimpleCurve::getNumPoints
virtual int getNumPoints() const override
Fetch vertex count.
Definition: ogr_geometry.h:1159
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:5735
OGR_G_Is3D
int OGR_G_Is3D(OGRGeometryH)
See whether this geometry has Z coordinates.
Definition: ogrgeometry.cpp:955
OGRGeometryFactory::organizePolygons
static OGRGeometry * organizePolygons(OGRGeometry **papoPolygons, int nPolygonCount, int *pbResultValidGeometry, const char **papszOptions=nullptr)
Organize polygons based on geometries.
Definition: ogrgeometryfactory.cpp:1410
OGRSpatialReference::Release
void Release()
Decrements the reference count by one, and destroy if zero.
Definition: ogrspatialreference.cpp:931
OGRSpatialReference::SetWellKnownGeogCS
OGRErr SetWellKnownGeogCS(const char *)
Set a GeogCS based on well known name.
Definition: ogrspatialreference.cpp:2953
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:1292
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:1529
OGRGeometry::toCurve
OGRCurve * toCurve()
Definition: ogr_geometry.h:538
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:668
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_METHOD_DLL CPLString & Printf(const char *pszFormat,...)
Definition: cplstring.cpp:59
wkbCurvePolygonZ
@ wkbCurvePolygonZ
Definition: ogr_core.h:354
OGRGeometryCollection::CastToGeometryCollection
static OGRGeometryCollection * CastToGeometryCollection(OGRGeometryCollection *poSrc)
Cast to geometry collection.
Definition: ogrgeometrycollection.cpp:1396
sPolyExtended
Definition: ogrgeometryfactory.cpp:1308
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:288
OGR_L_ReorderField
OGRErr OGR_L_ReorderField(OGRLayerH, int iOldFieldPos, int iNewFieldPos)
Reorder an existing field on a layer.
Definition: ogrlayer.cpp:824
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:993
OGRStyleTable
Definition: ogr_featurestyle.h:85
OGR_GT_IsSubClassOf
int OGR_GT_IsSubClassOf(OGRwkbGeometryType eType, OGRwkbGeometryType eSuperType)
Returns if a type is a subclass of another one.
Definition: ogrgeometry.cpp:6500
OGRCurvePolygon::CurvePolyToPoly
virtual OGRPolygon * CurvePolyToPoly(double dfMaxAngleStepSizeDegrees=0, const char *const *papszOptions=nullptr) const
Return a polygon from a curve polygon.
Definition: ogrcurvepolygon.cpp:569
OGRGeometry::set3D
virtual void set3D(OGRBoolean bIs3D)
Add or remove the Z coordinate dimension.
Definition: ogrgeometry.cpp:1025
wkbCompoundCurveZM
@ wkbCompoundCurveZM
Definition: ogr_core.h:389
OGR_G_Boundary
OGRGeometryH OGR_G_Boundary(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Compute boundary.
Definition: ogrgeometry.cpp:3837
wkbMultiSurfaceM
@ wkbMultiSurfaceM
Definition: ogr_core.h:374
OGRMultiPolygon::CastToMultiSurface
static OGRMultiSurface * CastToMultiSurface(OGRMultiPolygon *poMP)
Cast to multisurface.
Definition: ogrmultipolygon.cpp:163
OGRGeometryFactory
Definition: ogr_geometry.h:2819
OGRGeomFieldDefn::IsSame
int IsSame(const OGRGeomFieldDefn *) const
Test if the geometry field definition is identical to the other one.
Definition: ogrgeomfielddefn.cpp:539
OGRGeometryCollection::getNumGeometries
int getNumGeometries() const
Fetch number of geometries in container.
Definition: ogrgeometrycollection.cpp:251
wkbMultiPolygon
@ wkbMultiPolygon
Definition: ogr_core.h:329
OGR_L_SyncToDisk
OGRErr OGR_L_SyncToDisk(OGRLayerH)
Flush pending changes to disk.
Definition: ogrlayer.cpp:1530
OGRLayer::end
FeatureIterator end()
Definition: ogrlayer.cpp:4364
OGRGeometry::getCurveGeometry
virtual OGRGeometry * getCurveGeometry(const char *const *papszOptions=nullptr) const CPL_WARN_UNUSED_RESULT
Return curve version of this geometry.
Definition: ogrgeometry.cpp:3157
CPLCalloc
void * CPLCalloc(size_t, size_t)
Definition: cpl_conv.cpp:138
OGRLayer::FeatureIterator::Private
Definition: ogrlayer.cpp:4275
OGRGeometry::toMultiSurface
OGRMultiSurface * toMultiSurface()
Definition: ogr_geometry.h:748
OGR_G_Simplify
OGRGeometryH OGR_G_Simplify(OGRGeometryH hThis, double tolerance) CPL_WARN_UNUSED_RESULT
Compute a simplified geometry.
Definition: ogrgeometry.cpp:5404
OGR_GT_Flatten
OGRwkbGeometryType OGR_GT_Flatten(OGRwkbGeometryType eType)
Returns the 2D geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:6352
OGR_L_GetFeature
OGRFeatureH OGR_L_GetFeature(OGRLayerH, GIntBig) CPL_WARN_UNUSED_RESULT
Fetch a feature by its identifier.
Definition: ogrlayer.cpp:481
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:4606
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:1218
OGRFeature::ToHandle
static OGRFeatureH ToHandle(OGRFeature *poFeature)
Definition: ogr_feature.h:757
OGRGeometry::FromHandle
static OGRGeometry * FromHandle(OGRGeometryH hGeom)
Definition: ogr_geometry.h:517
OGRLayer::GetSpatialRef
virtual OGRSpatialReference * GetSpatialRef()
Fetch the spatial reference system for this layer.
Definition: ogrlayer.cpp:1037
OGR_L_SetFeature
OGRErr OGR_L_SetFeature(OGRLayerH, OGRFeatureH) CPL_WARN_UNUSED_RESULT
Rewrite an existing feature.
Definition: ogrlayer.cpp:608
OGRGeometry::SymDifference
virtual OGRGeometry * SymDifference(const OGRGeometry *) const CPL_WARN_UNUSED_RESULT
Compute symmetric difference.
Definition: ogrgeometry.cpp:4442
OGRCurvePolygon::getExteriorRingCurve
OGRCurve * getExteriorRingCurve()
Fetch reference to external polygon ring.
Definition: ogrcurvepolygon.cpp:201
wkbNDR
@ wkbNDR
Definition: ogr_core.h:492
OGRFeatureDefn::GetGeomFieldIndex
virtual int GetGeomFieldIndex(const char *) const
Find geometry field by name.
Definition: ogrfeaturedefn.cpp:916
OGRGeometryCollection
Definition: ogr_geometry.h:2097
OGR_L_GetExtent
OGRErr OGR_L_GetExtent(OGRLayerH, OGREnvelope *, int)
Fetch the extent of this layer.
Definition: ogrlayer.cpp:303
OGRGeometry::hasCurveGeometry
virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear=FALSE) const
Returns if this geometry is or has curve geometry.
Definition: ogrgeometry.cpp:3089
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:6754
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:1295
OGRSpatialReference
Definition: ogr_spatialref.h:157
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:805
OGRGeometryCollection::getGeometryRef
OGRGeometry * getGeometryRef(int)
Fetch geometry from container.
Definition: ogrgeometrycollection.cpp:276
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:6669
OGR_G_Equals
int OGR_G_Equals(OGRGeometryH, OGRGeometryH)
Returns TRUE if two geometries are equivalent.
Definition: ogrgeometry.cpp:1192
OGRMergeGeometryTypes
OGRwkbGeometryType OGRMergeGeometryTypes(OGRwkbGeometryType eMain, OGRwkbGeometryType eExtra)
Find common geometry type.
Definition: ogrgeometry.cpp:2645
OGR_G_AssignSpatialReference
void OGR_G_AssignSpatialReference(OGRGeometryH, OGRSpatialReferenceH)
Assign spatial reference to this object.
Definition: ogrgeometry.cpp:454
OGRPolyhedralSurface
Definition: ogr_geometry.h:2398
OGRLayer::GetFeatureCount
virtual GIntBig GetFeatureCount(int bForce=TRUE)
Fetch the feature count in this layer.
Definition: ogrlayer.cpp:173
OGR_G_ExportToGMLEx
char * OGR_G_ExportToGMLEx(OGRGeometryH, char **papszOptions) CPL_WARN_UNUSED_RESULT
Convert a geometry into GML format.
Definition: ogr2gmlgeometry.cpp:1266
OGR_G_SymDifference
OGRGeometryH OGR_G_SymDifference(OGRGeometryH, OGRGeometryH) CPL_WARN_UNUSED_RESULT
Compute symmetric difference.
Definition: ogrgeometry.cpp:4528
wkbPolygon25D
@ wkbPolygon25D
Definition: ogr_core.h:401
OGRLayer::Private
Definition: ogrlayer.cpp:40
wkbPolygonZM
@ wkbPolygonZM
Definition: ogr_core.h:383
OGRGeometry::exportToJson
virtual char * exportToJson() const
Convert a geometry into GeoJSON format.
Definition: ogrgeometry.cpp:2851
OGRSpatialReference::Clone
OGRSpatialReference * Clone() const
Make a duplicate of this OGRSpatialReference.
Definition: ogrspatialreference.cpp:1187
OGR_G_SetCoordinateDimension
void OGR_G_SetCoordinateDimension(OGRGeometryH, int)
Set the coordinate dimension.
Definition: ogrgeometry.cpp:1077
OGRGeometryCollection::getGeometryName
virtual const char * getGeometryName() const override
Fetch WKT name for geometry type.
Definition: ogrgeometrycollection.cpp:232
OGRGeometry::toTriangulatedSurface
OGRTriangulatedSurface * toTriangulatedSurface()
Definition: ogr_geometry.h:776
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:6473
OGR_G_Within
int OGR_G_Within(OGRGeometryH, OGRGeometryH)
Test for containment.
Definition: ogrgeometry.cpp:4874
wkbVariantPostGIS1
@ wkbVariantPostGIS1
Definition: ogr_core.h:427
OGR_G_IsEmpty
int OGR_G_IsEmpty(OGRGeometryH)
Test if the geometry is empty.
Definition: ogrgeometry.cpp:2020
OGR_L_SetSpatialFilterEx
void OGR_L_SetSpatialFilterEx(OGRLayerH, int iGeomField, OGRGeometryH hGeom)
Set a new spatial filter.
Definition: ogrlayer.cpp:1166
OGRLayer::DeleteFeature
virtual OGRErr DeleteFeature(GIntBig nFID) CPL_WARN_UNUSED_RESULT
Delete feature from layer.
Definition: ogrlayer.cpp:1547
OGRLayer::SetStyleTable
virtual void SetStyleTable(OGRStyleTable *poStyleTable)
Set layer style table.
Definition: ogrlayer.cpp:1674
wkbPolygonM
@ wkbPolygonM
Definition: ogr_core.h:365
OGRTriangulatedSurface::CastToPolyhedralSurface
static OGRPolyhedralSurface * CastToPolyhedralSurface(OGRTriangulatedSurface *poTS)
Casts the OGRTriangulatedSurface to an OGRPolyhedralSurface.
Definition: ogrtriangulatedsurface.cpp:255
OGR_G_Union
OGRGeometryH OGR_G_Union(OGRGeometryH, OGRGeometryH) CPL_WARN_UNUSED_RESULT
Compute union.
Definition: ogrgeometry.cpp:4200
OGRGeometry
Definition: ogr_geometry.h:287
OGRSpatialReference::IsSame
int IsSame(const OGRSpatialReference *) const
Do these two spatial references describe the same system ?
Definition: ogrspatialreference.cpp:8157
wkbTriangleM
@ wkbTriangleM
Definition: ogr_core.h:379
OGRMultiPoint
Definition: ogr_geometry.h:2592
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:1597
OGRGeometry::IsValid
virtual OGRBoolean IsValid() const
Test if the geometry is valid.
Definition: ogrgeometry.cpp:2047
OGRFeatureDefn::GetName
virtual const char * GetName() const
Get name of this OGRFeatureDefn.
Definition: ogrfeaturedefn.cpp:249
OGR_GFld_SetSpatialRef
void OGR_GFld_SetSpatialRef(OGRGeomFieldDefnH, OGRSpatialReferenceH hSRS)
Set the spatial reference of this field.
Definition: ogrgeomfielddefn.cpp:517
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:3528
OGRMultiPolygon::exportToWkt
virtual OGRErr exportToWkt(char **, OGRwkbVariant=wkbVariantOldOgc) const override
Convert a geometry into well known text format.
Definition: ogrmultipolygon.cpp:133
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:1297
OGR_G_ExportToJson
char * OGR_G_ExportToJson(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Convert a geometry into GeoJSON format.
Definition: ogrgeojsonwriter.cpp:1412
ograpispy.h
wkbCircularString
@ wkbCircularString
Definition: ogr_core.h:333
OGRSpatialReference::FromHandle
static OGRSpatialReference * FromHandle(OGRSpatialReferenceH hSRS)
Definition: ogr_spatialref.h:663
OGRLayer
Definition: ogrsf_frmts.h:71
CPLString
Convenient string class based on std::string.
Definition: cpl_string.h:330
OGRGeometry::IsSimple
virtual OGRBoolean IsSimple() const
Test if the geometry is simple.
Definition: ogrgeometry.cpp:2154
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:4730
OGRGeometry::importFromWkb
OGRErr importFromWkb(const GByte *, int=-1, OGRwkbVariant=wkbVariantOldOgc)
Assign geometry from well known binary data.
Definition: ogrgeometry.cpp:1368
OGRGeometryCollection::WkbSize
virtual int WkbSize() const override
Returns size of related binary representation.
Definition: ogrgeometrycollection.cpp:452
wkbMultiPolygonZM
@ wkbMultiPolygonZM
Definition: ogr_core.h:386
OGRMultiSurface
Definition: ogr_geometry.h:2234
OGRGeometry::Simplify
virtual OGRGeometry * Simplify(double dTolerance) const CPL_WARN_UNUSED_RESULT
Simplify the geometry.
Definition: ogrgeometry.cpp:5354
OGRPoint
Definition: ogr_geometry.h:811
OGRSpatialReference::ToHandle
static OGRSpatialReferenceH ToHandle(OGRSpatialReference *poSRS)
Definition: ogr_spatialref.h:657
OGRCompoundCurve::stealCurve
OGRCurve * stealCurve(int)
"Steal" reference to curve.
Definition: ogrcompoundcurve.cpp:497
OGRLayer::SymDifference
OGRErr SymDifference(OGRLayer *pLayerMethod, OGRLayer *pLayerResult, char **papszOptions, GDALProgressFunc pfnProgress, void *pProgressArg)
Symmetrical difference of two layers.
Definition: ogrlayer.cpp:2838
wkbCurveM
@ wkbCurveM
Definition: ogr_core.h:375
OGRSpatialReference::Reference
int Reference()
Increments the reference count by one.
Definition: ogrspatialreference.cpp:844
ogr_geometry.h
OGRGeometryFactory::forceToMultiPolygon
static OGRGeometry * forceToMultiPolygon(OGRGeometry *)
Convert to multipolygon.
Definition: ogrgeometryfactory.cpp:815
OGR_L_SetSpatialFilter
void OGR_L_SetSpatialFilter(OGRLayerH, OGRGeometryH)
Set a new spatial filter.
Definition: ogrlayer.cpp:1148
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:3122
OGRSimpleCurve::getY
double getY(int i) const
Get Y at vertex.
Definition: ogr_geometry.h:1162
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:1624
OGRLayer::GetSpatialFilter
virtual OGRGeometry * GetSpatialFilter()
This method returns the current spatial filter for this layer.
Definition: ogrlayer.cpp:1085
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:319
OGRGeometry::IsRing
virtual OGRBoolean IsRing() const
Test if the geometry is a ring.
Definition: ogrgeometry.cpp:2226
wkbPolyhedralSurfaceZM
@ wkbPolyhedralSurfaceZM
Definition: ogr_core.h:395
OGRGeometry::operator=
OGRGeometry & operator=(const OGRGeometry &other)
Assignment operator.
Definition: ogrgeometry.cpp:137
OGRLayer::SetSpatialFilter
virtual void SetSpatialFilter(OGRGeometry *)
Set a new spatial filter.
Definition: ogrlayer.cpp:1113
OGRGeometryFactory::createFromGEOS
static OGRGeometry * createFromGEOS(GEOSContextHandle_t hGEOSCtxt, GEOSGeom)
Definition: ogrgeometryfactory.cpp:2059
OGR_L_CommitTransaction
OGRErr OGR_L_CommitTransaction(OGRLayerH) CPL_WARN_UNUSED_RESULT
For datasources which support transactions, CommitTransaction commits a transaction.
Definition: ogrlayer.cpp:949
OGRGeometryFactory::TransformWithOptionsCache::Private
Definition: ogrgeometryfactory.cpp:3671
CPLAtofM
double CPLAtofM(const char *)
Definition: cpl_strtod.cpp:142
OGRGeometryFactory::forceToPolygon
static OGRGeometry * forceToPolygon(OGRGeometry *)
Convert to polygon.
Definition: ogrgeometryfactory.cpp:674
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:5433
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:3896
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:765
OGRFeatureUniquePtr
std::unique_ptr< OGRFeature, OGRFeatureUniquePtrDeleter > OGRFeatureUniquePtr
Definition: ogr_feature.h:780
OGRFeatureH
void * OGRFeatureH
Definition: ogr_api.h:302
EQUAL
#define EQUAL(a, b)
Definition: cpl_port.h:569
OGRStyleTableH
void * OGRStyleTableH
Definition: ogr_api.h:304
wkbHasZ
#define wkbHasZ(x)
Definition: ogr_core.h:446
OGR_G_MakeValid
OGRGeometryH OGR_G_MakeValid(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Attempts to make an invalid geometry valid without losing vertices.
Definition: ogrgeometry.cpp:3624
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:300
OGRGeometry::Intersection
virtual OGRGeometry * Intersection(const OGRGeometry *) const CPL_WARN_UNUSED_RESULT
Compute intersection.
Definition: ogrgeometry.cpp:4000
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:976
OGRLayer::GetRefCount
int GetRefCount() const
Fetch reference count.
Definition: ogrlayer.cpp:151
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:4119
wkbMultiPointZM
@ wkbMultiPointZM
Definition: ogr_core.h:384
OGRFeatureDefn::GetFieldDefn
virtual OGRFieldDefn * GetFieldDefn(int i)
Fetch field definition.
Definition: ogrfeaturedefn.cpp:330
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:2499
OGRMergeGeometryTypesEx
OGRwkbGeometryType OGRMergeGeometryTypesEx(OGRwkbGeometryType eMain, OGRwkbGeometryType eExtra, int bAllowPromotingToCurves)
Find common geometry type.
Definition: ogrgeometry.cpp:2682
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:866
OGRLayer::StartTransaction
virtual OGRErr StartTransaction() CPL_WARN_UNUSED_RESULT
For datasources which support transactions, StartTransaction creates a transaction.
Definition: ogrlayer.cpp:912
wkbTINZM
@ wkbTINZM
Definition: ogr_core.h:396
OGRLineString::getGeometryName
virtual const char * getGeometryName() const override
Fetch WKT name for geometry type.
Definition: ogrlinestring.cpp:2799
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:4008
OGR_GT_IsSurface
int OGR_GT_IsSurface(OGRwkbGeometryType)
Return if a geometry type is an instance of Surface.
Definition: ogrgeometry.cpp:6732
OGRCoordinateTransformation::Transform
int Transform(int nCount, double *x, double *y, double *z=nullptr, int *pabSuccess=nullptr)
Definition: ogrct.cpp:1414
OGRGeomFieldDefnH
struct OGRGeomFieldDefnHS * OGRGeomFieldDefnH
Definition: ogr_api.h:307
OGRGeometryFactory::transformWithOptions
static OGRGeometry * transformWithOptions(const OGRGeometry *poSrcGeom, OGRCoordinateTransformation *poCT, char **papszOptions, const TransformWithOptionsCache &cache=TransformWithOptionsCache())
Definition: ogrgeometryfactory.cpp:3709
OLCCurveGeometries
#define OLCCurveGeometries
Definition: ogr_core.h:768
wkbFlatten
#define wkbFlatten(x)
Definition: ogr_core.h:440
CPL_SWAP64PTR
#define CPL_SWAP64PTR(x)
Definition: cpl_port.h:761
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:4909
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:1847
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:4250
OGR_L_GetStyleTable
OGRStyleTableH OGR_L_GetStyleTable(OGRLayerH)
Definition: ogrlayer.cpp:1686
OGRLinearRing::isPointOnRingBoundary
OGRBoolean isPointOnRingBoundary(const OGRPoint *pt, int bTestEnvelope=TRUE) const
Definition: ogrlinearring.cpp:673
CPLAssert
#define CPLAssert(expr)
Definition: cpl_error.h:186
OGRGeometryCollection::clone
virtual OGRGeometry * clone() const override
Make a copy of this object.
Definition: ogrgeometrycollection.cpp:151
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:64
OGR_GFld_GetNameRef
const char * OGR_GFld_GetNameRef(OGRGeomFieldDefnH)
Fetch name of this field.
Definition: ogrgeomfielddefn.cpp:241
OGRMultiLineString
Definition: ogr_geometry.h:2749
OGR_GT_SetM
OGRwkbGeometryType OGR_GT_SetM(OGRwkbGeometryType eType)
Returns the measured geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:6446
OGR_L_DeleteField
OGRErr OGR_L_DeleteField(OGRLayerH, int iField)
Delete an existing field on a layer.
Definition: ogrlayer.cpp:716
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:1556
OGRCurvePolygon::exportToWkt
virtual OGRErr exportToWkt(char **ppszDstText, OGRwkbVariant eWkbVariant=wkbVariantOldOgc) const override
Convert a geometry into well known text format.
Definition: ogrcurvepolygon.cpp:539
OGRGeometryCollection::swapXY
virtual void swapXY() override
Swap x and y coordinates.
Definition: ogrgeometrycollection.cpp:1262
OGR_GFld_IsIgnored
int OGR_GFld_IsIgnored(OGRGeomFieldDefnH hDefn)
Return whether this field should be omitted when fetching features.
Definition: ogrgeomfielddefn.cpp:380
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:1473
OGRGeometryCollection::transform
virtual OGRErr transform(OGRCoordinateTransformation *poCT) override
Apply arbitrary coordinate transformation to geometry.
Definition: ogrgeometrycollection.cpp:1056
OGR_G_DestroyGeometry
void OGR_G_DestroyGeometry(OGRGeometryH)
Destroy geometry object.
Definition: ogrgeometryfactory.cpp:648
OGRSpatialReferenceH
void * OGRSpatialReferenceH
Definition: ogr_api.h:74
OGR_G_Disjoint
int OGR_G_Disjoint(OGRGeometryH, OGRGeometryH)
Test for disjointness.
Definition: ogrgeometry.cpp:4621
OGRGeometry::toMultiCurve
OGRMultiCurve * toMultiCurve()
Definition: ogr_geometry.h:734
OGRLayer::RollbackTransaction
virtual OGRErr RollbackTransaction()
For datasources which support transactions, RollbackTransaction will roll back a datasource to its st...
Definition: ogrlayer.cpp:966
OGRPolygon::stealInteriorRing
virtual OGRLinearRing * stealInteriorRing(int)
"Steal" reference to indicated interior ring.
Definition: ogrpolygon.cpp:263
OGRGeometry::exportToGEOS
virtual GEOSGeom exportToGEOS(GEOSContextHandle_t hGEOSCtxt) const CPL_WARN_UNUSED_RESULT
Definition: ogrgeometry.cpp:2959
OGRGeomFieldDefn::GetSpatialRef
virtual OGRSpatialReference * GetSpatialRef() const
Fetch spatial reference system of this field.
Definition: ogrgeomfielddefn.cpp:438
OGR_L_FindFieldIndex
int OGR_L_FindFieldIndex(OGRLayerH, const char *, int bExactMatch)
Find the index of field in a layer.
Definition: ogrlayer.cpp:1011
OGRGeometryCollection::assignSpatialReference
virtual void assignSpatialReference(OGRSpatialReference *poSR) override
Assign spatial reference to this object.
Definition: ogrgeometrycollection.cpp:1237
OGRGeometryCollection::OGRGeometryCollection
OGRGeometryCollection()
Create an empty geometry collection.
OGRGeometryCollection::getCurveGeometry
virtual OGRGeometry * getCurveGeometry(const char *const *papszOptions=nullptr) const override
Return curve version of this geometry.
Definition: ogrgeometrycollection.cpp:1331
OGRPolyhedralSurface::addGeometry
virtual OGRErr addGeometry(const OGRGeometry *)
Add a new geometry to a collection.
Definition: ogrpolyhedralsurface.cpp:841
OGR_L_SymDifference
OGRErr OGR_L_SymDifference(OGRLayerH, OGRLayerH, OGRLayerH, char **, GDALProgressFunc, void *)
Symmetrical difference of two layers.
Definition: ogrlayer.cpp:3098
OGR_GFld_SetName
void OGR_GFld_SetName(OGRGeomFieldDefnH, const char *)
Reset the name of this field.
Definition: ogrgeomfielddefn.cpp:202
OGR_L_GetName
const char * OGR_L_GetName(OGRLayerH)
Return the layer name.
Definition: ogrlayer.cpp:1738
OGRSurface
Definition: ogr_geometry.h:1729
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:447
OGRGeometryCollection::get_Length
virtual double get_Length() const
Compute the length of a multicurve.
Definition: ogrgeometrycollection.cpp:1155
OGRMultiSurface::hasCurveGeometry
virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear=FALSE) const override
Returns if this geometry is or has curve geometry.
Definition: ogrmultisurface.cpp:277
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:1119
OGRwkbByteOrder
OGRwkbByteOrder
Definition: ogr_core.h:490
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:2127
OGRCoordinateTransformationH
void * OGRCoordinateTransformationH
Definition: ogr_api.h:76
OGRGeometry::Boundary
virtual OGRGeometry * Boundary() const CPL_WARN_UNUSED_RESULT
Compute boundary.
Definition: ogrgeometry.cpp:3769
OGR_L_StartTransaction
OGRErr OGR_L_StartTransaction(OGRLayerH) CPL_WARN_UNUSED_RESULT
For datasources which support transactions, StartTransaction creates a transaction.
Definition: ogrlayer.cpp:922
OGRTriangulatedSurface::toUpperClass
OGRPolyhedralSurface * toUpperClass()
Definition: ogr_geometry.h:2560
OGRGeometryFactory::forceToMultiLineString
static OGRGeometry * forceToMultiLineString(OGRGeometry *)
Convert to multilinestring.
Definition: ogrgeometryfactory.cpp:1087
OGRFeatureDefn::GetGeomFieldDefn
virtual OGRGeomFieldDefn * GetGeomFieldDefn(int i)
Fetch geometry field definition.
Definition: ogrfeaturedefn.cpp:681
OGR_L_SetStyleTable
void OGR_L_SetStyleTable(OGRLayerH, OGRStyleTableH)
Definition: ogrlayer.cpp:1713
OGRCircularString
Definition: ogr_geometry.h:1397
OGRCoordinateTransformation::SetEmitErrors
virtual void SetEmitErrors(bool)
Definition: ogr_spatialref.h:703
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:420
OAMS_TRADITIONAL_GIS_ORDER
@ OAMS_TRADITIONAL_GIS_ORDER
Definition: ogr_srs_api.h:653
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:856
OGRGeometryFactory::createGeometry
static OGRGeometry * createGeometry(OGRwkbGeometryType)
Create an empty geometry of desired type.
Definition: ogrgeometryfactory.cpp:528
OGR_G_Transform
OGRErr OGR_G_Transform(OGRGeometryH, OGRCoordinateTransformationH)
Apply arbitrary coordinate transformation to geometry.
Definition: ogrgeometry.cpp:726
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:1800
OGR_G_SimplifyPreserveTopology
OGRGeometryH OGR_G_SimplifyPreserveTopology(OGRGeometryH hThis, double tolerance) CPL_WARN_UNUSED_RESULT
Simplify the geometry while preserving topology.
Definition: ogrgeometry.cpp:5486
OGRFeature::GetGeometryRef
OGRGeometry * GetGeometryRef()
Fetch pointer to feature geometry.
Definition: ogrfeature.cpp:583
OGRGeometry::Intersects
virtual OGRBoolean Intersects(const OGRGeometry *) const
Do these features intersect?
Definition: ogrgeometry.cpp:486
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:599
wkbLineStringM
@ wkbLineStringM
Definition: ogr_core.h:364
CPLJSONObject
The CPLJSONArray class holds JSON object from CPLJSONDocument.
Definition: cpl_json.h:54
OGRSimpleCurve::StartPoint
virtual void StartPoint(OGRPoint *) const override
Return the curve start point.
Definition: ogrlinestring.cpp:1988
OGRFeatureDefn::GetFieldCount
virtual int GetFieldCount() const
Fetch number of fields on this feature.
Definition: ogrfeaturedefn.cpp:286
OGRGeometryCollection::operator=
OGRGeometryCollection & operator=(const OGRGeometryCollection &other)
Assignment operator.
Definition: ogrgeometrycollection.cpp:110
OGR_L_ReorderFields
OGRErr OGR_L_ReorderFields(OGRLayerH, int *panMap)
Reorder all the fields of a layer.
Definition: ogrlayer.cpp:748
OGRCompoundCurve::addCurveDirectly
OGRErr addCurveDirectly(OGRCurve *, double dfToleranceEps=1e-14)
Add a curve directly to the container.
Definition: ogrcompoundcurve.cpp:555
GUIntBig
unsigned long long GUIntBig
Definition: cpl_port.h:251
OGRHasPreparedGeometrySupport
int OGRHasPreparedGeometrySupport()
Definition: ogrgeometry.cpp:5783
OGRGeometry::toPoint
OGRPoint * toPoint()
Definition: ogr_geometry.h:524
VALIDATE_POINTER1
#define VALIDATE_POINTER1(ptr, func, rc)
Definition: cpl_error.h:276
OGR_GFld_GetSpatialRef
OGRSpatialReferenceH OGR_GFld_GetSpatialRef(OGRGeomFieldDefnH)
Fetch spatial reference system of this field.
Definition: ogrgeomfielddefn.cpp:460
OGRLayer::CommitTransaction
virtual OGRErr CommitTransaction() CPL_WARN_UNUSED_RESULT
For datasources which support transactions, CommitTransaction commits a transaction.
Definition: ogrlayer.cpp:939
OGRPolygon::getExteriorRing
OGRLinearRing * getExteriorRing()
Fetch reference to external polygon ring.
Definition: ogrpolygon.cpp:145
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:5520
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:6620
OGRGeometry::toSurface
OGRSurface * toSurface()
Definition: ogr_geometry.h:622
OGRLayer::CreateGeomField
virtual OGRErr CreateGeomField(OGRGeomFieldDefn *poField, int bApproxOK=TRUE)
Create a new geometry field on a layer.
Definition: ogrlayer.cpp:876
OGR_G_GetCoordinateDimension
int OGR_G_GetCoordinateDimension(OGRGeometryH)
Get the dimension of the coordinates in this geometry.
Definition: ogrgeometry.cpp:908
OGR_G_Distance3D
double OGR_G_Distance3D(OGRGeometryH, OGRGeometryH)
Returns the 3D distance between two geometries.
Definition: ogrgeometry.cpp:3393
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:5242
wkbMultiSurface
@ wkbMultiSurface
Definition: ogr_core.h:340
OGRGeometry::Difference
virtual OGRGeometry * Difference(const OGRGeometry *) const CPL_WARN_UNUSED_RESULT
Compute difference.
Definition: ogrgeometry.cpp:4320
OGR_G_Crosses
int OGR_G_Crosses(OGRGeometryH, OGRGeometryH)
Test for crossing.
Definition: ogrgeometry.cpp:4800
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:129
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:1654
OGRGeometry::toPolyhedralSurface
OGRPolyhedralSurface * toPolyhedralSurface()
Definition: ogr_geometry.h:762
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:3448
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:658
OGR_GFld_GetType
OGRwkbGeometryType OGR_GFld_GetType(OGRGeomFieldDefnH)
Fetch geometry type of this field.
Definition: ogrgeomfielddefn.cpp:284
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:4252
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:626
wkbMultiPointM
@ wkbMultiPointM
Definition: ogr_core.h:366
CPLDebug
void CPLDebug(const char *, const char *,...)
Definition: cpl_error.cpp:602
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:3735
OGRGeometry::CoordinateDimension
int CoordinateDimension() const
Get the dimension of the coordinates in this object.
Definition: ogrgeometry.cpp:878
OGRLayer::GetExtent
virtual OGRErr GetExtent(OGREnvelope *psExtent, int bForce=TRUE) CPL_WARN_UNUSED_RESULT
Fetch the extent of this layer.
Definition: ogrlayer.cpp:211
OGRGeometryCollection::segmentize
virtual void segmentize(double dfMaxLength) override
Modify the geometry such it has no segment longer then the given distance.
Definition: ogrgeometrycollection.cpp:1250
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:1238
OGR_L_CreateGeomField
OGRErr OGR_L_CreateGeomField(OGRLayerH hLayer, OGRGeomFieldDefnH hFieldDefn, int bForce)
Create a new geometry field on a layer.
Definition: ogrlayer.cpp:892
OGRFieldDefn
Definition: ogr_feature.h:93
OGRMultiSurface::toUpperClass
OGRGeometryCollection * toUpperClass()
Definition: ogr_geometry.h:2282
ogr_srs_api.h
OGRMultiSurface::CastToMultiPolygon
static OGRMultiPolygon * CastToMultiPolygon(OGRMultiSurface *poMS)
Cast to multipolygon.
Definition: ogrmultisurface.cpp:322
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:834
OGRGeometry::transformTo
OGRErr transformTo(OGRSpatialReference *poSR)
Transform geometry to new spatial reference system.
Definition: ogrgeometry.cpp:610
OGR_G_Empty
void OGR_G_Empty(OGRGeometryH)
Clear geometry information. This restores the geometry to its initial state after construction,...
Definition: ogrgeometry.cpp:1984
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:315
OGR_G_CloseRings
void OGR_G_CloseRings(OGRGeometryH)
Force rings to be closed.
Definition: ogrgeometry.cpp:5061
OGR_L_GetNextFeature
OGRFeatureH OGR_L_GetNextFeature(OGRLayerH) CPL_WARN_UNUSED_RESULT
Fetch the next available feature from this layer.
Definition: ogrlayer.cpp:541
OGR_G_SwapXY
void OGR_G_SwapXY(OGRGeometryH hGeom)
Swap x and y coordinates.
Definition: ogrgeometry.cpp:5751
OGR_GT_IsCurve
int OGR_GT_IsCurve(OGRwkbGeometryType)
Return if a geometry type is an instance of Curve.
Definition: ogrgeometry.cpp:6711
OGRSimpleCurve::addSubLineString
void addSubLineString(const OGRLineString *, int nStartVertex=0, int nEndVertex=-1)
Add a segment of another linestring to this one.
Definition: ogrlinestring.cpp:1428
OGRSimpleCurve::addPoint
void addPoint(const OGRPoint *)
Add a point to a line string.
Definition: ogrlinestring.cpp:793
OGR_G_Distance
double OGR_G_Distance(OGRGeometryH, OGRGeometryH)
Compute distance between two geometries.
Definition: ogrgeometry.cpp:3289
OGR_GFld_SetIgnored
void OGR_GFld_SetIgnored(OGRGeomFieldDefnH hDefn, int)
Set whether this field should be omitted when fetching features.
Definition: ogrgeomfielddefn.cpp:418
OGRGeometry::assignSpatialReference
virtual void assignSpatialReference(OGRSpatialReference *poSR)
Assign spatial reference to this object.
Definition: ogrgeometry.cpp:416
OGRGeometry::exportToKML
virtual char * exportToKML() const
Convert a geometry into KML format.
Definition: ogrgeometry.cpp:2829
OGRLayer::Union
OGRErr Union(OGRLayer *pLayerMethod, OGRLayer *pLayerResult, char **papszOptions=nullptr, GDALProgressFunc pfnProgress=nullptr, void *pProgressArg=nullptr)
Union of two layers.
Definition: ogrlayer.cpp:2408
ogr_feature.h
OGRMultiCurve::toUpperClass
OGRGeometryCollection * toUpperClass()
Definition: ogr_geometry.h:2718
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:1307
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:558
OGR_G_ForceToLineString
OGRGeometryH OGR_G_ForceToLineString(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Convert to line string.
Definition: ogrgeometryfactory.cpp:4214
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:5700
OGRCurvePolygon::CastToPolygon
static OGRPolygon * CastToPolygon(OGRCurvePolygon *poCP)
Convert to polygon.
Definition: ogrcurvepolygon.cpp:830
OGRGeometryCollection::setMeasured
virtual void setMeasured(OGRBoolean bIsMeasured) override
Add or remove the M coordinate dimension.
Definition: ogrgeometrycollection.cpp:1129
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:1767
OGR_G_Set3D
void OGR_G_Set3D(OGRGeometryH, int)
Add or remove the Z coordinate dimension.
Definition: ogrgeometry.cpp:1104
wkbMultiCurveM
@ wkbMultiCurveM
Definition: ogr_core.h:373
OGR_G_Centroid
int OGR_G_Centroid(OGRGeometryH, OGRGeometryH)
Compute the geometry centroid.
Definition: ogrgeometry.cpp:5200
wkbMultiLineString25D
@ wkbMultiLineString25D
Definition: ogr_core.h:403
OGRGeometry::getSpatialReference
OGRSpatialReference * getSpatialReference(void) const
Returns spatial reference system for object.
Definition: ogr_geometry.h:435
OGRGeometryCollection::get_Area
virtual double get_Area() const
Compute area of geometry collection.
Definition: ogrgeometrycollection.cpp:1193
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:381
OGRGeometry::toLineString
OGRLineString * toLineString()
Definition: ogr_geometry.h:566
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:322
OGRPolyhedralSurface::getGeometryRef
OGRGeometry * getGeometryRef(int i)
Fetch geometry from container.
Definition: ogrpolyhedralsurface.cpp:931
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:168
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:977
OGRLayer::Reference
int Reference()
Increment layer reference count.
Definition: ogrlayer.cpp:107
OGR_G_GetSpatialReference
OGRSpatialReferenceH OGR_G_GetSpatialReference(OGRGeometryH)
Returns spatial reference system for geometry.
Definition: ogrgeometry.cpp:1948
OGRGeometry::toSimpleCurve
OGRSimpleCurve * toSimpleCurve()
Definition: ogr_geometry.h:552
CPLErrorReset
void CPLErrorReset(void)
Definition: cpl_error.cpp:729
VSI_CALLOC_VERBOSE
#define VSI_CALLOC_VERBOSE(nCount, nSize)
Definition: cpl_vsi.h:283
OGRLayer::ICreateFeature
virtual OGRErr ICreateFeature(OGRFeature *poFeature) CPL_WARN_UNUSED_RESULT
Create and write a new feature within a layer.
Definition: ogrlayer.cpp:637
OGRGeometryCollection::closeRings
void closeRings() override
Force rings to be closed.
Definition: ogrgeometrycollection.cpp:1089
OGR_G_ConvexHull
OGRGeometryH OGR_G_ConvexHull(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Compute convex hull.
Definition: ogrgeometry.cpp:3737
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:5716
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:3183
OGRTriangle::toUpperClass
OGRPolygon * toUpperClass()
Definition: ogr_geometry.h:2073
OGRGeometryCollection::IsEmpty
virtual OGRBoolean IsEmpty() const override
Returns TRUE (non-zero) if the object has no points.
Definition: ogrgeometrycollection.cpp:1223
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:1583
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:177
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:4402
OGRGeometry::Overlaps
virtual OGRBoolean Overlaps(const OGRGeometry *) const
Test for overlap.
Definition: ogrgeometry.cpp:4984
OGRGeometry::Centroid
virtual OGRErr Centroid(OGRPoint *poPoint) const
Compute the geometry centroid.
Definition: ogrgeometry.cpp:5100
OGRSimpleCurve
Definition: ogr_geometry.h:1036
wkbSurface
@ wkbSurface
Definition: ogr_core.h:342
OGRFromOGCGeomType
OGRwkbGeometryType OGRFromOGCGeomType(const char *pszGeomType)
Definition: ogrgeometry.cpp:2288
OGRFieldDefnH
void * OGRFieldDefnH
Definition: ogr_api.h:298
OGRPreparedGeometry
struct _OGRPreparedGeometry OGRPreparedGeometry
Definition: ogr_geometry.h:2924
OGRLinearRing::isPointInRing
OGRBoolean isPointInRing(const OGRPoint *pt, int bTestEnvelope=TRUE) const
Definition: ogrlinearring.cpp:592
OGRFeatureDefn::GetGeomType
virtual OGRwkbGeometryType GetGeomType() const
Fetch the geometry base type.
Definition: ogrfeaturedefn.cpp:984
OGRLinearRing::isClockwise
virtual int isClockwise() const
Returns TRUE if the ring has clockwise winding (or less than 2 points)
Definition: ogrlinearring.cpp:445
OGRLayer::SetSpatialFilterRect
virtual void SetSpatialFilterRect(double dfMinX, double dfMinY, double dfMaxX, double dfMaxY)
Set a new rectangular spatial filter.
Definition: ogrlayer.cpp:1184
OGRGeometryH
void * OGRGeometryH
Definition: ogr_api.h:60
CPLError
void CPLError(CPLErr eErrClass, CPLErrorNum err_no, const char *fmt,...)
Definition: cpl_error.cpp:308
OGRGeomFieldDefn
Definition: ogr_feature.h:183
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:432
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:3747
OGRCoordinateTransformation::GetSourceCS
virtual OGRSpatialReference * GetSourceCS()=0
OGRFeature::FromHandle
static OGRFeature * FromHandle(OGRFeatureH hFeature)
Definition: ogr_feature.h:763
OGRLayer::FromHandle
static OGRLayer * FromHandle(OGRLayerH hLayer)
Definition: ogrsf_frmts.h:260
wkbLinearRing
@ wkbLinearRing
Definition: ogr_core.h:350
VSIFree
void VSIFree(void *)
Definition: cpl_vsisimple.cpp:827
OGRCompoundCurve::getCurve
OGRCurve * getCurve(int)
Fetch reference to indicated internal ring.
Definition: ogrcompoundcurve.cpp:456
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:1108
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:848
OGRCoordinateTransformation
Definition: ogr_spatialref.h:685
OGRPoint::empty
virtual void empty() override
Clear geometry information. This restores the geometry to its initial state after construction,...
Definition: ogrpoint.cpp:190
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:3820
OGRCoordinateTransformation::FromHandle
static OGRCoordinateTransformation * FromHandle(OGRCoordinateTransformationH hCT)
Definition: ogr_spatialref.h:756
OGRFeatureDefn::GetFieldIndex
virtual int GetFieldIndex(const char *) const
Find field by name.
Definition: ogrfeaturedefn.cpp:1218
OGRSimpleCurve::getZ
double getZ(int i) const
Get Z at vertex.
Definition: ogrlinestring.cpp:381
OGRCurve::get_IsClosed
virtual int get_IsClosed() const
Return TRUE if curve is closed.
Definition: ogrcurve.cpp:95
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:807
OGRGeometry::toLinearRing
OGRLinearRing * toLinearRing()
Definition: ogr_geometry.h:580
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:1637
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:2272
OGRGeometry::toCurvePolygon
OGRCurvePolygon * toCurvePolygon()
Definition: ogr_geometry.h:664
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:216
OGRGeometry::segmentize
virtual void segmentize(double dfMaxLength)
Modify the geometry such it has no segment longer then the given distance.
Definition: ogrgeometry.cpp:784
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:1333
OGRGeometry::freeGEOSContext
static void freeGEOSContext(GEOSContextHandle_t hGEOSCtxt)
Definition: ogrgeometry.cpp:2918
M_PI
#define M_PI
Definition: cpl_port.h:417
OGR_G_GetGeometryType
OGRwkbGeometryType OGR_G_GetGeometryType(OGRGeometryH)
Fetch geometry type.
Definition: ogrgeometry.cpp:1839
GIntBig
long long GIntBig
Definition: cpl_port.h:248
OGRGeometry::toPolygon
OGRPolygon * toPolygon()
Definition: ogr_geometry.h:636
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:6377
OGR_G_Clone
OGRGeometryH OGR_G_Clone(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Make a copy of this object.
Definition: ogrgeometry.cpp:1911
OGRGeometry::toGeometryCollection
OGRGeometryCollection * toGeometryCollection()
Definition: ogr_geometry.h:678
OGR_L_SetNextByIndex
OGRErr OGR_L_SetNextByIndex(OGRLayerH, GIntBig)
Move read cursor to the nIndex'th feature in the current resultset.
Definition: ogrlayer.cpp:524
OGRCurvePolygon::getNumInteriorRings
int getNumInteriorRings() const
Fetch the number of internal rings.
Definition: ogrcurvepolygon.cpp:238
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:4649
VSI_MALLOC_VERBOSE
#define VSI_MALLOC_VERBOSE(size)
Definition: cpl_vsi.h:268
OGRSimpleCurve::EndPoint
virtual void EndPoint(OGRPoint *) const override
Return the curve end point.
Definition: ogrlinestring.cpp:1998
OGRwkbGeometryType
OGRwkbGeometryType
Definition: ogr_core.h:318
OGRCoordinateTransformation::GetEmitErrors
virtual bool GetEmitErrors() const
Definition: ogr_spatialref.h:700
OGR_G_ExportToWkb
OGRErr OGR_G_ExportToWkb(OGRGeometryH, OGRwkbByteOrder, unsigned char *)
Convert a geometry well known binary format.
Definition: ogrgeometry.cpp:1491
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:2171
CPL_UNUSED
#define CPL_UNUSED
Definition: cpl_port.h:948
OGR_GT_HasM
int OGR_GT_HasM(OGRwkbGeometryType eType)
Return if the geometry type is a measured type.
Definition: ogrgeometry.cpp:6401
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:194
OGRTriangle
Definition: ogr_geometry.h:2037
OGRGeometryTypeToName
const char * OGRGeometryTypeToName(OGRwkbGeometryType eType)
Fetch a human readable name corresponding to an OGRwkbGeometryType value. The returned value should n...
Definition: ogrgeometry.cpp:2422
OGRFeature
Definition: ogr_feature.h:355
OGR_L_SetAttributeFilter
OGRErr OGR_L_SetAttributeFilter(OGRLayerH, const char *)
Set a new attribute query.
Definition: ogrlayer.cpp:430
cpl_port.h
OGRPoint::setY
void setY(double yIn)
Assign point Y coordinate.
Definition: ogr_geometry.h:870
OGRStyleTable::Clone
OGRStyleTable * Clone()
Duplicate style table.
Definition: ogrfeaturestyle.cpp:1208
OGRGeometryFactory::createFromGML
static OGRGeometry * createFromGML(const char *)
Create geometry from GML.
Definition: ogrgeometryfactory.cpp:2039
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:1055
OGRGeometry::Polygonize
virtual OGRGeometry * Polygonize() const CPL_WARN_UNUSED_RESULT
Polygonizes a set of sparse edges.
Definition: ogrgeometry.cpp:5625
EQUALN
#define EQUALN(a, b, n)
Definition: cpl_port.h:567
ogr_api.h
CPLJSONDocument
The CPLJSONDocument class Wrapper class around json-c library.
Definition: cpl_json.h:189
OGR_L_SetStyleTableDirectly
void OGR_L_SetStyleTableDirectly(OGRLayerH, OGRStyleTableH)
Definition: ogrlayer.cpp:1699
wkbTriangleZM
@ wkbTriangleZM
Definition: ogr_core.h:397
OGRPoint::getZ
double getZ() const
Fetch Z coordinate.
Definition: ogr_geometry.h:857
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:874
wkbXDR
@ wkbXDR
Definition: ogr_core.h:491
OGRCurvePolygon::addRing
virtual OGRErr addRing(OGRCurve *)
Add a ring to a polygon.
Definition: ogrcurvepolygon.cpp:362
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:4948
OGRGeometry::WkbSize
virtual int WkbSize() const =0
Returns size of related binary representation.
OGRGeometry::IsMeasured
OGRBoolean IsMeasured() const
Definition: ogr_geometry.h:365
OGR_G_Touches
int OGR_G_Touches(OGRGeometryH, OGRGeometryH)
Test for touching.
Definition: ogrgeometry.cpp:4695
OGR_G_GetGeometryName
const char * OGR_G_GetGeometryName(OGRGeometryH)
Fetch WKT name for geometry type.
Definition: ogrgeometry.cpp:1875
OGRPreparedGeometryUniquePtr
std::unique_ptr< OGRPreparedGeometry, OGRPreparedGeometryUniquePtrDeleter > OGRPreparedGeometryUniquePtr
Definition: ogr_geometry.h:2943
OGRMultiCurve::hasCurveGeometry
virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear=FALSE) const override
Returns if this geometry is or has curve geometry.
Definition: ogrmulticurve.cpp:186
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:497
OGRCurve
Definition: ogr_geometry.h:927
OGRCurvePolygon::assignSpatialReference
virtual void assignSpatialReference(OGRSpatialReference *poSR) override
Assign spatial reference to this object.
Definition: ogrcurvepolygon.cpp:708
OGRGeometry::MakeValid
virtual OGRGeometry * MakeValid() const
Attempts to make an invalid geometry valid without losing vertices.
Definition: ogrgeometry.cpp:3536
OGRLayer::begin
FeatureIterator begin()
Definition: ogrlayer.cpp:4355
OGRPoint::getY
double getY() const
Fetch Y coordinate.
Definition: ogr_geometry.h:855
OGRFeatureDefn::SetGeometryIgnored
virtual void SetGeometryIgnored(int bIgnore)
Set whether the geometry can be omitted when fetching features.
Definition: ogrfeaturedefn.cpp:1358
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:333
OGRGeometryFactory::createFromGeoJson
static OGRGeometry * createFromGeoJson(const char *)
Create geometry from GeoJson fragment.
Definition: ogrgeometryfactory.cpp:5798
OGRGeometryCollection::empty
virtual void empty() override
Clear geometry information. This restores the geometry to its initial state after construction,...
Definition: ogrgeometrycollection.cpp:131
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:632
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:605
CPLErr
CPLErr
Definition: cpl_error.h:53
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:1018
OGR_G_Overlaps
int OGR_G_Overlaps(OGRGeometryH, OGRGeometryH)
Test for overlap.
Definition: ogrgeometry.cpp:5024
OGR_G_ForceToMultiPolygon
OGRGeometryH OGR_G_ForceToMultiPolygon(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Convert to multipolygon.
Definition: ogrgeometryfactory.cpp:963
OGRLayer::SetNextByIndex
virtual OGRErr SetNextByIndex(GIntBig nIndex)
Move read cursor to the nIndex'th feature in the current resultset.
Definition: ogrlayer.cpp:499
OGRGeometryCollection::getDimension
virtual int getDimension() const override
Get the dimension of this object.
Definition: ogrgeometrycollection.cpp:193
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:1131
OGRLayer::SetIgnoredFields
virtual OGRErr SetIgnoredFields(const char **papszFields)
Set which fields can be omitted when retrieving features from the layer.
Definition: ogrlayer.cpp:1792
GBool
int GBool
Definition: cpl_port.h:223
wkbMultiPolygonM
@ wkbMultiPolygonM
Definition: ogr_core.h:368
OGRGeometryFactory::haveGEOS
static bool haveGEOS()
Test if GEOS enabled.
Definition: ogrgeometryfactory.cpp:2134
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:4006
OGRMultiPolygon::toUpperClass
OGRGeometryCollection * toUpperClass()
Definition: ogr_geometry.h:2365
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:3963
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:1607
OGRGeometryCollection::importFromWkb
virtual OGRErr importFromWkb(const unsigned char *, int, OGRwkbVariant, int &nBytesConsumedOut) override
Assign geometry from well known binary data.
Definition: ogrgeometrycollection.cpp:590
OGRLinearRing
Definition: ogr_geometry.h:1315
wkbGeometryCollectionZM
@ wkbGeometryCollectionZM
Definition: ogr_core.h:387
OGRGeometryUniquePtr
std::unique_ptr< OGRGeometry, OGRGeometryUniquePtrDeleter > OGRGeometryUniquePtr
Definition: ogr_geometry.h:798
OGR_L_GetSpatialRef
OGRSpatialReferenceH OGR_L_GetSpatialRef(OGRLayerH)
Fetch the spatial reference system for this layer.
Definition: ogrlayer.cpp:1049
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:627
OGRFeatureDefn
Definition: ogr_feature.h:260
OGRLayer::GetGeomType
virtual OGRwkbGeometryType GetGeomType()
Return the layer geometry type.
Definition: ogrlayer.cpp:1755
wkbMultiSurfaceZ
@ wkbMultiSurfaceZ
Definition: ogr_core.h:356
CPLGetLastErrorType
CPLErr CPLGetLastErrorType(void)
Definition: cpl_error.cpp:842
OGRCurve::CastToLinearRing
static OGRLinearRing * CastToLinearRing(OGRCurve *poCurve)
Cast to linear ring.
Definition: ogrcurve.cpp:375
OGR_L_GetSpatialFilter
OGRGeometryH OGR_L_GetSpatialFilter(OGRLayerH)
This function returns the current spatial filter for this layer.
Definition: ogrlayer.cpp:1095
OGR_GFld_Destroy
void OGR_GFld_Destroy(OGRGeomFieldDefnH)
Destroy a geometry field definition.
Definition: ogrgeomfielddefn.cpp:155
OGRLayer::ISetFeature
virtual OGRErr ISetFeature(OGRFeature *poFeature) CPL_WARN_UNUSED_RESULT
Rewrite an existing feature.
Definition: ogrlayer.cpp:598
OGRGeometryFactory::forceToMultiPoint
static OGRGeometry * forceToMultiPoint(OGRGeometry *)
Convert to multipoint.
Definition: ogrgeometryfactory.cpp:986
OGRGetNonLinearGeometriesEnabledFlag
int OGRGetNonLinearGeometriesEnabledFlag(void)
Get flag to enable/disable returning non-linear geometries in the C API.
Definition: ogr_api.cpp:1851
CPLE_IllegalArg
#define CPLE_IllegalArg
Definition: cpl_error.h:107
OGRToOGCGeomType
const char * OGRToOGCGeomType(OGRwkbGeometryType eGeomType)
Definition: ogrgeometry.cpp:2361
OGRRawPoint::y
double y
Definition: ogr_geometry.h:75
CPLBinaryToHex
char * CPLBinaryToHex(int nBytes, const GByte *pabyData)
Definition: cpl_string.cpp:2475
wkbTriangle
@ wkbTriangle
Definition: ogr_core.h:347
OGRLayer::SetAttributeFilter
virtual OGRErr SetAttributeFilter(const char *)
Set a new attribute query.
Definition: ogrlayer.cpp:338
wkbLineString
@ wkbLineString
Definition: ogr_core.h:322
OGR_G_GetDimension
int OGR_G_GetDimension(OGRGeometryH)
Get the dimension of this geometry.
Definition: ogrgeometry.cpp:838
OGRGeometry::Distance
virtual double Distance(const OGRGeometry *) const
Compute distance between two geometries.
Definition: ogrgeometry.cpp:3185
CPLJSONObject::IsValid
bool IsValid() const
Definition: cpl_json.cpp:1111
OGRFeature::GetGeomFieldRef
OGRGeometry * GetGeomFieldRef(int iField)
Fetch pointer to feature geometry.
Definition: ogrfeature.cpp:666
OGRPolygon
Definition: ogr_geometry.h:1914
OGRTriangulatedSurface
Definition: ogr_geometry.h:2517
OGRGeometry::ConvexHull
virtual OGRGeometry * ConvexHull() const CPL_WARN_UNUSED_RESULT
Compute convex hull.
Definition: ogrgeometry.cpp:3654
wkbMultiLineString
@ wkbMultiLineString
Definition: ogr_core.h:328
OGRCurvePolygon
Definition: ogr_geometry.h:1764
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:1663
OGRCurvePolygon::getInteriorRingCurve
OGRCurve * getInteriorRingCurve(int)
Fetch reference to indicated internal ring.
Definition: ogrcurvepolygon.cpp:266
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:1077
OGRGeometry::exportToGML
virtual char * exportToGML(const char *const *papszOptions=nullptr) const
Convert a geometry into GML format.
Definition: ogrgeometry.cpp:2806
OGRMultiLineString::CastToMultiCurve
static OGRMultiCurve * CastToMultiCurve(OGRMultiLineString *poMLS)
Cast to multicurve.
Definition: ogrmultilinestring.cpp:166
OGRGeometryCollection::addGeometry
virtual OGRErr addGeometry(const OGRGeometry *)
Add a geometry to the container.
Definition: ogrgeometrycollection.cpp:334
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:324
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:841
OGRGeometryCollection::exportToWkb
virtual OGRErr exportToWkb(OGRwkbByteOrder, unsigned char *, OGRwkbVariant=wkbVariantOldOgc) const override
Convert a geometry into well known binary format.
Definition: ogrgeometrycollection.cpp:606
OGR_L_Union
OGRErr OGR_L_Union(OGRLayerH, OGRLayerH, OGRLayerH, char **, GDALProgressFunc, void *)
Union of two layers.
Definition: ogrlayer.cpp:2758
OGRSimpleCurve::clone
virtual OGRGeometry * clone() const override
Make a copy of this object.
Definition: ogrlinestring.cpp:141
OGRGeometry::Touches
virtual OGRBoolean Touches(const OGRGeometry *) const
Test for touching.
Definition: ogrgeometry.cpp:4656
OGRLayerH
void * OGRLayerH
Definition: ogr_api.h:509
OGR_GFld_Create
OGRGeomFieldDefnH OGR_GFld_Create(const char *, OGRwkbGeometryType) CPL_WARN_UNUSED_RESULT
Create a new field geometry definition.
Definition: ogrgeomfielddefn.cpp:109
OGR_L_Intersection
OGRErr OGR_L_Intersection(OGRLayerH, OGRLayerH, OGRLayerH, char **, GDALProgressFunc, void *)
Intersection of two layers.
Definition: ogrlayer.cpp:2321
OGRGeometry::toMultiLineString
OGRMultiLineString * toMultiLineString()
Definition: ogr_geometry.h:706
GUInt16
unsigned short GUInt16
Definition: cpl_port.h:213
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:587
OGR_GT_SetZ
OGRwkbGeometryType OGR_GT_SetZ(OGRwkbGeometryType eType)
Returns the 3D geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:6423
OGRLayer::SyncToDisk
virtual OGRErr SyncToDisk()
Flush pending changes to disk.
Definition: ogrlayer.cpp:1520
OGRSpatialReference::IsGeographic
int IsGeographic() const
Check if geographic coordinate system.
Definition: ogrspatialreference.cpp:7760
CPLFree
#define CPLFree
Definition: cpl_conv.h:81
OGRGeometry::Within
virtual OGRBoolean Within(const OGRGeometry *) const
Test for containment.
Definition: ogrgeometry.cpp:4835
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:3904
wkbUnknown
@ wkbUnknown
Definition: ogr_core.h:319
OGRSimpleCurve::reversePoints
void reversePoints(void)
Reverse point order.
Definition: ogrlinestring.cpp:1392
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:1426
OGRGeometryCollection::getGeometryType
virtual OGRwkbGeometryType getGeometryType() const override
Fetch geometry type.
Definition: ogrgeometrycollection.cpp:176
GInt32
int GInt32
Definition: cpl_port.h:205
OGRGeometry::setMeasured
virtual void setMeasured(OGRBoolean bIsMeasured)
Add or remove the M coordinate dimension.
Definition: ogrgeometry.cpp:1048
OGRPolygon::toUpperClass
OGRCurvePolygon * toUpperClass()
Definition: ogr_geometry.h:2004
OGRGeomFieldDefn::OGRGeomFieldDefn
OGRGeomFieldDefn(const char *pszNameIn, OGRwkbGeometryType eGeomTypeIn)
Constructor.
Definition: ogrgeomfielddefn.cpp:58
CPL_DISALLOW_COPY_ASSIGN
#define CPL_DISALLOW_COPY_ASSIGN(ClassName)
Definition: cpl_port.h:997
OGRLayer::FindFieldIndex
virtual int FindFieldIndex(const char *pszFieldName, int bExactMatch)
Find the index of field in the layer.
Definition: ogrlayer.cpp:1028
OGRPoint::Equals
virtual OGRBoolean Equals(const OGRGeometry *) const override
Returns TRUE if two geometries are equivalent.
Definition: ogrpoint.cpp:707
CPLHexToBinary
GByte * CPLHexToBinary(const char *pszHex, int *pnBytes)
Definition: cpl_string.cpp:2533
OGRDefaultConstGeometryVisitor::visit
void visit(const OGRPoint *) override
Definition: ogr_geometry.h:244
OGRwkbVariant
OGRwkbVariant
Definition: ogr_core.h:424
OGRCurvePolygon::stealExteriorRingCurve
OGRCurve * stealExteriorRingCurve()
"Steal" reference to external ring.
Definition: ogrcurvepolygon.cpp:307
OGRLinearRing::toUpperClass
OGRLineString * toUpperClass()
Definition: ogr_geometry.h:1360
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:608
OGRPoint::getX
double getX() const
Fetch X coordinate.
Definition: ogr_geometry.h:853
CPLGetConfigOption
const char * CPLGetConfigOption(const char *, const char *)
Definition: cpl_conv.cpp:1692
OGR_L_CreateField
OGRErr OGR_L_CreateField(OGRLayerH, OGRFieldDefnH, int)
Create a new field on a layer.
Definition: ogrlayer.cpp:681
OGRGeometry::getIsoGeometryType
OGRwkbGeometryType getIsoGeometryType() const
Get the geometry type that conforms with ISO SQL/MM Part3.
Definition: ogrgeometry.cpp:756
OGR_G_ForceToPolygon
OGRGeometryH OGR_G_ForceToPolygon(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Convert to polygon.
Definition: ogrgeometryfactory.cpp:793
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:2199
OLCMeasuredGeometries
#define OLCMeasuredGeometries
Definition: ogr_core.h:769
OGRGeometry::ToHandle
static OGRGeometryH ToHandle(OGRGeometry *poGeom)
Definition: ogr_geometry.h:511
OGRGeometry::createGEOSContext
static GEOSContextHandle_t createGEOSContext()
Definition: ogrgeometry.cpp:2900
OGR_G_WkbSize
int OGR_G_WkbSize(OGRGeometryH hGeom)
Returns size of related binary representation.
Definition: ogrgeometry.cpp:1265
OGRGeometryCollection::importFromWkt
virtual OGRErr importFromWkt(const char **ppszInput)=0
Assign geometry from well known text data.
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:464
STARTS_WITH_CI
#define STARTS_WITH_CI(a, b)
Definition: cpl_port.h:580
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:3319
GUInt32
unsigned int GUInt32
Definition: cpl_port.h:207
OGR_G_TransformTo
OGRErr OGR_G_TransformTo(OGRGeometryH, OGRSpatialReferenceH)
Transform geometry to new spatial reference system.
Definition: ogrgeometry.cpp:667

Generated for GDAL by doxygen 1.8.20.