OGR
ogrlayerdecorator.h
1 /******************************************************************************
2  * $Id: ogrlayerdecorator.h 36501 2016-11-25 14:09:24Z rouault $
3  *
4  * Project: OpenGIS Simple Features Reference Implementation
5  * Purpose: Defines OGRLayerDecorator class
6  * Author: Even Rouault, even dot rouault at mines dash paris dot org
7  *
8  ******************************************************************************
9  * Copyright (c) 2012-2013, Even Rouault <even dot rouault at mines-paris dot org>
10  *
11  * Permission is hereby granted, free of charge, to any person obtaining a
12  * copy of this software and associated documentation files (the "Software"),
13  * to deal in the Software without restriction, including without limitation
14  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
15  * and/or sell copies of the Software, and to permit persons to whom the
16  * Software is furnished to do so, subject to the following conditions:
17  *
18  * The above copyright notice and this permission notice shall be included
19  * in all copies or substantial portions of the Software.
20  *
21  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
22  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
24  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
26  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
27  * DEALINGS IN THE SOFTWARE.
28  ****************************************************************************/
29 
30 #ifndef OGRLAYERDECORATOR_H_INCLUDED
31 #define OGRLAYERDECORATOR_H_INCLUDED
32 
33 #ifndef DOXYGEN_SKIP
34 
35 #include "ogrsf_frmts.h"
36 
37 class CPL_DLL OGRLayerDecorator : public OGRLayer
38 {
39  protected:
40  OGRLayer *m_poDecoratedLayer;
41  int m_bHasOwnership;
42 
43  public:
44 
45  OGRLayerDecorator(OGRLayer* poDecoratedLayer,
46  int bTakeOwnership);
47  virtual ~OGRLayerDecorator();
48 
49  virtual OGRGeometry *GetSpatialFilter() override;
50  virtual void SetSpatialFilter( OGRGeometry * ) override;
51  virtual void SetSpatialFilterRect( double dfMinX, double dfMinY,
52  double dfMaxX, double dfMaxY ) override;
53  virtual void SetSpatialFilter( int iGeomField, OGRGeometry * ) override;
54  virtual void SetSpatialFilterRect( int iGeomField, double dfMinX, double dfMinY,
55  double dfMaxX, double dfMaxY ) override;
56 
57  virtual OGRErr SetAttributeFilter( const char * ) override;
58 
59  virtual void ResetReading() override;
60  virtual OGRFeature *GetNextFeature() override;
61  virtual OGRErr SetNextByIndex( GIntBig nIndex ) override;
62  virtual OGRFeature *GetFeature( GIntBig nFID ) override;
63  virtual OGRErr ISetFeature( OGRFeature *poFeature ) override;
64  virtual OGRErr ICreateFeature( OGRFeature *poFeature ) override;
65  virtual OGRErr DeleteFeature( GIntBig nFID ) override;
66 
67  virtual const char *GetName() override;
68  virtual OGRwkbGeometryType GetGeomType() override;
69  virtual OGRFeatureDefn *GetLayerDefn() override;
70 
71  virtual OGRSpatialReference *GetSpatialRef() override;
72 
73  virtual GIntBig GetFeatureCount( int bForce = TRUE ) override;
74  virtual OGRErr GetExtent(int iGeomField, OGREnvelope *psExtent, int bForce = TRUE) override;
75  virtual OGRErr GetExtent(OGREnvelope *psExtent, int bForce = TRUE) override;
76 
77  virtual int TestCapability( const char * ) override;
78 
79  virtual OGRErr CreateField( OGRFieldDefn *poField,
80  int bApproxOK = TRUE ) override;
81  virtual OGRErr DeleteField( int iField ) override;
82  virtual OGRErr ReorderFields( int* panMap ) override;
83  virtual OGRErr AlterFieldDefn( int iField, OGRFieldDefn* poNewFieldDefn, int nFlags ) override;
84 
85  virtual OGRErr CreateGeomField( OGRGeomFieldDefn *poField,
86  int bApproxOK = TRUE ) override;
87 
88  virtual OGRErr SyncToDisk() override;
89 
90  virtual OGRStyleTable *GetStyleTable() override;
91  virtual void SetStyleTableDirectly( OGRStyleTable *poStyleTable ) override;
92 
93  virtual void SetStyleTable(OGRStyleTable *poStyleTable) override;
94 
95  virtual OGRErr StartTransaction() override;
96  virtual OGRErr CommitTransaction() override;
97  virtual OGRErr RollbackTransaction() override;
98 
99  virtual const char *GetFIDColumn() override;
100  virtual const char *GetGeometryColumn() override;
101 
102  virtual OGRErr SetIgnoredFields( const char **papszFields ) override;
103 
104  virtual char **GetMetadata( const char * pszDomain = "" ) override;
105  virtual CPLErr SetMetadata( char ** papszMetadata,
106  const char * pszDomain = "" ) override;
107  virtual const char *GetMetadataItem( const char * pszName,
108  const char * pszDomain = "" ) override;
109  virtual CPLErr SetMetadataItem( const char * pszName,
110  const char * pszValue,
111  const char * pszDomain = "" ) override;
112 
113  OGRLayer* GetBaseLayer() { return m_poDecoratedLayer; }
114 };
115 
116 #endif /* #ifndef DOXYGEN_SKIP */
117 
118 #endif // OGRLAYERDECORATOR_H_INCLUDED
OGRLayer::GetName
virtual const char * GetName()
Return the layer name.
Definition: ogrlayer.cpp:1716
OGRFeatureDefn::GetName
virtual const char * GetName()
Get name of this OGRFeatureDefn.
Definition: ogrfeaturedefn.cpp:233
OGRGeometry::UnionCascaded
virtual OGRGeometry * UnionCascaded() const CPL_WARN_UNUSED_RESULT
Compute union using cascading.
Definition: ogrgeometry.cpp:4048
OGR_GFld_SetNullable
void OGR_GFld_SetNullable(OGRGeomFieldDefnH hDefn, int)
Set whether this geometry field can receive null values.
Definition: ogrgeomfielddefn.cpp:642
OGRPolygon::getInteriorRing
virtual OGRLinearRing * getInteriorRing(int)
Fetch reference to indicated internal ring.
Definition: ogrpolygon.cpp:217
OGRLayer::CreateField
virtual OGRErr CreateField(OGRFieldDefn *poField, int bApproxOK=TRUE)
Create a new field on a layer.
Definition: ogrlayer.cpp:662
OGRSimpleCurve::setPoint
void setPoint(int, OGRPoint *)
Set the location of a vertex in line string.
Definition: ogrlinestring.cpp:506
OGRGeometry::Is3D
OGRBoolean Is3D() const
Definition: ogr_geometry.h:185
CPL_LSBWORD32
#define CPL_LSBWORD32(x)
Definition: cpl_port.h:879
OGRGeometry::IsEmpty
virtual OGRBoolean IsEmpty() const =0
Returns TRUE (non-zero) if the object has no points.
OGRGeomFieldDefn::SetSpatialRef
void SetSpatialRef(OGRSpatialReference *poSRSIn)
Set the spatial reference of this field.
Definition: ogrgeomfielddefn.cpp:486
OGRGeometryCollection::empty
virtual void empty() CPL_OVERRIDE
Clear geometry information. This restores the geometry to it's initial state after construction,...
Definition: ogrgeometrycollection.cpp:131
OGRGeometry::setCoordinateDimension
virtual void setCoordinateDimension(int nDimension)
Set the coordinate dimension.
Definition: ogrgeometry.cpp:1022
wkbTINM
@ wkbTINM
Definition: ogr_core.h:373
OGRCurvePolygon::addRingDirectly
virtual OGRErr addRingDirectly(OGRCurve *)
Add a ring to a polygon.
Definition: ogrcurvepolygon.cpp:397
OGRMultiCurve
Definition: ogr_geometry.h:1650
wkbSurfaceM
@ wkbSurfaceM
Definition: ogr_core.h:371
OGRGeometryCollection::addGeometryDirectly
virtual OGRErr addGeometryDirectly(OGRGeometry *)
Add a geometry directly to the container.
Definition: ogrgeometrycollection.cpp:373
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:5543
OGRGeometryFactory::forceToLineString
static OGRGeometry * forceToLineString(OGRGeometry *, bool bOnlyInOrder=true)
Convert to line string.
Definition: ogrgeometryfactory.cpp:3892
OGRCurve::CastToLineString
static OGRLineString * CastToLineString(OGRCurve *poCurve)
Cast to linestring.
Definition: ogrcurve.cpp:355
OGRLayer::ReorderFields
virtual OGRErr ReorderFields(int *panMap)
Reorder all the fields of a layer.
Definition: ogrlayer.cpp:730
OGRGeometryCollection::isCompatibleSubType
virtual OGRBoolean isCompatibleSubType(OGRwkbGeometryType) const
Definition: ogrgeometrycollection.cpp:1288
ogr_spatialref.h
OGRSimpleCurve::getX
double getX(int i) const
Get X at vertex.
Definition: ogr_geometry.h:554
wkbPointZM
@ wkbPointZM
Definition: ogr_core.h:376
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:772
wkbCurvePolygonZM
@ wkbCurvePolygonZM
Definition: ogr_core.h:385
OGRLineString
Definition: ogr_geometry.h:623
OGRSimpleCurve::setNumPoints
void setNumPoints(int nNewPointCount, int bZeroizeNewContent=TRUE)
Set number of points in geometry.
Definition: ogrlinestring.cpp:422
OGRPolyhedralSurface::getNumGeometries
int getNumGeometries() const
Fetch number of geometries in PolyhedralSurface.
Definition: ogrpolyhedralsurface.cpp:914
OGRGeometry::Contains
virtual OGRBoolean Contains(const OGRGeometry *) const
Test for containment.
Definition: ogrgeometry.cpp:4812
OGR_G_CoordinateDimension
int OGR_G_CoordinateDimension(OGRGeometryH)
Get the dimension of the coordinates in this geometry.
Definition: ogrgeometry.cpp:954
OGRPolygon::stealExteriorRing
OGRLinearRing * stealExteriorRing()
"Steal" reference to external polygon ring.
Definition: ogrpolygon.cpp:192
OGR_L_GetGeomType
OGRwkbGeometryType OGR_L_GetGeomType(OGRLayerH)
Return the layer geometry type.
Definition: ogrlayer.cpp:1758
OGRMultiPolygon
Definition: ogr_geometry.h:1435
_sPolyExtended
Definition: ogrgeometryfactory.cpp:1244
OGRSimpleCurve::getPoint
void getPoint(int, OGRPoint *) const
Fetch a point in line string.
Definition: ogrlinestring.cpp:300
GByte
unsigned char GByte
Definition: cpl_port.h:207
OGRPolyhedralSurface::CastToMultiPolygon
static OGRMultiPolygon * CastToMultiPolygon(OGRPolyhedralSurface *poPS)
Casts the OGRPolyhedralSurface to an OGRMultiPolygon.
Definition: ogrpolyhedralsurface.cpp:815
OGR_G_Intersection
OGRGeometryH OGR_G_Intersection(OGRGeometryH, OGRGeometryH) CPL_WARN_UNUSED_RESULT
Compute intersection.
Definition: ogrgeometry.cpp:3877
OGR_G_IsMeasured
int OGR_G_IsMeasured(OGRGeometryH)
See whether this geometry is measured.
Definition: ogrgeometry.cpp:996
OGRPolyhedralSurface::addGeometryDirectly
OGRErr addGeometryDirectly(OGRGeometry *poNewGeom)
Add a geometry directly to the container.
Definition: ogrpolyhedralsurface.cpp:872
CPLE_UserInterrupt
#define CPLE_UserInterrupt
Definition: cpl_error.h:116
OGRGeometryCollection::getGeometryName
virtual const char * getGeometryName() const CPL_OVERRIDE
Fetch WKT name for geometry type.
Definition: ogrgeometrycollection.cpp:231
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:2732
OGR_G_UnionCascaded
OGRGeometryH OGR_G_UnionCascaded(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Compute union using cascading.
Definition: ogrgeometry.cpp:4103
OGRERR_UNSUPPORTED_GEOMETRY_TYPE
#define OGRERR_UNSUPPORTED_GEOMETRY_TYPE
Definition: ogr_core.h:290
OGRFeature::StealGeometry
OGRGeometry * StealGeometry() CPL_WARN_UNUSED_RESULT
Take away ownership of geometry.
Definition: ogrfeature.cpp:485
OGRGeometry::getCoordinateDimension
virtual int getCoordinateDimension() const
Get the dimension of the coordinates in this object.
Definition: ogrgeometry.cpp:879
OGR_GFld_SetType
void OGR_GFld_SetType(OGRGeomFieldDefnH, OGRwkbGeometryType)
Set the geometry type of this field. This should never be done to an OGRGeomFieldDefn that is already...
Definition: ogrgeomfielddefn.cpp:338
OGR_L_TestCapability
int OGR_L_TestCapability(OGRLayerH, const char *)
Test if this layer supported the named capability.
Definition: ogrlayer.cpp:1061
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:644
OGR_GT_GetCollection
OGRwkbGeometryType OGR_GT_GetCollection(OGRwkbGeometryType eType)
Returns the collection type that can contain the passed geometry type.
Definition: ogrgeometry.cpp:6514
OGRGeometry::importFromWkt
virtual OGRErr importFromWkt(char **ppszInput)=0
Assign geometry from well known text data.
wkbMultiCurveZM
@ wkbMultiCurveZM
Definition: ogr_core.h:386
VALIDATE_POINTER0
#define VALIDATE_POINTER0(ptr, func)
Definition: cpl_error.h:199
OGR_L_GetExtentEx
OGRErr OGR_L_GetExtentEx(OGRLayerH, int iGeomField, OGREnvelope *psExtent, int bForce)
Fetch the extent of this layer, on the specified geometry field.
Definition: ogrlayer.cpp:319
OGRGeometryCollection::getEnvelope
virtual void getEnvelope(OGREnvelope *psEnvelope) const CPL_OVERRIDE
Computes and returns the bounding envelope for this geometry in the passed psEnvelope structure.
Definition: ogrgeometrycollection.cpp:973
OGRLayer::DeleteField
virtual OGRErr DeleteField(int iField)
Delete an existing field on a layer.
Definition: ogrlayer.cpp:698
OGRMultiCurve::CastToMultiLineString
static OGRMultiLineString * CastToMultiLineString(OGRMultiCurve *poMC)
Cast to multi line string.
Definition: ogrmulticurve.cpp:219
OGRMultiPolygon::exportToWkt
virtual OGRErr exportToWkt(char **, OGRwkbVariant=wkbVariantOldOgc) const CPL_OVERRIDE
Convert a geometry into well known text format.
Definition: ogrmultipolygon.cpp:135
cpl_error.h
OGRGeometry::closeRings
virtual void closeRings()
Force rings to be closed.
Definition: ogrgeometry.cpp:4970
OGRGeometry::Disjoint
virtual OGRBoolean Disjoint(const OGRGeometry *) const
Test for disjointness.
Definition: ogrgeometry.cpp:4447
OGRCompoundCurve
Definition: ogr_geometry.h:909
OGRFeature::SetGeometry
OGRErr SetGeometry(const OGRGeometry *)
Set feature geometry.
Definition: ogrfeature.cpp:424
wkbMultiLineStringZM
@ wkbMultiLineStringZM
Definition: ogr_core.h:380
OGRGeometry::getGeometryType
virtual OGRwkbGeometryType getGeometryType() const =0
Fetch geometry type.
OGRGeometry::swapXY
virtual void swapXY()
Swap x and y coordinates.
Definition: ogrgeometry.cpp:5708
OGR_G_Is3D
int OGR_G_Is3D(OGRGeometryH)
See whether this geometry has Z coordinates.
Definition: ogrgeometry.cpp:975
OGRFeature::SetGeometryDirectly
OGRErr SetGeometryDirectly(OGRGeometry *)
Set feature geometry.
Definition: ogrfeature.cpp:351
OGRSpatialReference::Release
void Release()
Decrements the reference count by one, and destroy if zero.
Definition: ogrspatialreference.cpp:378
OGRSpatialReference::SetWellKnownGeogCS
OGRErr SetWellKnownGeogCS(const char *)
Set a GeogCS based on well known name.
Definition: ogrspatialreference.cpp:1745
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:1511
wkbPoint
@ wkbPoint
Definition: ogr_core.h:316
OGRCurvePolygon::exportToWkt
virtual OGRErr exportToWkt(char **ppszDstText, OGRwkbVariant eWkbVariant=wkbVariantOldOgc) const CPL_OVERRIDE
Convert a geometry into well known text format.
Definition: ogrcurvepolygon.cpp:523
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.
OGRGeometryCollection::WkbSize
virtual int WkbSize() const CPL_OVERRIDE
Returns size of related binary representation.
Definition: ogrgeometrycollection.cpp:461
CPLString::Printf
CPLString & Printf(const char *pszFormat,...)
Definition: cplstring.cpp:59
OGRFeatureDefn::GetGeomFieldCount
virtual int GetGeomFieldCount()
Fetch number of geometry fields on this feature.
Definition: ogrfeaturedefn.cpp:583
wkbCurvePolygonZ
@ wkbCurvePolygonZ
Definition: ogr_core.h:349
OGRLineString::getGeometryName
virtual const char * getGeometryName() const CPL_OVERRIDE
Fetch WKT name for geometry type.
Definition: ogrlinestring.cpp:2684
OGRGeometryCollection::CastToGeometryCollection
static OGRGeometryCollection * CastToGeometryCollection(OGRGeometryCollection *poSrc)
Cast to geometry collection.
Definition: ogrgeometrycollection.cpp:1401
wkbMultiSurfaceZM
@ wkbMultiSurfaceZM
Definition: ogr_core.h:387
wkbTriangleZ
@ wkbTriangleZ
Definition: ogr_core.h:356
VSI_REALLOC_VERBOSE
#define VSI_REALLOC_VERBOSE(pOldPtr, nNewSize)
Definition: cpl_vsi.h:274
OGR_L_ReorderField
OGRErr OGR_L_ReorderField(OGRLayerH, int iOldFieldPos, int iNewFieldPos)
Reorder an existing field on a layer.
Definition: ogrlayer.cpp:821
OGRGeomFieldDefn::SetIgnored
void SetIgnored(int bIgnoreIn)
Set whether this field should be omitted when fetching features.
Definition: ogr_feature.h:171
OGR_L_GetLayerDefn
OGRFeatureDefnH OGR_L_GetLayerDefn(OGRLayerH)
Fetch the schema information for this layer.
Definition: ogrlayer.cpp:989
OGRStyleTable
Definition: ogr_featurestyle.h:83
OGR_GT_IsSubClassOf
int OGR_GT_IsSubClassOf(OGRwkbGeometryType eType, OGRwkbGeometryType eSuperType)
Returns if a type is a subclass of another one.
Definition: ogrgeometry.cpp:6450
OGRGeometry::set3D
virtual void set3D(OGRBoolean bIs3D)
Add or remove the Z coordinate dimension.
Definition: ogrgeometry.cpp:1045
wkbCompoundCurveZM
@ wkbCompoundCurveZM
Definition: ogr_core.h:384
OGR_G_Boundary
OGRGeometryH OGR_G_Boundary(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Compute boundary.
Definition: ogrgeometry.cpp:3602
wkbMultiSurfaceM
@ wkbMultiSurfaceM
Definition: ogr_core.h:369
OGRMultiPolygon::CastToMultiSurface
static OGRMultiSurface * CastToMultiSurface(OGRMultiPolygon *poMP)
Cast to multisurface.
Definition: ogrmultipolygon.cpp:174
OGRGeometryCollection::getNumGeometries
int getNumGeometries() const
Fetch number of geometries in container.
Definition: ogrgeometrycollection.cpp:250
wkbMultiPolygon
@ wkbMultiPolygon
Definition: ogr_core.h:324
OGR_L_SyncToDisk
OGRErr OGR_L_SyncToDisk(OGRLayerH)
Flush pending changes to disk.
Definition: ogrlayer.cpp:1521
CPLCalloc
void * CPLCalloc(size_t, size_t)
Definition: cpl_conv.cpp:128
OGR_G_Simplify
OGRGeometryH OGR_G_Simplify(OGRGeometryH hThis, double tolerance) CPL_WARN_UNUSED_RESULT
Compute a simplified geometry.
Definition: ogrgeometry.cpp:5349
OGRGeometryFactory::forceTo
static OGRGeometry * forceTo(OGRGeometry *poGeom, OGRwkbGeometryType eTargetType, const char *const *papszOptions=NULL)
Convert to another geometry type.
Definition: ogrgeometryfactory.cpp:4095
OGR_GT_Flatten
OGRwkbGeometryType OGR_GT_Flatten(OGRwkbGeometryType eType)
Returns the 2D geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:6302
OGR_L_GetFeature
OGRFeatureH OGR_L_GetFeature(OGRLayerH, GIntBig) CPL_WARN_UNUSED_RESULT
Fetch a feature by its identifier.
Definition: ogrlayer.cpp:480
OGRLayer::Union
OGRErr Union(OGRLayer *pLayerMethod, OGRLayer *pLayerResult, char **papszOptions=NULL, GDALProgressFunc pfnProgress=NULL, void *pProgressArg=NULL)
Union of two layers.
Definition: ogrlayer.cpp:2412
OGRFieldDefn::SetIgnored
void SetIgnored(int bIgnoreIn)
Set whether this field should be omitted when fetching features.
Definition: ogr_feature.h:112
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:4458
wkbMultiPoint25D
@ wkbMultiPoint25D
Definition: ogr_core.h:397
OGR_L_SetSpatialFilterRect
void OGR_L_SetSpatialFilterRect(OGRLayerH, double, double, double, double)
Set a new rectangular spatial filter.
Definition: ogrlayer.cpp:1209
OGRLayer::GetSpatialRef
virtual OGRSpatialReference * GetSpatialRef()
Fetch the spatial reference system for this layer.
Definition: ogrlayer.cpp:1032
OGR_L_SetFeature
OGRErr OGR_L_SetFeature(OGRLayerH, OGRFeatureH) CPL_WARN_UNUSED_RESULT
Rewrite an existing feature.
Definition: ogrlayer.cpp:605
OGRFeatureDefn::GetFieldCount
virtual int GetFieldCount()
Fetch number of fields on this feature.
Definition: ogrfeaturedefn.cpp:270
OGRGeometry::SymDifference
virtual OGRGeometry * SymDifference(const OGRGeometry *) const CPL_WARN_UNUSED_RESULT
Compute symmetric difference.
Definition: ogrgeometry.cpp:4281
wkbNDR
@ wkbNDR
Definition: ogr_core.h:482
OGRGeometryCollection::clone
virtual OGRGeometry * clone() const CPL_OVERRIDE
Make a copy of this object.
Definition: ogrgeometrycollection.cpp:151
OGRGeometryCollection
Definition: ogr_geometry.h:1295
OGR_L_GetExtent
OGRErr OGR_L_GetExtent(OGRLayerH, OGREnvelope *, int)
Fetch the extent of this layer.
Definition: ogrlayer.cpp:302
OGRGeometry::hasCurveGeometry
virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear=FALSE) const
Returns if this geometry is or has curve geometry.
Definition: ogrgeometry.cpp:3048
wkbVariantOldOgc
@ wkbVariantOldOgc
Definition: ogr_core.h:420
OGRPoint::IsEmpty
virtual OGRBoolean IsEmpty() const CPL_OVERRIDE
Returns TRUE (non-zero) if the object has no points.
Definition: ogr_geometry.h:357
OGR_GT_IsNonLinear
int OGR_GT_IsNonLinear(OGRwkbGeometryType)
Return if a geometry type is a non-linear geometry type.
Definition: ogrgeometry.cpp:6704
OGRGeometryCollection::getGeometryType
virtual OGRwkbGeometryType getGeometryType() const CPL_OVERRIDE
Fetch geometry type.
Definition: ogrgeometrycollection.cpp:177
cpl_vsi.h
OGRLayer::Clip
OGRErr Clip(OGRLayer *pLayerMethod, OGRLayer *pLayerResult, char **papszOptions=NULL, GDALProgressFunc pfnProgress=NULL, void *pProgressArg=NULL)
Clip off areas that are not covered by the method layer.
Definition: ogrlayer.cpp:3941
OGRCoordinateTransformation::GetTargetCS
virtual OGRSpatialReference * GetTargetCS()=0
OGR_G_ForceToMultiLineString
OGRGeometryH OGR_G_ForceToMultiLineString(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Convert to multilinestring.
Definition: ogrgeometryfactory.cpp:1230
OGRSpatialReference
Definition: ogr_spatialref.h:132
wkbCompoundCurve
@ wkbCompoundCurve
Definition: ogr_core.h:330
OGRLayer::Identity
OGRErr Identity(OGRLayer *pLayerMethod, OGRLayer *pLayerResult, char **papszOptions=NULL, GDALProgressFunc pfnProgress=NULL, void *pProgressArg=NULL)
Identify the features of this layer with the ones from the identity layer.
Definition: ogrlayer.cpp:3263
OGRGeometryCollection::getGeometryRef
OGRGeometry * getGeometryRef(int)
Fetch geometry from container.
Definition: ogrgeometrycollection.cpp:275
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:6619
OGR_G_Equals
int OGR_G_Equals(OGRGeometryH, OGRGeometryH)
Returns TRUE if two geometries are equivalent.
Definition: ogrgeometry.cpp:1212
OGRMergeGeometryTypes
OGRwkbGeometryType OGRMergeGeometryTypes(OGRwkbGeometryType eMain, OGRwkbGeometryType eExtra)
Find common geometry type.
Definition: ogrgeometry.cpp:2614
OGR_G_ImportFromWkb
OGRErr OGR_G_ImportFromWkb(OGRGeometryH, unsigned char *, int)
Assign geometry from well known binary data.
Definition: ogrgeometry.cpp:1408
OGR_G_AssignSpatialReference
void OGR_G_AssignSpatialReference(OGRGeometryH, OGRSpatialReferenceH)
Assign spatial reference to this object.
Definition: ogrgeometry.cpp:483
OGRCreateCoordinateTransformation
OGRCoordinateTransformation * OGRCreateCoordinateTransformation(OGRSpatialReference *poSource, OGRSpatialReference *poTarget)
Definition: ogrct.cpp:433
OGRPolyhedralSurface
Definition: ogr_geometry.h:1487
OGRLayer::GetFeatureCount
virtual GIntBig GetFeatureCount(int bForce=TRUE)
Fetch the feature count in this layer.
Definition: ogrlayer.cpp:166
OGR_G_ExportToGMLEx
char * OGR_G_ExportToGMLEx(OGRGeometryH, char **papszOptions) CPL_WARN_UNUSED_RESULT
Convert a geometry into GML format.
Definition: ogr2gmlgeometry.cpp:1378
OGRPolygon::CurvePolyToPoly
virtual OGRPolygon * CurvePolyToPoly(double dfMaxAngleStepSizeDegrees=0, const char *const *papszOptions=NULL) const CPL_OVERRIDE
Return a polygon from a curve polygon.
Definition: ogrpolygon.cpp:802
OGR_G_SymDifference
OGRGeometryH OGR_G_SymDifference(OGRGeometryH, OGRGeometryH) CPL_WARN_UNUSED_RESULT
Compute symmetric difference.
Definition: ogrgeometry.cpp:4397
wkbPolygon25D
@ wkbPolygon25D
Definition: ogr_core.h:396
wkbPolygonZM
@ wkbPolygonZM
Definition: ogr_core.h:378
OGRGeometry::exportToJson
virtual char * exportToJson() const
Convert a geometry into GeoJSON format.
Definition: ogrgeometry.cpp:2820
OGR_G_SetCoordinateDimension
void OGR_G_SetCoordinateDimension(OGRGeometryH, int)
Set the coordinate dimension.
Definition: ogrgeometry.cpp:1097
OGRGeometryCollection::exportToWkb
virtual OGRErr exportToWkb(OGRwkbByteOrder, unsigned char *, OGRwkbVariant=wkbVariantOldOgc) const CPL_OVERRIDE
Convert a geometry into well known binary format.
Definition: ogrgeometrycollection.cpp:604
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:6423
OGR_G_Within
int OGR_G_Within(OGRGeometryH, OGRGeometryH)
Test for containment.
Definition: ogrgeometry.cpp:4781
wkbVariantPostGIS1
@ wkbVariantPostGIS1
Definition: ogr_core.h:422
OGR_G_IsEmpty
int OGR_G_IsEmpty(OGRGeometryH)
Test if the geometry is empty.
Definition: ogrgeometry.cpp:2001
OGR_L_SetSpatialFilterEx
void OGR_L_SetSpatialFilterEx(OGRLayerH, int iGeomField, OGRGeometryH hGeom)
Set a new spatial filter.
Definition: ogrlayer.cpp:1158
OGRLayer::DeleteFeature
virtual OGRErr DeleteFeature(GIntBig nFID) CPL_WARN_UNUSED_RESULT
Delete feature from layer.
Definition: ogrlayer.cpp:1538
OGRLayer::SetStyleTable
virtual void SetStyleTable(OGRStyleTable *poStyleTable)
Set layer style table.
Definition: ogrlayer.cpp:1665
wkbPolygonM
@ wkbPolygonM
Definition: ogr_core.h:360
OGRTriangulatedSurface::CastToPolyhedralSurface
static OGRPolyhedralSurface * CastToPolyhedralSurface(OGRTriangulatedSurface *poTS)
Casts the OGRTriangulatedSurface to an OGRPolyhedralSurface.
Definition: ogrtriangulatedsurface.cpp:261
OGR_G_Union
OGRGeometryH OGR_G_Union(OGRGeometryH, OGRGeometryH) CPL_WARN_UNUSED_RESULT
Compute union.
Definition: ogrgeometry.cpp:4019
OGRGeometry
Definition: ogr_geometry.h:118
OGRSpatialReference::IsSame
int IsSame(const OGRSpatialReference *) const
Do these two spatial references describe the same system ?
Definition: ogrspatialreference.cpp:6639
wkbTriangleM
@ wkbTriangleM
Definition: ogr_core.h:374
OGRMultiPoint
Definition: ogr_geometry.h:1609
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:1588
OGRCoordinateTransformation::Transform
virtual int Transform(int nCount, double *x, double *y, double *z=NULL)=0
OGRGeometry::IsValid
virtual OGRBoolean IsValid() const
Test if the geometry is valid.
Definition: ogrgeometry.cpp:2028
OGR_GFld_SetSpatialRef
void OGR_GFld_SetSpatialRef(OGRGeomFieldDefnH, OGRSpatialReferenceH hSRS)
Set the spatial reference of this field.
Definition: ogrgeomfielddefn.cpp:514
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:1317
OGRGeometryCollection::swapXY
virtual void swapXY() CPL_OVERRIDE
Swap x and y coordinates.
Definition: ogrgeometrycollection.cpp:1271
OGR_G_ExportToJson
char * OGR_G_ExportToJson(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Convert a geometry into GeoJSON format.
Definition: ogrgeojsonwriter.cpp:1313
ograpispy.h
wkbCircularString
@ wkbCircularString
Definition: ogr_core.h:328
OGRLayer
Definition: ogrsf_frmts.h:68
CPLString
Convenient string class based on std::string.
Definition: cpl_string.h:338
OGRGeometry::exportToGML
virtual char * exportToGML(const char *const *papszOptions=NULL) const
Convert a geometry into GML format.
Definition: ogrgeometry.cpp:2775
OGRGeometry::IsSimple
virtual OGRBoolean IsSimple() const
Test if the geometry is simple.
Definition: ogrgeometry.cpp:2125
OGRGeometry::Crosses
virtual OGRBoolean Crosses(const OGRGeometry *) const
Test for crossing.
Definition: ogrgeometry.cpp:4614
OGRGeometry::importFromWkb
virtual OGRErr importFromWkb(unsigned char *, int=-1, OGRwkbVariant=wkbVariantOldOgc)=0
Assign geometry from well known binary data.
wkbMultiPolygonZM
@ wkbMultiPolygonZM
Definition: ogr_core.h:381
OGRMultiSurface
Definition: ogr_geometry.h:1394
OGRGeometry::Simplify
virtual OGRGeometry * Simplify(double dTolerance) const CPL_WARN_UNUSED_RESULT
Simplify the geometry.
Definition: ogrgeometry.cpp:5292
OGRPoint
Definition: ogr_geometry.h:322
OGRCoordinateTransformation::GetEmitErrors
virtual bool GetEmitErrors()
Definition: ogr_spatialref.h:607
OGRCompoundCurve::stealCurve
OGRCurve * stealCurve(int)
"Steal" reference to curve.
Definition: ogrcompoundcurve.cpp:487
OGRLayer::SymDifference
OGRErr SymDifference(OGRLayer *pLayerMethod, OGRLayer *pLayerResult, char **papszOptions, GDALProgressFunc pfnProgress, void *pProgressArg)
Symmetrical difference of two layers.
Definition: ogrlayer.cpp:2885
wkbCurveM
@ wkbCurveM
Definition: ogr_core.h:370
OGRSpatialReference::Reference
int Reference()
Increments the reference count by one.
Definition: ogrspatialreference.cpp:293
ogr_geometry.h
OGRGeometryFactory::forceToMultiPolygon
static OGRGeometry * forceToMultiPolygon(OGRGeometry *)
Convert to multipolygon.
Definition: ogrgeometryfactory.cpp:730
OGR_L_SetSpatialFilter
void OGR_L_SetSpatialFilter(OGRLayerH, OGRGeometryH)
Set a new spatial filter.
Definition: ogrlayer.cpp:1141
OGRSimpleCurve::getY
double getY(int i) const
Get Y at vertex.
Definition: ogr_geometry.h:555
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:1615
OGRLayer::GetSpatialFilter
virtual OGRGeometry * GetSpatialFilter()
This method returns the current spatial filter for this layer.
Definition: ogrlayer.cpp:1079
OGRGeomFieldDefn::SetType
void SetType(OGRwkbGeometryType eTypeIn)
Set the geometry type of this field. This should never be done to an OGRGeomFieldDefn that is already...
Definition: ogrgeomfielddefn.cpp:316
OGRGeometry::IsRing
virtual OGRBoolean IsRing() const
Test if the geometry is a ring.
Definition: ogrgeometry.cpp:2196
OGRGeometryFactory::transformWithOptions
static OGRGeometry * transformWithOptions(const OGRGeometry *poSrcGeom, OGRCoordinateTransformation *poCT, char **papszOptions)
Definition: ogrgeometryfactory.cpp:3602
wkbPolyhedralSurfaceZM
@ wkbPolyhedralSurfaceZM
Definition: ogr_core.h:390
OGRGeometry::operator=
OGRGeometry & operator=(const OGRGeometry &other)
Assignment operator.
Definition: ogrgeometry.cpp:141
OGRLayer::SetSpatialFilter
virtual void SetSpatialFilter(OGRGeometry *)
Set a new spatial filter.
Definition: ogrlayer.cpp:1106
OGRGeometryFactory::createFromGEOS
static OGRGeometry * createFromGEOS(GEOSContextHandle_t hGEOSCtxt, GEOSGeom)
Definition: ogrgeometryfactory.cpp:1984
OGR_L_CommitTransaction
OGRErr OGR_L_CommitTransaction(OGRLayerH) CPL_WARN_UNUSED_RESULT
For datasources which support transactions, CommitTransaction commits a transaction.
Definition: ogrlayer.cpp:945
OGRGeometryCollection::setMeasured
virtual void setMeasured(OGRBoolean bIsMeasured) CPL_OVERRIDE
Add or remove the M coordinate dimension.
Definition: ogrgeometrycollection.cpp:1127
CPLAtofM
double CPLAtofM(const char *)
Definition: cpl_strtod.cpp:142
OGRGeometryFactory::forceToPolygon
static OGRGeometry * forceToPolygon(OGRGeometry *)
Convert to polygon.
Definition: ogrgeometryfactory.cpp:585
OGRGeometry::SimplifyPreserveTopology
OGRGeometry * SimplifyPreserveTopology(double dTolerance) const CPL_WARN_UNUSED_RESULT
Simplify the geometry while preserving topology.
Definition: ogrgeometry.cpp:5378
wkbPoint25D
@ wkbPoint25D
Definition: ogr_core.h:394
wkbSurfaceZM
@ wkbSurfaceZM
Definition: ogr_core.h:389
OGRGeometry::Buffer
virtual OGRGeometry * Buffer(double dfDist, int nQuadSegs=30) const CPL_WARN_UNUSED_RESULT
Compute buffer of geometry.
Definition: ogrgeometry.cpp:3661
wkbCircularStringZM
@ wkbCircularStringZM
Definition: ogr_core.h:383
OGRLayer::ReorderField
OGRErr ReorderField(int iOldFieldPos, int iNewFieldPos)
Reorder an existing field on a layer.
Definition: ogrlayer.cpp:762
OGRFeature::SetFieldsFrom
OGRErr SetFieldsFrom(OGRFeature *, int *, int=TRUE)
Set fields from another feature.
Definition: ogrfeature.cpp:5755
OGRFeatureH
void * OGRFeatureH
Definition: ogr_api.h:291
EQUAL
#define EQUAL(a, b)
Definition: cpl_port.h:622
OGRStyleTableH
void * OGRStyleTableH
Definition: ogr_api.h:293
wkbHasZ
#define wkbHasZ(x)
Definition: ogr_core.h:436
wkbCircularStringZ
@ wkbCircularStringZ
Definition: ogr_core.h:347
OGRBoolean
int OGRBoolean
Definition: ogr_core.h:301
wkbCurve
@ wkbCurve
Definition: ogr_core.h:336
OGRGeometryCollection::getLinearGeometry
virtual OGRGeometry * getLinearGeometry(double dfMaxAngleStepSizeDegrees=0, const char *const *papszOptions=NULL) const CPL_OVERRIDE
Return, possibly approximate, non-curve version of this geometry.
Definition: ogrgeometrycollection.cpp:1314
OGRFeatureDefnH
void * OGRFeatureDefnH
Definition: ogr_api.h:289
OGRGeometry::Intersection
virtual OGRGeometry * Intersection(const OGRGeometry *) const CPL_WARN_UNUSED_RESULT
Compute intersection.
Definition: ogrgeometry.cpp:3769
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:972
OGRGeometryCollection::IsEmpty
virtual OGRBoolean IsEmpty() const CPL_OVERRIDE
Returns TRUE (non-zero) if the object has no points.
Definition: ogrgeometrycollection.cpp:1249
OGRLayer::GetRefCount
int GetRefCount() const
Fetch reference count.
Definition: ogrlayer.cpp:144
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:3909
wkbMultiPointZM
@ wkbMultiPointZM
Definition: ogr_core.h:379
OGRFeatureDefn::GetFieldDefn
virtual OGRFieldDefn * GetFieldDefn(int i)
Fetch field definition.
Definition: ogrfeaturedefn.cpp:317
OGRMergeGeometryTypesEx
OGRwkbGeometryType OGRMergeGeometryTypesEx(OGRwkbGeometryType eMain, OGRwkbGeometryType eExtra, int bAllowPromotingToCurves)
Find common geometry type.
Definition: ogrgeometry.cpp:2651
wkbSetM
#define wkbSetM(x)
Definition: ogr_core.h:451
OGRRawPoint::x
double x
Definition: ogr_geometry.h:57
OGRGeometryFactory::createFromWkb
static OGRErr createFromWkb(unsigned char *, OGRSpatialReference *, OGRGeometry **, int=-1, OGRwkbVariant=wkbVariantOldOgc)
Create a geometry object of the appropriate type from it's well known binary representation.
Definition: ogrgeometryfactory.cpp:103
OGRPoint::setX
void setX(double xIn)
Assign point X coordinate.
Definition: ogr_geometry.h:375
OGRLayer::StartTransaction
virtual OGRErr StartTransaction() CPL_WARN_UNUSED_RESULT
For datasources which support transactions, StartTransaction creates a transaction.
Definition: ogrlayer.cpp:908
wkbTINZM
@ wkbTINZM
Definition: ogr_core.h:391
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:3853
OGR_GT_IsSurface
int OGR_GT_IsSurface(OGRwkbGeometryType)
Return if a geometry type is an instance of Surface.
Definition: ogrgeometry.cpp:6682
OGRGeometry::getCurveGeometry
virtual OGRGeometry * getCurveGeometry(const char *const *papszOptions=NULL) const CPL_WARN_UNUSED_RESULT
Return curve version of this geometry.
Definition: ogrgeometry.cpp:3116
OGRLineString::CurveToLine
virtual OGRLineString * CurveToLine(double dfMaxAngleStepSizeDegrees=0, const char *const *papszOptions=NULL) const CPL_OVERRIDE
Return a linestring from a curve geometry.
Definition: ogrlinestring.cpp:2694
OGRGeomFieldDefnH
struct OGRGeomFieldDefnHS * OGRGeomFieldDefnH
Definition: ogr_api.h:296
OLCCurveGeometries
#define OLCCurveGeometries
Definition: ogr_core.h:738
OGRCurve::CurveToLine
virtual OGRLineString * CurveToLine(double dfMaxAngleStepSizeDegrees=0, const char *const *papszOptions=NULL) const =0
Return a linestring from a curve geometry.
wkbFlatten
#define wkbFlatten(x)
Definition: ogr_core.h:431
CPL_SWAP64PTR
#define CPL_SWAP64PTR(x)
Definition: cpl_port.h:814
OGRGeometry::Equals
virtual OGRBoolean Equals(OGRGeometry *) const =0
Returns TRUE if two geometries are equivalent.
wkbLineStringZM
@ wkbLineStringZM
Definition: ogr_core.h:377
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:1835
OGRGeometry::exportToWkb
virtual OGRErr exportToWkb(OGRwkbByteOrder, unsigned char *, OGRwkbVariant=wkbVariantOldOgc) const =0
Convert a geometry into well known binary format.
OGR_L_GetStyleTable
OGRStyleTableH OGR_L_GetStyleTable(OGRLayerH)
Definition: ogrlayer.cpp:1677
OGRLinearRing::isPointOnRingBoundary
OGRBoolean isPointOnRingBoundary(const OGRPoint *pt, int bTestEnvelope=TRUE) const
Definition: ogrlinearring.cpp:665
CPLAssert
#define CPLAssert(expr)
Definition: cpl_error.h:182
OGRRawPoint
Definition: ogr_geometry.h:47
OGR_GFld_GetNameRef
const char * OGR_GFld_GetNameRef(OGRGeomFieldDefnH)
Fetch name of this field.
Definition: ogrgeomfielddefn.cpp:238
OGRMultiLineString
Definition: ogr_geometry.h:1692
OGR_GT_SetM
OGRwkbGeometryType OGR_GT_SetM(OGRwkbGeometryType eType)
Returns the measured geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:6396
OGRSimpleCurve::EndPoint
virtual void EndPoint(OGRPoint *) const CPL_OVERRIDE
Return the curve end point.
Definition: ogrlinestring.cpp:1925
OGR_L_DeleteField
OGRErr OGR_L_DeleteField(OGRLayerH, int iField)
Delete an existing field on a layer.
Definition: ogrlayer.cpp:713
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:1547
OGR_GFld_IsIgnored
int OGR_GFld_IsIgnored(OGRGeomFieldDefnH hDefn)
Return whether this field should be omitted when fetching features.
Definition: ogrgeomfielddefn.cpp:377
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:1464
OGR_G_DestroyGeometry
void OGR_G_DestroyGeometry(OGRGeometryH)
Destroy geometry object.
Definition: ogrgeometryfactory.cpp:562
OGRSpatialReferenceH
void * OGRSpatialReferenceH
Definition: ogr_api.h:69
OGR_G_Disjoint
int OGR_G_Disjoint(OGRGeometryH, OGRGeometryH)
Test for disjointness.
Definition: ogrgeometry.cpp:4499
OGRCurvePolygon::transform
virtual OGRErr transform(OGRCoordinateTransformation *poCT) CPL_OVERRIDE
Apply arbitrary coordinate transformation to geometry.
Definition: ogrcurvepolygon.cpp:653
OGRLayer::RollbackTransaction
virtual OGRErr RollbackTransaction()
For datasources which support transactions, RollbackTransaction will roll back a datasource to its st...
Definition: ogrlayer.cpp:962
OGRPolygon::stealInteriorRing
virtual OGRLinearRing * stealInteriorRing(int)
"Steal" reference to indicated interior ring.
Definition: ogrpolygon.cpp:265
OGRGeometry::exportToGEOS
virtual GEOSGeom exportToGEOS(GEOSContextHandle_t hGEOSCtxt) const CPL_WARN_UNUSED_RESULT
Definition: ogrgeometry.cpp:2907
OGR_L_FindFieldIndex
int OGR_L_FindFieldIndex(OGRLayerH, const char *, int bExactMatch)
Find the index of field in a layer.
Definition: ogrlayer.cpp:1006
OGRGeometryCollection::OGRGeometryCollection
OGRGeometryCollection()
Create an empty geometry collection.
Definition: ogrgeometrycollection.cpp:55
OGRPolyhedralSurface::addGeometry
virtual OGRErr addGeometry(const OGRGeometry *)
Add a new geometry to a collection.
Definition: ogrpolyhedralsurface.cpp:836
OGR_L_SymDifference
OGRErr OGR_L_SymDifference(OGRLayerH, OGRLayerH, OGRLayerH, char **, GDALProgressFunc, void *)
Symmetrical difference of two layers.
Definition: ogrlayer.cpp:3181
OGR_GFld_SetName
void OGR_GFld_SetName(OGRGeomFieldDefnH, const char *)
Reset the name of this field.
Definition: ogrgeomfielddefn.cpp:199
OGRGeometryFactory::curveFromLineString
static OGRCurve * curveFromLineString(const OGRLineString *poLS, const char *const *papszOptions=NULL)
Try to convert a linestring approximating curves into a curve.
Definition: ogrgeometryfactory.cpp:5519
OGR_L_GetName
const char * OGR_L_GetName(OGRLayerH)
Return the layer name.
Definition: ogrlayer.cpp:1726
OGRSurface
Definition: ogr_geometry.h:1017
CPLTestBool
bool CPLTestBool(const char *pszValue)
Definition: cpl_string.cpp:1522
OGRLayer::GetFeature
virtual OGRFeature * GetFeature(GIntBig nFID) CPL_WARN_UNUSED_RESULT
Fetch a feature by its identifier.
Definition: ogrlayer.cpp:445
OGRGeometryCollection::get_Length
virtual double get_Length() const
Compute the length of a multicurve.
Definition: ogrgeometrycollection.cpp:1153
OGRCurve::getNumPoints
virtual int getNumPoints() const =0
Return the number of points of a curve geometry.
OGRwkbByteOrder
OGRwkbByteOrder
Definition: ogr_core.h:479
OGR_G_ExportToKML
char * OGR_G_ExportToKML(OGRGeometryH, const char *pszAltitudeMode) CPL_WARN_UNUSED_RESULT
Convert a geometry into KML format.
Definition: ogr2kmlgeometry.cpp:485
OGR_G_IsValid
int OGR_G_IsValid(OGRGeometryH)
Test if the geometry is valid.
Definition: ogrgeometry.cpp:2098
OGRCoordinateTransformationH
void * OGRCoordinateTransformationH
Definition: ogr_api.h:71
OGRGeometry::Boundary
virtual OGRGeometry * Boundary() const CPL_WARN_UNUSED_RESULT
Compute boundary.
Definition: ogrgeometry.cpp:3526
OGRGeometryCollection::set3D
virtual void set3D(OGRBoolean bIs3D) CPL_OVERRIDE
Add or remove the Z coordinate dimension.
Definition: ogrgeometrycollection.cpp:1117
OGR_L_StartTransaction
OGRErr OGR_L_StartTransaction(OGRLayerH) CPL_WARN_UNUSED_RESULT
For datasources which support transactions, StartTransaction creates a transaction.
Definition: ogrlayer.cpp:918
OGRGeometryFactory::forceToMultiLineString
static OGRGeometry * forceToMultiLineString(OGRGeometry *)
Convert to multilinestring.
Definition: ogrgeometryfactory.cpp:1005
OGRFeatureDefn::GetGeomFieldDefn
virtual OGRGeomFieldDefn * GetGeomFieldDefn(int i)
Fetch geometry field definition.
Definition: ogrfeaturedefn.cpp:632
OGRLayer::Update
OGRErr Update(OGRLayer *pLayerMethod, OGRLayer *pLayerResult, char **papszOptions=NULL, GDALProgressFunc pfnProgress=NULL, void *pProgressArg=NULL)
Update this layer with features from the update layer.
Definition: ogrlayer.cpp:3634
OGRPolygon::getExteriorRing
OGRLinearRing * getExteriorRing()
Fetch reference to external polygon ring.
Definition: ogrpolygon.cpp:147
OGR_L_SetStyleTable
void OGR_L_SetStyleTable(OGRLayerH, OGRStyleTableH)
Definition: ogrlayer.cpp:1702
OGRCircularString
Definition: ogr_geometry.h:753
OGRCoordinateTransformation::SetEmitErrors
virtual void SetEmitErrors(bool)
Definition: ogr_spatialref.h:610
OGRERR_UNSUPPORTED_OPERATION
#define OGRERR_UNSUPPORTED_OPERATION
Definition: ogr_core.h:291
OGRGeometryCollection::removeGeometry
virtual OGRErr removeGeometry(int iIndex, int bDelete=TRUE)
Remove a geometry from the container.
Definition: ogrgeometrycollection.cpp:429
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:853
OGRGeometryFactory::createGeometry
static OGRGeometry * createGeometry(OGRwkbGeometryType)
Create an empty geometry of desired type.
Definition: ogrgeometryfactory.cpp:442
OGR_G_Transform
OGRErr OGR_G_Transform(OGRGeometryH, OGRCoordinateTransformationH)
Apply arbitrary coordinate transformation to geometry.
Definition: ogrgeometry.cpp:746
wkbCurvePolygon
@ wkbCurvePolygon
Definition: ogr_core.h:331
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:1781
OGRGeometryCollection::segmentize
virtual void segmentize(double dfMaxLength) CPL_OVERRIDE
Modify the geometry such it has no segment longer then the given distance.
Definition: ogrgeometrycollection.cpp:1261
OGR_G_SimplifyPreserveTopology
OGRGeometryH OGR_G_SimplifyPreserveTopology(OGRGeometryH hThis, double tolerance) CPL_WARN_UNUSED_RESULT
Simplify the geometry while preserving topology.
Definition: ogrgeometry.cpp:5439
OGRFeature::GetGeometryRef
OGRGeometry * GetGeometryRef()
Fetch pointer to feature geometry.
Definition: ogrfeature.cpp:569
OGRGeometry::Intersects
virtual OGRBoolean Intersects(const OGRGeometry *) const
Do these features intersect?
Definition: ogrgeometry.cpp:515
CPLE_ObjectNull
#define CPLE_ObjectNull
Definition: cpl_error.h:118
OGR_GFld_IsNullable
int OGR_GFld_IsNullable(OGRGeomFieldDefnH hDefn)
Return whether this geometry field can receive null values.
Definition: ogrgeomfielddefn.cpp:596
wkbLineStringM
@ wkbLineStringM
Definition: ogr_core.h:359
OGRPoint::Equals
virtual OGRBoolean Equals(OGRGeometry *) const CPL_OVERRIDE
Returns TRUE if two geometries are equivalent.
Definition: ogrpoint.cpp:706
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:745
OGRCompoundCurve::addCurveDirectly
OGRErr addCurveDirectly(OGRCurve *, double dfToleranceEps=1e-14)
Add a curve directly to the container.
Definition: ogrcompoundcurve.cpp:545
GUIntBig
unsigned long long GUIntBig
Definition: cpl_port.h:253
OGRHasPreparedGeometrySupport
int OGRHasPreparedGeometrySupport()
Definition: ogrgeometry.cpp:5738
OGRGeometryFactory::organizePolygons
static OGRGeometry * organizePolygons(OGRGeometry **papoPolygons, int nPolygonCount, int *pbResultValidGeometry, const char **papszOptions=NULL)
Organize polygons based on geometries.
Definition: ogrgeometryfactory.cpp:1344
VALIDATE_POINTER1
#define VALIDATE_POINTER1(ptr, func, rc)
Definition: cpl_error.h:208
OGR_GFld_GetSpatialRef
OGRSpatialReferenceH OGR_GFld_GetSpatialRef(OGRGeomFieldDefnH)
Fetch spatial reference system of this field.
Definition: ogrgeomfielddefn.cpp:457
OGRLayer::CommitTransaction
virtual OGRErr CommitTransaction() CPL_WARN_UNUSED_RESULT
For datasources which support transactions, CommitTransaction commits a transaction.
Definition: ogrlayer.cpp:935
wkbSetZ
#define wkbSetZ(x)
Definition: ogr_core.h:441
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:5473
OGRERR_FAILURE
#define OGRERR_FAILURE
Definition: ogr_core.h:293
OGR_GT_GetCurve
OGRwkbGeometryType OGR_GT_GetCurve(OGRwkbGeometryType eType)
Returns the curve geometry type that can contain the passed geometry type.
Definition: ogrgeometry.cpp:6570
OGRLayer::CreateGeomField
virtual OGRErr CreateGeomField(OGRGeomFieldDefn *poField, int bApproxOK=TRUE)
Create a new geometry field on a layer.
Definition: ogrlayer.cpp:872
OGR_G_GetCoordinateDimension
int OGR_G_GetCoordinateDimension(OGRGeometryH)
Get the dimension of the coordinates in this geometry.
Definition: ogrgeometry.cpp:928
OGR_G_Distance3D
double OGR_G_Distance3D(OGRGeometryH, OGRGeometryH)
Returns the 3D distance between two geometries.
Definition: ogrgeometry.cpp:3350
OGRPolygon::exportToWkb
virtual OGRErr exportToWkb(OGRwkbByteOrder, unsigned char *, OGRwkbVariant=wkbVariantOldOgc) const CPL_OVERRIDE
Convert a geometry into well known binary format.
Definition: ogrpolygon.cpp:364
wkbMultiPolygon25D
@ wkbMultiPolygon25D
Definition: ogr_core.h:399
wkbCircularStringM
@ wkbCircularStringM
Definition: ogr_core.h:365
OGR_G_PointOnSurface
OGRGeometryH OGR_G_PointOnSurface(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Returns a point guaranteed to lie on the surface.
Definition: ogrgeometry.cpp:5180
wkbMultiSurface
@ wkbMultiSurface
Definition: ogr_core.h:335
OGRGeometry::Difference
virtual OGRGeometry * Difference(const OGRGeometry *) const CPL_WARN_UNUSED_RESULT
Compute difference.
Definition: ogrgeometry.cpp:4135
OGR_G_Crosses
int OGR_G_Crosses(OGRGeometryH, OGRGeometryH)
Test for crossing.
Definition: ogrgeometry.cpp:4698
OGRERR_NOT_ENOUGH_MEMORY
#define OGRERR_NOT_ENOUGH_MEMORY
Definition: ogr_core.h:289
CSLFetchNameValue
const char * CSLFetchNameValue(const char *const *papszStrList, const char *pszName)
Definition: cpl_string.cpp:1670
ogrsf_frmts.h
OGRLayer::Dereference
int Dereference()
Decrement layer reference count.
Definition: ogrlayer.cpp:122
wkbPolyhedralSurface
@ wkbPolyhedralSurface
Definition: ogr_core.h:338
wkbCurvePolygonM
@ wkbCurvePolygonM
Definition: ogr_core.h:367
OGRLayer::GetStyleTable
virtual OGRStyleTable * GetStyleTable()
Returns layer style table.
Definition: ogrlayer.cpp:1645
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:3557
sfcgal_geometry_t
void sfcgal_geometry_t
Definition: ogr_geometry.h:67
OGR_GFld_GetType
OGRwkbGeometryType OGR_GFld_GetType(OGRGeomFieldDefnH)
Fetch geometry type of this field.
Definition: ogrgeomfielddefn.cpp:281
OGR_L_Erase
OGRErr OGR_L_Erase(OGRLayerH, OGRLayerH, OGRLayerH, char **, GDALProgressFunc, void *)
Remove areas that are covered by the method layer.
Definition: ogrlayer.cpp:4407
OGRLayer::CreateFeature
OGRErr CreateFeature(OGRFeature *poFeature) CPL_WARN_UNUSED_RESULT
Create and write a new feature within a layer.
Definition: ogrlayer.cpp:623
OGR_G_CreateFromFgf
OGRErr OGR_G_CreateFromFgf(unsigned char *, OGRSpatialReferenceH, OGRGeometryH *, int, int *)
Create a geometry object of the appropriate type from it's FGF (FDO Geometry Format) binary represent...
Definition: ogrgeometryfactory.cpp:2423
wkbMultiPointM
@ wkbMultiPointM
Definition: ogr_core.h:361
CPLDebug
void CPLDebug(const char *, const char *,...)
Definition: cpl_error.cpp:492
wkbGeometryCollectionM
@ wkbGeometryCollectionM
Definition: ogr_core.h:364
OGR_G_CreateFromGML
OGRGeometryH OGR_G_CreateFromGML(const char *) CPL_WARN_UNUSED_RESULT
Create geometry from GML.
Definition: gml2ogrgeometry.cpp:3877
OGRGeometry::CoordinateDimension
int CoordinateDimension() const
Get the dimension of the coordinates in this object.
Definition: ogrgeometry.cpp:898
OGRGeometryCollection::Equals
virtual OGRBoolean Equals(OGRGeometry *) const CPL_OVERRIDE
Returns TRUE if two geometries are equivalent.
Definition: ogrgeometrycollection.cpp:1021
OGRLayer::GetExtent
virtual OGRErr GetExtent(OGREnvelope *psExtent, int bForce=TRUE) CPL_WARN_UNUSED_RESULT
Fetch the extent of this layer.
Definition: ogrlayer.cpp:207
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:1229
OGR_L_CreateGeomField
OGRErr OGR_L_CreateGeomField(OGRLayerH hLayer, OGRGeomFieldDefnH hFieldDefn, int bForce)
Create a new geometry field on a layer.
Definition: ogrlayer.cpp:888
OGRGeometryCollection::getDimension
virtual int getDimension() const CPL_OVERRIDE
Get the dimension of this object.
Definition: ogrgeometrycollection.cpp:194
OGRGeometryCollection::importFromWkt
virtual OGRErr importFromWkt(char **) CPL_OVERRIDE
Assign geometry from well known text data.
Definition: ogrgeometrycollection.cpp:788
OGRCurvePolygon::get_Area
virtual double get_Area() const CPL_OVERRIDE
Get the area of the surface object.
Definition: ogrcurvepolygon.cpp:663
OGRFieldDefn
Definition: ogr_feature.h:62
ogr_srs_api.h
OGRMultiSurface::CastToMultiPolygon
static OGRMultiPolygon * CastToMultiPolygon(OGRMultiSurface *poMS)
Cast to multipolygon.
Definition: ogrmultisurface.cpp:323
OGRPoint::empty
virtual void empty() CPL_OVERRIDE
Clear geometry information. This restores the geometry to it's initial state after construction,...
Definition: ogrpoint.cpp:198
OGRGeomFieldDefn::IsNullable
int IsNullable() const
Return whether this geometry field can receive null values.
Definition: ogr_feature.h:173
CPLMalloc
void * CPLMalloc(size_t)
Definition: cpl_conv.cpp:158
CPL_LSBPTR32
#define CPL_LSBPTR32(x)
Definition: cpl_port.h:887
OGRGeometry::transformTo
OGRErr transformTo(OGRSpatialReference *poSR)
Transform geometry to new spatial reference system.
Definition: ogrgeometry.cpp:639
OGR_G_Empty
void OGR_G_Empty(OGRGeometryH)
Clear geometry information. This restores the geometry to it's initial state after construction,...
Definition: ogrgeometry.cpp:1965
wkbVariantIso
@ wkbVariantIso
Definition: ogr_core.h:421
OGRFeatureDefn::SetStyleIgnored
virtual void SetStyleIgnored(int bIgnore)
Set whether the style can be omitted when fetching features.
Definition: ogr_feature.h:259
OGR_G_CloseRings
void OGR_G_CloseRings(OGRGeometryH)
Force rings to be closed.
Definition: ogrgeometry.cpp:4986
OGR_L_GetNextFeature
OGRFeatureH OGR_L_GetNextFeature(OGRLayerH) CPL_WARN_UNUSED_RESULT
Fetch the next available feature from this layer.
Definition: ogrlayer.cpp:539
OGRSimpleCurve::getNumPoints
virtual int getNumPoints() const CPL_OVERRIDE
Fetch vertex count.
Definition: ogr_geometry.h:552
OGR_GT_IsCurve
int OGR_GT_IsCurve(OGRwkbGeometryType)
Return if a geometry type is an instance of Curve.
Definition: ogrgeometry.cpp:6661
OGRSimpleCurve::addSubLineString
void addSubLineString(const OGRLineString *, int nStartVertex=0, int nEndVertex=-1)
Add a segment of another linestring to this one.
Definition: ogrlinestring.cpp:1385
OGRSimpleCurve::addPoint
void addPoint(const OGRPoint *)
Add a point to a line string.
Definition: ogrlinestring.cpp:763
OGR_G_Distance
double OGR_G_Distance(OGRGeometryH, OGRGeometryH)
Compute distance between two geometries.
Definition: ogrgeometry.cpp:3246
OGR_GFld_SetIgnored
void OGR_GFld_SetIgnored(OGRGeomFieldDefnH hDefn, int)
Set whether this field should be omitted when fetching features.
Definition: ogrgeomfielddefn.cpp:415
OGRGeometry::assignSpatialReference
void assignSpatialReference(OGRSpatialReference *poSR)
Assign spatial reference to this object.
Definition: ogrgeometry.cpp:450
OGRGeometry::exportToKML
virtual char * exportToKML() const
Convert a geometry into KML format.
Definition: ogrgeometry.cpp:2798
ogr_feature.h
OGRSimpleCurve::clone
virtual OGRGeometry * clone() const CPL_OVERRIDE
Make a copy of this object.
Definition: ogrlinestring.cpp:126
cpl_conv.h
OGRFeatureDefn::GetGeomFieldIndex
virtual int GetGeomFieldIndex(const char *)
Find geometry field by name.
Definition: ogrfeaturedefn.cpp:842
OGRGeometryCollection::exportToWkt
virtual OGRErr exportToWkt(char **ppszDstText, OGRwkbVariant=wkbVariantOldOgc) const CPL_OVERRIDE
Convert a geometry into well known text format.
Definition: ogrgeometrycollection.cpp:801
wkbNone
@ wkbNone
Definition: ogr_core.h:344
OGR_G_Intersects
int OGR_G_Intersects(OGRGeometryH, OGRGeometryH)
Do these features intersect?
Definition: ogrgeometry.cpp:587
OGR_G_ForceToLineString
OGRGeometryH OGR_G_ForceToLineString(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Convert to line string.
Definition: ogrgeometryfactory.cpp:4059
OGRCurvePolygon::CastToPolygon
static OGRPolygon * CastToPolygon(OGRCurvePolygon *poCP)
Convert to polygon.
Definition: ogrcurvepolygon.cpp:821
wkbPolygon
@ wkbPolygon
Definition: ogr_core.h:319
cpl_string.h
OGR_G_ExportToWkt
OGRErr OGR_G_ExportToWkt(OGRGeometryH, char **)
Convert a geometry into well known text format.
Definition: ogrgeometry.cpp:1748
OGR_G_Set3D
void OGR_G_Set3D(OGRGeometryH, int)
Add or remove the Z coordinate dimension.
Definition: ogrgeometry.cpp:1124
wkbMultiCurveM
@ wkbMultiCurveM
Definition: ogr_core.h:368
OGR_G_Centroid
int OGR_G_Centroid(OGRGeometryH, OGRGeometryH)
Compute the geometry centroid.
Definition: ogrgeometry.cpp:5135
wkbMultiLineString25D
@ wkbMultiLineString25D
Definition: ogr_core.h:398
OGRGeometry::getSpatialReference
OGRSpatialReference * getSpatialReference(void) const
Returns spatial reference system for object.
Definition: ogr_geometry.h:238
OGRGeometryCollection::get_Area
virtual double get_Area() const
Compute area of geometry collection.
Definition: ogrgeometrycollection.cpp:1206
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:420
OGRFeature::SetGeomFieldDirectly
OGRErr SetGeomFieldDirectly(int iField, OGRGeometry *)
Set feature geometry of a specified geometry field.
Definition: ogrfeature.cpp:727
OGRCurve::CastToCompoundCurve
static OGRCompoundCurve * CastToCompoundCurve(OGRCurve *puCurve)
Cast to compound curve.
Definition: ogrcurve.cpp:324
OGRPolyhedralSurface::getGeometryRef
OGRGeometry * getGeometryRef(int i)
Fetch geometry from container.
Definition: ogrpolyhedralsurface.cpp:936
OGRLayer::Reference
int Reference()
Increment layer reference count.
Definition: ogrlayer.cpp:100
OGR_G_GetSpatialReference
OGRSpatialReferenceH OGR_G_GetSpatialReference(OGRGeometryH)
Returns spatial reference system for geometry.
Definition: ogrgeometry.cpp:1929
CPLErrorReset
void CPLErrorReset(void)
Definition: cpl_error.cpp:653
VSI_CALLOC_VERBOSE
#define VSI_CALLOC_VERBOSE(nCount, nSize)
Definition: cpl_vsi.h:269
OGRLayer::ICreateFeature
virtual OGRErr ICreateFeature(OGRFeature *poFeature) CPL_WARN_UNUSED_RESULT
Create and write a new feature within a layer.
Definition: ogrlayer.cpp:634
OGRGeometryCollection::importFromWkb
virtual OGRErr importFromWkb(unsigned char *, int=-1, OGRwkbVariant=wkbVariantOldOgc) CPL_OVERRIDE
Assign geometry from well known binary data.
Definition: ogrgeometrycollection.cpp:590
OGR_G_ConvexHull
OGRGeometryH OGR_G_ConvexHull(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Compute convex hull.
Definition: ogrgeometry.cpp:3494
wkbCompoundCurveM
@ wkbCompoundCurveM
Definition: ogr_core.h:366
OGR_G_Polygonize
OGRGeometryH OGR_G_Polygonize(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Polygonizes a set of sparse edges.
Definition: ogrgeometry.cpp:5689
OGRGeometry::empty
virtual void empty()=0
Clear geometry information. This restores the geometry to it's initial state after construction,...
wkbPolyhedralSurfaceM
@ wkbPolyhedralSurfaceM
Definition: ogr_core.h:372
OGR_G_ImportFromWkt
OGRErr OGR_G_ImportFromWkt(OGRGeometryH, char **)
Assign geometry from well known text data.
Definition: ogrgeometry.cpp:1565
CPLSPrintf
const char * CPLSPrintf(const char *fmt,...)
Definition: cpl_string.cpp:975
OGRGeometryCollection::flattenTo2D
virtual void flattenTo2D() CPL_OVERRIDE
Convert geometry to strictly 2D. In a sense this converts all Z coordinates to 0.0.
Definition: ogrgeometrycollection.cpp:217
OGRGeomFieldDefn::SetName
void SetName(const char *)
Reset the name of this field.
Definition: ogrgeomfielddefn.cpp:174
OGR_G_GetGeometryRef
OGRGeometryH OGR_G_GetGeometryRef(OGRGeometryH, int)
Fetch geometry from a geometry container.
Definition: ogr_api.cpp:1375
OGRFeatureDefn::GetFieldIndex
virtual int GetFieldIndex(const char *)
Find field by name.
Definition: ogrfeaturedefn.cpp:1144
OGR_G_Difference
OGRGeometryH OGR_G_Difference(OGRGeometryH, OGRGeometryH) CPL_WARN_UNUSED_RESULT
Compute difference.
Definition: ogrgeometry.cpp:4245
OGRGeometry::Overlaps
virtual OGRBoolean Overlaps(const OGRGeometry *) const
Test for overlap.
Definition: ogrgeometry.cpp:4896
OGRGeometry::Centroid
virtual OGRErr Centroid(OGRPoint *poPoint) const
Compute the geometry centroid.
Definition: ogrgeometry.cpp:5025
CSLFetchNameValueDef
const char * CSLFetchNameValueDef(const char *const *papszStrList, const char *pszName, const char *pszDefault)
Definition: cpl_string.cpp:1642
wkbSurface
@ wkbSurface
Definition: ogr_core.h:337
OGRFromOGCGeomType
OGRwkbGeometryType OGRFromOGCGeomType(const char *pszGeomType)
Definition: ogrgeometry.cpp:2257
OGRFieldDefnH
void * OGRFieldDefnH
Definition: ogr_api.h:287
OGRPreparedGeometry
struct _OGRPreparedGeometry OGRPreparedGeometry
Definition: ogr_geometry.h:1799
OGRLinearRing::isPointInRing
OGRBoolean isPointInRing(const OGRPoint *pt, int bTestEnvelope=TRUE) const
Definition: ogrlinearring.cpp:588
OGRGeometryCollection::getCurveGeometry
virtual OGRGeometry * getCurveGeometry(const char *const *papszOptions=NULL) const CPL_OVERRIDE
Return curve version of this geometry.
Definition: ogrgeometrycollection.cpp:1337
OGRLinearRing::isClockwise
virtual int isClockwise() const
Returns TRUE if the ring has clockwise winding (or less than 2 points)
Definition: ogrlinearring.cpp:441
OGRLayer::SetSpatialFilterRect
virtual void SetSpatialFilterRect(double dfMinX, double dfMinY, double dfMaxX, double dfMaxY)
Set a new rectangular spatial filter.
Definition: ogrlayer.cpp:1175
OGRGeometryH
void * OGRGeometryH
Definition: ogr_api.h:56
CPLError
void CPLError(CPLErr eErrClass, CPLErrorNum err_no, const char *fmt,...)
Definition: cpl_error.cpp:215
OGRGeomFieldDefn
Definition: ogr_feature.h:141
OGRGeometryFactory::createFromWkt
static OGRErr createFromWkt(char **, OGRSpatialReference *, OGRGeometry **)
Create a geometry object of the appropriate type from it's well known text representation.
Definition: ogrgeometryfactory.cpp:270
CPLParseNameValue
const char * CPLParseNameValue(const char *pszNameValue, char **ppszKey)
Definition: cpl_string.cpp:1750
OGRCompoundCurve::getNumCurves
int getNumCurves() const
Return the number of curves.
Definition: ogrcompoundcurve.cpp:422
OGRFieldDefn::GetNameRef
const char * GetNameRef()
Fetch name of this field.
Definition: ogr_feature.h:83
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:3871
OGRCoordinateTransformation::GetSourceCS
virtual OGRSpatialReference * GetSourceCS()=0
wkbLinearRing
@ wkbLinearRing
Definition: ogr_core.h:345
VSIFree
void VSIFree(void *)
Definition: cpl_vsisimple.cpp:817
OGRCompoundCurve::getCurve
OGRCurve * getCurve(int)
Fetch reference to indicated internal ring.
Definition: ogrcompoundcurve.cpp:446
OGRSimpleCurve::setPoints
void setPoints(int, OGRRawPoint *, double *=NULL)
Assign all points in a line string.
Definition: ogrlinestring.cpp:985
CPLE_NotSupported
#define CPLE_NotSupported
Definition: cpl_error.h:110
OGRERR_NOT_ENOUGH_DATA
#define OGRERR_NOT_ENOUGH_DATA
Definition: ogr_core.h:288
GEOSGeom
struct GEOSGeom_t * GEOSGeom
Definition: ogr_geometry.h:63
OGRERR_CORRUPT_DATA
#define OGRERR_CORRUPT_DATA
Definition: ogr_core.h:292
OGRCoordinateTransformation
Definition: ogr_spatialref.h:591
OGRLayer::Intersection
OGRErr Intersection(OGRLayer *pLayerMethod, OGRLayer *pLayerResult, char **papszOptions=NULL, GDALProgressFunc pfnProgress=NULL, void *pProgressArg=NULL)
Intersection of two layers.
Definition: ogrlayer.cpp:2045
OGRSimpleCurve::getZ
double getZ(int i) const
Get Z at vertex.
Definition: ogrlinestring.cpp:368
OGRCurve::get_IsClosed
virtual int get_IsClosed() const
Return TRUE if curve is closed.
Definition: ogrcurve.cpp:97
OGRGeometry::getDimension
virtual int getDimension() const =0
Get the dimension of this object.
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:827
OGRMultiSurface::hasCurveGeometry
virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear=FALSE) const CPL_OVERRIDE
Returns if this geometry is or has curve geometry.
Definition: ogrmultisurface.cpp:278
OGRGeomFieldDefn::GetNameRef
const char * GetNameRef()
Fetch name of this field.
Definition: ogr_feature.h:162
OGRErr
int OGRErr
Definition: ogr_core.h:285
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:1628
wkbCompoundCurveZ
@ wkbCompoundCurveZ
Definition: ogr_core.h:348
OGR_G_IsRing
int OGR_G_IsRing(OGRGeometryH)
Test if the geometry is a ring.
Definition: ogrgeometry.cpp:2241
OGRGeometry::segmentize
virtual void segmentize(double dfMaxLength)
Modify the geometry such it has no segment longer then the given distance.
Definition: ogrgeometry.cpp:804
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:1353
OGRGeometry::freeGEOSContext
static void freeGEOSContext(GEOSContextHandle_t hGEOSCtxt)
Definition: ogrgeometry.cpp:2887
M_PI
#define M_PI
Definition: cpl_port.h:470
OGR_G_GetGeometryType
OGRwkbGeometryType OGR_G_GetGeometryType(OGRGeometryH)
Fetch geometry type.
Definition: ogrgeometry.cpp:1820
GIntBig
long long GIntBig
Definition: cpl_port.h:250
wkbCurveZ
@ wkbCurveZ
Definition: ogr_core.h:352
OGR_GT_HasZ
int OGR_GT_HasZ(OGRwkbGeometryType eType)
Return if the geometry type is a 3D geometry type.
Definition: ogrgeometry.cpp:6327
OGR_G_Clone
OGRGeometryH OGR_G_Clone(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Make a copy of this object.
Definition: ogrgeometry.cpp:1892
OGRCurvePolygon::getExteriorRingCurve
OGRCurve * getExteriorRingCurve()
Fetch reference to external polygon ring.
Definition: ogrcurvepolygon.cpp:205
OGR_L_SetNextByIndex
OGRErr OGR_L_SetNextByIndex(OGRLayerH, GIntBig)
Move read cursor to the nIndex'th feature in the current resultset.
Definition: ogrlayer.cpp:522
OGRCurvePolygon::getNumInteriorRings
int getNumInteriorRings() const
Fetch the number of internal rings.
Definition: ogrcurvepolygon.cpp:242
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:4501
VSI_MALLOC_VERBOSE
#define VSI_MALLOC_VERBOSE(size)
Definition: cpl_vsi.h:254
OGRwkbGeometryType
OGRwkbGeometryType
Definition: ogr_core.h:312
OGR_G_ExportToWkb
OGRErr OGR_G_ExportToWkb(OGRGeometryH, OGRwkbByteOrder, unsigned char *)
Convert a geometry well known binary format.
Definition: ogrgeometry.cpp:1473
CPL_UNUSED
#define CPL_UNUSED
Definition: cpl_port.h:1008
OGRLayer::Erase
OGRErr Erase(OGRLayer *pLayerMethod, OGRLayer *pLayerResult, char **papszOptions=NULL, GDALProgressFunc pfnProgress=NULL, void *pProgressArg=NULL)
Remove areas that are covered by the method layer.
Definition: ogrlayer.cpp:4216
OGR_GT_HasM
int OGR_GT_HasM(OGRwkbGeometryType eType)
Return if the geometry type is a measured type.
Definition: ogrgeometry.cpp:6351
wkbTINZ
@ wkbTINZ
Definition: ogr_core.h:355
OGR_L_GetFeatureCount
GIntBig OGR_L_GetFeatureCount(OGRLayerH, int)
Fetch the feature count in this layer.
Definition: ogrlayer.cpp:190
OGRTriangle
Definition: ogr_geometry.h:1247
OGRGeometryTypeToName
const char * OGRGeometryTypeToName(OGRwkbGeometryType eType)
Fetch a human readable name corresponding to an OGRwkbGeometryType value. The returned value should n...
Definition: ogrgeometry.cpp:2391
OGR_L_SetAttributeFilter
OGRErr OGR_L_SetAttributeFilter(OGRLayerH, const char *)
Set a new attribute query.
Definition: ogrlayer.cpp:428
OGRFeature
Definition: ogr_feature.h:279
cpl_port.h
OGRPoint::setY
void setY(double yIn)
Assign point Y coordinate.
Definition: ogr_geometry.h:379
OGRStyleTable::Clone
OGRStyleTable * Clone()
Duplicate style table.
Definition: ogrfeaturestyle.cpp:1209
OGRGeometryFactory::createFromGML
static OGRGeometry * createFromGML(const char *)
Create geometry from GML.
Definition: ogrgeometryfactory.cpp:1964
OGRGeomFieldDefn::GetType
OGRwkbGeometryType GetType() const
Fetch geometry type of this field.
Definition: ogr_feature.h:164
OGR_G_ForceToMultiPoint
OGRGeometryH OGR_G_ForceToMultiPoint(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Convert to multipoint.
Definition: ogrgeometryfactory.cpp:973
OGRPolygon::closeRings
virtual void closeRings() CPL_OVERRIDE
Force rings to be closed.
Definition: ogrpolygon.cpp:791
OGRGeometry::Polygonize
virtual OGRGeometry * Polygonize() const CPL_WARN_UNUSED_RESULT
Polygonizes a set of sparse edges.
Definition: ogrgeometry.cpp:5585
EQUALN
#define EQUALN(a, b, n)
Definition: cpl_port.h:620
ogr_api.h
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=NULL)
Converts an arc circle into an approximate line string.
Definition: ogrgeometryfactory.cpp:4741
OGR_L_SetStyleTableDirectly
void OGR_L_SetStyleTableDirectly(OGRLayerH, OGRStyleTableH)
Definition: ogrlayer.cpp:1689
wkbTriangleZM
@ wkbTriangleZM
Definition: ogr_core.h:392
OGRPoint::getZ
double getZ() const
Fetch Z coordinate.
Definition: ogr_geometry.h:366
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:383
wkbXDR
@ wkbXDR
Definition: ogr_core.h:481
OGRCurvePolygon::addRing
virtual OGRErr addRing(OGRCurve *)
Add a ring to a polygon.
Definition: ogrcurvepolygon.cpp:338
OGRGeomFieldDefn::SetNullable
void SetNullable(int bNullableIn)
Set whether this geometry field can receive null values.
Definition: ogr_feature.h:174
OGR_G_Contains
int OGR_G_Contains(OGRGeometryH, OGRGeometryH)
Test for containment.
Definition: ogrgeometry.cpp:4864
OGRGeometry::WkbSize
virtual int WkbSize() const =0
Returns size of related binary representation.
OGRGeometry::IsMeasured
OGRBoolean IsMeasured() const
Definition: ogr_geometry.h:187
OGR_G_Touches
int OGR_G_Touches(OGRGeometryH, OGRGeometryH)
Test for touching.
Definition: ogrgeometry.cpp:4583
OGR_G_GetGeometryName
const char * OGR_G_GetGeometryName(OGRGeometryH)
Fetch WKT name for geometry type.
Definition: ogrgeometry.cpp:1856
wkbGeometryCollection25D
@ wkbGeometryCollection25D
Definition: ogr_core.h:400
OGR_G_CreateFromWkt
OGRErr OGR_G_CreateFromWkt(char **, OGRSpatialReferenceH, OGRGeometryH *)
Create a geometry object of the appropriate type from it's well known text representation.
Definition: ogrgeometryfactory.cpp:411
OGRCurve
Definition: ogr_geometry.h:433
OGRPoint::getY
double getY() const
Fetch Y coordinate.
Definition: ogr_geometry.h:364
OGRFeatureDefn::SetGeometryIgnored
virtual void SetGeometryIgnored(int bIgnore)
Set whether the geometry can be omitted when fetching features.
Definition: ogrfeaturedefn.cpp:1253
OGRGeometry::getLinearGeometry
virtual OGRGeometry * getLinearGeometry(double dfMaxAngleStepSizeDegrees=0, const char *const *papszOptions=NULL) const CPL_WARN_UNUSED_RESULT
Return, possibly approximate, non-curve version of this geometry.
Definition: ogrgeometry.cpp:3081
wkbGeometryCollection
@ wkbGeometryCollection
Definition: ogr_core.h:325
GEOSContextHandle_t
struct GEOSContextHandle_HS * GEOSContextHandle_t
Definition: ogr_geometry.h:65
OGR_G_CreateGeometry
OGRGeometryH OGR_G_CreateGeometry(OGRwkbGeometryType) CPL_WARN_UNUSED_RESULT
Create an empty geometry of desired type.
Definition: ogrgeometryfactory.cpp:519
CPLErr
CPLErr
Definition: cpl_error.h:52
wkbMultiCurveZ
@ wkbMultiCurveZ
Definition: ogr_core.h:350
OGRFeatureDefn::GetGeomType
virtual OGRwkbGeometryType GetGeomType()
Fetch the geometry base type.
Definition: ogrfeaturedefn.cpp:910
OGR_G_Overlaps
int OGR_G_Overlaps(OGRGeometryH, OGRGeometryH)
Test for overlap.
Definition: ogrgeometry.cpp:4949
OGR_G_ForceToMultiPolygon
OGRGeometryH OGR_G_ForceToMultiPolygon(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Convert to multipolygon.
Definition: ogrgeometryfactory.cpp:875
OGRLayer::SetNextByIndex
virtual OGRErr SetNextByIndex(GIntBig nIndex)
Move read cursor to the nIndex'th feature in the current resultset.
Definition: ogrlayer.cpp:497
OGRGeometry::transform
virtual OGRErr transform(OGRCoordinateTransformation *poCT)=0
Apply arbitrary coordinate transformation to geometry.
wkbPolyhedralSurfaceZ
@ wkbPolyhedralSurfaceZ
Definition: ogr_core.h:354
wkbMultiCurve
@ wkbMultiCurve
Definition: ogr_core.h:334
OGR_G_SetMeasured
void OGR_G_SetMeasured(OGRGeometryH, int)
Add or remove the M coordinate dimension.
Definition: ogrgeometry.cpp:1151
OGRLayer::SetIgnoredFields
virtual OGRErr SetIgnoredFields(const char **papszFields)
Set which fields can be omitted when retrieving features from the layer.
Definition: ogrlayer.cpp:1780
GBool
int GBool
Definition: cpl_port.h:215
OGRGeometryCollection::closeRings
void closeRings() CPL_OVERRIDE
Force rings to be closed.
Definition: ogrgeometrycollection.cpp:1083
wkbMultiPolygonM
@ wkbMultiPolygonM
Definition: ogr_core.h:363
OGRGeometryFactory::haveGEOS
static bool haveGEOS()
Test if GEOS enabled.
Definition: ogrgeometryfactory.cpp:2059
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:4146
wkbLineString25D
@ wkbLineString25D
Definition: ogr_core.h:395
OGR_G_Buffer
OGRGeometryH OGR_G_Buffer(OGRGeometryH, double, int) CPL_WARN_UNUSED_RESULT
Compute buffer of geometry.
Definition: ogrgeometry.cpp:3736
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:1598
OGRLinearRing
Definition: ogr_geometry.h:684
wkbGeometryCollectionZM
@ wkbGeometryCollectionZM
Definition: ogr_core.h:382
OGR_L_GetSpatialRef
OGRSpatialReferenceH OGR_L_GetSpatialRef(OGRLayerH)
Fetch the spatial reference system for this layer.
Definition: ogrlayer.cpp:1044
OGRGeometryCollection::transform
virtual OGRErr transform(OGRCoordinateTransformation *poCT) CPL_OVERRIDE
Apply arbitrary coordinate transformation to geometry.
Definition: ogrgeometrycollection.cpp:1052
OGRERR_NONE
#define OGRERR_NONE
Definition: ogr_core.h:287
CPLStrdup
char * CPLStrdup(const char *)
Definition: cpl_conv.cpp:284
OGRGeometryFactory::destroyGeometry
static void destroyGeometry(OGRGeometry *)
Destroy geometry object.
Definition: ogrgeometryfactory.cpp:541
OGRGeomFieldDefn::GetSpatialRef
virtual OGRSpatialReference * GetSpatialRef()
Fetch spatial reference system of this field.
Definition: ogrgeomfielddefn.cpp:435
OGRFeatureDefn
Definition: ogr_feature.h:207
OGRLayer::GetGeomType
virtual OGRwkbGeometryType GetGeomType()
Return the layer geometry type.
Definition: ogrlayer.cpp:1743
wkbMultiSurfaceZ
@ wkbMultiSurfaceZ
Definition: ogr_core.h:351
CPLGetLastErrorType
CPLErr CPLGetLastErrorType(void)
Definition: cpl_error.cpp:764
OGRCurve::CastToLinearRing
static OGRLinearRing * CastToLinearRing(OGRCurve *poCurve)
Cast to linear ring.
Definition: ogrcurve.cpp:377
OGR_L_GetSpatialFilter
OGRGeometryH OGR_L_GetSpatialFilter(OGRLayerH)
This function returns the current spatial filter for this layer.
Definition: ogrlayer.cpp:1089
OGR_GFld_Destroy
void OGR_GFld_Destroy(OGRGeomFieldDefnH)
Destroy a geometry field definition.
Definition: ogrgeomfielddefn.cpp:152
OGRLayer::ISetFeature
virtual OGRErr ISetFeature(OGRFeature *poFeature) CPL_WARN_UNUSED_RESULT
Rewrite an existing feature.
Definition: ogrlayer.cpp:595
OGRGeometryFactory::forceToMultiPoint
static OGRGeometry * forceToMultiPoint(OGRGeometry *)
Convert to multipoint.
Definition: ogrgeometryfactory.cpp:898
OGRGetNonLinearGeometriesEnabledFlag
int OGRGetNonLinearGeometriesEnabledFlag(void)
Get flag to enable/disable returning non-linear geometries in the C API.
Definition: ogr_api.cpp:1925
CPLE_IllegalArg
#define CPLE_IllegalArg
Definition: cpl_error.h:108
OGRToOGCGeomType
const char * OGRToOGCGeomType(OGRwkbGeometryType eGeomType)
Definition: ogrgeometry.cpp:2330
OGRRawPoint::y
double y
Definition: ogr_geometry.h:59
CPLBinaryToHex
char * CPLBinaryToHex(int nBytes, const GByte *pabyData)
Definition: cpl_string.cpp:2444
wkbTriangle
@ wkbTriangle
Definition: ogr_core.h:342
OGRLayer::SetAttributeFilter
virtual OGRErr SetAttributeFilter(const char *)
Set a new attribute query.
Definition: ogrlayer.cpp:337
OGRGeometryCollection::setCoordinateDimension
virtual void setCoordinateDimension(int nDimension) CPL_OVERRIDE
Set the coordinate dimension.
Definition: ogrgeometrycollection.cpp:1106
wkbLineString
@ wkbLineString
Definition: ogr_core.h:317
OGRGeometry::dumpReadable
virtual void dumpReadable(FILE *, const char *=NULL, char **papszOptions=NULL) const
Dump geometry in well known text format to indicated output file.
Definition: ogrgeometry.cpp:172
OGR_G_GetDimension
int OGR_G_GetDimension(OGRGeometryH)
Get the dimension of this geometry.
Definition: ogrgeometry.cpp:858
OGRPolygon::exportToWkt
virtual OGRErr exportToWkt(char **ppszDstText, OGRwkbVariant=wkbVariantOldOgc) const CPL_OVERRIDE
Convert a geometry into well known text format.
Definition: ogrpolygon.cpp:614
OGRGeometry::Distance
virtual double Distance(const OGRGeometry *) const
Compute distance between two geometries.
Definition: ogrgeometry.cpp:3144
OGRSimpleCurve::StartPoint
virtual void StartPoint(OGRPoint *) const CPL_OVERRIDE
Return the curve start point.
Definition: ogrlinestring.cpp:1915
OGRFeature::GetGeomFieldRef
OGRGeometry * GetGeomFieldRef(int iField)
Fetch pointer to feature geometry.
Definition: ogrfeature.cpp:630
OGRPolygon
Definition: ogr_geometry.h:1162
OGRPoint::getGeometryType
virtual OGRwkbGeometryType getGeometryType() const CPL_OVERRIDE
Fetch geometry type.
Definition: ogrpoint.cpp:222
OGRTriangulatedSurface
Definition: ogr_geometry.h:1570
OGRGeometry::ConvexHull
virtual OGRGeometry * ConvexHull() const CPL_WARN_UNUSED_RESULT
Compute convex hull.
Definition: ogrgeometry.cpp:3403
wkbMultiLineString
@ wkbMultiLineString
Definition: ogr_core.h:323
OGRCurvePolygon
Definition: ogr_geometry.h:1051
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:446
OGRLayer::SetStyleTableDirectly
virtual void SetStyleTableDirectly(OGRStyleTable *poStyleTable)
Set layer style table.
Definition: ogrlayer.cpp:1654
OGRCurvePolygon::getInteriorRingCurve
OGRCurve * getInteriorRingCurve(int)
Fetch reference to indicated internal ring.
Definition: ogrcurvepolygon.cpp:270
OGRLayer::TestCapability
virtual int TestCapability(const char *)=0
Test if this layer supported the named capability.
OGRMultiLineString::CastToMultiCurve
static OGRMultiCurve * CastToMultiCurve(OGRMultiLineString *poMLS)
Cast to multicurve.
Definition: ogrmultilinestring.cpp:168
OGRGeometryCollection::addGeometry
virtual OGRErr addGeometry(const OGRGeometry *)
Add a geometry to the container.
Definition: ogrgeometrycollection.cpp:333
wkbCurveZM
@ wkbCurveZM
Definition: ogr_core.h:388
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:231
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:838
OGR_L_Union
OGRErr OGR_L_Union(OGRLayerH, OGRLayerH, OGRLayerH, char **, GDALProgressFunc, void *)
Union of two layers.
Definition: ogrlayer.cpp:2808
OGRGeometry::Touches
virtual OGRBoolean Touches(const OGRGeometry *) const
Test for touching.
Definition: ogrgeometry.cpp:4530
OGRLayerH
void * OGRLayerH
Definition: ogr_api.h:497
OGR_GFld_Create
OGRGeomFieldDefnH OGR_GFld_Create(const char *, OGRwkbGeometryType) CPL_WARN_UNUSED_RESULT
Create a new field geometry definition.
Definition: ogrgeomfielddefn.cpp:103
OGR_L_Intersection
OGRErr OGR_L_Intersection(OGRLayerH, OGRLayerH, OGRLayerH, char **, GDALProgressFunc, void *)
Intersection of two layers.
Definition: ogrlayer.cpp:2328
GUInt16
unsigned short GUInt16
Definition: cpl_port.h:205
wkbMultiLineStringM
@ wkbMultiLineStringM
Definition: ogr_core.h:362
OGRERR_INVALID_HANDLE
#define OGRERR_INVALID_HANDLE
Definition: ogr_core.h:295
OGRGeometryFactory::createFromFgf
static OGRErr createFromFgf(unsigned char *, OGRSpatialReference *, OGRGeometry **, int=-1, int *=NULL)
Create a geometry object of the appropriate type from it's FGF (FDO Geometry Format) binary represent...
Definition: ogrgeometryfactory.cpp:2096
OGRLayer::SetFeature
OGRErr SetFeature(OGRFeature *poFeature) CPL_WARN_UNUSED_RESULT
Rewrite an existing feature.
Definition: ogrlayer.cpp:584
OGRCurvePolygon::CurvePolyToPoly
virtual OGRPolygon * CurvePolyToPoly(double dfMaxAngleStepSizeDegrees=0, const char *const *papszOptions=NULL) const
Return a polygon from a curve polygon.
Definition: ogrcurvepolygon.cpp:553
OGR_GT_SetZ
OGRwkbGeometryType OGR_GT_SetZ(OGRwkbGeometryType eType)
Returns the 3D geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:6373
OGRLayer::SyncToDisk
virtual OGRErr SyncToDisk()
Flush pending changes to disk.
Definition: ogrlayer.cpp:1511
CPLFree
#define CPLFree
Definition: cpl_conv.h:81
OGRGeometry::Within
virtual OGRBoolean Within(const OGRGeometry *) const
Test for containment.
Definition: ogrgeometry.cpp:4729
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:3769
wkbUnknown
@ wkbUnknown
Definition: ogr_core.h:314
OGRSimpleCurve::reversePoints
void reversePoints(void)
Reverse point order.
Definition: ogrlinestring.cpp:1347
wkbTIN
@ wkbTIN
Definition: ogr_core.h:340
GInt32
int GInt32
Definition: cpl_port.h:197
OGRGeometry::setMeasured
virtual void setMeasured(OGRBoolean bIsMeasured)
Add or remove the M coordinate dimension.
Definition: ogrgeometry.cpp:1068
OGRGeomFieldDefn::OGRGeomFieldDefn
OGRGeomFieldDefn(const char *pszNameIn, OGRwkbGeometryType eGeomTypeIn)
Constructor.
Definition: ogrgeomfielddefn.cpp:58
OGRLayer::FindFieldIndex
virtual int FindFieldIndex(const char *pszFieldName, int bExactMatch)
Find the index of field in the layer.
Definition: ogrlayer.cpp:1023
CPLHexToBinary
GByte * CPLHexToBinary(const char *pszHex, int *pnBytes)
Definition: cpl_string.cpp:2502
OGRwkbVariant
OGRwkbVariant
Definition: ogr_core.h:418
OGRFeature::GetFID
GIntBig GetFID() const
Get feature identifier.
Definition: ogr_feature.h:435
OGRCurvePolygon::stealExteriorRingCurve
OGRCurve * stealExteriorRingCurve()
"Steal" reference to external ring.
Definition: ogrcurvepolygon.cpp:311
wkbPointM
@ wkbPointM
Definition: ogr_core.h:358
wkbMultiPoint
@ wkbMultiPoint
Definition: ogr_core.h:322
wkbSurfaceZ
@ wkbSurfaceZ
Definition: ogr_core.h:353
OGRPoint::getX
double getX() const
Fetch X coordinate.
Definition: ogr_geometry.h:362
CPLGetConfigOption
const char * CPLGetConfigOption(const char *, const char *)
Definition: cpl_conv.cpp:1625
OGR_L_CreateField
OGRErr OGR_L_CreateField(OGRLayerH, OGRFieldDefnH, int)
Create a new field on a layer.
Definition: ogrlayer.cpp:678
OGRGeometry::getIsoGeometryType
OGRwkbGeometryType getIsoGeometryType() const
Get the geometry type that conforms with ISO SQL/MM Part3.
Definition: ogrgeometry.cpp:776
OGR_G_ForceToPolygon
OGRGeometryH OGR_G_ForceToPolygon(OGRGeometryH) CPL_WARN_UNUSED_RESULT
Convert to polygon.
Definition: ogrgeometryfactory.cpp:708
OGRCurve::get_Area
virtual double get_Area() const =0
Get the area of the (closed) curve.
OGR_G_CreateFromWkb
OGRErr OGR_G_CreateFromWkb(unsigned char *, OGRSpatialReferenceH, OGRGeometryH *, int)
Create a geometry object of the appropriate type from it's well known binary representation.
Definition: ogrgeometryfactory.cpp:218
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:1307
OGRSimpleCurve::exportToWkt
virtual OGRErr exportToWkt(char **ppszDstText, OGRwkbVariant=wkbVariantOldOgc) const CPL_OVERRIDE
Convert a geometry into well known text format.
Definition: ogrlinestring.cpp:1797
OGR_G_IsSimple
int OGR_G_IsSimple(OGRGeometryH)
Returns TRUE if the geometry is simple.
Definition: ogrgeometry.cpp:2169
OLCMeasuredGeometries
#define OLCMeasuredGeometries
Definition: ogr_core.h:739
OGRGeometryCollection::hasCurveGeometry
virtual OGRBoolean hasCurveGeometry(int bLookForNonLinear=FALSE) const CPL_OVERRIDE
Returns if this geometry is or has curve geometry.
Definition: ogrgeometrycollection.cpp:1299
OGRGeometry::createGEOSContext
static GEOSContextHandle_t createGEOSContext()
Definition: ogrgeometry.cpp:2869
OGR_G_WkbSize
int OGR_G_WkbSize(OGRGeometryH hGeom)
Returns size of related binary representation.
Definition: ogrgeometry.cpp:1285
STARTS_WITH_CI
#define STARTS_WITH_CI(a, b)
Definition: cpl_port.h:633
CPLE_AppDefined
#define CPLE_AppDefined
Definition: cpl_error.h:100
OGRGeometry::Distance3D
virtual double Distance3D(const OGRGeometry *poOtherGeom) const
Returns the 3D distance between two geometries.
Definition: ogrgeometry.cpp:3276
GUInt32
unsigned int GUInt32
Definition: cpl_port.h:199
OGRGeomFieldDefn::IsSame
int IsSame(OGRGeomFieldDefn *)
Test if the geometry field definition is identical to the other one.
Definition: ogrgeomfielddefn.cpp:536
OGR_G_TransformTo
OGRErr OGR_G_TransformTo(OGRGeometryH, OGRSpatialReferenceH)
Transform geometry to new spatial reference system.
Definition: ogrgeometry.cpp:687

Generated for GDAL by doxygen 1.8.17.