31 #ifndef OGR_CORE_H_INCLUDED 
   32 #define OGR_CORE_H_INCLUDED 
   35 #if defined(GDAL_COMPILATION) 
   36 #define DO_NOT_DEFINE_GDAL_DATE_NAME 
   38 #include "gdal_version.h" 
   46 #if defined(__cplusplus) && !defined(CPL_SUPRESS_CPLUSPLUS) 
   50 #if !defined(DOXYGEN_SKIP) 
   65             : MinX(std::numeric_limits<double>::infinity()),
 
   66               MaxX(-std::numeric_limits<double>::infinity()),
 
   67               MinY(std::numeric_limits<double>::infinity()),
 
   68               MaxY(-std::numeric_limits<double>::infinity())
 
   74             : MinX(oOther.MinX), MaxX(oOther.MaxX), MinY(oOther.MinY),
 
   94 #ifdef HAVE_GCC_DIAGNOSTIC_PUSH 
   95 #pragma GCC diagnostic push 
   96 #pragma GCC diagnostic ignored "-Wfloat-equal" 
  102             return MinX != std::numeric_limits<double>::infinity();
 
  105 #ifdef HAVE_GCC_DIAGNOSTIC_PUSH 
  106 #pragma GCC diagnostic pop 
  123             MinX = 
MIN(MinX, dfX);
 
  124             MaxX = 
MAX(MaxX, dfX);
 
  125             MinY = 
MIN(MinY, dfY);
 
  126             MaxY = 
MAX(MaxY, dfY);
 
  133             if (Intersects(sOther))
 
  160             return MinX <= other.
MaxX && MaxX >= other.
MinX &&
 
  161                    MinY <= other.
MaxY && MaxY >= other.
MinY;
 
  167             return MinX <= other.
MinX && MinY <= other.
MinY &&
 
  168                    MaxX >= other.
MaxX && MaxY >= other.
MaxY;
 
  175 #ifdef HAVE_GCC_DIAGNOSTIC_PUSH 
  176 #pragma GCC diagnostic push 
  177 #pragma GCC diagnostic ignored "-Wfloat-equal" 
  179             return MinX == other.
MinX && MinY == other.
MinY &&
 
  180                    MaxX == other.
MaxX && MaxY == other.
MaxY;
 
  182 #ifdef HAVE_GCC_DIAGNOSTIC_PUSH 
  183 #pragma GCC diagnostic pop 
  191             return !(*
this == other);
 
  207 #if defined(__cplusplus) && !defined(CPL_SUPRESS_CPLUSPLUS) 
  220             : 
OGREnvelope(), MinZ(std::numeric_limits<double>::infinity()),
 
  221               MaxZ(-std::numeric_limits<double>::infinity())
 
  227             : 
OGREnvelope(oOther), MinZ(oOther.MinZ), MaxZ(oOther.MaxZ)
 
  237             return std::isfinite(MinZ) && std::isfinite(MaxZ);
 
  246 #ifdef HAVE_GCC_DIAGNOSTIC_PUSH 
  247 #pragma GCC diagnostic push 
  248 #pragma GCC diagnostic ignored "-Wfloat-equal" 
  254             return MinX != std::numeric_limits<double>::infinity();
 
  256 #ifdef HAVE_GCC_DIAGNOSTIC_PUSH 
  257 #pragma GCC diagnostic pop 
  284         void Merge(
double dfX, 
double dfY, 
double dfZ)
 
  286             MinX = 
MIN(MinX, dfX);
 
  287             MaxX = 
MAX(MaxX, dfX);
 
  288             MinY = 
MIN(MinY, dfY);
 
  289             MaxY = 
MAX(MaxY, dfY);
 
  290             MinZ = 
MIN(MinZ, dfZ);
 
  291             MaxZ = 
MAX(MaxZ, dfZ);
 
  298             if (Intersects(sOther))
 
  329             return MinX <= other.
MaxX && MaxX >= other.
MinX &&
 
  330                    MinY <= other.
MaxY && MaxY >= other.
MinY &&
 
  331                    MinZ <= other.
MaxZ && MaxZ >= other.
MinZ;
 
  337             return MinX <= other.
MinX && MinY <= other.
MinY &&
 
  338                    MaxX >= other.
MaxX && MaxY >= other.
MaxY &&
 
  339                    MinZ <= other.
MinZ && MaxZ >= other.
MaxZ;
 
  360 void CPL_DLL *OGRMalloc(
size_t) CPL_WARN_DEPRECATED(
"Use CPLMalloc instead.");
 
  361 void CPL_DLL *OGRCalloc(
size_t, 
size_t)
 
  362     CPL_WARN_DEPRECATED(
"Use CPLCalloc instead.");
 
  363 void CPL_DLL *OGRRealloc(
void *, 
size_t)
 
  364     CPL_WARN_DEPRECATED(
"Use CPLRealloc instead.");
 
  365 char CPL_DLL *OGRStrdup(
const char *)
 
  366     CPL_WARN_DEPRECATED(
"Use CPLStrdup instead.");
 
  367 void CPL_DLL OGRFree(
void *) CPL_WARN_DEPRECATED(
"Use CPLFree instead.");
 
  370 #ifdef STRICT_OGRERR_TYPE 
  389 #define OGRERR_NONE 0               
  390 #define OGRERR_NOT_ENOUGH_DATA 1    
  391 #define OGRERR_NOT_ENOUGH_MEMORY 2  
  392 #define OGRERR_UNSUPPORTED_GEOMETRY_TYPE 3  
  393 #define OGRERR_UNSUPPORTED_OPERATION 4      
  394 #define OGRERR_CORRUPT_DATA 5               
  395 #define OGRERR_FAILURE 6                    
  396 #define OGRERR_UNSUPPORTED_SRS 7            
  397 #define OGRERR_INVALID_HANDLE 8             
  398 #define OGRERR_NON_EXISTING_FEATURE                                            \ 
  511 #if defined(DOXYGEN_SKIP) 
  558 #ifndef GDAL_COMPILATION 
  560 #define wkb25DBit 0x80000000 
  565 #define wkbFlatten(x) OGR_GT_Flatten((OGRwkbGeometryType)(x)) 
  568 #define wkbFlatten(x) OGR_GT_Flatten(static_cast<OGRwkbGeometryType>(x)) 
  574 #define wkbHasZ(x) (OGR_GT_HasZ(x) != 0) 
  579 #define wkbSetZ(x) OGR_GT_SetZ(x) 
  584 #define wkbHasM(x) (OGR_GT_HasM(x) != 0) 
  590 #define wkbSetM(x) OGR_GT_SetM(x) 
  593 #define ogrZMarker 0x21125711 
  601                                                    int bAllowPromotingToCurves);
 
  606                                               int bSetZ, 
int bSetM);
 
  627 #ifndef NO_HACK_FOR_IBM_DB2_V72 
  628 #define HACK_FOR_IBM_DB2_V72 
  631 #ifdef HACK_FOR_IBM_DB2_V72 
  632 #define DB2_V72_FIX_BYTE_ORDER(x) ((((x)&0x31) == (x)) ? ((x)&0x1) : (x)) 
  633 #define DB2_V72_UNFIX_BYTE_ORDER(x)                                            \ 
  634     CPL_STATIC_CAST(unsigned char, OGRGeometry::bGenerate_DB2_V72_BYTE_ORDER   \ 
  638 #define DB2_V72_FIX_BYTE_ORDER(x) (x) 
  639 #define DB2_V72_UNFIX_BYTE_ORDER(x) (x) 
  647 #define ALTER_NAME_FLAG 0x1 
  652 #define ALTER_TYPE_FLAG 0x2 
  657 #define ALTER_WIDTH_PRECISION_FLAG 0x4 
  663 #define ALTER_NULLABLE_FLAG 0x8 
  669 #define ALTER_DEFAULT_FLAG 0x10 
  675 #define ALTER_UNIQUE_FLAG 0x20 
  681 #define ALTER_DOMAIN_FLAG 0x40 
  687 #define ALTER_ALTERNATIVE_NAME_FLAG 0x80 
  693 #define ALTER_COMMENT_FLAG 0x100 
  698 #define ALTER_ALL_FLAG                                                         \ 
  699     (ALTER_NAME_FLAG | ALTER_TYPE_FLAG | ALTER_WIDTH_PRECISION_FLAG |          \ 
  700      ALTER_NULLABLE_FLAG | ALTER_DEFAULT_FLAG | ALTER_UNIQUE_FLAG |            \ 
  701      ALTER_DOMAIN_FLAG | ALTER_ALTERNATIVE_NAME_FLAG | ALTER_COMMENT_FLAG) 
  707 #define ALTER_GEOM_FIELD_DEFN_NAME_FLAG 0x1000 
  713 #define ALTER_GEOM_FIELD_DEFN_TYPE_FLAG 0x2000 
  719 #define ALTER_GEOM_FIELD_DEFN_NULLABLE_FLAG 0x4000 
  725 #define ALTER_GEOM_FIELD_DEFN_SRS_FLAG 0x8000 
  731 #define ALTER_GEOM_FIELD_DEFN_SRS_COORD_EPOCH_FLAG 0x10000 
  737 #define ALTER_GEOM_FIELD_DEFN_ALL_FLAG                                         \ 
  738     (ALTER_GEOM_FIELD_DEFN_NAME_FLAG | ALTER_GEOM_FIELD_DEFN_TYPE_FLAG |       \ 
  739      ALTER_GEOM_FIELD_DEFN_NULLABLE_FLAG | ALTER_GEOM_FIELD_DEFN_SRS_FLAG |    \ 
  740      ALTER_GEOM_FIELD_DEFN_SRS_COORD_EPOCH_FLAG) 
  746 #define OGR_F_VAL_NULL 0x00000001 
  752 #define OGR_F_VAL_GEOM_TYPE 0x00000002 
  758 #define OGR_F_VAL_WIDTH 0x00000004 
  766 #define OGR_F_VAL_ALLOW_NULL_WHEN_DEFAULT 0x00000008 
  774 #define OGR_F_VAL_ALLOW_DIFFERENT_GEOM_DIM 0x00000010 
  780 #define OGR_F_VAL_ALL (0x7FFFFFFF & ~OGR_F_VAL_ALLOW_DIFFERENT_GEOM_DIM) 
  793 { 
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,
 
  853 #define OGRNullFID -1 
  860 #define OGRUnknownType static_cast<OGRFieldType>(-1) 
  868 #define OGRUnsetMarker -21121 
  876 #define OGRNullMarker -21122 
  882 #define OGR_TZFLAG_UNKNOWN 0 
  885 #define OGR_TZFLAG_LOCALTIME 1 
  891 #define OGR_TZFLAG_MIXED_TZ 2 
  899 #define OGR_TZFLAG_UTC 100 
  981     const float fValue = (fSec - 
static_cast<int>(fSec)) * 1000 + 0.5f;
 
  982     return static_cast<int>(fValue);
 
  987 #define OGRPARSEDATE_OPTION_LAX 1 
  995 #define OLCRandomRead "RandomRead"  
  996 #define OLCSequentialWrite                                                     \ 
  998 #define OLCRandomWrite "RandomWrite"  
  999 #define OLCFastSpatialFilter                                                   \ 
 1001 #define OLCFastFeatureCount                                                    \ 
 1004 #define OLCFastGetExtent                                                       \ 
 1006 #define OLCFastGetExtent3D                                                     \ 
 1008 #define OLCCreateField                                                         \ 
 1011 #define OLCDeleteField                                                         \ 
 1014 #define OLCReorderFields                                                       \ 
 1016 #define OLCAlterFieldDefn                                                      \ 
 1018 #define OLCAlterGeomFieldDefn                                                  \ 
 1019     "AlterGeomFieldDefn"  
 1021 #define OLCTransactions                                                        \ 
 1024 #define OLCDeleteFeature                                                       \ 
 1026 #define OLCUpsertFeature                                                       \ 
 1028 #define OLCUpdateFeature                                                       \ 
 1031 #define OLCFastSetNextByIndex                                                  \ 
 1032     "FastSetNextByIndex"  
 1034 #define OLCStringsAsUTF8                                                       \ 
 1037 #define OLCIgnoreFields                                                        \ 
 1039 #define OLCCreateGeomField                                                     \ 
 1041 #define OLCCurveGeometries                                                     \ 
 1043 #define OLCMeasuredGeometries                                                  \ 
 1044     "MeasuredGeometries"  
 1046 #define OLCZGeometries                                                         \ 
 1051 #define OLCFastGetArrowStream                                                  \ 
 1052     "FastGetArrowStream"  
 1054 #define OLCFastWriteArrowBatch                                                 \ 
 1055     "FastWriteArrowBatch"  
 1058 #define ODsCCreateLayer                                                        \ 
 1060 #define ODsCDeleteLayer                                                        \ 
 1063 #define ODsCCreateGeomFieldAfterCreateLayer                                    \ 
 1064     "CreateGeomFieldAfterCreateLayer"  
 1066 #define ODsCCurveGeometries                                                    \ 
 1068 #define ODsCTransactions                                                       \ 
 1070 #define ODsCEmulatedTransactions                                               \ 
 1071     "EmulatedTransactions"  
 1073 #define ODsCMeasuredGeometries                                                 \ 
 1074     "MeasuredGeometries"  
 1076 #define ODsCZGeometries                                                        \ 
 1079 #define ODsCRandomLayerRead                                                    \ 
 1083 #define ODsCRandomLayerWrite                                                   \ 
 1086 #define ODsCAddFieldDomain                                                     \ 
 1089 #define ODsCDeleteFieldDomain                                                  \ 
 1092 #define ODsCUpdateFieldDomain                                                  \ 
 1096 #define ODrCCreateDataSource                                                   \ 
 1098 #define ODrCDeleteDataSource                                                   \ 
 1108 #define OLMD_FID64 "OLMD_FID64" 
 1154 #ifndef DOXYGEN_SKIP 
 1172 #ifndef DOXYGEN_SKIP 
 1195 #ifndef DOXYGEN_SKIP 
 1196     OGRSTSymbolLast = 12
 
 1226 #ifndef DOXYGEN_SKIP 
 1301 #ifndef DOXYGEN_SKIP 
 1305 #ifndef GDAL_VERSION_INFO_DEFINED 
 1306 #define GDAL_VERSION_INFO_DEFINED 
 1310 #ifndef GDAL_CHECK_VERSION 
 1324 int CPL_DLL CPL_STDCALL 
GDALCheckVersion(
int nVersionMajor, 
int nVersionMinor,
 
 1325                                          const char *pszCallingComponentName);
 
 1328 #define GDAL_CHECK_VERSION(pszCallingComponentName)                            \ 
 1329     GDALCheckVersion(GDAL_VERSION_MAJOR, GDAL_VERSION_MINOR,                   \ 
 1330                      pszCallingComponentName) 
Simple container for a bounding region in 3D.
Definition: ogr_core.h:216
 
void Merge(OGREnvelope const &sOther)
Update the current object by computing its union with the other rectangle.
Definition: ogr_core.h:274
 
void Merge(OGREnvelope3D const &sOther)
Update the current object by computing its union with the other rectangle.
Definition: ogr_core.h:262
 
int IsInit() const
Return whether the object has been initialized, that is, is non empty.
Definition: ogr_core.h:252
 
void Merge(double dfX, double dfY, double dfZ)
Update the current object by computing its union with the provided point.
Definition: ogr_core.h:284
 
OGREnvelope3D & operator=(const OGREnvelope3D &)=default
Assignment operator.
 
int Intersects(OGREnvelope3D const &other) const
Return whether the current object intersects with the other rectangle.
Definition: ogr_core.h:327
 
double MaxZ
Maximum Z value.
Definition: ogr_core.h:244
 
bool Is3D() const
Returns TRUE if MinZ and MaxZ are both valid numbers.
Definition: ogr_core.h:235
 
double MinZ
Minimum Z value.
Definition: ogr_core.h:241
 
OGREnvelope3D()
Default constructor.
Definition: ogr_core.h:219
 
int Contains(OGREnvelope3D const &other) const
Return whether the current object contains the other rectangle.
Definition: ogr_core.h:335
 
void Intersect(OGREnvelope3D const &sOther)
Update the current object by computing its intersection with the other rectangle.
Definition: ogr_core.h:296
 
OGREnvelope3D(const OGREnvelope3D &oOther)
Copy constructor.
Definition: ogr_core.h:226
 
Simple container for a bounding region (rectangle)
Definition: ogr_core.h:61
 
OGREnvelope & operator=(const OGREnvelope &)=default
Assignment operator.
 
int Contains(OGREnvelope const &other) const
Return whether the current object contains the other rectangle.
Definition: ogr_core.h:165
 
double MinY
Minimum Y value.
Definition: ogr_core.h:89
 
bool operator!=(const OGREnvelope &other) const
Return whether the current rectangle is not equal to the other rectangle.
Definition: ogr_core.h:189
 
double MaxX
Maximum X value.
Definition: ogr_core.h:86
 
void Intersect(OGREnvelope const &sOther)
Update the current object by computing its intersection with the other rectangle.
Definition: ogr_core.h:131
 
double MinX
Minimum X value.
Definition: ogr_core.h:83
 
OGREnvelope()
Default constructor.
Definition: ogr_core.h:64
 
double MaxY
Maximum Y value.
Definition: ogr_core.h:92
 
int IsInit() const
Return whether the object has been initialized, that is, is non empty.
Definition: ogr_core.h:100
 
int Intersects(OGREnvelope const &other) const
Return whether the current object intersects with the other rectangle.
Definition: ogr_core.h:158
 
void Merge(double dfX, double dfY)
Update the current object by computing its union with the provided point.
Definition: ogr_core.h:121
 
bool operator==(const OGREnvelope &other) const
Return whether the current rectangle is equal to the other rectangle.
Definition: ogr_core.h:173
 
OGREnvelope(const OGREnvelope &oOther)
Copy constructor.
Definition: ogr_core.h:73
 
void Merge(OGREnvelope const &sOther)
Update the current object by computing its union with the other rectangle.
Definition: ogr_core.h:111
 
Core portability definitions for CPL.
 
#define MIN(a, b)
Macro to compute the minimum of 2 values.
Definition: cpl_port.h:372
 
short GInt16
Int16 type.
Definition: cpl_port.h:181
 
#define CPL_C_END
Macro to end a block of C symbols.
Definition: cpl_port.h:299
 
#define CPL_C_START
Macro to start a block of C symbols.
Definition: cpl_port.h:295
 
#define CPLIsNan(x)
Return whether a floating-pointer number is NaN.
Definition: cpl_port.h:667
 
unsigned char GByte
Unsigned byte type.
Definition: cpl_port.h:185
 
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition: cpl_port.h:215
 
#define MAX(a, b)
Macro to compute the maximum of 2 values.
Definition: cpl_port.h:374
 
int GDALCheckVersion(int nVersionMajor, int nVersionMinor, const char *pszCallingComponentName)
Return TRUE if GDAL library version at runtime matches nVersionMajor.nVersionMinor.
Definition: gdal_misc.cpp:2649
 
const char * GDALVersionInfo(const char *)
Get runtime version information.
Definition: gdal_misc.cpp:2479
 
OGRwkbGeometryType OGRMergeGeometryTypesEx(OGRwkbGeometryType eMain, OGRwkbGeometryType eExtra, int bAllowPromotingToCurves)
Find common geometry type.
Definition: ogrgeometry.cpp:2950
 
#define OGRERR_NOT_ENOUGH_MEMORY
Not enough memory.
Definition: ogr_core.h:391
 
int OGR_GT_HasM(OGRwkbGeometryType eType)
Return if the geometry type is a measured type.
Definition: ogrgeometry.cpp:7495
 
int OGR_GT_IsSurface(OGRwkbGeometryType)
Return if a geometry type is an instance of Surface.
Definition: ogrgeometry.cpp:7830
 
int OGRBoolean
Type for a OGR boolean.
Definition: ogr_core.h:404
 
OGRFieldSubType
List of field subtypes.
Definition: ogr_core.h:821
 
@ OFSTBoolean
Boolean integer.
Definition: ogr_core.h:824
 
@ OFSTInt16
Signed 16-bit integer.
Definition: ogr_core.h:826
 
@ OFSTUUID
UUID string representation.
Definition: ogr_core.h:837
 
@ OFSTJSON
JSON content.
Definition: ogr_core.h:833
 
@ OFSTNone
No subtype.
Definition: ogr_core.h:822
 
@ OFSTFloat32
Single precision (32 bit) floating point.
Definition: ogr_core.h:829
 
ogr_style_tool_param_symbol_id
List of parameters for use with OGRStyleSymbol.
Definition: ogr_core.h:1182
 
@ OGRSTSymbolDy
Dy.
Definition: ogr_core.h:1188
 
@ OGRSTSymbolId
Id.
Definition: ogr_core.h:1183
 
@ OGRSTSymbolSize
Size.
Definition: ogr_core.h:1186
 
@ OGRSTSymbolFontName
Font name.
Definition: ogr_core.h:1193
 
@ OGRSTSymbolColor
Color.
Definition: ogr_core.h:1185
 
@ OGRSTSymbolDx
Dx.
Definition: ogr_core.h:1187
 
@ OGRSTSymbolPerp
Perpendicular.
Definition: ogr_core.h:1190
 
@ OGRSTSymbolAngle
Angle.
Definition: ogr_core.h:1184
 
@ OGRSTSymbolOColor
Outline color.
Definition: ogr_core.h:1194
 
@ OGRSTSymbolPriority
Priority.
Definition: ogr_core.h:1192
 
@ OGRSTSymbolStep
Step.
Definition: ogr_core.h:1189
 
@ OGRSTSymbolOffset
Offset.
Definition: ogr_core.h:1191
 
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:1288
 
@ OFDMP_SUM
Sum.
Definition: ogr_core.h:1292
 
@ OFDMP_GEOMETRY_WEIGHTED
New values are computed as the weighted average of the source values.
Definition: ogr_core.h:1294
 
@ OFDMP_DEFAULT_VALUE
Default value.
Definition: ogr_core.h:1290
 
OGRwkbByteOrder
Enumeration to describe byte order.
Definition: ogr_core.h:620
 
@ wkbXDR
MSB/Sun/Motorola: Most Significant Byte First
Definition: ogr_core.h:621
 
@ wkbNDR
LSB/Intel/Vax: Least Significant Byte First
Definition: ogr_core.h:622
 
int OGRParseDate(const char *pszInput, OGRField *psOutput, int nOptions)
Parse date string.
Definition: ogrutils.cpp:1077
 
#define OGRERR_UNSUPPORTED_GEOMETRY_TYPE
Unsupported geometry type.
Definition: ogr_core.h:392
 
OGRFieldDomainType
Type of field domain.
Definition: ogr_core.h:1253
 
@ OFDT_RANGE
Range (min/max)
Definition: ogr_core.h:1257
 
@ OFDT_CODED
Coded.
Definition: ogr_core.h:1255
 
@ OFDT_GLOB
Glob (used by GeoPackage)
Definition: ogr_core.h:1259
 
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:7767
 
int OGR_GT_IsCurve(OGRwkbGeometryType)
Return if a geometry type is an instance of Curve.
Definition: ogrgeometry.cpp:7809
 
OGRwkbGeometryType OGR_GT_SetZ(OGRwkbGeometryType eType)
Returns the 3D geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:7518
 
#define OGRERR_FAILURE
Failure.
Definition: ogr_core.h:395
 
#define OGRERR_UNSUPPORTED_OPERATION
Unsupported operation.
Definition: ogr_core.h:393
 
OGRwkbVariant
Output variants of WKB we support.
Definition: ogr_core.h:550
 
@ wkbVariantPostGIS1
PostGIS 1.X has different codes for CurvePolygon, MultiCurve and MultiSurface.
Definition: ogr_core.h:554
 
@ wkbVariantOldOgc
Old-style 99-402 extended dimension (Z) WKB types.
Definition: ogr_core.h:551
 
@ wkbVariantIso
SFSQL 1.2 and ISO SQL/MM Part 3 extended dimension (Z&M) WKB types.
Definition: ogr_core.h:552
 
#define OGRERR_NONE
Success.
Definition: ogr_core.h:389
 
OGRwkbGeometryType OGRMergeGeometryTypes(OGRwkbGeometryType eMain, OGRwkbGeometryType eExtra)
Find common geometry type.
Definition: ogrgeometry.cpp:2914
 
OGRJustification
Display justification for field values.
Definition: ogr_core.h:846
 
OGRFieldType
List of feature field types.
Definition: ogr_core.h:793
 
@ OFTTime
Time.
Definition: ogr_core.h:804
 
@ OFTInteger64List
List of 64bit integers.
Definition: ogr_core.h:807
 
@ OFTIntegerList
List of 32bit integers.
Definition: ogr_core.h:795
 
@ OFTDate
Date.
Definition: ogr_core.h:803
 
@ OFTWideStringList
deprecated
Definition: ogr_core.h:801
 
@ OFTInteger
Simple 32bit integer.
Definition: ogr_core.h:794
 
@ OFTString
String of ASCII chars.
Definition: ogr_core.h:798
 
@ OFTBinary
Raw Binary data.
Definition: ogr_core.h:802
 
@ OFTRealList
List of doubles.
Definition: ogr_core.h:797
 
@ OFTReal
Double Precision floating point.
Definition: ogr_core.h:796
 
@ OFTStringList
Array of strings.
Definition: ogr_core.h:799
 
@ OFTDateTime
Date and Time.
Definition: ogr_core.h:805
 
@ OFTInteger64
Single 64bit integer.
Definition: ogr_core.h:806
 
@ OFTWideString
deprecated
Definition: ogr_core.h:800
 
OGRwkbGeometryType OGR_GT_GetCurve(OGRwkbGeometryType eType)
Returns the curve geometry type that can contain the passed geometry type.
Definition: ogrgeometry.cpp:7717
 
OGRwkbGeometryType
List of well known binary geometry types.
Definition: ogr_core.h:416
 
@ wkbPolygon25D
2.5D extension as per 99-402
Definition: ogr_core.h:515
 
@ wkbCurve
Curve (abstract type).
Definition: ogr_core.h:443
 
@ wkbLineString
1-dimensional geometric object with linear interpolation between Points, standard WKB
Definition: ogr_core.h:420
 
@ wkbCircularString
one or more circular arc segments connected end to end, ISO SQL/MM Part 3.
Definition: ogr_core.h:432
 
@ wkbSurfaceZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:506
 
@ wkbPolygon
planar 2-dimensional geometric object defined by 1 exterior boundary and 0 or more interior boundarie...
Definition: ogr_core.h:422
 
@ wkbTriangle
a Triangle.
Definition: ogr_core.h:452
 
@ wkbPoint25D
2.5D extension as per 99-402
Definition: ogr_core.h:513
 
@ wkbSurfaceZ
wkbSurface with Z component.
Definition: ogr_core.h:469
 
@ wkbMultiSurfaceM
ISO SQL/MM Part 3.
Definition: ogr_core.h:486
 
@ wkbPolygonZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:495
 
@ wkbMultiPolygon25D
2.5D extension as per 99-402
Definition: ogr_core.h:518
 
@ wkbPolyhedralSurfaceM
ISO SQL/MM Part 3.
Definition: ogr_core.h:489
 
@ wkbTINZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:508
 
@ wkbMultiPointZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:496
 
@ wkbPointM
ISO SQL/MM Part 3.
Definition: ogr_core.h:475
 
@ wkbMultiLineString
GeometryCollection of LineStrings, standard WKB.
Definition: ogr_core.h:426
 
@ wkbCompoundCurveM
ISO SQL/MM Part 3.
Definition: ogr_core.h:483
 
@ wkbUnknown
unknown type, non-standard
Definition: ogr_core.h:417
 
@ wkbMultiSurfaceZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:504
 
@ wkbTINZ
ISO SQL/MM Part 3.
Definition: ogr_core.h:472
 
@ wkbCircularStringM
ISO SQL/MM Part 3.
Definition: ogr_core.h:482
 
@ wkbPolygonM
ISO SQL/MM Part 3.
Definition: ogr_core.h:477
 
@ wkbMultiCurveM
ISO SQL/MM Part 3.
Definition: ogr_core.h:485
 
@ wkbLinearRing
non-standard, just for createGeometry()
Definition: ogr_core.h:455
 
@ wkbLineStringM
ISO SQL/MM Part 3.
Definition: ogr_core.h:476
 
@ wkbTIN
a PolyhedralSurface consisting only of Triangle patches ISO SQL/MM Part 3.
Definition: ogr_core.h:450
 
@ wkbGeometryCollection25D
2.5D extension as per 99-402
Definition: ogr_core.h:519
 
@ wkbSurfaceM
ISO SQL/MM Part 3.
Definition: ogr_core.h:488
 
@ wkbCurvePolygonM
ISO SQL/MM Part 3.
Definition: ogr_core.h:484
 
@ wkbPolyhedralSurface
a contiguous collection of polygons, which share common boundary segments, ISO SQL/MM Part 3.
Definition: ogr_core.h:447
 
@ wkbSurface
Surface (abstract type).
Definition: ogr_core.h:445
 
@ wkbMultiCurveZ
wkbMultiCurve with Z component.
Definition: ogr_core.h:463
 
@ wkbCircularStringZ
wkbCircularString with Z component.
Definition: ogr_core.h:457
 
@ wkbPoint
0-dimensional geometric object, standard WKB
Definition: ogr_core.h:419
 
@ wkbCompoundCurve
sequence of contiguous curves, ISO SQL/MM Part 3.
Definition: ogr_core.h:434
 
@ wkbPolyhedralSurfaceZ
ISO SQL/MM Part 3.
Definition: ogr_core.h:471
 
@ wkbGeometryCollection
geometric object that is a collection of 1 or more geometric objects, standard WKB
Definition: ogr_core.h:429
 
@ wkbMultiPolygon
GeometryCollection of Polygons, standard WKB.
Definition: ogr_core.h:428
 
@ wkbMultiPoint
GeometryCollection of Points, standard WKB.
Definition: ogr_core.h:425
 
@ wkbMultiLineStringM
ISO SQL/MM Part 3.
Definition: ogr_core.h:479
 
@ wkbMultiCurveZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:503
 
@ wkbMultiPoint25D
2.5D extension as per 99-402
Definition: ogr_core.h:516
 
@ wkbNone
non-standard, for pure attribute records
Definition: ogr_core.h:454
 
@ wkbMultiPointM
ISO SQL/MM Part 3.
Definition: ogr_core.h:478
 
@ wkbCircularStringZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:500
 
@ wkbCurvePolygonZ
wkbCurvePolygon with Z component.
Definition: ogr_core.h:461
 
@ wkbCompoundCurveZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:501
 
@ wkbTriangleZ
ISO SQL/MM Part 3.
Definition: ogr_core.h:473
 
@ wkbPointZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:493
 
@ wkbCurvePolygon
planar surface, defined by 1 exterior boundary and zero or more interior boundaries,...
Definition: ogr_core.h:436
 
@ wkbLineStringZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:494
 
@ wkbMultiSurface
GeometryCollection of Surfaces, ISO SQL/MM Part 3.
Definition: ogr_core.h:441
 
@ wkbMultiPolygonM
ISO SQL/MM Part 3.
Definition: ogr_core.h:480
 
@ wkbCurveZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:505
 
@ wkbLineString25D
2.5D extension as per 99-402
Definition: ogr_core.h:514
 
@ wkbMultiLineStringZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:497
 
@ wkbPolyhedralSurfaceZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:507
 
@ wkbGeometryCollectionZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:499
 
@ wkbTriangleZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:509
 
@ wkbGeometryCollectionM
ISO SQL/MM Part 3.
Definition: ogr_core.h:481
 
@ wkbCurveM
ISO SQL/MM Part 3.
Definition: ogr_core.h:487
 
@ wkbMultiLineString25D
2.5D extension as per 99-402
Definition: ogr_core.h:517
 
@ wkbTriangleM
ISO SQL/MM Part 3.
Definition: ogr_core.h:491
 
@ wkbMultiPolygonZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:498
 
@ wkbTINM
ISO SQL/MM Part 3.
Definition: ogr_core.h:490
 
@ wkbCurveZ
wkbCurve with Z component.
Definition: ogr_core.h:467
 
@ wkbCurvePolygonZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:502
 
@ wkbMultiCurve
GeometryCollection of Curves, ISO SQL/MM Part 3.
Definition: ogr_core.h:439
 
@ wkbCompoundCurveZ
wkbCompoundCurve with Z component.
Definition: ogr_core.h:459
 
@ wkbMultiSurfaceZ
wkbMultiSurface with Z component.
Definition: ogr_core.h:465
 
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:7569
 
#define OGRERR_CORRUPT_DATA
Corrupt data.
Definition: ogr_core.h:394
 
ogr_style_tool_param_label_id
List of parameters for use with OGRStyleLabel.
Definition: ogr_core.h:1204
 
@ OGRSTLabelUnderline
Underline.
Definition: ogr_core.h:1218
 
@ OGRSTLabelPriority
Priority.
Definition: ogr_core.h:1219
 
@ OGRSTLabelAdjVert
OBSOLETE; do not use.
Definition: ogr_core.h:1223
 
@ OGRSTLabelBold
Bold.
Definition: ogr_core.h:1216
 
@ OGRSTLabelStrikeout
Strike out.
Definition: ogr_core.h:1220
 
@ OGRSTLabelBColor
Background color.
Definition: ogr_core.h:1210
 
@ OGRSTLabelPlacement
Placement.
Definition: ogr_core.h:1211
 
@ OGRSTLabelPerp
Perpendicular.
Definition: ogr_core.h:1215
 
@ OGRSTLabelOColor
Outline color.
Definition: ogr_core.h:1225
 
@ OGRSTLabelDx
Dx.
Definition: ogr_core.h:1213
 
@ OGRSTLabelHColor
Highlight color.
Definition: ogr_core.h:1224
 
@ OGRSTLabelItalic
Italic.
Definition: ogr_core.h:1217
 
@ OGRSTLabelTextString
Text string.
Definition: ogr_core.h:1207
 
@ OGRSTLabelSize
Size.
Definition: ogr_core.h:1206
 
@ OGRSTLabelAngle
Angle.
Definition: ogr_core.h:1208
 
@ OGRSTLabelFColor
Foreground color.
Definition: ogr_core.h:1209
 
@ OGRSTLabelDy
Dy.
Definition: ogr_core.h:1214
 
@ OGRSTLabelFontName
Font name.
Definition: ogr_core.h:1205
 
@ OGRSTLabelStretch
Stretch.
Definition: ogr_core.h:1221
 
@ OGRSTLabelAnchor
Anchor.
Definition: ogr_core.h:1212
 
@ OGRSTLabelAdjHor
OBSOLETE; do not use.
Definition: ogr_core.h:1222
 
ogr_style_tool_units_id
List of units supported by OGRStyleTools.
Definition: ogr_core.h:1132
 
@ OGRSTUGround
Ground unit.
Definition: ogr_core.h:1133
 
@ OGRSTUMM
Millimeter.
Definition: ogr_core.h:1136
 
@ OGRSTUInches
Inch.
Definition: ogr_core.h:1138
 
@ OGRSTUCM
Centimeter.
Definition: ogr_core.h:1137
 
@ OGRSTUPoints
Points.
Definition: ogr_core.h:1135
 
@ OGRSTUPixel
Pixel.
Definition: ogr_core.h:1134
 
int OGR_GT_IsSubClassOf(OGRwkbGeometryType eType, OGRwkbGeometryType eSuperType)
Returns if a type is a subclass of another one.
Definition: ogrgeometry.cpp:7596
 
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:398
 
enum ogr_style_tool_units_id OGRSTUnitId
List of units supported by OGRStyleTools.
 
#define OGRERR_INVALID_HANDLE
Invalid handle.
Definition: ogr_core.h:397
 
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:390
 
int OGRErr
Type for a OGR error.
Definition: ogr_core.h:387
 
int OGR_GET_MS(float fSec)
Return the number of milliseconds from a datetime with decimal seconds.
Definition: ogr_core.h:973
 
ogr_style_tool_param_brush_id
List of parameters for use with OGRStyleBrush.
Definition: ogr_core.h:1163
 
@ OGRSTBrushAngle
Angle.
Definition: ogr_core.h:1167
 
@ OGRSTBrushId
Id.
Definition: ogr_core.h:1166
 
@ OGRSTBrushPriority
Priority.
Definition: ogr_core.h:1171
 
@ OGRSTBrushBColor
Background color.
Definition: ogr_core.h:1165
 
@ OGRSTBrushSize
Size.
Definition: ogr_core.h:1168
 
@ OGRSTBrushDy
Dy.
Definition: ogr_core.h:1170
 
@ OGRSTBrushFColor
Foreground color.
Definition: ogr_core.h:1164
 
@ OGRSTBrushDx
Dx.
Definition: ogr_core.h:1169
 
OGRwkbGeometryType OGR_GT_GetCollection(OGRwkbGeometryType eType)
Returns the collection type that can contain the passed geometry type.
Definition: ogrgeometry.cpp:7660
 
OGRwkbGeometryType OGR_GT_SetM(OGRwkbGeometryType eType)
Returns the measured geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:7542
 
ogr_style_tool_class_id
OGRStyleTool derived class types (returned by GetType()).
Definition: ogr_core.h:1119
 
@ OGRSTCBrush
Brush.
Definition: ogr_core.h:1122
 
@ OGRSTCVector
Vector.
Definition: ogr_core.h:1125
 
@ OGRSTCNone
None.
Definition: ogr_core.h:1120
 
@ OGRSTCLabel
Label.
Definition: ogr_core.h:1124
 
@ OGRSTCPen
Pen.
Definition: ogr_core.h:1121
 
@ OGRSTCSymbol
Symbol.
Definition: ogr_core.h:1123
 
OGRwkbGeometryType OGR_GT_Flatten(OGRwkbGeometryType eType)
Returns the 2D geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:7446
 
ogr_style_tool_param_pen_id
List of parameters for use with OGRStylePen.
Definition: ogr_core.h:1145
 
@ OGRSTPenId
Id.
Definition: ogr_core.h:1149
 
@ OGRSTPenCap
Cap.
Definition: ogr_core.h:1151
 
@ OGRSTPenPerOffset
Perpendicular offset.
Definition: ogr_core.h:1150
 
@ OGRSTPenWidth
Width.
Definition: ogr_core.h:1147
 
@ OGRSTPenColor
Color.
Definition: ogr_core.h:1146
 
@ OGRSTPenJoin
Join.
Definition: ogr_core.h:1152
 
@ OGRSTPenPriority
Priority.
Definition: ogr_core.h:1153
 
@ OGRSTPenPattern
Pattern.
Definition: ogr_core.h:1148
 
const char * OGRGeometryTypeToName(OGRwkbGeometryType eType)
Fetch a human readable name corresponding to an OGRwkbGeometryType value.
Definition: ogrgeometry.cpp:2692
 
int OGR_GT_IsNonLinear(OGRwkbGeometryType)
Return if a geometry type is a non-linear geometry type.
Definition: ogrgeometry.cpp:7852
 
#define OGRERR_UNSUPPORTED_SRS
Unsupported SRS.
Definition: ogr_core.h:396
 
int OGR_GT_HasZ(OGRwkbGeometryType eType)
Return if the geometry type is a 3D geometry type.
Definition: ogrgeometry.cpp:7471
 
OGRFieldDomainSplitPolicy
Split policy for field domains.
Definition: ogr_core.h:1270
 
@ OFDSP_DEFAULT_VALUE
Default value.
Definition: ogr_core.h:1272
 
@ OFDSP_DUPLICATE
Duplicate.
Definition: ogr_core.h:1274
 
@ 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:1277
 
Associates a code and a value.
Definition: ogr_core.h:1240
 
char * pszValue
Value.
Definition: ogr_core.h:1245
 
char * pszCode
Code.
Definition: ogr_core.h:1242
 
OGRFeature field attribute value union.
Definition: ogr_core.h:910