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