OGR
Classes | Macros | Typedefs | Enumerations | Functions
ogr_core.h File Reference
#include "cpl_port.h"
#include "gdal_version.h"

Go to the source code of this file.

Classes

union  OGRField
 

Macros

#define OGRERR_NONE   0
 
#define OGRERR_NOT_ENOUGH_DATA   1
 
#define OGRERR_NOT_ENOUGH_MEMORY   2
 
#define OGRERR_UNSUPPORTED_GEOMETRY_TYPE   3
 
#define OGRERR_UNSUPPORTED_OPERATION   4
 
#define OGRERR_CORRUPT_DATA   5
 
#define OGRERR_FAILURE   6
 
#define OGRERR_UNSUPPORTED_SRS   7
 
#define OGRERR_INVALID_HANDLE   8
 
#define OGRERR_NON_EXISTING_FEATURE   9
 
#define wkb25DBit   0x80000000
 
#define wkbFlatten(x)   OGR_GT_Flatten((OGRwkbGeometryType)(x))
 
#define wkbHasZ(x)   (OGR_GT_HasZ(x) != 0)
 
#define wkbSetZ(x)   OGR_GT_SetZ(x)
 
#define wkbHasM(x)   (OGR_GT_HasM(x) != 0)
 
#define wkbSetM(x)   OGR_GT_SetM(x)
 
#define ALTER_NAME_FLAG   0x1
 
#define ALTER_TYPE_FLAG   0x2
 
#define ALTER_WIDTH_PRECISION_FLAG   0x4
 
#define ALTER_NULLABLE_FLAG   0x8
 
#define ALTER_DEFAULT_FLAG   0x10
 
#define ALTER_ALL_FLAG   (ALTER_NAME_FLAG | ALTER_TYPE_FLAG | ALTER_WIDTH_PRECISION_FLAG | ALTER_NULLABLE_FLAG | ALTER_DEFAULT_FLAG)
 
#define OGR_F_VAL_NULL   0x00000001
 
#define OGR_F_VAL_GEOM_TYPE   0x00000002
 
#define OGR_F_VAL_WIDTH   0x00000004
 
#define OGR_F_VAL_ALLOW_NULL_WHEN_DEFAULT   0x00000008
 
#define OGR_F_VAL_ALLOW_DIFFERENT_GEOM_DIM   0x00000010
 
#define OGR_F_VAL_ALL   (0x7FFFFFFF & ~OGR_F_VAL_ALLOW_DIFFERENT_GEOM_DIM)
 
#define OGRNullFID   -1
 
#define OGRUnsetMarker   -21121
 
#define OGRNullMarker   -21122
 
#define OGR_GET_MS(floatingpoint_sec)   (int)(((floatingpoint_sec) - (int)(floatingpoint_sec)) * 1000 + 0.5)
 
#define OLCRandomRead   "RandomRead"
 
#define OLCSequentialWrite   "SequentialWrite"
 
#define OLCRandomWrite   "RandomWrite"
 
#define OLCFastSpatialFilter   "FastSpatialFilter"
 
#define OLCFastFeatureCount   "FastFeatureCount"
 
#define OLCFastGetExtent   "FastGetExtent"
 
#define OLCCreateField   "CreateField"
 
#define OLCDeleteField   "DeleteField"
 
#define OLCReorderFields   "ReorderFields"
 
#define OLCAlterFieldDefn   "AlterFieldDefn"
 
#define OLCTransactions   "Transactions"
 
#define OLCDeleteFeature   "DeleteFeature"
 
#define OLCFastSetNextByIndex   "FastSetNextByIndex"
 
#define OLCStringsAsUTF8   "StringsAsUTF8"
 
#define OLCIgnoreFields   "IgnoreFields"
 
#define OLCCreateGeomField   "CreateGeomField"
 
#define OLCCurveGeometries   "CurveGeometries"
 
#define OLCMeasuredGeometries   "MeasuredGeometries"
 
#define ODsCCreateLayer   "CreateLayer"
 
#define ODsCDeleteLayer   "DeleteLayer"
 
#define ODsCCreateGeomFieldAfterCreateLayer   "CreateGeomFieldAfterCreateLayer"
 
#define ODsCCurveGeometries   "CurveGeometries"
 
#define ODsCTransactions   "Transactions"
 
#define ODsCEmulatedTransactions   "EmulatedTransactions"
 
#define ODsCMeasuredGeometries   "MeasuredGeometries"
 
#define ODsCRandomLayerRead   "RandomLayerRead"
 
#define ODsCRandomLayerWrite   "RandomLayerWrite "
 
#define ODrCCreateDataSource   "CreateDataSource"
 
#define ODrCDeleteDataSource   "DeleteDataSource"
 
#define OLMD_FID64   "OLMD_FID64"
 

Typedefs

typedef int OGRErr
 
typedef int OGRBoolean
 
typedef enum ogr_style_tool_class_id OGRSTClassId
 
typedef enum ogr_style_tool_units_id OGRSTUnitId
 
typedef enum ogr_style_tool_param_pen_id OGRSTPenParam
 
typedef enum ogr_style_tool_param_brush_id OGRSTBrushParam
 
typedef enum ogr_style_tool_param_symbol_id OGRSTSymbolParam
 
typedef enum ogr_style_tool_param_label_id OGRSTLabelParam
 

Enumerations

enum  OGRwkbGeometryType {
  wkbUnknown = 0, wkbPoint = 1, wkbLineString = 2, wkbPolygon = 3,
  wkbMultiPoint = 4, wkbMultiLineString = 5, wkbMultiPolygon = 6, wkbGeometryCollection = 7,
  wkbCircularString = 8, wkbCompoundCurve = 9, wkbCurvePolygon = 10, wkbMultiCurve = 11,
  wkbMultiSurface = 12, wkbCurve = 13, wkbSurface = 14, wkbPolyhedralSurface = 15,
  wkbTIN = 16, wkbTriangle = 17, wkbNone = 100, wkbLinearRing = 101,
  wkbCircularStringZ = 1008, wkbCompoundCurveZ = 1009, wkbCurvePolygonZ = 1010, wkbMultiCurveZ = 1011,
  wkbMultiSurfaceZ = 1012, wkbCurveZ = 1013, wkbSurfaceZ = 1014, wkbPolyhedralSurfaceZ = 1015,
  wkbTINZ = 1016, wkbTriangleZ = 1017, wkbPointM = 2001, wkbLineStringM = 2002,
  wkbPolygonM = 2003, wkbMultiPointM = 2004, wkbMultiLineStringM = 2005, wkbMultiPolygonM = 2006,
  wkbGeometryCollectionM = 2007, wkbCircularStringM = 2008, wkbCompoundCurveM = 2009, wkbCurvePolygonM = 2010,
  wkbMultiCurveM = 2011, wkbMultiSurfaceM = 2012, wkbCurveM = 2013, wkbSurfaceM = 2014,
  wkbPolyhedralSurfaceM = 2015, wkbTINM = 2016, wkbTriangleM = 2017, wkbPointZM = 3001,
  wkbLineStringZM = 3002, wkbPolygonZM = 3003, wkbMultiPointZM = 3004, wkbMultiLineStringZM = 3005,
  wkbMultiPolygonZM = 3006, wkbGeometryCollectionZM = 3007, wkbCircularStringZM = 3008, wkbCompoundCurveZM = 3009,
  wkbCurvePolygonZM = 3010, wkbMultiCurveZM = 3011, wkbMultiSurfaceZM = 3012, wkbCurveZM = 3013,
  wkbSurfaceZM = 3014, wkbPolyhedralSurfaceZM = 3015, wkbTINZM = 3016, wkbTriangleZM = 3017,
  wkbPoint25D = 0x80000001, wkbLineString25D = 0x80000002, wkbPolygon25D = 0x80000003, wkbMultiPoint25D = 0x80000004,
  wkbMultiLineString25D = 0x80000005, wkbMultiPolygon25D = 0x80000006, wkbGeometryCollection25D = 0x80000007
}
 
enum  OGRwkbVariant { wkbVariantOldOgc, wkbVariantIso, wkbVariantPostGIS1 }
 
enum  OGRwkbByteOrder { wkbXDR = 0, wkbNDR = 1 }
 
enum  OGRFieldType {
  OFTInteger = 0, OFTIntegerList = 1, OFTReal = 2, OFTRealList = 3,
  OFTString = 4, OFTStringList = 5, OFTWideString = 6, OFTWideStringList = 7,
  OFTBinary = 8, OFTDate = 9, OFTTime = 10, OFTDateTime = 11,
  OFTInteger64 = 12, OFTInteger64List = 13
}
 
enum  OGRFieldSubType { OFSTNone = 0, OFSTBoolean = 1, OFSTInt16 = 2, OFSTFloat32 = 3 }
 
enum  OGRJustification
 
enum  ogr_style_tool_class_id {
  OGRSTCNone = 0, OGRSTCPen = 1, OGRSTCBrush = 2, OGRSTCSymbol = 3,
  OGRSTCLabel = 4, OGRSTCVector = 5
}
 
enum  ogr_style_tool_units_id {
  OGRSTUGround = 0, OGRSTUPixel = 1, OGRSTUPoints = 2, OGRSTUMM = 3,
  OGRSTUCM = 4, OGRSTUInches = 5
}
 
enum  ogr_style_tool_param_pen_id {
  OGRSTPenColor = 0, OGRSTPenWidth = 1, OGRSTPenPattern = 2, OGRSTPenId = 3,
  OGRSTPenPerOffset = 4, OGRSTPenCap = 5, OGRSTPenJoin = 6, OGRSTPenPriority = 7
}
 
enum  ogr_style_tool_param_brush_id {
  OGRSTBrushFColor = 0, OGRSTBrushBColor = 1, OGRSTBrushId = 2, OGRSTBrushAngle = 3,
  OGRSTBrushSize = 4, OGRSTBrushDx = 5, OGRSTBrushDy = 6, OGRSTBrushPriority = 7
}
 
enum  ogr_style_tool_param_symbol_id {
  OGRSTSymbolId = 0, OGRSTSymbolAngle = 1, OGRSTSymbolColor = 2, OGRSTSymbolSize = 3,
  OGRSTSymbolDx = 4, OGRSTSymbolDy = 5, OGRSTSymbolStep = 6, OGRSTSymbolPerp = 7,
  OGRSTSymbolOffset = 8, OGRSTSymbolPriority = 9, OGRSTSymbolFontName = 10, OGRSTSymbolOColor = 11
}
 
enum  ogr_style_tool_param_label_id {
  OGRSTLabelFontName = 0, OGRSTLabelSize = 1, OGRSTLabelTextString = 2, OGRSTLabelAngle = 3,
  OGRSTLabelFColor = 4, OGRSTLabelBColor = 5, OGRSTLabelPlacement = 6, OGRSTLabelAnchor = 7,
  OGRSTLabelDx = 8, OGRSTLabelDy = 9, OGRSTLabelPerp = 10, OGRSTLabelBold = 11,
  OGRSTLabelItalic = 12, OGRSTLabelUnderline = 13, OGRSTLabelPriority = 14, OGRSTLabelStrikeout = 15,
  OGRSTLabelStretch = 16, OGRSTLabelAdjHor = 17, OGRSTLabelAdjVert = 18, OGRSTLabelHColor = 19,
  OGRSTLabelOColor = 20
}
 

Functions

const char * OGRGeometryTypeToName (OGRwkbGeometryType eType)
 Fetch a human readable name corresponding to an OGRwkbGeometryType value. The returned value should not be modified, or freed by the application. More...
 
OGRwkbGeometryType OGRMergeGeometryTypes (OGRwkbGeometryType eMain, OGRwkbGeometryType eExtra)
 Find common geometry type. More...
 
OGRwkbGeometryType OGRMergeGeometryTypesEx (OGRwkbGeometryType eMain, OGRwkbGeometryType eExtra, int bAllowPromotingToCurves)
 Find common geometry type. More...
 
OGRwkbGeometryType OGR_GT_Flatten (OGRwkbGeometryType eType)
 Returns the 2D geometry type corresponding to the passed geometry type. More...
 
OGRwkbGeometryType OGR_GT_SetZ (OGRwkbGeometryType eType)
 Returns the 3D geometry type corresponding to the passed geometry type. More...
 
OGRwkbGeometryType OGR_GT_SetM (OGRwkbGeometryType eType)
 Returns the measured geometry type corresponding to the passed geometry type. More...
 
OGRwkbGeometryType OGR_GT_SetModifier (OGRwkbGeometryType eType, int bSetZ, int bSetM)
 Returns a XY, XYZ, XYM or XYZM geometry type depending on parameter. More...
 
int OGR_GT_HasZ (OGRwkbGeometryType eType)
 Return if the geometry type is a 3D geometry type. More...
 
int OGR_GT_HasM (OGRwkbGeometryType eType)
 Return if the geometry type is a measured type. More...
 
int OGR_GT_IsSubClassOf (OGRwkbGeometryType eType, OGRwkbGeometryType eSuperType)
 Returns if a type is a subclass of another one. More...
 
int OGR_GT_IsCurve (OGRwkbGeometryType)
 Return if a geometry type is an instance of Curve. More...
 
int OGR_GT_IsSurface (OGRwkbGeometryType)
 Return if a geometry type is an instance of Surface. More...
 
int OGR_GT_IsNonLinear (OGRwkbGeometryType)
 Return if a geometry type is a non-linear geometry type. More...
 
OGRwkbGeometryType OGR_GT_GetCollection (OGRwkbGeometryType eType)
 Returns the collection type that can contain the passed geometry type. More...
 
OGRwkbGeometryType OGR_GT_GetCurve (OGRwkbGeometryType eType)
 Returns the curve geometry type that can contain the passed geometry type. More...
 
OGRwkbGeometryType OGR_GT_GetLinear (OGRwkbGeometryType eType)
 Returns the non-curve geometry type that can contain the passed geometry type. More...
 

Detailed Description

Core portability services for cross-platform OGR code.

Macro Definition Documentation

◆ ALTER_ALL_FLAG

Alter all parameters of field definition. Used by OGR_L_AlterFieldDefn().

◆ ALTER_DEFAULT_FLAG

#define ALTER_DEFAULT_FLAG   0x10

Alter field DEFAULT value. Used by OGR_L_AlterFieldDefn().

Since
GDAL 2.0

◆ ALTER_NAME_FLAG

#define ALTER_NAME_FLAG   0x1

Alter field name. Used by OGR_L_AlterFieldDefn().

◆ ALTER_NULLABLE_FLAG

#define ALTER_NULLABLE_FLAG   0x8

Alter field NOT NULL constraint. Used by OGR_L_AlterFieldDefn().

Since
GDAL 2.0

◆ ALTER_TYPE_FLAG

#define ALTER_TYPE_FLAG   0x2

Alter field type. Used by OGR_L_AlterFieldDefn().

◆ ALTER_WIDTH_PRECISION_FLAG

#define ALTER_WIDTH_PRECISION_FLAG   0x4

Alter field width and precision. Used by OGR_L_AlterFieldDefn().

◆ ODrCCreateDataSource

#define ODrCCreateDataSource   "CreateDataSource"

Driver capability for datasource creation

◆ ODrCDeleteDataSource

#define ODrCDeleteDataSource   "DeleteDataSource"

Driver capability for datasource deletion

◆ ODsCCreateGeomFieldAfterCreateLayer

#define ODsCCreateGeomFieldAfterCreateLayer   "CreateGeomFieldAfterCreateLayer"

Dataset capability for geometry field creation support

◆ ODsCCreateLayer

#define ODsCCreateLayer   "CreateLayer"

Dataset capability for layer creation

◆ ODsCCurveGeometries

#define ODsCCurveGeometries   "CurveGeometries"

Dataset capability for curve geometries support

◆ ODsCDeleteLayer

#define ODsCDeleteLayer   "DeleteLayer"

Dataset capability for layer deletion

◆ ODsCEmulatedTransactions

#define ODsCEmulatedTransactions   "EmulatedTransactions"

Dataset capability for emulated dataset transactions

◆ ODsCMeasuredGeometries

#define ODsCMeasuredGeometries   "MeasuredGeometries"

Dataset capability for measured geometries support

◆ ODsCRandomLayerRead

#define ODsCRandomLayerRead   "RandomLayerRead"

Dataset capability for GetNextFeature() returning features from random layers

◆ ODsCRandomLayerWrite

#define ODsCRandomLayerWrite   "RandomLayerWrite "

Dataset capability for supporting CreateFeature on layer in random order

◆ ODsCTransactions

#define ODsCTransactions   "Transactions"

Dataset capability for dataset transcations

◆ OGR_F_VAL_ALL

#define OGR_F_VAL_ALL   (0x7FFFFFFF & ~OGR_F_VAL_ALLOW_DIFFERENT_GEOM_DIM)

Enable all validation tests (except OGR_F_VAL_ALLOW_DIFFERENT_GEOM_DIM) Used by OGR_F_Validate().

Since
GDAL 2.0

◆ OGR_F_VAL_ALLOW_DIFFERENT_GEOM_DIM

#define OGR_F_VAL_ALLOW_DIFFERENT_GEOM_DIM   0x00000010

Allow geometry fields to have a different coordinate dimension that their geometry column type. This flag only makes sense if OGR_F_VAL_GEOM_TYPE is set too. Used by OGR_F_Validate().

Since
GDAL 2.1

◆ OGR_F_VAL_ALLOW_NULL_WHEN_DEFAULT

#define OGR_F_VAL_ALLOW_NULL_WHEN_DEFAULT   0x00000008

Allow fields that are null when there's an associated default value. This can be used for drivers where the low-level layers will automatically set the field value to the associated default value. This flag only makes sense if OGR_F_VAL_NULL is set too. Used by OGR_F_Validate().

Since
GDAL 2.0

◆ OGR_F_VAL_GEOM_TYPE

#define OGR_F_VAL_GEOM_TYPE   0x00000002

Validate that geometries respect geometry column type. Used by OGR_F_Validate().

Since
GDAL 2.0

◆ OGR_F_VAL_NULL

#define OGR_F_VAL_NULL   0x00000001

Validate that fields respect not-null constraints. Used by OGR_F_Validate().

Since
GDAL 2.0

Referenced by OGRFeature::Validate().

◆ OGR_F_VAL_WIDTH

#define OGR_F_VAL_WIDTH   0x00000004

Validate that (string) fields respect field width. Used by OGR_F_Validate().

Since
GDAL 2.0

◆ OGR_GET_MS

#define OGR_GET_MS (   floatingpoint_sec)    (int)(((floatingpoint_sec) - (int)(floatingpoint_sec)) * 1000 + 0.5)

Return the number of milliseconds from a datetime with decimal seconds

Referenced by OGRFeature::GetFieldAsString().

◆ OGRERR_CORRUPT_DATA

#define OGRERR_CORRUPT_DATA   5

◆ OGRERR_FAILURE

#define OGRERR_FAILURE   6

Failure

Referenced by OGRGeometryCollection::addGeometry(), OGRPolyhedralSurface::addGeometry(), OGRTriangulatedSurface::addGeometry(), OGRGeometryCollection::addGeometryDirectly(), OGRPolyhedralSurface::addGeometryDirectly(), OGRCurvePolygon::addRing(), OGRTriangle::addRingDirectly(), OGRGeometry::Centroid(), OGRSpatialReference::CopyGeogCSFrom(), OGRFeatureDefn::DeleteFieldDefn(), OGRFeatureDefn::DeleteGeomFieldDefn(), OGRSpatialReference::exportToMICoordSys(), OGRCircularString::exportToWkb(), OGRCircularString::exportToWkt(), OGRSpatialReference::GetInvFlattening(), OGRSpatialReference::GetProjParm(), OGRSpatialReference::GetSemiMajor(), OGRSpatialReference::GetTOWGS84(), OGRSpatialReference::ImportFromESRIStatePlaneWKT(), OGRSpatialReference::ImportFromESRIWisconsinWKT(), OGRSpatialReference::importFromMICoordSys(), OGRSpatialReference::importFromWkt(), OGR_DS_SyncToDisk(), OGR_F_SetFID(), OGR_F_SetFrom(), OGR_F_SetFromWithMap(), OGR_F_SetGeometry(), OGR_F_SetGeometryDirectly(), OGR_F_SetGeomField(), OGR_F_SetGeomFieldDirectly(), OGR_G_Centroid(), OGR_G_ExportToIsoWkb(), OGR_G_ExportToIsoWkt(), OGR_G_ExportToWkb(), OGR_G_ExportToWkt(), OGR_G_ImportFromWkb(), OGR_G_ImportFromWkt(), OGR_G_RemoveGeometry(), OGR_G_Transform(), OGR_G_TransformTo(), OSRAutoIdentifyEPSG(), OSRCopyGeogCSFrom(), OSREPSGTreatsAsLatLong(), OSREPSGTreatsAsNorthingEasting(), OSRExportToERM(), OSRExportToMICoordSys(), OSRExportToPanorama(), OSRExportToPCI(), OSRExportToUSGS(), OSRExportToXML(), OSRFixup(), OSRFixupOrdering(), OSRGetTOWGS84(), OSRImportFromDict(), OSRImportFromERM(), OSRImportFromESRI(), OSRImportFromMICoordSys(), OSRImportFromOzi(), OSRImportFromPanorama(), OSRImportFromPCI(), OSRImportFromProj4(), OSRImportFromUrl(), OSRImportFromUSGS(), OSRImportFromWkt(), OSRImportFromXML(), OSRMorphFromESRI(), OSRMorphToESRI(), OSRSetACEA(), OSRSetAE(), OSRSetAngularUnits(), OSRSetAuthority(), OSRSetAxes(), OSRSetBonne(), OSRSetCEA(), OSRSetCompoundCS(), OSRSetCS(), OSRSetEC(), OSRSetEckert(), OSRSetEckertIV(), OSRSetEckertVI(), OSRSetEquirectangular(), OSRSetEquirectangular2(), OSRSetGaussSchreiberTMercator(), OSRSetGeocCS(), OSRSetGeogCS(), OSRSetGEOS(), OSRSetGH(), OSRSetGnomonic(), OSRSetGS(), OSRSetHOM(), OSRSetHOM2PNO(), OSRSetHOMAC(), OSRSetIGH(), OSRSetIWMPolyconic(), OSRSetKrovak(), OSRSetLAEA(), OSRSetLCC(), OSRSetLCC1SP(), OSRSetLCCB(), OSRSetLinearUnits(), OSRSetLinearUnitsAndUpdateParameters(), OSRSetLocalCS(), OSRSetMC(), OSRSetMercator(), OSRSetMercator2SP(), OSRSetMollweide(), OSRSetNormProjParm(), OSRSetNZMG(), OSRSetOrthographic(), OSRSetOS(), OSRSetPolyconic(), OSRSetProjCS(), OSRSetProjection(), OSRSetProjParm(), OSRSetPS(), OSRSetQSC(), OSRSetRobinson(), OSRSetSCH(), OSRSetSinusoidal(), OSRSetSOC(), OSRSetStatePlane(), OSRSetStatePlaneWithUnits(), OSRSetStereographic(), OSRSetTargetLinearUnits(), OSRSetTM(), OSRSetTMG(), OSRSetTMSO(), OSRSetTMVariant(), OSRSetTOWGS84(), OSRSetTPED(), OSRSetUTM(), OSRSetVDG(), OSRSetVertCS(), OSRSetWagner(), OSRSetWellKnownGeogCS(), OSRStripCTParms(), OSRValidate(), OGRGeometryCollection::removeGeometry(), OGRSpatialReference::SetAngularUnits(), OGRSpatialReference::SetAuthority(), OGRSpatialReference::SetAxes(), OGRSpatialReference::SetExtension(), OGRFeature::SetFieldsFrom(), OGRFeature::SetFrom(), OGRSpatialReference::SetFromUserInput(), OGRSpatialReference::SetGeocCS(), OGRSpatialReference::SetGeogCS(), OGRFeature::SetGeometry(), OGRFeature::SetGeometryDirectly(), OGRFeature::SetGeomField(), OGRFeature::SetGeomFieldDirectly(), OGRLayer::SetIgnoredFields(), OGRSpatialReference::SetLinearUnitsAndUpdateParameters(), OGRSpatialReference::SetLocalCS(), OGRLayer::SetNextByIndex(), OGRSpatialReference::SetNode(), OGRSpatialReference::SetProjCS(), OGRSpatialReference::SetProjParm(), OGRSpatialReference::SetStatePlane(), OGRSpatialReference::SetTargetLinearUnits(), OGRSpatialReference::SetTOWGS84(), OGRSpatialReference::SetWellKnownGeogCS(), OGRPoint::transform(), OGRGeometryCollection::transform(), and OGRGeometry::transformTo().

◆ OGRERR_INVALID_HANDLE

#define OGRERR_INVALID_HANDLE   8

◆ OGRERR_NON_EXISTING_FEATURE

#define OGRERR_NON_EXISTING_FEATURE   9

Non existing feature. Added in GDAL 2.0

◆ OGRERR_NONE

#define OGRERR_NONE   0

Success

Referenced by OGRCompoundCurve::addCurve(), OGRGeometryCollection::addGeometry(), OGRPolyhedralSurface::addGeometry(), OGRTriangulatedSurface::addGeometry(), OGRGeometryCollection::addGeometryDirectly(), OGRPolyhedralSurface::addGeometryDirectly(), OGRCurvePolygon::addRing(), OGR_SRSNode::applyRemapper(), OGRSpatialReference::AutoIdentifyEPSG(), OGRCurve::CastToCompoundCurve(), OGRLayer::Clip(), OGRCurvePolygon::clone(), OGRGeometryCollection::clone(), OGRPolyhedralSurface::clone(), OGRLayer::CommitTransaction(), OGRSpatialReference::CopyGeogCSFrom(), OGRGeometryFactory::createFromWkb(), OGRGeometryFactory::createFromWkt(), OGRFeatureDefn::DeleteFieldDefn(), OGRFeatureDefn::DeleteGeomFieldDefn(), OGRLayer::Erase(), OGRSpatialReference::exportToERM(), OGRSpatialReference::exportToMICoordSys(), OGRSpatialReference::exportToPanorama(), OGRSpatialReference::exportToPCI(), OGR_SRSNode::exportToPrettyWkt(), OGRSpatialReference::exportToPrettyWkt(), OGRSpatialReference::exportToUSGS(), OGRPoint::exportToWkb(), OGRSimpleCurve::exportToWkb(), OGRPolygon::exportToWkb(), OGRPolyhedralSurface::exportToWkb(), OGR_SRSNode::exportToWkt(), OGRSpatialReference::exportToWkt(), OGRPoint::exportToWkt(), OGRSimpleCurve::exportToWkt(), OGRPolygon::exportToWkt(), OGRMultiPoint::exportToWkt(), OGRSpatialReference::exportToXML(), OGR_SRSNode::FixupOrdering(), OGRSpatialReference::FixupOrdering(), OGRGeometryFactory::forceTo(), OGRFeature::GetFieldAsString(), OGRSpatialReference::GetInvFlattening(), OGRSpatialReference::GetNormProjParm(), OGRSpatialReference::GetProjParm(), OGRSpatialReference::GetSemiMajor(), OGRSpatialReference::GetTOWGS84(), OGRLayer::Identity(), OGRSpatialReference::importFromEPSG(), OGRSpatialReference::importFromERM(), OGRSpatialReference::importFromESRI(), OGRSpatialReference::ImportFromESRIStatePlaneWKT(), OGRSpatialReference::ImportFromESRIWisconsinWKT(), OGRSpatialReference::importFromMICoordSys(), OGRSpatialReference::importFromPanorama(), OGRSpatialReference::importFromProj4(), OGRPoint::importFromWkb(), OGRSimpleCurve::importFromWkb(), OGRCircularString::importFromWkb(), OGRCompoundCurve::importFromWkb(), OGRCurvePolygon::importFromWkb(), OGRPolygon::importFromWkb(), OGRTriangle::importFromWkb(), OGRPolyhedralSurface::importFromWkb(), OGRSpatialReference::importFromWkt(), OGRPoint::importFromWkt(), OGRSimpleCurve::importFromWkt(), OGRCircularString::importFromWkt(), OGRPolygon::importFromWkt(), OGRMultiSurface::importFromWkt(), OGRPolyhedralSurface::importFromWkt(), OGRMultiPoint::importFromWkt(), OGRLayer::Intersection(), OGRSpatialReference::morphFromESRI(), OGRSpatialReference::morphToESRI(), OGR_DS_SyncToDisk(), OGR_G_AddGeometryDirectly(), OGRTriangle::OGRTriangle(), OGRGeometryCollection::removeGeometry(), OGRFeatureDefn::ReorderFieldDefns(), OGRSpatialReference::SetACEA(), OGRSpatialReference::SetAE(), OGRSpatialReference::SetAngularUnits(), OGRLayer::SetAttributeFilter(), OGRSpatialReference::SetAuthority(), OGRSpatialReference::SetAxes(), OGRSpatialReference::SetBonne(), OGRSpatialReference::SetCEA(), OGRSpatialReference::SetCS(), OGRSpatialReference::SetEC(), OGRSpatialReference::SetEckertIV(), OGRSpatialReference::SetEckertVI(), OGRSpatialReference::SetEquirectangular(), OGRSpatialReference::SetEquirectangular2(), OGRSpatialReference::SetExtension(), OGRFeature::SetFID(), OGRFeature::SetFieldsFrom(), OGRFeature::SetFrom(), OGRSpatialReference::SetFromUserInput(), OGRSpatialReference::SetGaussSchreiberTMercator(), OGRSpatialReference::SetGeocCS(), OGRSpatialReference::SetGeogCS(), OGRFeature::SetGeomField(), OGRFeature::SetGeomFieldDirectly(), OGRSpatialReference::SetGEOS(), OGRSpatialReference::SetGH(), OGRSpatialReference::SetGnomonic(), OGRSpatialReference::SetGS(), OGRSpatialReference::SetHOM(), OGRSpatialReference::SetHOM2PNO(), OGRSpatialReference::SetHOMAC(), OGRSpatialReference::SetIGH(), OGRLayer::SetIgnoredFields(), OGRSpatialReference::SetIWMPolyconic(), OGRSpatialReference::SetKrovak(), OGRSpatialReference::SetLAEA(), OGRSpatialReference::SetLCC(), OGRSpatialReference::SetLCC1SP(), OGRSpatialReference::SetLCCB(), OGRSpatialReference::SetLocalCS(), OGRSpatialReference::SetMC(), OGRSpatialReference::SetMercator(), OGRSpatialReference::SetMercator2SP(), OGRSpatialReference::SetMollweide(), OGRLayer::SetNextByIndex(), OGRSpatialReference::SetNode(), OGRSpatialReference::SetNZMG(), OGRSpatialReference::SetOrthographic(), OGRSpatialReference::SetOS(), OGRSpatialReference::SetPolyconic(), OGRSpatialReference::SetProjCS(), OGRSpatialReference::SetProjection(), OGRSpatialReference::SetProjParm(), OGRSpatialReference::SetPS(), OGRSpatialReference::SetQSC(), OGRSpatialReference::SetRobinson(), OGRSpatialReference::SetSCH(), OGRSpatialReference::SetSinusoidal(), OGRSpatialReference::SetSOC(), OGRSpatialReference::SetStereographic(), OGRSpatialReference::SetTargetLinearUnits(), OGRSpatialReference::SetTM(), OGRSpatialReference::SetTMG(), OGRSpatialReference::SetTMSO(), OGRSpatialReference::SetTMVariant(), OGRSpatialReference::SetTOWGS84(), OGRSpatialReference::SetTPED(), OGRSpatialReference::SetVDG(), OGRSpatialReference::SetVertCS(), OGRSpatialReference::SetWellKnownGeogCS(), OGRLayer::StartTransaction(), OGRSpatialReference::StripCTParms(), OGRSpatialReference::StripVertical(), OGRLayer::SymDifference(), OGRLayer::SyncToDisk(), OGRPoint::transform(), OGRGeometryCollection::transform(), OGRGeometryFactory::transformWithOptions(), OGRLayer::Union(), OGRLayer::Update(), and OGRSpatialReference::Validate().

◆ OGRERR_NOT_ENOUGH_DATA

#define OGRERR_NOT_ENOUGH_DATA   1

◆ OGRERR_NOT_ENOUGH_MEMORY

#define OGRERR_NOT_ENOUGH_MEMORY   2

◆ OGRERR_UNSUPPORTED_GEOMETRY_TYPE

#define OGRERR_UNSUPPORTED_GEOMETRY_TYPE   3

◆ OGRERR_UNSUPPORTED_OPERATION

#define OGRERR_UNSUPPORTED_OPERATION   4

◆ OGRERR_UNSUPPORTED_SRS

#define OGRERR_UNSUPPORTED_SRS   7

◆ OGRNullFID

#define OGRNullFID   -1

Special value for a unset FID

Referenced by OGRFeature::IsFieldSet(), and OGRFeature::SetFrom().

◆ OGRNullMarker

#define OGRNullMarker   -21122

Special value set in OGRField.Set.nMarker1, nMarker2 and nMarker3 for a null field. Direct use of this value is strongly discouraged. Use OGR_RawField_SetNull() or OGR_RawField_IsNull() instead.

Since
GDAL 2.2

Referenced by OGR_RawField_IsNull(), and OGR_RawField_SetNull().

◆ OGRUnsetMarker

#define OGRUnsetMarker   -21121

Special value set in OGRField.Set.nMarker1, nMarker2 and nMarker3 for a unset field. Direct use of this value is strongly discouraged. Use OGR_RawField_SetUnset() or OGR_RawField_IsUnset() instead.

Referenced by OGR_RawField_IsUnset(), and OGR_RawField_SetUnset().

◆ OLCAlterFieldDefn

#define OLCAlterFieldDefn   "AlterFieldDefn"

Layer capability for field alteration

◆ OLCCreateField

#define OLCCreateField   "CreateField"

Layer capability for field creation

◆ OLCCreateGeomField

#define OLCCreateGeomField   "CreateGeomField"

Layer capability for geometry field creation

◆ OLCCurveGeometries

#define OLCCurveGeometries   "CurveGeometries"

Layer capability for curve geometries support

◆ OLCDeleteFeature

#define OLCDeleteFeature   "DeleteFeature"

Layer capability for feature deletion

◆ OLCDeleteField

#define OLCDeleteField   "DeleteField"

Layer capability for field deletion

◆ OLCFastFeatureCount

#define OLCFastFeatureCount   "FastFeatureCount"

Layer capability for fast feature count retrieval

◆ OLCFastGetExtent

#define OLCFastGetExtent   "FastGetExtent"

Layer capability for fast extent retrieval

◆ OLCFastSetNextByIndex

#define OLCFastSetNextByIndex   "FastSetNextByIndex"

Layer capability for setting next feature index

◆ OLCFastSpatialFilter

#define OLCFastSpatialFilter   "FastSpatialFilter"

Layer capability for fast spatial filter

◆ OLCIgnoreFields

#define OLCIgnoreFields   "IgnoreFields"

Layer capability for field ignoring

◆ OLCMeasuredGeometries

#define OLCMeasuredGeometries   "MeasuredGeometries"

Layer capability for measured geometries support

◆ OLCRandomRead

#define OLCRandomRead   "RandomRead"

Layer capability for random read

◆ OLCRandomWrite

#define OLCRandomWrite   "RandomWrite"

Layer capability for random write

◆ OLCReorderFields

#define OLCReorderFields   "ReorderFields"

Layer capability for field reordering

◆ OLCSequentialWrite

#define OLCSequentialWrite   "SequentialWrite"

Layer capability for sequential write

◆ OLCStringsAsUTF8

#define OLCStringsAsUTF8   "StringsAsUTF8"

Layer capability for strings returned with UTF-8 encoding

◆ OLCTransactions

#define OLCTransactions   "Transactions"

Layer capability for transactions

◆ OLMD_FID64

#define OLMD_FID64   "OLMD_FID64"

Capability set to YES as metadata on a layer that has features with 64 bit identifiers.

Since
GDAL 2.0

◆ wkb25DBit

#define wkb25DBit   0x80000000
Deprecated:
in GDAL 2.0. Use wkbHasZ() or wkbSetZ() instead

◆ wkbFlatten

#define wkbFlatten (   x)    OGR_GT_Flatten((OGRwkbGeometryType)(x))

Return the 2D geometry type corresponding to the specified geometry type

Referenced by OGRGeometryCollection::CastToGeometryCollection(), OGRGeometryCollection::closeRings(), OGRCurvePolygon::Contains(), OGRGeometryFactory::createGeometry(), OGRPoint::exportToWkb(), OGRSimpleCurve::exportToWkb(), OGRPolygon::exportToWkb(), OGRGeometryCollection::exportToWkb(), OGRGeometryFactory::forceTo(), OGRGeometryFactory::forceToLineString(), OGRGeometryFactory::forceToMultiLineString(), OGRGeometryFactory::forceToMultiPoint(), OGRGeometryFactory::forceToMultiPolygon(), OGRGeometryFactory::forceToPolygon(), OGRGeometryCollection::get_Area(), OGRGeometryCollection::get_Length(), OGRPolygon::getCurveGeometry(), OGRGeometry::getIsoGeometryType(), OGRMultiCurve::importFromWkt(), OGRPoint::Intersects(), OGRCurvePolygon::Intersects(), OGRMultiPolygon::isCompatibleSubType(), OGRMultiPoint::isCompatibleSubType(), OGRMultiLineString::isCompatibleSubType(), OGR_G_AddGeometry(), OGR_G_AddGeometryDirectly(), OGR_G_AddPoint(), OGR_G_AddPoint_2D(), OGR_G_AddPointM(), OGR_G_AddPointZM(), OGR_G_Area(), OGR_G_Centroid(), OGR_G_GetGeometryCount(), OGR_G_GetGeometryRef(), OGR_G_GetM(), OGR_G_GetPoint(), OGR_G_GetPointCount(), OGR_G_GetPoints(), OGR_G_GetPointsZM(), OGR_G_GetPointZM(), OGR_G_GetX(), OGR_G_GetY(), OGR_G_GetZ(), OGR_G_Length(), OGR_G_RemoveGeometry(), OGR_G_SetPoint(), OGR_G_SetPoint_2D(), OGR_G_SetPointCount(), OGR_G_SetPointM(), OGR_G_SetPointZM(), OGR_GT_GetCollection(), OGR_GT_GetCurve(), OGR_GT_GetLinear(), OGR_GT_IsNonLinear(), OGR_GT_IsSubClassOf(), OGR_GT_SetModifier(), OGRGeometryTypeToName(), OGRMergeGeometryTypesEx(), OGRToOGCGeomType(), OGRGeometryFactory::transformWithOptions(), and OGRPoint::Within().

◆ wkbHasM

#define wkbHasM (   x)    (OGR_GT_HasM(x) != 0)

Return if the geometry type is a measured geometry type

Since
GDAL 2.1

Referenced by OGR_GT_GetCollection(), OGR_GT_GetCurve(), OGR_GT_GetLinear(), OGRGeometryTypeToName(), and OGRMergeGeometryTypesEx().

◆ wkbHasZ

#define wkbHasZ (   x)    (OGR_GT_HasZ(x) != 0)

Return if the geometry type is a 3D geometry type

Since
GDAL 2.0

Referenced by OGRGeometryCollection::exportToWkb(), OGR_GT_GetCollection(), OGR_GT_GetCurve(), OGR_GT_GetLinear(), OGRGeometryTypeToName(), and OGRMergeGeometryTypesEx().

◆ wkbSetM

#define wkbSetM (   x)    OGR_GT_SetM(x)

Return the measured geometry type corresponding to the specified geometry type.

Since
GDAL 2.1

Referenced by OGR_GT_GetCollection(), OGR_GT_GetCurve(), OGR_GT_GetLinear(), and OGRFromOGCGeomType().

◆ wkbSetZ

#define wkbSetZ (   x)    OGR_GT_SetZ(x)

Return the 3D geometry type corresponding to the specified geometry type.

Since
GDAL 2.0

Referenced by OGR_GT_GetCollection(), OGR_GT_GetCurve(), OGR_GT_GetLinear(), and OGRFromOGCGeomType().

Typedef Documentation

◆ OGRBoolean

typedef int OGRBoolean

Type for a OGR boolean

◆ OGRErr

typedef int OGRErr

Simple container for a bounding region.

Type for a OGR error

◆ OGRSTBrushParam

List of parameters for use with OGRStyleBrush.

◆ OGRSTClassId

OGRStyleTool derived class types (returned by GetType()).

◆ OGRSTLabelParam

List of parameters for use with OGRStyleLabel.

◆ OGRSTPenParam

List of parameters for use with OGRStylePen.

◆ OGRSTSymbolParam

List of parameters for use with OGRStyleSymbol.

◆ OGRSTUnitId

List of units supported by OGRStyleTools.

Enumeration Type Documentation

◆ ogr_style_tool_class_id

OGRStyleTool derived class types (returned by GetType()).

Enumerator
OGRSTCNone 

None

OGRSTCPen 

Pen

OGRSTCBrush 

Brush

OGRSTCSymbol 

Symbol

OGRSTCLabel 

Label

OGRSTCVector 

Vector

◆ ogr_style_tool_param_brush_id

List of parameters for use with OGRStyleBrush.

Enumerator
OGRSTBrushFColor 

Foreground color

OGRSTBrushBColor 

Background color

OGRSTBrushId 

Id

OGRSTBrushAngle 

Angle

OGRSTBrushSize 

Size

OGRSTBrushDx 

Dx

OGRSTBrushDy 

Dy

OGRSTBrushPriority 

Priority

◆ ogr_style_tool_param_label_id

List of parameters for use with OGRStyleLabel.

Enumerator
OGRSTLabelFontName 

Font name

OGRSTLabelSize 

Size

OGRSTLabelTextString 

Text string

OGRSTLabelAngle 

Angle

OGRSTLabelFColor 

Foreground color

OGRSTLabelBColor 

Background color

OGRSTLabelPlacement 

Placement

OGRSTLabelAnchor 

Anchor

OGRSTLabelDx 

Dx

OGRSTLabelDy 

Dy

OGRSTLabelPerp 

Perpendicular

OGRSTLabelBold 

Bold

OGRSTLabelItalic 

Italic

OGRSTLabelUnderline 

Underline

OGRSTLabelPriority 

Priority

OGRSTLabelStrikeout 

Strike out

OGRSTLabelStretch 

Stretch

OGRSTLabelAdjHor 

Horizontal adjustment

OGRSTLabelAdjVert 

Vectical adjustment

OGRSTLabelHColor 

Highlight color

OGRSTLabelOColor 

Outline color

◆ ogr_style_tool_param_pen_id

List of parameters for use with OGRStylePen.

Enumerator
OGRSTPenColor 

Color

OGRSTPenWidth 

Width

OGRSTPenPattern 

Pattern

OGRSTPenId 

Id

OGRSTPenPerOffset 

Perpendicular offset

OGRSTPenCap 

Cap

OGRSTPenJoin 

Join

OGRSTPenPriority 

Priority

◆ ogr_style_tool_param_symbol_id

List of parameters for use with OGRStyleSymbol.

Enumerator
OGRSTSymbolId 

Id

OGRSTSymbolAngle 

Angle

OGRSTSymbolColor 

Color

OGRSTSymbolSize 

Size

OGRSTSymbolDx 

Dx

OGRSTSymbolDy 

Dy

OGRSTSymbolStep 

Step

OGRSTSymbolPerp 

Perpendicular

OGRSTSymbolOffset 

Offset

OGRSTSymbolPriority 

Priority

OGRSTSymbolFontName 

Font name

OGRSTSymbolOColor 

Outline color

◆ ogr_style_tool_units_id

List of units supported by OGRStyleTools.

Enumerator
OGRSTUGround 

Ground unit

OGRSTUPixel 

Pixel

OGRSTUPoints 

Points

OGRSTUMM 

Millimeter

OGRSTUCM 

Centimeter

OGRSTUInches 

Inch

◆ OGRFieldSubType

List of field subtypes. A subtype represents a hint, a restriction of the main type, that is not strictly necessary to consult. This list is likely to be extended in the future ... avoid coding applications based on the assumption that all field types can be known. Most subtypes only make sense for a restricted set of main types.

Since
GDAL 2.0
Enumerator
OFSTNone 

No subtype. This is the default value

OFSTBoolean 

Boolean integer. Only valid for OFTInteger and OFTIntegerList.

OFSTInt16 

Signed 16-bit integer. Only valid for OFTInteger and OFTIntegerList.

OFSTFloat32 

Single precision (32 bit) floating point. Only valid for OFTReal and OFTRealList.

◆ OGRFieldType

List of feature field types. This list is likely to be extended in the future ... avoid coding applications based on the assumption that all field types can be known.

Enumerator
OFTInteger 

Simple 32bit integer

OFTIntegerList 

List of 32bit integers

OFTReal 

Double Precision floating point

OFTRealList 

List of doubles

OFTString 

String of ASCII chars

OFTStringList 

Array of strings

OFTWideString 

deprecated

OFTWideStringList 

deprecated

OFTBinary 

Raw Binary data

OFTDate 

Date

OFTTime 

Time

OFTDateTime 

Date and Time

OFTInteger64 

Single 64bit integer

OFTInteger64List 

List of 64bit integers

◆ OGRJustification

Display justification for field values.

◆ OGRwkbByteOrder

Enumeration to describe byte order

Enumerator
wkbXDR 

MSB/Sun/Motoroloa: Most Significant Byte First

wkbNDR 

LSB/Intel/Vax: Least Significant Byte First

◆ OGRwkbGeometryType

List of well known binary geometry types. These are used within the BLOBs but are also returned from OGRGeometry::getGeometryType() to identify the type of a geometry object.

Enumerator
wkbUnknown 

unknown type, non-standard

wkbPoint 

0-dimensional geometric object, standard WKB

wkbLineString 

1-dimensional geometric object with linear interpolation between Points, standard WKB

wkbPolygon 

planar 2-dimensional geometric object defined by 1 exterior boundary and 0 or more interior boundaries, standard WKB

wkbMultiPoint 

GeometryCollection of Points, standard WKB

wkbMultiLineString 

GeometryCollection of LineStrings, standard WKB

wkbMultiPolygon 

GeometryCollection of Polygons, standard WKB

wkbGeometryCollection 

geometric object that is a collection of 1 or more geometric objects, standard WKB

wkbCircularString 

one or more circular arc segments connected end to end, ISO SQL/MM Part 3. GDAL >= 2.0

wkbCompoundCurve 

sequence of contiguous curves, ISO SQL/MM Part 3. GDAL >= 2.0

wkbCurvePolygon 

planar surface, defined by 1 exterior boundary and zero or more interior boundaries, that are curves. ISO SQL/MM Part 3. GDAL >= 2.0

wkbMultiCurve 

GeometryCollection of Curves, ISO SQL/MM Part 3. GDAL >= 2.0

wkbMultiSurface 

GeometryCollection of Surfaces, ISO SQL/MM Part 3. GDAL >= 2.0

wkbCurve 

Curve (abstract type). ISO SQL/MM Part 3. GDAL >= 2.1

wkbSurface 

Surface (abstract type). ISO SQL/MM Part 3. GDAL >= 2.1

wkbPolyhedralSurface 

a contiguous collection of polygons, which share common boundary segments, ISO SQL/MM Part 3. Reserved in GDAL >= 2.1 but not yet implemented

wkbTIN 

a PolyhedralSurface consisting only of Triangle patches ISO SQL/MM Part 3. Reserved in GDAL >= 2.1 but not yet implemented

wkbTriangle 

a Triangle. ISO SQL/MM Part 3. Reserved in GDAL >= 2.1 but not yet implemented

wkbNone 

non-standard, for pure attribute records

wkbLinearRing 

non-standard, just for createGeometry()

wkbCircularStringZ 

wkbCircularString with Z component. ISO SQL/MM Part 3. GDAL >= 2.0

wkbCompoundCurveZ 

wkbCompoundCurve with Z component. ISO SQL/MM Part 3. GDAL >= 2.0

wkbCurvePolygonZ 

wkbCurvePolygon with Z component. ISO SQL/MM Part 3. GDAL >= 2.0

wkbMultiCurveZ 

wkbMultiCurve with Z component. ISO SQL/MM Part 3. GDAL >= 2.0

wkbMultiSurfaceZ 

wkbMultiSurface with Z component. ISO SQL/MM Part 3. GDAL >= 2.0

wkbCurveZ 

wkbCurve with Z component. ISO SQL/MM Part 3. GDAL >= 2.1

wkbSurfaceZ 

wkbSurface with Z component. ISO SQL/MM Part 3. GDAL >= 2.1

wkbPolyhedralSurfaceZ 

ISO SQL/MM Part 3. Reserved in GDAL >= 2.1 but not yet implemented

wkbTINZ 

ISO SQL/MM Part 3. Reserved in GDAL >= 2.1 but not yet implemented

wkbTriangleZ 

ISO SQL/MM Part 3. Reserved in GDAL >= 2.1 but not yet implemented

wkbPointM 

ISO SQL/MM Part 3. GDAL >= 2.1

wkbLineStringM 

ISO SQL/MM Part 3. GDAL >= 2.1

wkbPolygonM 

ISO SQL/MM Part 3. GDAL >= 2.1

wkbMultiPointM 

ISO SQL/MM Part 3. GDAL >= 2.1

wkbMultiLineStringM 

ISO SQL/MM Part 3. GDAL >= 2.1

wkbMultiPolygonM 

ISO SQL/MM Part 3. GDAL >= 2.1

wkbGeometryCollectionM 

ISO SQL/MM Part 3. GDAL >= 2.1

wkbCircularStringM 

ISO SQL/MM Part 3. GDAL >= 2.1

wkbCompoundCurveM 

ISO SQL/MM Part 3. GDAL >= 2.1

wkbCurvePolygonM 

ISO SQL/MM Part 3. GDAL >= 2.1

wkbMultiCurveM 

ISO SQL/MM Part 3. GDAL >= 2.1

wkbMultiSurfaceM 

ISO SQL/MM Part 3. GDAL >= 2.1

wkbCurveM 

ISO SQL/MM Part 3. GDAL >= 2.1

wkbSurfaceM 

ISO SQL/MM Part 3. GDAL >= 2.1

wkbPolyhedralSurfaceM 

ISO SQL/MM Part 3. Reserved in GDAL >= 2.1 but not yet implemented

wkbTINM 

ISO SQL/MM Part 3. Reserved in GDAL >= 2.1 but not yet implemented

wkbTriangleM 

ISO SQL/MM Part 3. Reserved in GDAL >= 2.1 but not yet implemented

wkbPointZM 

ISO SQL/MM Part 3. GDAL >= 2.1

wkbLineStringZM 

ISO SQL/MM Part 3. GDAL >= 2.1

wkbPolygonZM 

ISO SQL/MM Part 3. GDAL >= 2.1

wkbMultiPointZM 

ISO SQL/MM Part 3. GDAL >= 2.1

wkbMultiLineStringZM 

ISO SQL/MM Part 3. GDAL >= 2.1

wkbMultiPolygonZM 

ISO SQL/MM Part 3. GDAL >= 2.1

wkbGeometryCollectionZM 

ISO SQL/MM Part 3. GDAL >= 2.1

wkbCircularStringZM 

ISO SQL/MM Part 3. GDAL >= 2.1

wkbCompoundCurveZM 

ISO SQL/MM Part 3. GDAL >= 2.1

wkbCurvePolygonZM 

ISO SQL/MM Part 3. GDAL >= 2.1

wkbMultiCurveZM 

ISO SQL/MM Part 3. GDAL >= 2.1

wkbMultiSurfaceZM 

ISO SQL/MM Part 3. GDAL >= 2.1

wkbCurveZM 

ISO SQL/MM Part 3. GDAL >= 2.1

wkbSurfaceZM 

ISO SQL/MM Part 3. GDAL >= 2.1

wkbPolyhedralSurfaceZM 

ISO SQL/MM Part 3. Reserved in GDAL >= 2.1 but not yet implemented

wkbTINZM 

ISO SQL/MM Part 3. Reserved in GDAL >= 2.1 but not yet implemented

wkbTriangleZM 

ISO SQL/MM Part 3. Reserved in GDAL >= 2.1 but not yet implemented

wkbPoint25D 

2.5D extension as per 99-402

wkbLineString25D 

2.5D extension as per 99-402

wkbPolygon25D 

2.5D extension as per 99-402

wkbMultiPoint25D 

2.5D extension as per 99-402

wkbMultiLineString25D 

2.5D extension as per 99-402

wkbMultiPolygon25D 

2.5D extension as per 99-402

wkbGeometryCollection25D 

2.5D extension as per 99-402

◆ OGRwkbVariant

Output variants of WKB we support.

99-402 was a short-lived extension to SFSQL 1.1 that used a high-bit flag to indicate the presence of Z coordinates in a WKB geometry.

SQL/MM Part 3 and SFSQL 1.2 use offsets of 1000 (Z), 2000 (M) and 3000 (ZM) to indicate the present of higher dimensional coordinates in a WKB geometry. Reference: 09-009_Committee_Draft_ISOIEC_CD_13249-3_SQLMM_Spatial.pdf, ISO/IEC JTC 1/SC 32 N 1820, ISO/IEC CD 13249-3:201x(E), Date: 2009-01-16. The codes are also found in §8.2.3 of OGC 06-103r4 "OpenGIS® Implementation Standard for Geographic information - Simple feature access - Part 1: Common architecture", v1.2.1

Enumerator
wkbVariantOldOgc 

Old-style 99-402 extended dimension (Z) WKB types

wkbVariantIso 

SFSQL 1.2 and ISO SQL/MM Part 3 extended dimension (Z&M) WKB types

wkbVariantPostGIS1 

PostGIS 1.X has different codes for CurvePolygon, MultiCurve and MultiSurface

Function Documentation

◆ OGR_GT_Flatten()

OGRwkbGeometryType OGR_GT_Flatten ( OGRwkbGeometryType  eType)

Returns the 2D geometry type corresponding to the passed geometry type.

This function is intended to work with geometry types as old-style 99-402 extended dimension (Z) WKB types, as well as with newer SFSQL 1.2 and ISO SQL/MM Part 3 extended dimension (Z&M) WKB types.

Parameters
eTypeInput geometry type
Returns
2D geometry type corresponding to the passed geometry type.
Since
GDAL 2.0

◆ OGR_GT_GetCollection()

OGRwkbGeometryType OGR_GT_GetCollection ( OGRwkbGeometryType  eType)

Returns the collection type that can contain the passed geometry type.

Handled conversions are : wkbNone->wkbNone, wkbPoint -> wkbMultiPoint, wkbLineString->wkbMultiLineString, wkbPolygon/wkbTriangle/wkbPolyhedralSurface/wkbTIN->wkbMultiPolygon, wkbCircularString->wkbMultiCurve, wkbCompoundCurve->wkbMultiCurve, wkbCurvePolygon->wkbMultiSurface. In other cases, wkbUnknown is returned

Passed Z, M, ZM flag is preserved.

Parameters
eTypeInput geometry type
Returns
the collection type that can contain the passed geometry type or wkbUnknown
Since
GDAL 2.0

References OGR_GT_IsCurve(), OGR_GT_IsSurface(), wkbFlatten, wkbHasM, wkbHasZ, wkbLineString, wkbMultiCurve, wkbMultiLineString, wkbMultiPoint, wkbMultiPolygon, wkbMultiSurface, wkbNone, wkbPoint, wkbPolygon, wkbSetM, wkbSetZ, wkbTIN, wkbTriangle, and wkbUnknown.

Referenced by OGRGeometryFactory::forceTo().

◆ OGR_GT_GetCurve()

OGRwkbGeometryType OGR_GT_GetCurve ( OGRwkbGeometryType  eType)

Returns the curve geometry type that can contain the passed geometry type.

Handled conversions are : wkbPolygon -> wkbCurvePolygon, wkbLineString->wkbCompoundCurve, wkbMultiPolygon->wkbMultiSurface and wkbMultiLineString->wkbMultiCurve. In other cases, the passed geometry is returned.

Passed Z, M, ZM flag is preserved.

Parameters
eTypeInput geometry type
Returns
the curve type that can contain the passed geometry type
Since
GDAL 2.0

References wkbCompoundCurve, wkbCurvePolygon, wkbFlatten, wkbHasM, wkbHasZ, wkbLineString, wkbMultiCurve, wkbMultiLineString, wkbMultiPolygon, wkbMultiSurface, wkbPolygon, wkbSetM, wkbSetZ, and wkbTriangle.

Referenced by OGRGeometryCollection::getCurveGeometry().

◆ OGR_GT_GetLinear()

OGRwkbGeometryType OGR_GT_GetLinear ( OGRwkbGeometryType  eType)

Returns the non-curve geometry type that can contain the passed geometry type.

Handled conversions are : wkbCurvePolygon -> wkbPolygon, wkbCircularString->wkbLineString, wkbCompoundCurve->wkbLineString, wkbMultiSurface->wkbMultiPolygon and wkbMultiCurve->wkbMultiLineString. In other cases, the passed geometry is returned.

Passed Z, M, ZM flag is preserved.

Parameters
eTypeInput geometry type
Returns
the non-curve type that can contain the passed geometry type
Since
GDAL 2.0

References OGR_GT_IsCurve(), OGR_GT_IsSurface(), wkbFlatten, wkbHasM, wkbHasZ, wkbLineString, wkbMultiCurve, wkbMultiLineString, wkbMultiPolygon, wkbMultiSurface, wkbPolygon, wkbSetM, and wkbSetZ.

Referenced by OGRGeometryCollection::getLinearGeometry(), OGR_F_GetGeometryRef(), OGR_F_GetGeomFieldRef(), OGR_FD_GetGeomType(), OGR_GFld_GetType(), and OGR_L_GetGeomType().

◆ OGR_GT_HasM()

int OGR_GT_HasM ( OGRwkbGeometryType  eType)

Return if the geometry type is a measured type.

Parameters
eTypeInput geometry type
Returns
TRUE if the geometry type is a measured type.
Since
GDAL 2.1

Referenced by OGR_GT_SetM().

◆ OGR_GT_HasZ()

int OGR_GT_HasZ ( OGRwkbGeometryType  eType)

Return if the geometry type is a 3D geometry type.

Parameters
eTypeInput geometry type
Returns
TRUE if the geometry type is a 3D geometry type.
Since
GDAL 2.0

Referenced by OGR_GT_SetZ().

◆ OGR_GT_IsCurve()

int OGR_GT_IsCurve ( OGRwkbGeometryType  eGeomType)

Return if a geometry type is an instance of Curve.

Such geometry type are wkbLineString, wkbCircularString, wkbCompoundCurve and their Z/M/ZM variant.

Parameters
eGeomTypethe geometry type
Returns
TRUE if the geometry type is an instance of Curve
Since
GDAL 2.0

References OGR_GT_IsSubClassOf(), and wkbCurve.

Referenced by OGRGeometryCollection::get_Length(), OGRMultiCurve::isCompatibleSubType(), OGR_G_AddGeometry(), OGR_G_AddGeometryDirectly(), OGR_G_Area(), OGR_G_GetPointCount(), OGR_G_Length(), OGR_G_Value(), OGR_GT_GetCollection(), OGR_GT_GetLinear(), and OGRMergeGeometryTypesEx().

◆ OGR_GT_IsNonLinear()

int OGR_GT_IsNonLinear ( OGRwkbGeometryType  eGeomType)

Return if a geometry type is a non-linear geometry type.

Such geometry type are wkbCurve, wkbCircularString, wkbCompoundCurve, wkbSurface, wkbCurvePolygon, wkbMultiCurve, wkbMultiSurface and their Z/M variants.

Parameters
eGeomTypethe geometry type
Returns
TRUE if the geometry type is a non-linear geometry type.
Since
GDAL 2.0

References wkbCircularString, wkbCompoundCurve, wkbCurve, wkbCurvePolygon, wkbFlatten, wkbMultiCurve, wkbMultiSurface, and wkbSurface.

Referenced by OGR_F_GetGeometryRef(), OGR_F_GetGeomFieldRef(), OGR_FD_GetGeomType(), OGR_GFld_GetType(), and OGR_L_GetGeomType().

◆ OGR_GT_IsSubClassOf()

int OGR_GT_IsSubClassOf ( OGRwkbGeometryType  eType,
OGRwkbGeometryType  eSuperType 
)

◆ OGR_GT_IsSurface()

int OGR_GT_IsSurface ( OGRwkbGeometryType  eGeomType)

Return if a geometry type is an instance of Surface.

Such geometry type are wkbCurvePolygon and wkbPolygon and their Z/M/ZM variant.

Parameters
eGeomTypethe geometry type
Returns
TRUE if the geometry type is an instance of Surface
Since
GDAL 2.0

References OGR_GT_IsSubClassOf(), and wkbSurface.

Referenced by OGRGeometryCollection::get_Area(), OGRMultiSurface::isCompatibleSubType(), OGR_G_Area(), OGR_GT_GetCollection(), and OGR_GT_GetLinear().

◆ OGR_GT_SetM()

OGRwkbGeometryType OGR_GT_SetM ( OGRwkbGeometryType  eType)

Returns the measured geometry type corresponding to the passed geometry type.

Parameters
eTypeInput geometry type
Returns
measured geometry type corresponding to the passed geometry type.
Since
GDAL 2.1

References OGR_GT_HasM(), and wkbNone.

Referenced by OGR_GT_SetModifier().

◆ OGR_GT_SetModifier()

OGRwkbGeometryType OGR_GT_SetModifier ( OGRwkbGeometryType  eType,
int  bHasZ,
int  bHasM 
)

Returns a XY, XYZ, XYM or XYZM geometry type depending on parameter.

Parameters
eTypeInput geometry type
bHasZTRUE if the output geometry type must be 3D.
bHasMTRUE if the output geometry type must be measured.
Returns
Output geometry type.
Since
GDAL 2.0

References OGR_GT_SetM(), OGR_GT_SetZ(), and wkbFlatten.

Referenced by OGRMergeGeometryTypesEx().

◆ OGR_GT_SetZ()

OGRwkbGeometryType OGR_GT_SetZ ( OGRwkbGeometryType  eType)

Returns the 3D geometry type corresponding to the passed geometry type.

Parameters
eTypeInput geometry type
Returns
3D geometry type corresponding to the passed geometry type.
Since
GDAL 2.0

References OGR_GT_HasZ(), wkbGeometryCollection, and wkbNone.

Referenced by OGR_GT_SetModifier().

◆ OGRGeometryTypeToName()

const char* OGRGeometryTypeToName ( OGRwkbGeometryType  eType)

Fetch a human readable name corresponding to an OGRwkbGeometryType value. The returned value should not be modified, or freed by the application.

This function is C callable.

Parameters
eTypethe geometry type.
Returns
internal human readable string, or NULL on failure.

References CPLSPrintf(), wkbCircularString, wkbCompoundCurve, wkbCurve, wkbCurvePolygon, wkbFlatten, wkbGeometryCollection, wkbHasM, wkbHasZ, wkbLineString, wkbMultiCurve, wkbMultiLineString, wkbMultiPoint, wkbMultiPolygon, wkbMultiSurface, wkbNone, wkbPoint, wkbPolygon, wkbPolyhedralSurface, wkbSurface, wkbTIN, wkbTriangle, and wkbUnknown.

◆ OGRMergeGeometryTypes()

OGRwkbGeometryType OGRMergeGeometryTypes ( OGRwkbGeometryType  eMain,
OGRwkbGeometryType  eExtra 
)

Find common geometry type.

Given two geometry types, find the most specific common type. Normally used repeatedly with the geometries in a layer to try and establish the most specific geometry type that can be reported for the layer.

NOTE: wkbUnknown is the "worst case" indicating a mixture of geometry types with nothing in common but the base geometry type. wkbNone should be used to indicate that no geometries have been encountered yet, and means the first geometry encountered will establish the preliminary type.

Parameters
eMainthe first input geometry type.
eExtrathe second input geometry type.
Returns
the merged geometry type.

References OGRMergeGeometryTypesEx().

◆ OGRMergeGeometryTypesEx()

OGRwkbGeometryType OGRMergeGeometryTypesEx ( OGRwkbGeometryType  eMain,
OGRwkbGeometryType  eExtra,
int  bAllowPromotingToCurves 
)

Find common geometry type.

Given two geometry types, find the most specific common type. Normally used repeatedly with the geometries in a layer to try and establish the most specific geometry type that can be reported for the layer.

NOTE: wkbUnknown is the "worst case" indicating a mixture of geometry types with nothing in common but the base geometry type. wkbNone should be used to indicate that no geometries have been encountered yet, and means the first geometry encountered will establish the preliminary type.

If bAllowPromotingToCurves is set to TRUE, mixing Polygon and CurvePolygon will return CurvePolygon. Mixing LineString, CircularString, CompoundCurve will return CompoundCurve. Mixing MultiPolygon and MultiSurface will return MultiSurface. Mixing MultiCurve and MultiLineString will return MultiCurve.

Parameters
eMainthe first input geometry type.
eExtrathe second input geometry type.
bAllowPromotingToCurvesdetermine if promotion to curve type must be done.
Returns
the merged geometry type.
Since
GDAL 2.0

References OGR_GT_IsCurve(), OGR_GT_IsSubClassOf(), OGR_GT_SetModifier(), wkbCompoundCurve, wkbFlatten, wkbGeometryCollection, wkbHasM, wkbHasZ, wkbNone, and wkbUnknown.

Referenced by OGRMergeGeometryTypes().


Generated for GDAL by doxygen 1.8.14.