GDAL
Classes | Macros | Typedefs | Enumerations | Functions
ogr_core.h File Reference

Core portability services for cross-platform OGR code. More...

#include "cpl_port.h"
#include "gdal_version.h"

Go to the source code of this file.

Classes

union  OGRField
 OGRFeature field attribute value union. More...
 

Macros

#define OGRERR_NONE   0
 Success.
 
#define OGRERR_NOT_ENOUGH_DATA   1
 Not enough data to deserialize.
 
#define OGRERR_NOT_ENOUGH_MEMORY   2
 Not enough memory.
 
#define OGRERR_UNSUPPORTED_GEOMETRY_TYPE   3
 Unsupported geometry type.
 
#define OGRERR_UNSUPPORTED_OPERATION   4
 Unsupported operation.
 
#define OGRERR_CORRUPT_DATA   5
 Corrupt data.
 
#define OGRERR_FAILURE   6
 Failure.
 
#define OGRERR_UNSUPPORTED_SRS   7
 Unsupported SRS.
 
#define OGRERR_INVALID_HANDLE   8
 Invalid handle.
 
#define OGRERR_NON_EXISTING_FEATURE   9
 Non existing feature. More...
 
#define wkb25DBit   0x80000000
 
#define wkbFlatten(x)   OGR_GT_Flatten((OGRwkbGeometryType)(x))
 Return the 2D geometry type corresponding to the specified geometry type.
 
#define wkbHasZ(x)   (OGR_GT_HasZ(x) != 0)
 Return if the geometry type is a 3D geometry type. More...
 
#define wkbSetZ(x)   OGR_GT_SetZ(x)
 Return the 3D geometry type corresponding to the specified geometry type. More...
 
#define wkbHasM(x)   (OGR_GT_HasM(x) != 0)
 Return if the geometry type is a measured geometry type. More...
 
#define wkbSetM(x)   OGR_GT_SetM(x)
 Return the measured geometry type corresponding to the specified geometry type. More...
 
#define ALTER_NAME_FLAG   0x1
 Alter field name. More...
 
#define ALTER_TYPE_FLAG   0x2
 Alter field type. More...
 
#define ALTER_WIDTH_PRECISION_FLAG   0x4
 Alter field width and precision. More...
 
#define ALTER_NULLABLE_FLAG   0x8
 Alter field NOT NULL constraint. More...
 
#define ALTER_DEFAULT_FLAG   0x10
 Alter field DEFAULT value. More...
 
#define ALTER_ALL_FLAG   (ALTER_NAME_FLAG | ALTER_TYPE_FLAG | ALTER_WIDTH_PRECISION_FLAG | ALTER_NULLABLE_FLAG | ALTER_DEFAULT_FLAG)
 Alter all parameters of field definition. More...
 
#define OGR_F_VAL_NULL   0x00000001
 Validate that fields respect not-null constraints. More...
 
#define OGR_F_VAL_GEOM_TYPE   0x00000002
 Validate that geometries respect geometry column type. More...
 
#define OGR_F_VAL_WIDTH   0x00000004
 Validate that (string) fields respect field width. More...
 
#define OGR_F_VAL_ALLOW_NULL_WHEN_DEFAULT   0x00000008
 Allow fields that are null when there's an associated default value. More...
 
#define OGR_F_VAL_ALLOW_DIFFERENT_GEOM_DIM   0x00000010
 Allow geometry fields to have a different coordinate dimension that their geometry column type. More...
 
#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(). More...
 
#define OGRNullFID   -1
 Special value for a unset FID.
 
#define OGRUnsetMarker   -21121
 Special value set in OGRField.Set.nMarker1, nMarker2 and nMarker3 for a unset field. More...
 
#define OGRNullMarker   -21122
 Special value set in OGRField.Set.nMarker1, nMarker2 and nMarker3 for a null field. More...
 
#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.
 
#define OLCRandomRead   "RandomRead"
 Layer capability for random read.
 
#define OLCSequentialWrite   "SequentialWrite"
 Layer capability for sequential write.
 
#define OLCRandomWrite   "RandomWrite"
 Layer capability for random write.
 
#define OLCFastSpatialFilter   "FastSpatialFilter"
 Layer capability for fast spatial filter.
 
#define OLCFastFeatureCount   "FastFeatureCount"
 Layer capability for fast feature count retrieval.
 
#define OLCFastGetExtent   "FastGetExtent"
 Layer capability for fast extent retrieval.
 
#define OLCCreateField   "CreateField"
 Layer capability for field creation.
 
#define OLCDeleteField   "DeleteField"
 Layer capability for field deletion.
 
#define OLCReorderFields   "ReorderFields"
 Layer capability for field reordering.
 
#define OLCAlterFieldDefn   "AlterFieldDefn"
 Layer capability for field alteration.
 
#define OLCTransactions   "Transactions"
 Layer capability for transactions.
 
#define OLCDeleteFeature   "DeleteFeature"
 Layer capability for feature deletion.
 
#define OLCFastSetNextByIndex   "FastSetNextByIndex"
 Layer capability for setting next feature index.
 
#define OLCStringsAsUTF8   "StringsAsUTF8"
 Layer capability for strings returned with UTF-8 encoding.
 
#define OLCIgnoreFields   "IgnoreFields"
 Layer capability for field ignoring.
 
#define OLCCreateGeomField   "CreateGeomField"
 Layer capability for geometry field creation.
 
#define OLCCurveGeometries   "CurveGeometries"
 Layer capability for curve geometries support.
 
#define OLCMeasuredGeometries   "MeasuredGeometries"
 Layer capability for measured geometries support.
 
#define ODsCCreateLayer   "CreateLayer"
 Dataset capability for layer creation.
 
#define ODsCDeleteLayer   "DeleteLayer"
 Dataset capability for layer deletion.
 
#define ODsCCreateGeomFieldAfterCreateLayer   "CreateGeomFieldAfterCreateLayer"
 Dataset capability for geometry field creation support.
 
#define ODsCCurveGeometries   "CurveGeometries"
 Dataset capability for curve geometries support.
 
#define ODsCTransactions   "Transactions"
 Dataset capability for dataset transcations.
 
#define ODsCEmulatedTransactions   "EmulatedTransactions"
 Dataset capability for emulated dataset transactions.
 
#define ODsCMeasuredGeometries   "MeasuredGeometries"
 Dataset capability for measured geometries support.
 
#define ODsCRandomLayerRead   "RandomLayerRead"
 Dataset capability for GetNextFeature() returning features from random layers.
 
#define ODsCRandomLayerWrite   "RandomLayerWrite "
 Dataset capability for supporting CreateFeature on layer in random order.
 
#define ODrCCreateDataSource   "CreateDataSource"
 Driver capability for datasource creation.
 
#define ODrCDeleteDataSource   "DeleteDataSource"
 Driver capability for datasource deletion.
 
#define OLMD_FID64   "OLMD_FID64"
 Capability set to YES as metadata on a layer that has features with 64 bit identifiers. More...
 

Typedefs

typedef int OGRErr
 Simple container for a bounding region. More...
 
typedef int OGRBoolean
 Type for a OGR boolean.
 
typedef enum
ogr_style_tool_class_id 
OGRSTClassId
 OGRStyleTool derived class types (returned by GetType()).
 
typedef enum
ogr_style_tool_units_id 
OGRSTUnitId
 List of units supported by OGRStyleTools.
 
typedef enum
ogr_style_tool_param_pen_id 
OGRSTPenParam
 List of parameters for use with OGRStylePen.
 
typedef enum
ogr_style_tool_param_brush_id 
OGRSTBrushParam
 List of parameters for use with OGRStyleBrush.
 
typedef enum
ogr_style_tool_param_symbol_id 
OGRSTSymbolParam
 List of parameters for use with OGRStyleSymbol.
 
typedef enum
ogr_style_tool_param_label_id 
OGRSTLabelParam
 List of parameters for use with OGRStyleLabel.
 

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
}
 List of well known binary geometry types. More...
 
enum  OGRwkbVariant { wkbVariantOldOgc, wkbVariantIso, wkbVariantPostGIS1 }
 Output variants of WKB we support. More...
 
enum  OGRwkbByteOrder { wkbXDR = 0, wkbNDR = 1 }
 Enumeration to describe byte order. More...
 
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, OFTMaxType = 13
}
 List of feature field types. More...
 
enum  OGRFieldSubType {
  OFSTNone = 0, OFSTBoolean = 1, OFSTInt16 = 2, OFSTFloat32 = 3,
  OFSTMaxSubType = 3
}
 List of field subtypes. More...
 
enum  OGRJustification { OJUndefined = 0, OJLeft = 1, OJRight = 2 }
 Display justification for field values.
 
enum  ogr_style_tool_class_id {
  OGRSTCNone = 0, OGRSTCPen = 1, OGRSTCBrush = 2, OGRSTCSymbol = 3,
  OGRSTCLabel = 4, OGRSTCVector = 5
}
 OGRStyleTool derived class types (returned by GetType()). More...
 
enum  ogr_style_tool_units_id {
  OGRSTUGround = 0, OGRSTUPixel = 1, OGRSTUPoints = 2, OGRSTUMM = 3,
  OGRSTUCM = 4, OGRSTUInches = 5
}
 List of units supported by OGRStyleTools. More...
 
enum  ogr_style_tool_param_pen_id {
  OGRSTPenColor = 0, OGRSTPenWidth = 1, OGRSTPenPattern = 2, OGRSTPenId = 3,
  OGRSTPenPerOffset = 4, OGRSTPenCap = 5, OGRSTPenJoin = 6, OGRSTPenPriority = 7
}
 List of parameters for use with OGRStylePen. More...
 
enum  ogr_style_tool_param_brush_id {
  OGRSTBrushFColor = 0, OGRSTBrushBColor = 1, OGRSTBrushId = 2, OGRSTBrushAngle = 3,
  OGRSTBrushSize = 4, OGRSTBrushDx = 5, OGRSTBrushDy = 6, OGRSTBrushPriority = 7
}
 List of parameters for use with OGRStyleBrush. More...
 
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
}
 List of parameters for use with OGRStyleSymbol. More...
 
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
}
 List of parameters for use with OGRStyleLabel. More...
 

Functions

const char * OGRGeometryTypeToName (OGRwkbGeometryType eType)
 Fetch a human readable name corresponding to an OGRwkbGeometryType value. 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...
 
int OGRParseDate (const char *pszInput, OGRField *psOutput, int nOptions)
 Parse date string. More...
 

Detailed Description

Core portability services for cross-platform OGR code.

Macro Definition Documentation

Alter all parameters of field definition.

Used by OGR_L_AlterFieldDefn().

#define ALTER_DEFAULT_FLAG   0x10

Alter field DEFAULT value.

Used by OGR_L_AlterFieldDefn().

Since
GDAL 2.0
#define ALTER_NAME_FLAG   0x1

Alter field name.

Used by OGR_L_AlterFieldDefn().

#define ALTER_NULLABLE_FLAG   0x8

Alter field NOT NULL constraint.

Used by OGR_L_AlterFieldDefn().

Since
GDAL 2.0
#define ALTER_TYPE_FLAG   0x2

Alter field type.

Used by OGR_L_AlterFieldDefn().

#define ALTER_WIDTH_PRECISION_FLAG   0x4

Alter field width and precision.

Used by OGR_L_AlterFieldDefn().

#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
#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
#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
#define OGR_F_VAL_GEOM_TYPE   0x00000002

Validate that geometries respect geometry column type.

Used by OGR_F_Validate().

Since
GDAL 2.0
#define OGR_F_VAL_NULL   0x00000001

Validate that fields respect not-null constraints.

Used by OGR_F_Validate().

Since
GDAL 2.0
#define OGR_F_VAL_WIDTH   0x00000004

Validate that (string) fields respect field width.

Used by OGR_F_Validate().

Since
GDAL 2.0
#define OGRERR_NON_EXISTING_FEATURE   9

Non existing feature.

Added in GDAL 2.0

#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
#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.

#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
#define wkb25DBit   0x80000000
Deprecated:
in GDAL 2.0. Use wkbHasZ() or wkbSetZ() instead
#define wkbHasM (   x)    (OGR_GT_HasM(x) != 0)

Return if the geometry type is a measured geometry type.

Since
GDAL 2.1
#define wkbHasZ (   x)    (OGR_GT_HasZ(x) != 0)

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

Since
GDAL 2.0
#define wkbSetM (   x)    OGR_GT_SetM(x)

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

Since
GDAL 2.1
#define wkbSetZ (   x)    OGR_GT_SetZ(x)

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

Since
GDAL 2.0

Typedef Documentation

typedef int OGRErr

Simple container for a bounding region.

Type for a OGR error

Enumeration Type Documentation

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

Enumerator
OGRSTCNone 

None.

OGRSTCPen 

Pen.

OGRSTCBrush 

Brush.

OGRSTCSymbol 

Symbol.

OGRSTCLabel 

Label.

OGRSTCVector 

Vector.

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.

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.

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.

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.

List of units supported by OGRStyleTools.

Enumerator
OGRSTUGround 

Ground unit.

OGRSTUPixel 

Pixel.

OGRSTUPoints 

Points.

OGRSTUMM 

Millimeter.

OGRSTUCM 

Centimeter.

OGRSTUInches 

Inch.

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.

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.

Enumeration to describe byte order.

Enumerator
wkbXDR 

MSB/Sun/Motoroloa: Most Significant Byte First.

wkbNDR 

LSB/Intel/Vax: Least Significant Byte First.

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

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

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
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
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
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
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
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
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
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
int OGR_GT_IsSubClassOf ( OGRwkbGeometryType  eType,
OGRwkbGeometryType  eSuperType 
)

Returns if a type is a subclass of another one.

Parameters
eTypeType.
eSuperTypeSuper type
Returns
TRUE if eType is a subclass of eSuperType.
Since
GDAL 2.0
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
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
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
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
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.
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.
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
int OGRParseDate ( const char *  pszInput,
OGRField psField,
int  nOptions 
)

Parse date string.

This function attempts to parse a date string in a variety of formats into the OGRField.Date format suitable for use with OGR. Generally speaking this function is expecting values like:

YYYY-MM-DD HH:MM:SS[.sss]+nn or YYYY-MM-DDTHH:MM:SS[.sss]Z (ISO 8601 format)

The seconds may also have a decimal portion (which is ignored). And just dates (YYYY-MM-DD) or just times (HH:MM:SS[.sss]) are also supported. The date may also be in YYYY/MM/DD format. If the year is less than 100 and greater than 30 a "1900" century value will be set. If it is less than 30 and greater than -1 then a "2000" century value will be set. In the future this function may be generalized, and additional control provided through nOptions, but an nOptions value of "0" should always do a reasonable default form of processing.

The value of psField will be indeterminate if the function fails (returns FALSE).

Parameters
pszInputthe input date string.
psFieldthe OGRField that will be updated with the parsed result.
nOptionsparsing options, for now always 0.
Returns
TRUE if apparently successful or FALSE on failure.

Generated for GDAL by doxygen 1.8.8.