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

class  OGREnvelope
 Simple container for a bounding region (rectangle) More...
 
class  OGREnvelope3D
 Simple container for a bounding region in 3D. More...
 
union  OGRField
 OGRFeature field attribute value union. More...
 
struct  OGRCodedValue
 Associates a code and a value. 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.
 
#define wkb25DBit   0x80000000
 
#define wkbFlatten(x)   OGR_GT_Flatten(static_cast<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.
 
#define wkbSetZ(x)   OGR_GT_SetZ(x)
 Return the 3D geometry type corresponding to the specified geometry type.
 
#define wkbHasM(x)   (OGR_GT_HasM(x) != 0)
 Return if the geometry type is a measured geometry type.
 
#define wkbSetM(x)   OGR_GT_SetM(x)
 Return the measured geometry type corresponding to the specified geometry type.
 
#define ALTER_NAME_FLAG   0x1
 Alter field name.
 
#define ALTER_TYPE_FLAG   0x2
 Alter field type.
 
#define ALTER_WIDTH_PRECISION_FLAG   0x4
 Alter field width and precision.
 
#define ALTER_NULLABLE_FLAG   0x8
 Alter field NOT NULL constraint.
 
#define ALTER_DEFAULT_FLAG   0x10
 Alter field DEFAULT value.
 
#define ALTER_UNIQUE_FLAG   0x20
 Alter field UNIQUE constraint.
 
#define ALTER_DOMAIN_FLAG   0x40
 Alter field domain name.
 
#define ALTER_ALTERNATIVE_NAME_FLAG   0x80
 Alter field alternative name.
 
#define ALTER_COMMENT_FLAG   0x100
 Alter field comment.
 
#define ALTER_ALL_FLAG
 Alter all parameters of field definition.
 
#define ALTER_GEOM_FIELD_DEFN_NAME_FLAG   0x1000
 Alter geometry field name.
 
#define ALTER_GEOM_FIELD_DEFN_TYPE_FLAG   0x2000
 Alter geometry field type.
 
#define ALTER_GEOM_FIELD_DEFN_NULLABLE_FLAG   0x4000
 Alter geometry field nullable state.
 
#define ALTER_GEOM_FIELD_DEFN_SRS_FLAG   0x8000
 Alter geometry field spatial reference system (except its coordinate epoch) Used by OGR_L_AlterGeomFieldDefn().
 
#define ALTER_GEOM_FIELD_DEFN_SRS_COORD_EPOCH_FLAG   0x10000
 Alter geometry field coordinate epoch Used by OGR_L_AlterGeomFieldDefn().
 
#define ALTER_GEOM_FIELD_DEFN_ALL_FLAG
 Alter all parameters of field definition.
 
#define OGR_F_VAL_NULL   0x00000001
 Validate that fields respect not-null constraints.
 
#define OGR_F_VAL_GEOM_TYPE   0x00000002
 Validate that geometries respect geometry column type.
 
#define OGR_F_VAL_WIDTH   0x00000004
 Validate that (string) fields respect field width.
 
#define OGR_F_VAL_ALLOW_NULL_WHEN_DEFAULT   0x00000008
 Allow fields that are null when there's an associated default value.
 
#define OGR_F_VAL_ALLOW_DIFFERENT_GEOM_DIM   0x00000010
 Allow geometry fields to have a different coordinate dimension that their geometry column type.
 
#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().
 
#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.
 
#define OGRNullMarker   -21122
 Special value set in OGRField.Set.nMarker1, nMarker2 and nMarker3 for a null field.
 
#define OGR_TZFLAG_UNKNOWN   0
 Time zone flag indicating unknown timezone.
 
#define OGR_TZFLAG_LOCALTIME   1
 Time zone flag indicating local time.
 
#define OGR_TZFLAG_MIXED_TZ   2
 Time zone flag only returned by OGRFieldDefn::GetTZFlag() to indicate that all values in the field have a known time zone (ie different from OGR_TZFLAG_UNKNOWN and OGR_TZFLAG_LOCALTIME), but it may be different among features.
 
#define OGR_TZFLAG_UTC   100
 Time zone flag indicating UTC.
 
#define OGRPARSEDATE_OPTION_LAX   1
 Option for OGRParseDate() to ask for lax checks on the input format.
 
#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 OLCFastGetExtent3D    "FastGetExtent3D"
 Layer capability for fast 3D 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 OLCAlterGeomFieldDefn    "AlterGeomFieldDefn"
 Layer capability for geometry field alteration .
 
#define OLCTransactions    "Transactions"
 Layer capability for transactions .
 
#define OLCDeleteFeature    "DeleteFeature"
 Layer capability for feature deletion.
 
#define OLCUpsertFeature    "UpsertFeature"
 Layer capability for feature upsert.
 
#define OLCUpdateFeature    "UpdateFeature"
 Layer capability for specialized \ UpdateFeature() implementation.
 
#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 OLCZGeometries    "ZGeometries"
 Layer capability for geometry with Z dimension support.
 
#define OLCRename    "Rename"
 Layer capability for a layer that supports Rename()
 
#define OLCFastGetArrowStream    "FastGetArrowStream"
 Layer capability for fast GetArrowStream() \ implementation.
 
#define OLCFastWriteArrowBatch    "FastWriteArrowBatch"
 Layer capability for fast WriteArrowBatch() \ implementation.
 
#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 ODsCZGeometries    "ZGeometries"
 Dataset capability for geometry with Z dimension \ 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 ODsCAddFieldDomain    "AddFieldDomain"
 Dataset capability for supporting AddFieldDomain() \ (at least partially)
 
#define ODsCDeleteFieldDomain    "DeleteFieldDomain"
 Dataset capability for supporting \ DeleteFieldDomain()
 
#define ODsCUpdateFieldDomain    "UpdateFieldDomain"
 Dataset capability for supporting \ UpdateFieldDomain()
 
#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.
 

Typedefs

typedef int OGRErr
 Type for a OGR error.
 
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 , wkbMultiPolygon = 6 , wkbGeometryCollection = 7 ,
  wkbCircularString = 8 , wkbCompoundCurve = 9 , wkbCurvePolygon = 10 , wkbMultiCurve = 11 ,
  wkbMultiSurface = 12 , wkbCurve , wkbSurface , wkbPolyhedralSurface ,
  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 = -2147483647 , wkbLineString25D = -2147483646 , wkbPolygon25D = -2147483645 , wkbMultiPoint25D = -2147483644 ,
  wkbMultiLineString25D = -2147483643 , wkbMultiPolygon25D = -2147483642 , wkbGeometryCollection25D = -2147483641
}
 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 ,
  OFSTJSON = 4 , OFSTUUID = 5 , OFSTMaxSubType = 5
}
 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...
 
enum  OGRFieldDomainType { OFDT_CODED , OFDT_RANGE , OFDT_GLOB }
 Type of field domain. More...
 
enum  OGRFieldDomainSplitPolicy { OFDSP_DEFAULT_VALUE , OFDSP_DUPLICATE , OFDSP_GEOMETRY_RATIO }
 Split policy for field domains. More...
 
enum  OGRFieldDomainMergePolicy { OFDMP_DEFAULT_VALUE , OFDMP_SUM , OFDMP_GEOMETRY_WEIGHTED }
 Merge policy for field domains. More...
 

Functions

const char * OGRGeometryTypeToName (OGRwkbGeometryType eType)
 Fetch a human readable name corresponding to an OGRwkbGeometryType value.
 
OGRwkbGeometryType OGRMergeGeometryTypes (OGRwkbGeometryType eMain, OGRwkbGeometryType eExtra)
 Find common geometry type.
 
OGRwkbGeometryType OGRMergeGeometryTypesEx (OGRwkbGeometryType eMain, OGRwkbGeometryType eExtra, int bAllowPromotingToCurves)
 Find common geometry type.
 
OGRwkbGeometryType OGR_GT_Flatten (OGRwkbGeometryType eType)
 Returns the 2D geometry type corresponding to the passed geometry type.
 
OGRwkbGeometryType OGR_GT_SetZ (OGRwkbGeometryType eType)
 Returns the 3D geometry type corresponding to the passed geometry type.
 
OGRwkbGeometryType OGR_GT_SetM (OGRwkbGeometryType eType)
 Returns the measured geometry type corresponding to the passed geometry type.
 
OGRwkbGeometryType OGR_GT_SetModifier (OGRwkbGeometryType eType, int bSetZ, int bSetM)
 Returns a XY, XYZ, XYM or XYZM geometry type depending on parameter.
 
int OGR_GT_HasZ (OGRwkbGeometryType eType)
 Return if the geometry type is a 3D geometry type.
 
int OGR_GT_HasM (OGRwkbGeometryType eType)
 Return if the geometry type is a measured type.
 
int OGR_GT_IsSubClassOf (OGRwkbGeometryType eType, OGRwkbGeometryType eSuperType)
 Returns if a type is a subclass of another one.
 
int OGR_GT_IsCurve (OGRwkbGeometryType)
 Return if a geometry type is an instance of Curve.
 
int OGR_GT_IsSurface (OGRwkbGeometryType)
 Return if a geometry type is an instance of Surface.
 
int OGR_GT_IsNonLinear (OGRwkbGeometryType)
 Return if a geometry type is a non-linear geometry type.
 
OGRwkbGeometryType OGR_GT_GetCollection (OGRwkbGeometryType eType)
 Returns the collection type that can contain the passed geometry type.
 
OGRwkbGeometryType OGR_GT_GetCurve (OGRwkbGeometryType eType)
 Returns the curve geometry type that can contain the passed geometry type.
 
OGRwkbGeometryType OGR_GT_GetLinear (OGRwkbGeometryType eType)
 Returns the non-curve geometry type that can contain the passed geometry type.
 
int OGR_GET_MS (float fSec)
 Return the number of milliseconds from a datetime with decimal seconds.
 
int OGRParseDate (const char *pszInput, OGRField *psOutput, int nOptions)
 Parse date string.
 

Detailed Description

Core portability services for cross-platform OGR code.

Macro Definition Documentation

◆ ALTER_ALL_FLAG

#define ALTER_ALL_FLAG
Value:
#define ALTER_WIDTH_PRECISION_FLAG
Alter field width and precision.
Definition ogr_core.h:652
#define ALTER_ALTERNATIVE_NAME_FLAG
Alter field alternative name.
Definition ogr_core.h:682
#define ALTER_TYPE_FLAG
Alter field type.
Definition ogr_core.h:647
#define ALTER_UNIQUE_FLAG
Alter field UNIQUE constraint.
Definition ogr_core.h:670
#define ALTER_NULLABLE_FLAG
Alter field NOT NULL constraint.
Definition ogr_core.h:658
#define ALTER_DEFAULT_FLAG
Alter field DEFAULT value.
Definition ogr_core.h:664
#define ALTER_COMMENT_FLAG
Alter field comment.
Definition ogr_core.h:688
#define ALTER_NAME_FLAG
Alter field name.
Definition ogr_core.h:642
#define ALTER_DOMAIN_FLAG
Alter field domain name.
Definition ogr_core.h:676

Alter all parameters of field definition.

Used by OGR_L_AlterFieldDefn().

◆ ALTER_ALTERNATIVE_NAME_FLAG

#define ALTER_ALTERNATIVE_NAME_FLAG   0x80

Alter field alternative name.

Used by OGR_L_AlterFieldDefn().

Since
GDAL 3.7

◆ ALTER_COMMENT_FLAG

#define ALTER_COMMENT_FLAG   0x100

Alter field comment.

Used by OGR_L_AlterFieldDefn().

Since
GDAL 3.7

◆ ALTER_DEFAULT_FLAG

#define ALTER_DEFAULT_FLAG   0x10

Alter field DEFAULT value.

Used by OGR_L_AlterFieldDefn().

Since
GDAL 2.0

◆ ALTER_DOMAIN_FLAG

#define ALTER_DOMAIN_FLAG   0x40

Alter field domain name.

Used by OGR_L_AlterFieldDefn().

Since
GDAL 3.3

◆ ALTER_GEOM_FIELD_DEFN_ALL_FLAG

#define ALTER_GEOM_FIELD_DEFN_ALL_FLAG
Value:
#define ALTER_GEOM_FIELD_DEFN_NAME_FLAG
Alter geometry field name.
Definition ogr_core.h:702
#define ALTER_GEOM_FIELD_DEFN_SRS_FLAG
Alter geometry field spatial reference system (except its coordinate epoch) Used by OGR_L_AlterGeomFi...
Definition ogr_core.h:720
#define ALTER_GEOM_FIELD_DEFN_TYPE_FLAG
Alter geometry field type.
Definition ogr_core.h:708
#define ALTER_GEOM_FIELD_DEFN_SRS_COORD_EPOCH_FLAG
Alter geometry field coordinate epoch Used by OGR_L_AlterGeomFieldDefn().
Definition ogr_core.h:726
#define ALTER_GEOM_FIELD_DEFN_NULLABLE_FLAG
Alter geometry field nullable state.
Definition ogr_core.h:714

Alter all parameters of field definition.

Used by OGR_L_AlterGeomFieldDefn().

Since
GDAL 3.6

◆ ALTER_GEOM_FIELD_DEFN_NAME_FLAG

#define ALTER_GEOM_FIELD_DEFN_NAME_FLAG   0x1000

Alter geometry field name.

Used by OGR_L_AlterGeomFieldDefn().

Since
GDAL 3.6

◆ ALTER_GEOM_FIELD_DEFN_NULLABLE_FLAG

#define ALTER_GEOM_FIELD_DEFN_NULLABLE_FLAG   0x4000

Alter geometry field nullable state.

Used by OGR_L_AlterGeomFieldDefn().

Since
GDAL 3.6

◆ ALTER_GEOM_FIELD_DEFN_SRS_COORD_EPOCH_FLAG

#define ALTER_GEOM_FIELD_DEFN_SRS_COORD_EPOCH_FLAG   0x10000

Alter geometry field coordinate epoch Used by OGR_L_AlterGeomFieldDefn().

Since
GDAL 3.6

◆ ALTER_GEOM_FIELD_DEFN_SRS_FLAG

#define ALTER_GEOM_FIELD_DEFN_SRS_FLAG   0x8000

Alter geometry field spatial reference system (except its coordinate epoch) Used by OGR_L_AlterGeomFieldDefn().

Since
GDAL 3.6

◆ ALTER_GEOM_FIELD_DEFN_TYPE_FLAG

#define ALTER_GEOM_FIELD_DEFN_TYPE_FLAG   0x2000

Alter geometry field type.

Used by OGR_L_AlterGeomFieldDefn().

Since
GDAL 3.6

◆ 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_UNIQUE_FLAG

#define ALTER_UNIQUE_FLAG   0x20

Alter field UNIQUE constraint.

Used by OGR_L_AlterFieldDefn().

Since
GDAL 3.2

◆ ALTER_WIDTH_PRECISION_FLAG

#define ALTER_WIDTH_PRECISION_FLAG   0x4

Alter field width and precision.

Used by OGR_L_AlterFieldDefn().

◆ ODsCZGeometries

#define ODsCZGeometries    "ZGeometries"

Dataset capability for geometry with Z dimension \ support.

Since GDAL 3.6.

◆ 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

◆ 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_TZFLAG_UNKNOWN

#define OGR_TZFLAG_UNKNOWN   0

Time zone flag indicating unknown timezone.

For the OGRFieldDefn::GetTZFlag() property, this may also indicate a mix of unknown, localtime or known time zones in the same field.

◆ OGR_TZFLAG_UTC

#define OGR_TZFLAG_UTC   100

Time zone flag indicating UTC.

Used to derived other time zone flags with the following logic:

  • values above 100 indicate a 15 minute increment per unit.
  • values under 100 indicate a 15 minute decrement per unit. For example: a value of 101 indicates UTC+00:15, a value of 102 UTC+00:30, a value of 99 UTC-00:15 ,etc.

◆ OGRERR_NON_EXISTING_FEATURE

#define OGRERR_NON_EXISTING_FEATURE    9

Non existing feature.

Added in GDAL 2.0

◆ 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

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

◆ OLCZGeometries

#define OLCZGeometries    "ZGeometries"

Layer capability for geometry with Z dimension support.

\ Since GDAL 3.6.

◆ 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

◆ wkbHasM

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

Return if the geometry type is a measured geometry type.

Since
GDAL 2.1

◆ wkbHasZ

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

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

Since
GDAL 2.0

◆ wkbSetM

#define wkbSetM (   x)    OGR_GT_SetM(x)

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

Since
GDAL 2.1

◆ wkbSetZ

#define wkbSetZ (   x)    OGR_GT_SetZ(x)

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

Since
GDAL 2.0

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 

OBSOLETE; do not use.

OGRSTLabelAdjVert 

OBSOLETE; do not use.

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.

◆ OGRFieldDomainMergePolicy

Merge policy for field domains.

When a feature is built by merging two features, defines how the value of attributes following the domain are computed.

Since
GDAL 3.3
Enumerator
OFDMP_DEFAULT_VALUE 

Default value.

OFDMP_SUM 

Sum.

OFDMP_GEOMETRY_WEIGHTED 

New values are computed as the weighted average of the source values.

◆ OGRFieldDomainSplitPolicy

Split policy for field domains.

When a feature is split in two, defines how the value of attributes following the domain are computed.

Since
GDAL 3.3
Enumerator
OFDSP_DEFAULT_VALUE 

Default value.

OFDSP_DUPLICATE 

Duplicate.

OFDSP_GEOMETRY_RATIO 

New values are computed by the ratio of their area/length compared to the area/length of the original feature.

◆ OGRFieldDomainType

Type of field domain.

Since
GDAL 3.3
Enumerator
OFDT_CODED 

Coded.

OFDT_RANGE 

Range (min/max)

OFDT_GLOB 

Glob (used by GeoPackage)

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

OFSTJSON 

JSON content.

Only valid for OFTString.

Since
GDAL 2.4
OFSTUUID 

UUID string representation.

Only valid for OFTString.

Since
GDAL 3.3

◆ 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 

Single signed 32bit integer.

OFTIntegerList 

List of signed 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 signed 64bit integer.

OFTInteger64List 

List of signed 64bit integers.

◆ OGRwkbByteOrder

Enumeration to describe byte order.

Enumerator
wkbXDR 

MSB/Sun/Motorola: 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.

GDAL >= 2.3

wkbTIN 

a PolyhedralSurface consisting only of Triangle patches ISO SQL/MM Part 3.

GDAL >= 2.3

wkbTriangle 

a Triangle.

ISO SQL/MM Part 3. GDAL >= 2.3

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.

GDAL >= 2.3

wkbTINZ 

ISO SQL/MM Part 3.

GDAL >= 2.3

wkbTriangleZ 

ISO SQL/MM Part 3.

GDAL >= 2.3

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.

GDAL >= 2.3

wkbTINM 

ISO SQL/MM Part 3.

GDAL >= 2.3

wkbTriangleM 

ISO SQL/MM Part 3.

GDAL >= 2.3

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.

GDAL >= 2.3

wkbTINZM 

ISO SQL/MM Part 3.

GDAL >= 2.3

wkbTriangleZM 

ISO SQL/MM Part 3.

GDAL >= 2.3

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

◆ 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

◆ 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

◆ 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

◆ 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

◆ 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

◆ 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

◆ OGR_GT_IsSubClassOf()

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

◆ 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

◆ 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

◆ 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

◆ 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

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

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

◆ 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

◆ OGRParseDate()

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) or YYYY-MM-DDZ or THH:MM(:SS(.sss)?)?Z? (ISO 8601 extended format) or THHMM(SS(.sss)?)?Z? (ISO 8601 basic format)

The seconds may also have a decimal portion (parsed as milliseconds). 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. 0 or OGRPARSEDATE_OPTION_LAX
Returns
TRUE if apparently successful or FALSE on failure.