Go to the documentation of this file.
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)
62 : MinX(std::numeric_limits<double>::infinity()),
63 MaxX(-std::numeric_limits<double>::infinity()),
64 MinY(std::numeric_limits<double>::infinity()),
65 MaxY(-std::numeric_limits<double>::infinity())
71 : MinX(oOther.MinX), MaxX(oOther.MaxX), MinY(oOther.MinY),
91 #ifdef HAVE_GCC_DIAGNOSTIC_PUSH
92 #pragma GCC diagnostic push
93 #pragma GCC diagnostic ignored "-Wfloat-equal"
99 return MinX != std::numeric_limits<double>::infinity();
102 #ifdef HAVE_GCC_DIAGNOSTIC_PUSH
103 #pragma GCC diagnostic pop
120 MinX =
MIN(MinX, dfX);
121 MaxX =
MAX(MaxX, dfX);
122 MinY =
MIN(MinY, dfY);
123 MaxY =
MAX(MaxY, dfY);
130 if (Intersects(sOther))
157 return MinX <= other.
MaxX && MaxX >= other.
MinX &&
158 MinY <= other.
MaxY && MaxY >= other.
MinY;
164 return MinX <= other.
MinX && MinY <= other.
MinY &&
165 MaxX >= other.
MaxX && MaxY >= other.
MaxY;
172 #ifdef HAVE_GCC_DIAGNOSTIC_PUSH
173 #pragma GCC diagnostic push
174 #pragma GCC diagnostic ignored "-Wfloat-equal"
176 return MinX == other.
MinX && MinY == other.
MinY &&
177 MaxX == other.
MaxX && MaxY == other.
MaxY;
179 #ifdef HAVE_GCC_DIAGNOSTIC_PUSH
180 #pragma GCC diagnostic pop
188 return !(*
this == other);
204 #if defined(__cplusplus) && !defined(CPL_SUPRESS_CPLUSPLUS)
217 :
OGREnvelope(), MinZ(std::numeric_limits<double>::infinity()),
218 MaxZ(-std::numeric_limits<double>::infinity())
224 :
OGREnvelope(oOther), MinZ(oOther.MinZ), MaxZ(oOther.MaxZ)
237 #ifdef HAVE_GCC_DIAGNOSTIC_PUSH
238 #pragma GCC diagnostic push
239 #pragma GCC diagnostic ignored "-Wfloat-equal"
245 return MinX != std::numeric_limits<double>::infinity();
247 #ifdef HAVE_GCC_DIAGNOSTIC_PUSH
248 #pragma GCC diagnostic pop
275 void Merge(
double dfX,
double dfY,
double dfZ)
277 MinX =
MIN(MinX, dfX);
278 MaxX =
MAX(MaxX, dfX);
279 MinY =
MIN(MinY, dfY);
280 MaxY =
MAX(MaxY, dfY);
281 MinZ =
MIN(MinZ, dfZ);
282 MaxZ =
MAX(MaxZ, dfZ);
320 return MinX <= other.
MaxX && MaxX >= other.
MinX &&
321 MinY <= other.
MaxY && MaxY >= other.
MinY &&
322 MinZ <= other.
MaxZ && MaxZ >= other.
MinZ;
328 return MinX <= other.
MinX && MinY <= other.
MinY &&
329 MaxX >= other.
MaxX && MaxY >= other.
MaxY &&
330 MinZ <= other.
MinZ && MaxZ >= other.
MaxZ;
351 void CPL_DLL *OGRMalloc(
size_t) CPL_WARN_DEPRECATED(
"Use CPLMalloc instead.");
352 void CPL_DLL *OGRCalloc(
size_t,
size_t)
353 CPL_WARN_DEPRECATED(
"Use CPLCalloc instead.");
354 void CPL_DLL *OGRRealloc(
void *,
size_t)
355 CPL_WARN_DEPRECATED(
"Use CPLRealloc instead.");
356 char CPL_DLL *OGRStrdup(
const char *)
357 CPL_WARN_DEPRECATED(
"Use CPLStrdup instead.");
358 void CPL_DLL OGRFree(
void *) CPL_WARN_DEPRECATED(
"Use CPLFree instead.");
361 #ifdef STRICT_OGRERR_TYPE
380 #define OGRERR_NONE 0
381 #define OGRERR_NOT_ENOUGH_DATA 1
382 #define OGRERR_NOT_ENOUGH_MEMORY 2
383 #define OGRERR_UNSUPPORTED_GEOMETRY_TYPE 3
384 #define OGRERR_UNSUPPORTED_OPERATION 4
385 #define OGRERR_CORRUPT_DATA 5
386 #define OGRERR_FAILURE 6
387 #define OGRERR_UNSUPPORTED_SRS 7
388 #define OGRERR_INVALID_HANDLE 8
389 #define OGRERR_NON_EXISTING_FEATURE \
502 #if defined(DOXYGEN_SKIP)
549 #ifndef GDAL_COMPILATION
551 #define wkb25DBit 0x80000000
556 #define wkbFlatten(x) OGR_GT_Flatten((OGRwkbGeometryType)(x))
559 #define wkbFlatten(x) OGR_GT_Flatten(static_cast<OGRwkbGeometryType>(x))
565 #define wkbHasZ(x) (OGR_GT_HasZ(x) != 0)
570 #define wkbSetZ(x) OGR_GT_SetZ(x)
575 #define wkbHasM(x) (OGR_GT_HasM(x) != 0)
581 #define wkbSetM(x) OGR_GT_SetM(x)
584 #define ogrZMarker 0x21125711
592 int bAllowPromotingToCurves);
597 int bSetZ,
int bSetM);
618 #ifndef NO_HACK_FOR_IBM_DB2_V72
619 #define HACK_FOR_IBM_DB2_V72
622 #ifdef HACK_FOR_IBM_DB2_V72
623 #define DB2_V72_FIX_BYTE_ORDER(x) ((((x)&0x31) == (x)) ? ((x)&0x1) : (x))
624 #define DB2_V72_UNFIX_BYTE_ORDER(x) \
625 CPL_STATIC_CAST(unsigned char, OGRGeometry::bGenerate_DB2_V72_BYTE_ORDER \
629 #define DB2_V72_FIX_BYTE_ORDER(x) (x)
630 #define DB2_V72_UNFIX_BYTE_ORDER(x) (x)
638 #define ALTER_NAME_FLAG 0x1
643 #define ALTER_TYPE_FLAG 0x2
648 #define ALTER_WIDTH_PRECISION_FLAG 0x4
654 #define ALTER_NULLABLE_FLAG 0x8
660 #define ALTER_DEFAULT_FLAG 0x10
666 #define ALTER_UNIQUE_FLAG 0x20
672 #define ALTER_DOMAIN_FLAG 0x40
678 #define ALTER_ALTERNATIVE_NAME_FLAG 0x80
684 #define ALTER_COMMENT_FLAG 0x100
689 #define ALTER_ALL_FLAG \
690 (ALTER_NAME_FLAG | ALTER_TYPE_FLAG | ALTER_WIDTH_PRECISION_FLAG | \
691 ALTER_NULLABLE_FLAG | ALTER_DEFAULT_FLAG | ALTER_UNIQUE_FLAG | \
692 ALTER_DOMAIN_FLAG | ALTER_ALTERNATIVE_NAME_FLAG | ALTER_COMMENT_FLAG)
698 #define ALTER_GEOM_FIELD_DEFN_NAME_FLAG 0x1000
704 #define ALTER_GEOM_FIELD_DEFN_TYPE_FLAG 0x2000
710 #define ALTER_GEOM_FIELD_DEFN_NULLABLE_FLAG 0x4000
716 #define ALTER_GEOM_FIELD_DEFN_SRS_FLAG 0x8000
722 #define ALTER_GEOM_FIELD_DEFN_SRS_COORD_EPOCH_FLAG 0x10000
728 #define ALTER_GEOM_FIELD_DEFN_ALL_FLAG \
729 (ALTER_GEOM_FIELD_DEFN_NAME_FLAG | ALTER_GEOM_FIELD_DEFN_TYPE_FLAG | \
730 ALTER_GEOM_FIELD_DEFN_NULLABLE_FLAG | ALTER_GEOM_FIELD_DEFN_SRS_FLAG | \
731 ALTER_GEOM_FIELD_DEFN_SRS_COORD_EPOCH_FLAG)
737 #define OGR_F_VAL_NULL 0x00000001
743 #define OGR_F_VAL_GEOM_TYPE 0x00000002
749 #define OGR_F_VAL_WIDTH 0x00000004
757 #define OGR_F_VAL_ALLOW_NULL_WHEN_DEFAULT 0x00000008
765 #define OGR_F_VAL_ALLOW_DIFFERENT_GEOM_DIM 0x00000010
771 #define OGR_F_VAL_ALL (0x7FFFFFFF & ~OGR_F_VAL_ALLOW_DIFFERENT_GEOM_DIM)
784 {
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,
844 #define OGRNullFID -1
851 #define OGRUnknownType static_cast<OGRFieldType>(-1)
859 #define OGRUnsetMarker -21121
867 #define OGRNullMarker -21122
873 #define OGR_TZFLAG_UNKNOWN 0
876 #define OGR_TZFLAG_LOCALTIME 1
882 #define OGR_TZFLAG_MIXED_TZ 2
890 #define OGR_TZFLAG_UTC 100
971 const float fValue = (fSec -
static_cast<int>(fSec)) * 1000 + 0.5f;
972 return static_cast<int>(fValue);
974 #endif // __cplusplus
982 #define OLCRandomRead "RandomRead"
983 #define OLCSequentialWrite \
985 #define OLCRandomWrite "RandomWrite"
986 #define OLCFastSpatialFilter \
988 #define OLCFastFeatureCount \
991 #define OLCFastGetExtent \
993 #define OLCCreateField \
996 #define OLCDeleteField \
999 #define OLCReorderFields \
1001 #define OLCAlterFieldDefn \
1003 #define OLCAlterGeomFieldDefn \
1004 "AlterGeomFieldDefn"
1006 #define OLCTransactions \
1009 #define OLCDeleteFeature \
1011 #define OLCUpsertFeature \
1013 #define OLCUpdateFeature \
1016 #define OLCFastSetNextByIndex \
1017 "FastSetNextByIndex"
1019 #define OLCStringsAsUTF8 \
1022 #define OLCIgnoreFields \
1024 #define OLCCreateGeomField \
1026 #define OLCCurveGeometries \
1028 #define OLCMeasuredGeometries \
1029 "MeasuredGeometries"
1031 #define OLCZGeometries \
1036 #define OLCFastGetArrowStream \
1037 "FastGetArrowStream"
1039 #define OLCFastWriteArrowBatch \
1040 "FastWriteArrowBatch"
1043 #define ODsCCreateLayer \
1045 #define ODsCDeleteLayer \
1048 #define ODsCCreateGeomFieldAfterCreateLayer \
1049 "CreateGeomFieldAfterCreateLayer"
1051 #define ODsCCurveGeometries \
1053 #define ODsCTransactions \
1055 #define ODsCEmulatedTransactions \
1056 "EmulatedTransactions"
1058 #define ODsCMeasuredGeometries \
1059 "MeasuredGeometries"
1061 #define ODsCZGeometries \
1064 #define ODsCRandomLayerRead \
1068 #define ODsCRandomLayerWrite \
1071 #define ODsCAddFieldDomain \
1074 #define ODsCDeleteFieldDomain \
1077 #define ODsCUpdateFieldDomain \
1081 #define ODrCCreateDataSource \
1083 #define ODrCDeleteDataSource \
1093 #define OLMD_FID64 "OLMD_FID64"
1139 #ifndef DOXYGEN_SKIP
1157 #ifndef DOXYGEN_SKIP
1180 #ifndef DOXYGEN_SKIP
1181 OGRSTSymbolLast = 12
1211 #ifndef DOXYGEN_SKIP
1286 #ifndef DOXYGEN_SKIP
1290 #ifndef GDAL_VERSION_INFO_DEFINED
1291 #define GDAL_VERSION_INFO_DEFINED
1295 #ifndef GDAL_CHECK_VERSION
1309 int CPL_DLL CPL_STDCALL
GDALCheckVersion(
int nVersionMajor,
int nVersionMinor,
1310 const char *pszCallingComponentName);
1313 #define GDAL_CHECK_VERSION(pszCallingComponentName) \
1314 GDALCheckVersion(GDAL_VERSION_MAJOR, GDAL_VERSION_MINOR, \
1315 pszCallingComponentName)
@ OGRSTSymbolStep
Step.
Definition: ogr_core.h:1174
#define MAX(a, b)
Macro to compute the maximum of 2 values.
Definition: cpl_port.h:385
int GDALCheckVersion(int nVersionMajor, int nVersionMinor, const char *pszCallingComponentName)
Return TRUE if GDAL library version at runtime matches nVersionMajor.nVersionMinor.
Definition: gdal_misc.cpp:2529
@ OGRSTLabelStretch
Stretch.
Definition: ogr_core.h:1206
void Merge(double dfX, double dfY, double dfZ)
Update the current object by computing its union with the provided point.
Definition: ogr_core.h:275
@ wkbTINM
ISO SQL/MM Part 3.
Definition: ogr_core.h:481
OGREnvelope(const OGREnvelope &oOther)
Copy constructor.
Definition: ogr_core.h:70
const char * GDALVersionInfo(const char *)
Get runtime version information.
Definition: gdal_misc.cpp:2362
@ wkbSurfaceM
ISO SQL/MM Part 3.
Definition: ogr_core.h:479
@ wkbPointZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:484
@ wkbCurvePolygonZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:493
OGRFieldDomainMergePolicy
Merge policy for field domains.
Definition: ogr_core.h:1272
@ OFDSP_DEFAULT_VALUE
Default value.
Definition: ogr_core.h:1257
OGRFieldDomainType
Type of field domain.
Definition: ogr_core.h:1237
@ OGRSTBrushSize
Size.
Definition: ogr_core.h:1153
unsigned char GByte
Unsigned byte type.
Definition: cpl_port.h:196
@ OGRSTLabelStrikeout
Strike out.
Definition: ogr_core.h:1205
@ OFSTFloat32
Single precision (32 bit) floating point.
Definition: ogr_core.h:820
@ OFTWideString
deprecated
Definition: ogr_core.h:791
@ OGRSTUInches
Inch.
Definition: ogr_core.h:1123
#define OGRERR_UNSUPPORTED_GEOMETRY_TYPE
Unsupported geometry type.
Definition: ogr_core.h:383
short GInt16
Int16 type.
Definition: cpl_port.h:192
OGRwkbGeometryType OGR_GT_GetCollection(OGRwkbGeometryType eType)
Returns the collection type that can contain the passed geometry type.
Definition: ogrgeometry.cpp:7085
@ wkbMultiCurveZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:494
@ OGRSTLabelPerp
Perpendicular.
Definition: ogr_core.h:1200
@ OGRSTUCM
Centimeter.
Definition: ogr_core.h:1122
@ OFSTInt16
Signed 16-bit integer.
Definition: ogr_core.h:817
void Merge(OGREnvelope const &sOther)
Update the current object by computing its union with the other rectangle.
Definition: ogr_core.h:265
@ wkbMultiLineStringZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:488
@ OFTBinary
Raw Binary data.
Definition: ogr_core.h:793
@ OGRSTSymbolPriority
Priority.
Definition: ogr_core.h:1177
@ wkbPoint
0-dimensional geometric object, standard WKB
Definition: ogr_core.h:410
double MinX
Minimum X value.
Definition: ogr_core.h:80
@ OGRSTLabelBColor
Background color.
Definition: ogr_core.h:1195
@ OFSTBoolean
Boolean integer.
Definition: ogr_core.h:815
@ OGRSTLabelFColor
Foreground color.
Definition: ogr_core.h:1194
@ wkbCurvePolygonZ
wkbCurvePolygon with Z component.
Definition: ogr_core.h:452
@ wkbMultiSurfaceZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:495
@ wkbTriangleZ
ISO SQL/MM Part 3.
Definition: ogr_core.h:464
int OGR_GT_IsSubClassOf(OGRwkbGeometryType eType, OGRwkbGeometryType eSuperType)
Returns if a type is a subclass of another one.
Definition: ogrgeometry.cpp:7021
@ wkbCompoundCurveZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:492
@ wkbMultiSurfaceM
ISO SQL/MM Part 3.
Definition: ogr_core.h:477
@ wkbMultiPolygon
GeometryCollection of Polygons, standard WKB.
Definition: ogr_core.h:419
OGRwkbGeometryType OGR_GT_Flatten(OGRwkbGeometryType eType)
Returns the 2D geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:6871
@ wkbMultiPoint25D
2.5D extension as per 99-402
Definition: ogr_core.h:507
@ wkbNDR
LSB/Intel/Vax: Least Significant Byte First
Definition: ogr_core.h:613
ogr_style_tool_param_label_id
List of parameters for use with OGRStyleLabel.
Definition: ogr_core.h:1188
enum ogr_style_tool_class_id OGRSTClassId
OGRStyleTool derived class types (returned by GetType()).
enum ogr_style_tool_param_brush_id OGRSTBrushParam
List of parameters for use with OGRStyleBrush.
@ wkbVariantOldOgc
Old-style 99-402 extended dimension (Z) WKB types.
Definition: ogr_core.h:542
int OGR_GT_IsNonLinear(OGRwkbGeometryType)
Return if a geometry type is a non-linear geometry type.
Definition: ogrgeometry.cpp:7277
@ wkbCompoundCurve
sequence of contiguous curves, ISO SQL/MM Part 3.
Definition: ogr_core.h:425
bool operator!=(const OGREnvelope &other) const
Return whether the current rectangle is not equal to the other rectangle.
Definition: ogr_core.h:186
@ OGRSTLabelItalic
Italic.
Definition: ogr_core.h:1202
OGRwkbGeometryType OGR_GT_GetLinear(OGRwkbGeometryType eType)
Returns the non-curve geometry type that can contain the passed geometry type.
Definition: ogrgeometry.cpp:7192
OGRwkbGeometryType OGRMergeGeometryTypes(OGRwkbGeometryType eMain, OGRwkbGeometryType eExtra)
Find common geometry type.
Definition: ogrgeometry.cpp:2826
@ wkbPolygon25D
2.5D extension as per 99-402
Definition: ogr_core.h:506
@ OGRSTPenWidth
Width.
Definition: ogr_core.h:1132
@ OFTWideStringList
deprecated
Definition: ogr_core.h:792
@ wkbPolygonZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:486
enum ogr_style_tool_param_label_id OGRSTLabelParam
List of parameters for use with OGRStyleLabel.
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:6994
@ wkbVariantPostGIS1
PostGIS 1.X has different codes for CurvePolygon, MultiCurve and MultiSurface.
Definition: ogr_core.h:545
@ OFTDateTime
Date and Time.
Definition: ogr_core.h:796
@ wkbPolygonM
ISO SQL/MM Part 3.
Definition: ogr_core.h:468
@ wkbTriangleM
ISO SQL/MM Part 3.
Definition: ogr_core.h:482
int Contains(OGREnvelope3D const &other) const
Return whether the current object contains the other rectangle.
Definition: ogr_core.h:326
@ OGRSTLabelAdjHor
OBSOLETE; do not use.
Definition: ogr_core.h:1207
@ wkbCircularString
one or more circular arc segments connected end to end, ISO SQL/MM Part 3.
Definition: ogr_core.h:423
@ OGRSTLabelTextString
Text string.
Definition: ogr_core.h:1192
@ OFDMP_DEFAULT_VALUE
Default value.
Definition: ogr_core.h:1275
@ OFDMP_GEOMETRY_WEIGHTED
New values are computed as the weighted average of the source values.
Definition: ogr_core.h:1279
enum ogr_style_tool_param_pen_id OGRSTPenParam
List of parameters for use with OGRStylePen.
@ wkbMultiPolygonZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:489
ogr_style_tool_param_symbol_id
List of parameters for use with OGRStyleSymbol.
Definition: ogr_core.h:1166
@ wkbCurveM
ISO SQL/MM Part 3.
Definition: ogr_core.h:478
#define MIN(a, b)
Macro to compute the minimum of 2 values.
Definition: cpl_port.h:383
@ OGRSTLabelPlacement
Placement.
Definition: ogr_core.h:1196
double MinZ
Minimum Z value.
Definition: ogr_core.h:232
@ OGRSTCSymbol
Symbol.
Definition: ogr_core.h:1108
@ OGRSTCLabel
Label.
Definition: ogr_core.h:1109
@ wkbPolyhedralSurfaceZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:498
bool operator==(const OGREnvelope &other) const
Return whether the current rectangle is equal to the other rectangle.
Definition: ogr_core.h:170
@ wkbPoint25D
2.5D extension as per 99-402
Definition: ogr_core.h:504
@ wkbSurfaceZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:497
@ wkbCircularStringZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:491
enum ogr_style_tool_units_id OGRSTUnitId
List of units supported by OGRStyleTools.
@ wkbCircularStringZ
wkbCircularString with Z component.
Definition: ogr_core.h:448
int OGRBoolean
Type for a OGR boolean.
Definition: ogr_core.h:395
@ wkbCurve
Curve (abstract type).
Definition: ogr_core.h:434
@ OGRSTCNone
None.
Definition: ogr_core.h:1105
@ wkbMultiPointZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:487
@ OGRSTUPixel
Pixel.
Definition: ogr_core.h:1119
@ OGRSTPenPriority
Priority.
Definition: ogr_core.h:1138
OGRwkbGeometryType OGRMergeGeometryTypesEx(OGRwkbGeometryType eMain, OGRwkbGeometryType eExtra, int bAllowPromotingToCurves)
Find common geometry type.
Definition: ogrgeometry.cpp:2862
int Intersects(OGREnvelope3D const &other) const
Return whether the current object intersects with the other rectangle.
Definition: ogr_core.h:318
@ wkbTINZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:499
int OGR_GT_IsSurface(OGRwkbGeometryType)
Return if a geometry type is an instance of Surface.
Definition: ogrgeometry.cpp:7255
double MaxX
Maximum X value.
Definition: ogr_core.h:83
@ OGRSTSymbolDx
Dx.
Definition: ogr_core.h:1172
@ wkbLineStringZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:485
#define CPL_C_START
Macro to start a block of C symbols.
Definition: cpl_port.h:306
OGRwkbGeometryType OGR_GT_SetM(OGRwkbGeometryType eType)
Returns the measured geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:6967
#define OGRERR_UNSUPPORTED_SRS
Unsupported SRS.
Definition: ogr_core.h:387
ogr_style_tool_class_id
OGRStyleTool derived class types (returned by GetType()).
Definition: ogr_core.h:1103
int OGRParseDate(const char *pszInput, OGRField *psOutput, int nOptions)
Parse date string.
Definition: ogrutils.cpp:1072
@ OGRSTLabelOColor
Outline color.
Definition: ogr_core.h:1210
OGRwkbByteOrder
Enumeration to describe byte order.
Definition: ogr_core.h:610
OGRFeature field attribute value union.
Definition: ogr_core.h:900
@ OGRSTSymbolAngle
Angle.
Definition: ogr_core.h:1169
@ OGRSTSymbolFontName
Font name.
Definition: ogr_core.h:1178
#define OGRERR_UNSUPPORTED_OPERATION
Unsupported operation.
Definition: ogr_core.h:384
@ 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:1262
Associates a code and a value.
Definition: ogr_core.h:1224
@ wkbCurvePolygon
planar surface, defined by 1 exterior boundary and zero or more interior boundaries,...
Definition: ogr_core.h:427
int IsInit() const
Return whether the object has been initialized, that is, is non empty.
Definition: ogr_core.h:243
@ wkbLineStringM
ISO SQL/MM Part 3.
Definition: ogr_core.h:467
@ OGRSTPenColor
Color.
Definition: ogr_core.h:1131
@ OGRSTLabelDy
Dy.
Definition: ogr_core.h:1199
#define OGRERR_FAILURE
Failure.
Definition: ogr_core.h:386
@ OGRSTUMM
Millimeter.
Definition: ogr_core.h:1121
OGRwkbGeometryType OGR_GT_GetCurve(OGRwkbGeometryType eType)
Returns the curve geometry type that can contain the passed geometry type.
Definition: ogrgeometry.cpp:7142
@ OFTString
String of ASCII chars.
Definition: ogr_core.h:789
#define CPLIsNan(x)
Return whether a floating-pointer number is NaN.
Definition: cpl_port.h:668
@ wkbMultiPolygon25D
2.5D extension as per 99-402
Definition: ogr_core.h:509
@ wkbCircularStringM
ISO SQL/MM Part 3.
Definition: ogr_core.h:473
@ OFTIntegerList
List of 32bit integers.
Definition: ogr_core.h:786
@ wkbMultiSurface
GeometryCollection of Surfaces, ISO SQL/MM Part 3.
Definition: ogr_core.h:432
@ OGRSTCBrush
Brush.
Definition: ogr_core.h:1107
#define OGRERR_NOT_ENOUGH_MEMORY
Not enough memory.
Definition: ogr_core.h:382
@ OGRSTLabelFontName
Font name.
Definition: ogr_core.h:1190
@ OGRSTLabelPriority
Priority.
Definition: ogr_core.h:1204
@ wkbPolyhedralSurface
a contiguous collection of polygons, which share common boundary segments, ISO SQL/MM Part 3.
Definition: ogr_core.h:438
@ wkbCurvePolygonM
ISO SQL/MM Part 3.
Definition: ogr_core.h:475
@ OFSTUUID
UUID string representation.
Definition: ogr_core.h:828
#define CPL_C_END
Macro to end a block of C symbols.
Definition: cpl_port.h:310
@ wkbMultiPointM
ISO SQL/MM Part 3.
Definition: ogr_core.h:469
@ OGRSTLabelUnderline
Underline.
Definition: ogr_core.h:1203
@ wkbGeometryCollectionM
ISO SQL/MM Part 3.
Definition: ogr_core.h:472
@ OGRSTCVector
Vector.
Definition: ogr_core.h:1110
@ OGRSTLabelAnchor
Anchor.
Definition: ogr_core.h:1197
@ OFTInteger
Simple 32bit integer.
Definition: ogr_core.h:785
@ wkbVariantIso
SFSQL 1.2 and ISO SQL/MM Part 3 extended dimension (Z&M) WKB types.
Definition: ogr_core.h:543
@ OGRSTLabelAngle
Angle.
Definition: ogr_core.h:1193
int OGR_GT_IsCurve(OGRwkbGeometryType)
Return if a geometry type is an instance of Curve.
Definition: ogrgeometry.cpp:7234
@ OFDMP_SUM
Sum.
Definition: ogr_core.h:1277
@ OGRSTSymbolDy
Dy.
Definition: ogr_core.h:1173
@ OGRSTBrushDx
Dx.
Definition: ogr_core.h:1154
@ wkbNone
non-standard, for pure attribute records
Definition: ogr_core.h:445
double MaxY
Maximum Y value.
Definition: ogr_core.h:89
@ OFTInteger64List
List of 64bit integers.
Definition: ogr_core.h:798
@ wkbPolygon
planar 2-dimensional geometric object defined by 1 exterior boundary and 0 or more interior boundarie...
Definition: ogr_core.h:413
@ OFDT_RANGE
Range (min/max)
Definition: ogr_core.h:1242
@ wkbMultiCurveM
ISO SQL/MM Part 3.
Definition: ogr_core.h:476
void Intersect(OGREnvelope const &sOther)
Update the current object by computing its intersection with the other rectangle.
Definition: ogr_core.h:128
char * pszValue
Value.
Definition: ogr_core.h:1230
@ wkbMultiLineString25D
2.5D extension as per 99-402
Definition: ogr_core.h:508
@ OFDT_GLOB
Glob (used by GeoPackage)
Definition: ogr_core.h:1244
OGRJustification
Display justification for field values.
Definition: ogr_core.h:836
@ wkbCompoundCurveM
ISO SQL/MM Part 3.
Definition: ogr_core.h:474
@ wkbPolyhedralSurfaceM
ISO SQL/MM Part 3.
Definition: ogr_core.h:480
enum ogr_style_tool_param_symbol_id OGRSTSymbolParam
List of parameters for use with OGRStyleSymbol.
OGREnvelope3D(const OGREnvelope3D &oOther)
Copy constructor.
Definition: ogr_core.h:223
@ OFSTNone
No subtype.
Definition: ogr_core.h:813
@ OFTStringList
Array of strings.
Definition: ogr_core.h:790
@ OGRSTBrushFColor
Foreground color.
Definition: ogr_core.h:1149
@ wkbSurface
Surface (abstract type).
Definition: ogr_core.h:436
void Merge(double dfX, double dfY)
Update the current object by computing its union with the provided point.
Definition: ogr_core.h:118
@ OGRSTBrushDy
Dy.
Definition: ogr_core.h:1155
@ wkbLinearRing
non-standard, just for createGeometry()
Definition: ogr_core.h:446
#define OGRERR_NOT_ENOUGH_DATA
Not enough data to deserialize.
Definition: ogr_core.h:381
@ OGRSTSymbolId
Id.
Definition: ogr_core.h:1168
#define OGRERR_CORRUPT_DATA
Corrupt data.
Definition: ogr_core.h:385
@ OGRSTBrushBColor
Background color.
Definition: ogr_core.h:1150
@ OFTTime
Time.
Definition: ogr_core.h:795
@ OGRSTUGround
Ground unit.
Definition: ogr_core.h:1118
@ OFDT_CODED
Coded.
Definition: ogr_core.h:1240
@ OGRSTSymbolSize
Size.
Definition: ogr_core.h:1171
double MinY
Minimum Y value.
Definition: ogr_core.h:86
@ OGRSTLabelHColor
Highlight color.
Definition: ogr_core.h:1209
OGRFieldDomainSplitPolicy
Split policy for field domains.
Definition: ogr_core.h:1254
int OGRErr
Type for a OGR error.
Definition: ogr_core.h:378
@ wkbCompoundCurveZ
wkbCompoundCurve with Z component.
Definition: ogr_core.h:450
@ OGRSTSymbolOffset
Offset.
Definition: ogr_core.h:1176
ogr_style_tool_param_pen_id
List of parameters for use with OGRStylePen.
Definition: ogr_core.h:1129
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition: cpl_port.h:226
@ OGRSTBrushId
Id.
Definition: ogr_core.h:1151
ogr_style_tool_param_brush_id
List of parameters for use with OGRStyleBrush.
Definition: ogr_core.h:1147
@ wkbCurveZ
wkbCurve with Z component.
Definition: ogr_core.h:458
int OGR_GT_HasZ(OGRwkbGeometryType eType)
Return if the geometry type is a 3D geometry type.
Definition: ogrgeometry.cpp:6896
OGRwkbGeometryType
List of well known binary geometry types.
Definition: ogr_core.h:406
@ OGRSTPenCap
Cap.
Definition: ogr_core.h:1136
int OGR_GT_HasM(OGRwkbGeometryType eType)
Return if the geometry type is a measured type.
Definition: ogrgeometry.cpp:6920
@ wkbTINZ
ISO SQL/MM Part 3.
Definition: ogr_core.h:463
@ OGRSTCPen
Pen.
Definition: ogr_core.h:1106
const char * OGRGeometryTypeToName(OGRwkbGeometryType eType)
Fetch a human readable name corresponding to an OGRwkbGeometryType value.
Definition: ogrgeometry.cpp:2604
@ OFTDate
Date.
Definition: ogr_core.h:794
@ OGRSTPenPerOffset
Perpendicular offset.
Definition: ogr_core.h:1135
OGRFieldSubType
List of field subtypes.
Definition: ogr_core.h:811
void Intersect(OGREnvelope3D const &sOther)
Update the current object by computing its intersection with the other rectangle.
Definition: ogr_core.h:287
@ wkbTriangleZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:500
int Contains(OGREnvelope const &other) const
Return whether the current object contains the other rectangle.
Definition: ogr_core.h:162
OGREnvelope()
Default constructor.
Definition: ogr_core.h:61
@ wkbXDR
MSB/Sun/Motorola: Most Significant Byte First
Definition: ogr_core.h:612
Simple container for a bounding region in 3D.
Definition: ogr_core.h:212
@ OGRSTBrushPriority
Priority.
Definition: ogr_core.h:1156
@ OFTRealList
List of doubles.
Definition: ogr_core.h:788
@ OFDSP_DUPLICATE
Duplicate.
Definition: ogr_core.h:1259
int IsInit() const
Return whether the object has been initialized, that is, is non empty.
Definition: ogr_core.h:97
@ wkbGeometryCollection25D
2.5D extension as per 99-402
Definition: ogr_core.h:510
@ OFSTJSON
JSON content.
Definition: ogr_core.h:824
ogr_style_tool_units_id
List of units supported by OGRStyleTools.
Definition: ogr_core.h:1116
@ wkbGeometryCollection
geometric object that is a collection of 1 or more geometric objects, standard WKB
Definition: ogr_core.h:420
OGRFieldType
List of feature field types.
Definition: ogr_core.h:783
@ wkbMultiCurveZ
wkbMultiCurve with Z component.
Definition: ogr_core.h:454
@ OGRSTPenJoin
Join.
Definition: ogr_core.h:1137
@ wkbPolyhedralSurfaceZ
ISO SQL/MM Part 3.
Definition: ogr_core.h:462
@ wkbMultiCurve
GeometryCollection of Curves, ISO SQL/MM Part 3.
Definition: ogr_core.h:430
@ OGRSTSymbolColor
Color.
Definition: ogr_core.h:1170
@ wkbMultiPolygonM
ISO SQL/MM Part 3.
Definition: ogr_core.h:471
@ wkbLineString25D
2.5D extension as per 99-402
Definition: ogr_core.h:505
@ OFTInteger64
Single 64bit integer.
Definition: ogr_core.h:797
@ wkbGeometryCollectionZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:490
Simple container for a bounding region (rectangle)
Definition: ogr_core.h:57
@ OGRSTUPoints
Points.
Definition: ogr_core.h:1120
double MaxZ
Maximum Z value.
Definition: ogr_core.h:235
#define OGRERR_NONE
Success.
Definition: ogr_core.h:380
void Merge(OGREnvelope3D const &sOther)
Update the current object by computing its union with the other rectangle.
Definition: ogr_core.h:253
@ wkbMultiSurfaceZ
wkbMultiSurface with Z component.
Definition: ogr_core.h:456
@ OGRSTLabelAdjVert
OBSOLETE; do not use.
Definition: ogr_core.h:1208
OGREnvelope & operator=(const OGREnvelope &)=default
Assignment operator.
@ OGRSTSymbolOColor
Outline color.
Definition: ogr_core.h:1179
@ OGRSTLabelDx
Dx.
Definition: ogr_core.h:1198
@ wkbTriangle
a Triangle.
Definition: ogr_core.h:443
@ wkbLineString
1-dimensional geometric object with linear interpolation between Points, standard WKB
Definition: ogr_core.h:411
@ OGRSTPenId
Id.
Definition: ogr_core.h:1134
@ wkbMultiLineString
GeometryCollection of LineStrings, standard WKB.
Definition: ogr_core.h:417
char * pszCode
Code.
Definition: ogr_core.h:1227
OGREnvelope3D()
Default constructor.
Definition: ogr_core.h:216
@ wkbCurveZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:496
int OGR_GET_MS(float fSec)
Return the number of milliseconds from a datetime with decimal seconds.
Definition: ogr_core.h:963
@ OFTReal
Double Precision floating point.
Definition: ogr_core.h:787
@ OGRSTSymbolPerp
Perpendicular.
Definition: ogr_core.h:1175
@ OGRSTBrushAngle
Angle.
Definition: ogr_core.h:1152
#define OGRERR_NON_EXISTING_FEATURE
Non existing feature.
Definition: ogr_core.h:389
@ OGRSTPenPattern
Pattern.
Definition: ogr_core.h:1133
@ wkbMultiLineStringM
ISO SQL/MM Part 3.
Definition: ogr_core.h:470
#define OGRERR_INVALID_HANDLE
Invalid handle.
Definition: ogr_core.h:388
OGRwkbGeometryType OGR_GT_SetZ(OGRwkbGeometryType eType)
Returns the 3D geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:6943
void Merge(OGREnvelope const &sOther)
Update the current object by computing its union with the other rectangle.
Definition: ogr_core.h:108
@ wkbUnknown
unknown type, non-standard
Definition: ogr_core.h:408
@ wkbTIN
a PolyhedralSurface consisting only of Triangle patches ISO SQL/MM Part 3.
Definition: ogr_core.h:441
@ OGRSTLabelSize
Size.
Definition: ogr_core.h:1191
int Intersects(OGREnvelope const &other) const
Return whether the current object intersects with the other rectangle.
Definition: ogr_core.h:155
@ OGRSTLabelBold
Bold.
Definition: ogr_core.h:1201
OGRwkbVariant
Output variants of WKB we support.
Definition: ogr_core.h:540
@ wkbPointM
ISO SQL/MM Part 3.
Definition: ogr_core.h:466
@ wkbMultiPoint
GeometryCollection of Points, standard WKB.
Definition: ogr_core.h:416
@ wkbSurfaceZ
wkbSurface with Z component.
Definition: ogr_core.h:460