14#ifndef OGR_CORE_H_INCLUDED
15#define OGR_CORE_H_INCLUDED
18#if defined(GDAL_COMPILATION)
19#define DO_NOT_DEFINE_GDAL_DATE_NAME
21#include "gdal_version.h"
29#if defined(__cplusplus) && !defined(CPL_SUPRESS_CPLUSPLUS)
33#if !defined(DOXYGEN_SKIP)
48 :
MinX(std::numeric_limits<double>::infinity()),
49 MaxX(-std::numeric_limits<double>::infinity()),
50 MinY(std::numeric_limits<double>::infinity()),
51 MaxY(-std::numeric_limits<double>::infinity())
77#ifdef HAVE_GCC_DIAGNOSTIC_PUSH
78#pragma GCC diagnostic push
79#pragma GCC diagnostic ignored "-Wfloat-equal"
85 return MinX != std::numeric_limits<double>::infinity();
88#ifdef HAVE_GCC_DIAGNOSTIC_PUSH
89#pragma GCC diagnostic pop
158#ifdef HAVE_GCC_DIAGNOSTIC_PUSH
159#pragma GCC diagnostic push
160#pragma GCC diagnostic ignored "-Wfloat-equal"
165#ifdef HAVE_GCC_DIAGNOSTIC_PUSH
166#pragma GCC diagnostic pop
174 return !(*
this == other);
190#if defined(__cplusplus) && !defined(CPL_SUPRESS_CPLUSPLUS)
204 MaxZ(-std::numeric_limits<double>::infinity())
220 return std::isfinite(
MinZ) && std::isfinite(
MaxZ);
229#ifdef HAVE_GCC_DIAGNOSTIC_PUSH
230#pragma GCC diagnostic push
231#pragma GCC diagnostic ignored "-Wfloat-equal"
237 return MinX != std::numeric_limits<double>::infinity();
239#ifdef HAVE_GCC_DIAGNOSTIC_PUSH
240#pragma GCC diagnostic pop
267 void Merge(
double dfX,
double dfY,
double dfZ)
343void CPL_DLL *OGRMalloc(
size_t) CPL_WARN_DEPRECATED(
"Use CPLMalloc instead.");
344void CPL_DLL *OGRCalloc(
size_t,
size_t)
345 CPL_WARN_DEPRECATED(
"Use CPLCalloc instead.");
346void CPL_DLL *OGRRealloc(
void *,
size_t)
347 CPL_WARN_DEPRECATED(
"Use CPLRealloc instead.");
348char CPL_DLL *OGRStrdup(
const char *)
349 CPL_WARN_DEPRECATED(
"Use CPLStrdup instead.");
350void CPL_DLL OGRFree(
void *) CPL_WARN_DEPRECATED(
"Use CPLFree instead.");
353#ifdef STRICT_OGRERR_TYPE
373#define OGRERR_NOT_ENOUGH_DATA 1
374#define OGRERR_NOT_ENOUGH_MEMORY 2
375#define OGRERR_UNSUPPORTED_GEOMETRY_TYPE 3
376#define OGRERR_UNSUPPORTED_OPERATION 4
377#define OGRERR_CORRUPT_DATA 5
378#define OGRERR_FAILURE 6
379#define OGRERR_UNSUPPORTED_SRS 7
380#define OGRERR_INVALID_HANDLE 8
381#define OGRERR_NON_EXISTING_FEATURE 9
392#if defined(HAVE_GCC_DIAGNOSTIC_PUSH) && __STDC_VERSION__ < 202311L
395#pragma GCC diagnostic push
396#pragma GCC diagnostic ignored "-Wpedantic"
497#if defined(DOXYGEN_SKIP)
517#if defined(HAVE_GCC_DIAGNOSTIC_PUSH) && __STDC_VERSION__ < 202311L
518#pragma GCC diagnostic pop
548#ifndef GDAL_COMPILATION
550#define wkb25DBit 0x80000000
555#define wkbFlatten(x) OGR_GT_Flatten((OGRwkbGeometryType)(x))
558#define wkbFlatten(x) OGR_GT_Flatten(static_cast<OGRwkbGeometryType>(x))
563#define wkbHasZ(x) (OGR_GT_HasZ(x) != 0)
567#define wkbSetZ(x) OGR_GT_SetZ(x)
571#define wkbHasM(x) (OGR_GT_HasM(x) != 0)
576#define wkbSetM(x) OGR_GT_SetM(x)
579#define ogrZMarker 0x21125711
587 int bAllowPromotingToCurves);
592 int bSetZ,
int bSetM);
614#ifndef NO_HACK_FOR_IBM_DB2_V72
615#define HACK_FOR_IBM_DB2_V72
618#ifdef HACK_FOR_IBM_DB2_V72
619#define DB2_V72_FIX_BYTE_ORDER(x) ((((x)&0x31) == (x)) ? ((x)&0x1) : (x))
620#define DB2_V72_UNFIX_BYTE_ORDER(x) \
621 CPL_STATIC_CAST(unsigned char, OGRGeometry::bGenerate_DB2_V72_BYTE_ORDER \
625#define DB2_V72_FIX_BYTE_ORDER(x) (x)
626#define DB2_V72_UNFIX_BYTE_ORDER(x) (x)
634#define ALTER_NAME_FLAG 0x1
639#define ALTER_TYPE_FLAG 0x2
644#define ALTER_WIDTH_PRECISION_FLAG 0x4
649#define ALTER_NULLABLE_FLAG 0x8
654#define ALTER_DEFAULT_FLAG 0x10
660#define ALTER_UNIQUE_FLAG 0x20
666#define ALTER_DOMAIN_FLAG 0x40
672#define ALTER_ALTERNATIVE_NAME_FLAG 0x80
678#define ALTER_COMMENT_FLAG 0x100
683#define ALTER_ALL_FLAG \
684 (ALTER_NAME_FLAG | ALTER_TYPE_FLAG | ALTER_WIDTH_PRECISION_FLAG | \
685 ALTER_NULLABLE_FLAG | ALTER_DEFAULT_FLAG | ALTER_UNIQUE_FLAG | \
686 ALTER_DOMAIN_FLAG | ALTER_ALTERNATIVE_NAME_FLAG | ALTER_COMMENT_FLAG)
692#define ALTER_GEOM_FIELD_DEFN_NAME_FLAG 0x1000
698#define ALTER_GEOM_FIELD_DEFN_TYPE_FLAG 0x2000
704#define ALTER_GEOM_FIELD_DEFN_NULLABLE_FLAG 0x4000
710#define ALTER_GEOM_FIELD_DEFN_SRS_FLAG 0x8000
716#define ALTER_GEOM_FIELD_DEFN_SRS_COORD_EPOCH_FLAG 0x10000
722#define ALTER_GEOM_FIELD_DEFN_ALL_FLAG \
723 (ALTER_GEOM_FIELD_DEFN_NAME_FLAG | ALTER_GEOM_FIELD_DEFN_TYPE_FLAG | \
724 ALTER_GEOM_FIELD_DEFN_NULLABLE_FLAG | ALTER_GEOM_FIELD_DEFN_SRS_FLAG | \
725 ALTER_GEOM_FIELD_DEFN_SRS_COORD_EPOCH_FLAG)
730#define OGR_F_VAL_NULL 0x00000001
735#define OGR_F_VAL_GEOM_TYPE 0x00000002
740#define OGR_F_VAL_WIDTH 0x00000004
747#define OGR_F_VAL_ALLOW_NULL_WHEN_DEFAULT 0x00000008
754#define OGR_F_VAL_ALLOW_DIFFERENT_GEOM_DIM 0x00000010
759#define OGR_F_VAL_ALL (0x7FFFFFFF & ~OGR_F_VAL_ALLOW_DIFFERENT_GEOM_DIM)
772{
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,
837#define OGRUnknownType static_cast<OGRFieldType>(-1)
845#define OGRUnsetMarker -21121
852#define OGRNullMarker -21122
858#define OGR_TZFLAG_UNKNOWN 0
861#define OGR_TZFLAG_LOCALTIME 1
867#define OGR_TZFLAG_MIXED_TZ 2
875#define OGR_TZFLAG_UTC 100
951#define OGRPARSEDATE_OPTION_LAX 1
959#define OLCRandomRead "RandomRead"
960#define OLCSequentialWrite \
962#define OLCRandomWrite "RandomWrite"
963#define OLCFastSpatialFilter \
965#define OLCFastFeatureCount \
968#define OLCFastGetExtent \
970#define OLCFastGetExtent3D \
972#define OLCCreateField \
975#define OLCDeleteField \
978#define OLCReorderFields \
980#define OLCAlterFieldDefn \
982#define OLCAlterGeomFieldDefn \
985#define OLCTransactions \
988#define OLCDeleteFeature \
990#define OLCUpsertFeature \
992#define OLCUpdateFeature \
995#define OLCFastSetNextByIndex \
998#define OLCStringsAsUTF8 \
1001#define OLCIgnoreFields \
1003#define OLCCreateGeomField \
1005#define OLCCurveGeometries \
1007#define OLCMeasuredGeometries \
1008 "MeasuredGeometries"
1010#define OLCZGeometries \
1015#define OLCFastGetArrowStream \
1016 "FastGetArrowStream"
1018#define OLCFastWriteArrowBatch \
1019 "FastWriteArrowBatch"
1022#define ODsCCreateLayer \
1024#define ODsCDeleteLayer \
1027#define ODsCCreateGeomFieldAfterCreateLayer \
1028 "CreateGeomFieldAfterCreateLayer"
1030#define ODsCCurveGeometries \
1032#define ODsCTransactions \
1034#define ODsCEmulatedTransactions \
1035 "EmulatedTransactions"
1037#define ODsCMeasuredGeometries \
1038 "MeasuredGeometries"
1040#define ODsCZGeometries \
1043#define ODsCRandomLayerRead \
1047#define ODsCRandomLayerWrite \
1050#define ODsCAddFieldDomain \
1053#define ODsCDeleteFieldDomain \
1056#define ODsCUpdateFieldDomain \
1060#define ODrCCreateDataSource \
1062#define ODrCDeleteDataSource \
1071#define OLMD_FID64 "OLMD_FID64"
1159 OGRSTSymbolLast = 12
1268#ifndef GDAL_VERSION_INFO_DEFINED
1269#define GDAL_VERSION_INFO_DEFINED
1273#ifndef GDAL_CHECK_VERSION
1287int CPL_DLL CPL_STDCALL
GDALCheckVersion(
int nVersionMajor,
int nVersionMinor,
1288 const char *pszCallingComponentName);
1291#define GDAL_CHECK_VERSION(pszCallingComponentName) \
1292 GDALCheckVersion(GDAL_VERSION_MAJOR, GDAL_VERSION_MINOR, \
1293 pszCallingComponentName)
Simple container for a bounding region in 3D.
Definition ogr_core.h:199
void Merge(OGREnvelope const &sOther)
Update the current object by computing its union with the other rectangle.
Definition ogr_core.h:257
void Merge(OGREnvelope3D const &sOther)
Update the current object by computing its union with the other rectangle.
Definition ogr_core.h:245
int IsInit() const
Return whether the object has been initialized, that is, is non empty.
Definition ogr_core.h:235
void Merge(double dfX, double dfY, double dfZ)
Update the current object by computing its union with the provided point.
Definition ogr_core.h:267
int Intersects(OGREnvelope3D const &other) const
Return whether the current object intersects with the other rectangle.
Definition ogr_core.h:310
double MaxZ
Maximum Z value.
Definition ogr_core.h:227
OGREnvelope3D & operator=(const OGREnvelope3D &)=default
Assignment operator.
bool Is3D() const
Returns TRUE if MinZ and MaxZ are both valid numbers.
Definition ogr_core.h:218
double MinZ
Minimum Z value.
Definition ogr_core.h:224
OGREnvelope3D()
Default constructor.
Definition ogr_core.h:202
int Contains(OGREnvelope3D const &other) const
Return whether the current object contains the other rectangle.
Definition ogr_core.h:318
void Intersect(OGREnvelope3D const &sOther)
Update the current object by computing its intersection with the other rectangle.
Definition ogr_core.h:279
OGREnvelope3D(const OGREnvelope3D &oOther)
Copy constructor.
Definition ogr_core.h:209
Simple container for a bounding region (rectangle).
Definition ogr_core.h:44
int Contains(OGREnvelope const &other) const
Return whether the current object contains the other rectangle.
Definition ogr_core.h:148
double MinY
Minimum Y value.
Definition ogr_core.h:72
bool operator!=(const OGREnvelope &other) const
Return whether the current rectangle is not equal to the other rectangle.
Definition ogr_core.h:172
double MaxX
Maximum X value.
Definition ogr_core.h:69
void Intersect(OGREnvelope const &sOther)
Update the current object by computing its intersection with the other rectangle.
Definition ogr_core.h:114
double MinX
Minimum X value.
Definition ogr_core.h:66
OGREnvelope()
Default constructor.
Definition ogr_core.h:47
double MaxY
Maximum Y value.
Definition ogr_core.h:75
int IsInit() const
Return whether the object has been initialized, that is, is non empty.
Definition ogr_core.h:83
int Intersects(OGREnvelope const &other) const
Return whether the current object intersects with the other rectangle.
Definition ogr_core.h:141
void Merge(double dfX, double dfY)
Update the current object by computing its union with the provided point.
Definition ogr_core.h:104
bool operator==(const OGREnvelope &other) const
Return whether the current rectangle is equal to the other rectangle.
Definition ogr_core.h:156
OGREnvelope & operator=(const OGREnvelope &)=default
Assignment operator.
OGREnvelope(const OGREnvelope &oOther)
Copy constructor.
Definition ogr_core.h:56
void Merge(OGREnvelope const &sOther)
Update the current object by computing its union with the other rectangle.
Definition ogr_core.h:94
Core portability definitions for CPL.
#define MIN(a, b)
Macro to compute the minimum of 2 values.
Definition cpl_port.h:362
short GInt16
Int16 type.
Definition cpl_port.h:171
#define CPL_C_END
Macro to end a block of C symbols.
Definition cpl_port.h:289
#define CPL_C_START
Macro to start a block of C symbols.
Definition cpl_port.h:285
unsigned char GByte
Unsigned byte type.
Definition cpl_port.h:175
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition cpl_port.h:205
#define MAX(a, b)
Macro to compute the maximum of 2 values.
Definition cpl_port.h:364
int GDALCheckVersion(int nVersionMajor, int nVersionMinor, const char *pszCallingComponentName)
Return TRUE if GDAL library version at runtime matches nVersionMajor.nVersionMinor.
Definition gdal_misc.cpp:3045
const char * GDALVersionInfo(const char *)
Get runtime version information.
Definition gdal_misc.cpp:2847
OGRwkbGeometryType OGRMergeGeometryTypesEx(OGRwkbGeometryType eMain, OGRwkbGeometryType eExtra, int bAllowPromotingToCurves)
Find common geometry type.
Definition ogrgeometry.cpp:2960
#define OGRERR_NOT_ENOUGH_MEMORY
Not enough memory.
Definition ogr_core.h:374
int OGR_GT_HasM(OGRwkbGeometryType eType)
Return if the geometry type is a measured type.
Definition ogrgeometry.cpp:7694
int OGR_GT_IsSurface(OGRwkbGeometryType)
Return if a geometry type is an instance of Surface.
Definition ogrgeometry.cpp:8077
int OGRBoolean
Type for a OGR boolean.
Definition ogr_core.h:386
OGRFieldSubType
List of field subtypes.
Definition ogr_core.h:799
@ OFSTBoolean
Boolean integer.
Definition ogr_core.h:802
@ OFSTInt16
Signed 16-bit integer.
Definition ogr_core.h:804
@ OFSTUUID
UUID string representation.
Definition ogr_core.h:814
@ OFSTJSON
JSON content.
Definition ogr_core.h:810
@ OFSTNone
No subtype.
Definition ogr_core.h:800
@ OFSTFloat32
Single precision (32 bit) floating point.
Definition ogr_core.h:807
ogr_style_tool_param_symbol_id
List of parameters for use with OGRStyleSymbol.
Definition ogr_core.h:1145
@ OGRSTSymbolDy
Dy.
Definition ogr_core.h:1151
@ OGRSTSymbolId
Id.
Definition ogr_core.h:1146
@ OGRSTSymbolSize
Size.
Definition ogr_core.h:1149
@ OGRSTSymbolFontName
Font name.
Definition ogr_core.h:1156
@ OGRSTSymbolColor
Color.
Definition ogr_core.h:1148
@ OGRSTSymbolDx
Dx.
Definition ogr_core.h:1150
@ OGRSTSymbolPerp
Perpendicular.
Definition ogr_core.h:1153
@ OGRSTSymbolAngle
Angle.
Definition ogr_core.h:1147
@ OGRSTSymbolOColor
Outline color.
Definition ogr_core.h:1157
@ OGRSTSymbolPriority
Priority.
Definition ogr_core.h:1155
@ OGRSTSymbolStep
Step.
Definition ogr_core.h:1152
@ OGRSTSymbolOffset
Offset.
Definition ogr_core.h:1154
enum ogr_style_tool_param_symbol_id OGRSTSymbolParam
List of parameters for use with OGRStyleSymbol.
OGRFieldDomainMergePolicy
Merge policy for field domains.
Definition ogr_core.h:1251
@ OFDMP_SUM
Sum.
Definition ogr_core.h:1255
@ OFDMP_GEOMETRY_WEIGHTED
New values are computed as the weighted average of the source values.
Definition ogr_core.h:1257
@ OFDMP_DEFAULT_VALUE
Default value.
Definition ogr_core.h:1253
OGRwkbByteOrder
Enumeration to describe byte order.
Definition ogr_core.h:607
@ wkbXDR
MSB/Sun/Motorola: Most Significant Byte First.
Definition ogr_core.h:608
@ wkbNDR
LSB/Intel/Vax: Least Significant Byte First.
Definition ogr_core.h:609
int OGRParseDate(const char *pszInput, OGRField *psOutput, int nOptions)
Parse date string.
Definition ogrutils.cpp:1072
#define OGRERR_UNSUPPORTED_GEOMETRY_TYPE
Unsupported geometry type.
Definition ogr_core.h:375
OGRFieldDomainType
Type of field domain.
Definition ogr_core.h:1216
@ OFDT_RANGE
Range (min/max).
Definition ogr_core.h:1220
@ OFDT_CODED
Coded.
Definition ogr_core.h:1218
@ OFDT_GLOB
Glob (used by GeoPackage).
Definition ogr_core.h:1222
enum ogr_style_tool_param_pen_id OGRSTPenParam
List of parameters for use with OGRStylePen.
OGRwkbGeometryType OGR_GT_GetLinear(OGRwkbGeometryType eType)
Returns the non-curve geometry type that can contain the passed geometry type.
Definition ogrgeometry.cpp:8016
int OGR_GT_IsCurve(OGRwkbGeometryType)
Return if a geometry type is an instance of Curve.
Definition ogrgeometry.cpp:8057
OGRwkbGeometryType OGR_GT_SetZ(OGRwkbGeometryType eType)
Returns the 3D geometry type corresponding to the passed geometry type.
Definition ogrgeometry.cpp:7716
#define OGRERR_FAILURE
Failure.
Definition ogr_core.h:378
#define OGRERR_UNSUPPORTED_OPERATION
Unsupported operation.
Definition ogr_core.h:376
OGRwkbVariant
Output variants of WKB we support.
Definition ogr_core.h:540
@ wkbVariantPostGIS1
PostGIS 1.X has different codes for CurvePolygon, MultiCurve and MultiSurface.
Definition ogr_core.h:544
@ wkbVariantOldOgc
Old-style 99-402 extended dimension (Z) WKB types.
Definition ogr_core.h:541
@ wkbVariantIso
SFSQL 1.2 and ISO SQL/MM Part 3 extended dimension (Z&M) WKB types.
Definition ogr_core.h:542
#define OGRERR_NONE
Success.
Definition ogr_core.h:372
OGRwkbGeometryType OGRMergeGeometryTypes(OGRwkbGeometryType eMain, OGRwkbGeometryType eExtra)
Find common geometry type.
Definition ogrgeometry.cpp:2925
OGRJustification
Display justification for field values.
Definition ogr_core.h:823
OGRFieldType
List of feature field types.
Definition ogr_core.h:772
@ OFTTime
Time.
Definition ogr_core.h:783
@ OFTInteger64List
List of signed 64bit integers.
Definition ogr_core.h:786
@ OFTIntegerList
List of signed 32bit integers.
Definition ogr_core.h:774
@ OFTDate
Date.
Definition ogr_core.h:782
@ OFTWideStringList
deprecated
Definition ogr_core.h:780
@ OFTInteger
Single signed 32bit integer.
Definition ogr_core.h:773
@ OFTString
String of ASCII chars.
Definition ogr_core.h:777
@ OFTBinary
Raw Binary data.
Definition ogr_core.h:781
@ OFTRealList
List of doubles.
Definition ogr_core.h:776
@ OFTReal
Double Precision floating point.
Definition ogr_core.h:775
@ OFTStringList
Array of strings.
Definition ogr_core.h:778
@ OFTDateTime
Date and Time.
Definition ogr_core.h:784
@ OFTInteger64
Single signed 64bit integer.
Definition ogr_core.h:785
@ OFTWideString
deprecated
Definition ogr_core.h:779
OGRwkbGeometryType OGR_GT_GetCurve(OGRwkbGeometryType eType)
Returns the curve geometry type that can contain the passed geometry type.
Definition ogrgeometry.cpp:7967
OGRwkbGeometryType
List of well known binary geometry types.
Definition ogr_core.h:405
@ wkbPolygon25D
2.5D extension as per 99-402
Definition ogr_core.h:501
@ wkbCurve
Curve (abstract type).
Definition ogr_core.h:432
@ wkbLineString
1-dimensional geometric object with linear interpolation between Points, standard WKB
Definition ogr_core.h:409
@ wkbCircularString
one or more circular arc segments connected end to end, ISO SQL/MM Part 3.
Definition ogr_core.h:421
@ wkbSurfaceZM
ISO SQL/MM Part 3.
Definition ogr_core.h:492
@ wkbPolygon
planar 2-dimensional geometric object defined by 1 exterior boundary and 0 or more interior boundarie...
Definition ogr_core.h:411
@ wkbTriangle
a Triangle.
Definition ogr_core.h:439
@ wkbPoint25D
2.5D extension as per 99-402
Definition ogr_core.h:499
@ wkbSurfaceZ
wkbSurface with Z component.
Definition ogr_core.h:455
@ wkbMultiSurfaceM
ISO SQL/MM Part 3.
Definition ogr_core.h:472
@ wkbPolygonZM
ISO SQL/MM Part 3.
Definition ogr_core.h:481
@ wkbMultiPolygon25D
2.5D extension as per 99-402
Definition ogr_core.h:504
@ wkbPolyhedralSurfaceM
ISO SQL/MM Part 3.
Definition ogr_core.h:475
@ wkbTINZM
ISO SQL/MM Part 3.
Definition ogr_core.h:494
@ wkbMultiPointZM
ISO SQL/MM Part 3.
Definition ogr_core.h:482
@ wkbPointM
ISO SQL/MM Part 3.
Definition ogr_core.h:461
@ wkbMultiLineString
GeometryCollection of LineStrings, standard WKB.
Definition ogr_core.h:415
@ wkbCompoundCurveM
ISO SQL/MM Part 3.
Definition ogr_core.h:469
@ wkbUnknown
unknown type, non-standard
Definition ogr_core.h:406
@ wkbMultiSurfaceZM
ISO SQL/MM Part 3.
Definition ogr_core.h:490
@ wkbTINZ
ISO SQL/MM Part 3.
Definition ogr_core.h:458
@ wkbCircularStringM
ISO SQL/MM Part 3.
Definition ogr_core.h:468
@ wkbPolygonM
ISO SQL/MM Part 3.
Definition ogr_core.h:463
@ wkbMultiCurveM
ISO SQL/MM Part 3.
Definition ogr_core.h:471
@ wkbLinearRing
non-standard, just for createGeometry()
Definition ogr_core.h:442
@ wkbLineStringM
ISO SQL/MM Part 3.
Definition ogr_core.h:462
@ wkbTIN
a PolyhedralSurface consisting only of Triangle patches ISO SQL/MM Part 3.
Definition ogr_core.h:437
@ wkbGeometryCollection25D
2.5D extension as per 99-402
Definition ogr_core.h:505
@ wkbSurfaceM
ISO SQL/MM Part 3.
Definition ogr_core.h:474
@ wkbCurvePolygonM
ISO SQL/MM Part 3.
Definition ogr_core.h:470
@ wkbPolyhedralSurface
a contiguous collection of polygons, which share common boundary segments, ISO SQL/MM Part 3.
Definition ogr_core.h:434
@ wkbSurface
Surface (abstract type).
Definition ogr_core.h:433
@ wkbMultiCurveZ
wkbMultiCurve with Z component.
Definition ogr_core.h:450
@ wkbCircularStringZ
wkbCircularString with Z component.
Definition ogr_core.h:444
@ wkbPoint
0-dimensional geometric object, standard WKB
Definition ogr_core.h:408
@ wkbCompoundCurve
sequence of contiguous curves, ISO SQL/MM Part 3.
Definition ogr_core.h:423
@ wkbPolyhedralSurfaceZ
ISO SQL/MM Part 3.
Definition ogr_core.h:457
@ wkbGeometryCollection
geometric object that is a collection of 1 or more geometric objects, standard WKB
Definition ogr_core.h:418
@ wkbMultiPolygon
GeometryCollection of Polygons, standard WKB.
Definition ogr_core.h:417
@ wkbMultiPoint
GeometryCollection of Points, standard WKB.
Definition ogr_core.h:414
@ wkbMultiLineStringM
ISO SQL/MM Part 3.
Definition ogr_core.h:465
@ wkbMultiCurveZM
ISO SQL/MM Part 3.
Definition ogr_core.h:489
@ wkbMultiPoint25D
2.5D extension as per 99-402
Definition ogr_core.h:502
@ wkbNone
non-standard, for pure attribute records
Definition ogr_core.h:441
@ wkbMultiPointM
ISO SQL/MM Part 3.
Definition ogr_core.h:464
@ wkbCircularStringZM
ISO SQL/MM Part 3.
Definition ogr_core.h:486
@ wkbCurvePolygonZ
wkbCurvePolygon with Z component.
Definition ogr_core.h:448
@ wkbCompoundCurveZM
ISO SQL/MM Part 3.
Definition ogr_core.h:487
@ wkbTriangleZ
ISO SQL/MM Part 3.
Definition ogr_core.h:459
@ wkbPointZM
ISO SQL/MM Part 3.
Definition ogr_core.h:479
@ wkbCurvePolygon
planar surface, defined by 1 exterior boundary and zero or more interior boundaries,...
Definition ogr_core.h:425
@ wkbLineStringZM
ISO SQL/MM Part 3.
Definition ogr_core.h:480
@ wkbMultiSurface
GeometryCollection of Surfaces, ISO SQL/MM Part 3.
Definition ogr_core.h:430
@ wkbMultiPolygonM
ISO SQL/MM Part 3.
Definition ogr_core.h:466
@ wkbCurveZM
ISO SQL/MM Part 3.
Definition ogr_core.h:491
@ wkbLineString25D
2.5D extension as per 99-402
Definition ogr_core.h:500
@ wkbMultiLineStringZM
ISO SQL/MM Part 3.
Definition ogr_core.h:483
@ wkbPolyhedralSurfaceZM
ISO SQL/MM Part 3.
Definition ogr_core.h:493
@ wkbGeometryCollectionZM
ISO SQL/MM Part 3.
Definition ogr_core.h:485
@ wkbTriangleZM
ISO SQL/MM Part 3.
Definition ogr_core.h:495
@ wkbGeometryCollectionM
ISO SQL/MM Part 3.
Definition ogr_core.h:467
@ wkbCurveM
ISO SQL/MM Part 3.
Definition ogr_core.h:473
@ wkbMultiLineString25D
2.5D extension as per 99-402
Definition ogr_core.h:503
@ wkbTriangleM
ISO SQL/MM Part 3.
Definition ogr_core.h:477
@ wkbMultiPolygonZM
ISO SQL/MM Part 3.
Definition ogr_core.h:484
@ wkbTINM
ISO SQL/MM Part 3.
Definition ogr_core.h:476
@ wkbCurveZ
wkbCurve with Z component.
Definition ogr_core.h:454
@ wkbCurvePolygonZM
ISO SQL/MM Part 3.
Definition ogr_core.h:488
@ wkbMultiCurve
GeometryCollection of Curves, ISO SQL/MM Part 3.
Definition ogr_core.h:428
@ wkbCompoundCurveZ
wkbCompoundCurve with Z component.
Definition ogr_core.h:446
@ wkbMultiSurfaceZ
wkbMultiSurface with Z component.
Definition ogr_core.h:452
OGRwkbGeometryType OGR_GT_SetModifier(OGRwkbGeometryType eType, int bSetZ, int bSetM)
Returns a XY, XYZ, XYM or XYZM geometry type depending on parameter.
Definition ogrgeometry.cpp:7765
#define OGRERR_CORRUPT_DATA
Corrupt data.
Definition ogr_core.h:377
ogr_style_tool_param_label_id
List of parameters for use with OGRStyleLabel.
Definition ogr_core.h:1167
@ OGRSTLabelUnderline
Underline.
Definition ogr_core.h:1181
@ OGRSTLabelPriority
Priority.
Definition ogr_core.h:1182
@ OGRSTLabelAdjVert
OBSOLETE; do not use.
Definition ogr_core.h:1186
@ OGRSTLabelBold
Bold.
Definition ogr_core.h:1179
@ OGRSTLabelStrikeout
Strike out.
Definition ogr_core.h:1183
@ OGRSTLabelBColor
Background color.
Definition ogr_core.h:1173
@ OGRSTLabelPlacement
Placement.
Definition ogr_core.h:1174
@ OGRSTLabelPerp
Perpendicular.
Definition ogr_core.h:1178
@ OGRSTLabelOColor
Outline color.
Definition ogr_core.h:1188
@ OGRSTLabelDx
Dx.
Definition ogr_core.h:1176
@ OGRSTLabelHColor
Highlight color.
Definition ogr_core.h:1187
@ OGRSTLabelItalic
Italic.
Definition ogr_core.h:1180
@ OGRSTLabelTextString
Text string.
Definition ogr_core.h:1170
@ OGRSTLabelSize
Size.
Definition ogr_core.h:1169
@ OGRSTLabelAngle
Angle.
Definition ogr_core.h:1171
@ OGRSTLabelFColor
Foreground color.
Definition ogr_core.h:1172
@ OGRSTLabelDy
Dy.
Definition ogr_core.h:1177
@ OGRSTLabelFontName
Font name.
Definition ogr_core.h:1168
@ OGRSTLabelStretch
Stretch.
Definition ogr_core.h:1184
@ OGRSTLabelAnchor
Anchor.
Definition ogr_core.h:1175
@ OGRSTLabelAdjHor
OBSOLETE; do not use.
Definition ogr_core.h:1185
ogr_style_tool_units_id
List of units supported by OGRStyleTools.
Definition ogr_core.h:1095
@ OGRSTUGround
Ground unit.
Definition ogr_core.h:1096
@ OGRSTUMM
Millimeter.
Definition ogr_core.h:1099
@ OGRSTUInches
Inch.
Definition ogr_core.h:1101
@ OGRSTUCM
Centimeter.
Definition ogr_core.h:1100
@ OGRSTUPoints
Points.
Definition ogr_core.h:1098
@ OGRSTUPixel
Pixel.
Definition ogr_core.h:1097
int OGR_GT_IsSubClassOf(OGRwkbGeometryType eType, OGRwkbGeometryType eSuperType)
Returns if a type is a subclass of another one.
Definition ogrgeometry.cpp:7791
OGRwkbGeometryType OGR_GT_GetSingle(OGRwkbGeometryType eType)
Returns the non-collection type that be contained in the passed geometry type.
Definition ogrgeometry.cpp:7914
enum ogr_style_tool_class_id OGRSTClassId
OGRStyleTool derived class types (returned by GetType()).
#define OGRERR_NON_EXISTING_FEATURE
Non existing feature.
Definition ogr_core.h:381
const char * OGRGeometryTypeToName(OGRwkbGeometryType eType)
Fetch a human readable name corresponding to an OGRwkbGeometryType value.
Definition ogrgeometry.cpp:2703
enum ogr_style_tool_units_id OGRSTUnitId
List of units supported by OGRStyleTools.
#define OGRERR_INVALID_HANDLE
Invalid handle.
Definition ogr_core.h:380
enum ogr_style_tool_param_brush_id OGRSTBrushParam
List of parameters for use with OGRStyleBrush.
enum ogr_style_tool_param_label_id OGRSTLabelParam
List of parameters for use with OGRStyleLabel.
#define OGRERR_NOT_ENOUGH_DATA
Not enough data to deserialize.
Definition ogr_core.h:373
int OGRErr
Type for a OGR error.
Definition ogr_core.h:370
int OGR_GET_MS(float fSec)
Return the number of milliseconds from a datetime with decimal seconds.
Definition ogrutils.cpp:2347
ogr_style_tool_param_brush_id
List of parameters for use with OGRStyleBrush.
Definition ogr_core.h:1126
@ OGRSTBrushAngle
Angle.
Definition ogr_core.h:1130
@ OGRSTBrushId
Id.
Definition ogr_core.h:1129
@ OGRSTBrushPriority
Priority.
Definition ogr_core.h:1134
@ OGRSTBrushBColor
Background color.
Definition ogr_core.h:1128
@ OGRSTBrushSize
Size.
Definition ogr_core.h:1131
@ OGRSTBrushDy
Dy.
Definition ogr_core.h:1133
@ OGRSTBrushFColor
Foreground color.
Definition ogr_core.h:1127
@ OGRSTBrushDx
Dx.
Definition ogr_core.h:1132
OGRwkbGeometryType OGR_GT_GetCollection(OGRwkbGeometryType eType)
Returns the collection type that can contain the passed geometry type.
Definition ogrgeometry.cpp:7854
OGRwkbGeometryType OGR_GT_SetM(OGRwkbGeometryType eType)
Returns the measured geometry type corresponding to the passed geometry type.
Definition ogrgeometry.cpp:7739
ogr_style_tool_class_id
OGRStyleTool derived class types (returned by GetType()).
Definition ogr_core.h:1082
@ OGRSTCBrush
Brush.
Definition ogr_core.h:1085
@ OGRSTCVector
Vector.
Definition ogr_core.h:1088
@ OGRSTCNone
None.
Definition ogr_core.h:1083
@ OGRSTCLabel
Label.
Definition ogr_core.h:1087
@ OGRSTCPen
Pen.
Definition ogr_core.h:1084
@ OGRSTCSymbol
Symbol.
Definition ogr_core.h:1086
OGRwkbGeometryType OGR_GT_Flatten(OGRwkbGeometryType eType)
Returns the 2D geometry type corresponding to the passed geometry type.
Definition ogrgeometry.cpp:7647
ogr_style_tool_param_pen_id
List of parameters for use with OGRStylePen.
Definition ogr_core.h:1108
@ OGRSTPenId
Id.
Definition ogr_core.h:1112
@ OGRSTPenCap
Cap.
Definition ogr_core.h:1114
@ OGRSTPenPerOffset
Perpendicular offset.
Definition ogr_core.h:1113
@ OGRSTPenWidth
Width.
Definition ogr_core.h:1110
@ OGRSTPenColor
Color.
Definition ogr_core.h:1109
@ OGRSTPenJoin
Join.
Definition ogr_core.h:1115
@ OGRSTPenPriority
Priority.
Definition ogr_core.h:1116
@ OGRSTPenPattern
Pattern.
Definition ogr_core.h:1111
int OGR_GT_IsNonLinear(OGRwkbGeometryType)
Return if a geometry type is a non-linear geometry type.
Definition ogrgeometry.cpp:8098
#define OGRERR_UNSUPPORTED_SRS
Unsupported SRS.
Definition ogr_core.h:379
int OGR_GT_HasZ(OGRwkbGeometryType eType)
Return if the geometry type is a 3D geometry type.
Definition ogrgeometry.cpp:7671
OGRFieldDomainSplitPolicy
Split policy for field domains.
Definition ogr_core.h:1233
@ OFDSP_DEFAULT_VALUE
Default value.
Definition ogr_core.h:1235
@ OFDSP_DUPLICATE
Duplicate.
Definition ogr_core.h:1237
@ OFDSP_GEOMETRY_RATIO
New values are computed by the ratio of their area/length compared to the area/length of the original...
Definition ogr_core.h:1240
Associates a code and a value.
Definition ogr_core.h:1203
char * pszValue
Value.
Definition ogr_core.h:1208
char * pszCode
Code.
Definition ogr_core.h:1205
OGRFeature field attribute value union.
Definition ogr_core.h:886