GDAL

- Main Page
- Related Pages
- Classes
- Files
- Download
- Issue Tracker

- File List
- File Members

ogr_core.h
Go to the documentation of this file.
1 /******************************************************************************
2 * $Id$
3 *
4 * Project: OpenGIS Simple Features Reference Implementation
5 * Purpose: Define some core portability services for cross-platform OGR code.
6 * Author: Frank Warmerdam, warmerdam@pobox.com
7 *
8 ******************************************************************************
9 * Copyright (c) 1999, Frank Warmerdam
10 * Copyright (c) 2007-2014, Even Rouault <even dot rouault at spatialys.com>
11 *
12 * Permission is hereby granted, free of charge, to any person obtaining a
13 * copy of this software and associated documentation files (the "Software"),
14 * to deal in the Software without restriction, including without limitation
15 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
16 * and/or sell copies of the Software, and to permit persons to whom the
17 * Software is furnished to do so, subject to the following conditions:
18 *
19 * The above copyright notice and this permission notice shall be included
20 * in all copies or substantial portions of the Software.
21 *
22 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
23 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
25 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
27 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
28 * DEALINGS IN THE SOFTWARE.
29 ****************************************************************************/
30
31 #ifndef OGR_CORE_H_INCLUDED
32 #define OGR_CORE_H_INCLUDED
33
34 #include "cpl_port.h"
35 #if defined(GDAL_COMPILATION)
36 #define DO_NOT_DEFINE_GDAL_RELEASE_DATE_AND_GDAL_RELEASE_NAME
37 #endif
38 #include "gdal_version.h"
39
46 #if defined(__cplusplus) && !defined(CPL_SUPRESS_CPLUSPLUS)
47
48 extern "C++"
49 {
50 #if !defined(DOXYGEN_SKIP)
51 #include <limits>
52 #endif
53
57 class CPL_DLL OGREnvelope
58 {
59 public:
61 OGREnvelope() : MinX(std::numeric_limits<double>::infinity()),
62 MaxX(-std::numeric_limits<double>::infinity()),
63 MinY(std::numeric_limits<double>::infinity()),
64 MaxY(-std::numeric_limits<double>::infinity())
65 {
66 }
67
69 OGREnvelope(const OGREnvelope& oOther) :
70 MinX(oOther.MinX),MaxX(oOther.MaxX), MinY(oOther.MinY), MaxY(oOther.MaxY)
71 {
72 }
73
75 OGREnvelope& operator=(const OGREnvelope&) = default;
76
78 double MinX;
79
81 double MaxX;
82
84 double MinY;
85
87 double MaxY;
88
89 #ifdef HAVE_GCC_DIAGNOSTIC_PUSH
90 #pragma GCC diagnostic push
91 #pragma GCC diagnostic ignored "-Wfloat-equal"
92 #endif
93
94 int IsInit() const { return MinX != std::numeric_limits<double>::infinity(); }
95
96 #ifdef HAVE_GCC_DIAGNOSTIC_PUSH
97 #pragma GCC diagnostic pop
98 #endif
99
101 void Merge( OGREnvelope const& sOther ) {
102 MinX = MIN(MinX,sOther.MinX);
103 MaxX = MAX(MaxX,sOther.MaxX);
104 MinY = MIN(MinY,sOther.MinY);
105 MaxY = MAX(MaxY,sOther.MaxY);
106 }
107
109 void Merge( double dfX, double dfY ) {
110 MinX = MIN(MinX,dfX);
111 MaxX = MAX(MaxX,dfX);
112 MinY = MIN(MinY,dfY);
113 MaxY = MAX(MaxY,dfY);
114 }
115
117 void Intersect( OGREnvelope const& sOther ) {
118 if(Intersects(sOther))
119 {
120 if( IsInit() )
121 {
122 MinX = MAX(MinX,sOther.MinX);
123 MaxX = MIN(MaxX,sOther.MaxX);
124 MinY = MAX(MinY,sOther.MinY);
125 MaxY = MIN(MaxY,sOther.MaxY);
126 }
127 else
128 {
129 MinX = sOther.MinX;
130 MaxX = sOther.MaxX;
131 MinY = sOther.MinY;
132 MaxY = sOther.MaxY;
133 }
134 }
135 else
136 {
137 *this = OGREnvelope();
138 }
139 }
140
142 int Intersects(OGREnvelope const& other) const
143 {
144 return MinX <= other.MaxX && MaxX >= other.MinX &&
145 MinY <= other.MaxY && MaxY >= other.MinY;
146 }
147
149 int Contains(OGREnvelope const& other) const
150 {
151 return MinX <= other.MinX && MinY <= other.MinY &&
152 MaxX >= other.MaxX && MaxY >= other.MaxY;
153 }
154 };
155
156 } // extern "C++"
157
158 #else
159 typedef struct
160 {
161 double MinX;
162 double MaxX;
163 double MinY;
164 double MaxY;
165 } OGREnvelope;
166 #endif
167
168 #if defined(__cplusplus) && !defined(CPL_SUPRESS_CPLUSPLUS)
169
170 extern "C++" {
171
175 class CPL_DLL OGREnvelope3D : public OGREnvelope
176 {
177 public:
179 OGREnvelope3D() : OGREnvelope(),
180 MinZ(std::numeric_limits<double>::infinity()),
181 MaxZ(-std::numeric_limits<double>::infinity())
182 {
183 }
184
186 OGREnvelope3D(const OGREnvelope3D& oOther) :
187 OGREnvelope(oOther),
188 MinZ(oOther.MinZ), MaxZ(oOther.MaxZ)
189 {
190 }
191
193 OGREnvelope3D& operator=(const OGREnvelope3D&) = default;
194
196 double MinZ;
197
199 double MaxZ;
200
201 #ifdef HAVE_GCC_DIAGNOSTIC_PUSH
202 #pragma GCC diagnostic push
203 #pragma GCC diagnostic ignored "-Wfloat-equal"
204 #endif
205
206 int IsInit() const { return MinX != std::numeric_limits<double>::infinity(); }
207 #ifdef HAVE_GCC_DIAGNOSTIC_PUSH
208 #pragma GCC diagnostic pop
209 #endif
210
212 void Merge( OGREnvelope3D const& sOther ) {
213 MinX = MIN(MinX,sOther.MinX);
214 MaxX = MAX(MaxX,sOther.MaxX);
215 MinY = MIN(MinY,sOther.MinY);
216 MaxY = MAX(MaxY,sOther.MaxY);
217 MinZ = MIN(MinZ,sOther.MinZ);
218 MaxZ = MAX(MaxZ,sOther.MaxZ);
219 }
220
222 void Merge( double dfX, double dfY, double dfZ ) {
223 MinX = MIN(MinX,dfX);
224 MaxX = MAX(MaxX,dfX);
225 MinY = MIN(MinY,dfY);
226 MaxY = MAX(MaxY,dfY);
227 MinZ = MIN(MinZ,dfZ);
228 MaxZ = MAX(MaxZ,dfZ);
229 }
230
232 void Intersect( OGREnvelope3D const& sOther ) {
233 if(Intersects(sOther))
234 {
235 if( IsInit() )
236 {
237 MinX = MAX(MinX,sOther.MinX);
238 MaxX = MIN(MaxX,sOther.MaxX);
239 MinY = MAX(MinY,sOther.MinY);
240 MaxY = MIN(MaxY,sOther.MaxY);
241 MinZ = MAX(MinZ,sOther.MinZ);
242 MaxZ = MIN(MaxZ,sOther.MaxZ);
243 }
244 else
245 {
246 MinX = sOther.MinX;
247 MaxX = sOther.MaxX;
248 MinY = sOther.MinY;
249 MaxY = sOther.MaxY;
250 MinZ = sOther.MinZ;
251 MaxZ = sOther.MaxZ;
252 }
253 }
254 else
255 {
256 *this = OGREnvelope3D();
257 }
258 }
259
261 int Intersects(OGREnvelope3D const& other) const
262 {
263 return MinX <= other.MaxX && MaxX >= other.MinX &&
264 MinY <= other.MaxY && MaxY >= other.MinY &&
265 MinZ <= other.MaxZ && MaxZ >= other.MinZ;
266 }
267
269 int Contains(OGREnvelope3D const& other) const
270 {
271 return MinX <= other.MinX && MinY <= other.MinY &&
272 MaxX >= other.MaxX && MaxY >= other.MaxY &&
273 MinZ <= other.MinZ && MaxZ >= other.MaxZ;
274 }
275 };
276
277 } // extern "C++"
278
279 #else
280 typedef struct
281 {
282 double MinX;
283 double MaxX;
284 double MinY;
285 double MaxY;
286 double MinZ;
287 double MaxZ;
288 } OGREnvelope3D;
289 #endif
290
291 CPL_C_START
292
294 void CPL_DLL *OGRMalloc( size_t ) CPL_WARN_DEPRECATED("Use CPLMalloc instead.");
295 void CPL_DLL *OGRCalloc( size_t, size_t ) CPL_WARN_DEPRECATED("Use CPLCalloc instead.");
296 void CPL_DLL *OGRRealloc( void *, size_t ) CPL_WARN_DEPRECATED("Use CPLRealloc instead.");
297 char CPL_DLL *OGRStrdup( const char * ) CPL_WARN_DEPRECATED("Use CPLStrdup instead.");
298 void CPL_DLL OGRFree( void * ) CPL_WARN_DEPRECATED("Use CPLFree instead.");
301 #ifdef STRICT_OGRERR_TYPE
302
303 typedef enum
304 {
305 OGRERR_NONE,
306 OGRERR_NOT_ENOUGH_DATA,
307 OGRERR_NOT_ENOUGH_MEMORY,
308 OGRERR_UNSUPPORTED_GEOMETRY_TYPE,
309 OGRERR_UNSUPPORTED_OPERATION,
310 OGRERR_CORRUPT_DATA,
311 OGRERR_FAILURE,
312 OGRERR_UNSUPPORTED_SRS,
313 OGRERR_INVALID_HANDLE,
314 OGRERR_NON_EXISTING_FEATURE
315 } OGRErr;
316 #else
317
318 typedef int OGRErr;
319
320 #define OGRERR_NONE 0
321 #define OGRERR_NOT_ENOUGH_DATA 1
322 #define OGRERR_NOT_ENOUGH_MEMORY 2
323 #define OGRERR_UNSUPPORTED_GEOMETRY_TYPE 3
324 #define OGRERR_UNSUPPORTED_OPERATION 4
325 #define OGRERR_CORRUPT_DATA 5
326 #define OGRERR_FAILURE 6
327 #define OGRERR_UNSUPPORTED_SRS 7
328 #define OGRERR_INVALID_HANDLE 8
329 #define OGRERR_NON_EXISTING_FEATURE 9
331 #endif
332
334 typedef int OGRBoolean;
335
336 /* -------------------------------------------------------------------- */
337 /* ogr_geometry.h related definitions. */
338 /* -------------------------------------------------------------------- */
339
345 typedef enum
346 {
347 wkbUnknown = 0,
349 wkbPoint = 1,
350 wkbLineString = 2,
352 wkbPolygon = 3,
355 wkbMultiPoint = 4,
356 wkbMultiLineString = 5,
357 wkbMultiPolygon = 6,
358 wkbGeometryCollection = 7,
361 wkbCircularString = 8,
363 wkbCompoundCurve = 9,
364 wkbCurvePolygon = 10,
367 wkbMultiCurve = 11,
368 wkbMultiSurface = 12,
369 wkbCurve = 13,
370 wkbSurface = 14,
371 wkbPolyhedralSurface = 15,
373 wkbTIN = 16,
375 wkbTriangle = 17,
377 wkbNone = 100,
378 wkbLinearRing = 101,
380 wkbCircularStringZ = 1008,
381 wkbCompoundCurveZ = 1009,
382 wkbCurvePolygonZ = 1010,
383 wkbMultiCurveZ = 1011,
384 wkbMultiSurfaceZ = 1012,
385 wkbCurveZ = 1013,
386 wkbSurfaceZ = 1014,
387 wkbPolyhedralSurfaceZ = 1015,
388 wkbTINZ = 1016,
389 wkbTriangleZ = 1017,
391 wkbPointM = 2001,
392 wkbLineStringM = 2002,
393 wkbPolygonM = 2003,
394 wkbMultiPointM = 2004,
395 wkbMultiLineStringM = 2005,
396 wkbMultiPolygonM = 2006,
397 wkbGeometryCollectionM = 2007,
398 wkbCircularStringM = 2008,
399 wkbCompoundCurveM = 2009,
400 wkbCurvePolygonM = 2010,
401 wkbMultiCurveM = 2011,
402 wkbMultiSurfaceM = 2012,
403 wkbCurveM = 2013,
404 wkbSurfaceM = 2014,
405 wkbPolyhedralSurfaceM = 2015,
406 wkbTINM = 2016,
407 wkbTriangleM = 2017,
409 wkbPointZM = 3001,
410 wkbLineStringZM = 3002,
411 wkbPolygonZM = 3003,
412 wkbMultiPointZM = 3004,
413 wkbMultiLineStringZM = 3005,
414 wkbMultiPolygonZM = 3006,
415 wkbGeometryCollectionZM = 3007,
416 wkbCircularStringZM = 3008,
417 wkbCompoundCurveZM = 3009,
418 wkbCurvePolygonZM = 3010,
419 wkbMultiCurveZM = 3011,
420 wkbMultiSurfaceZM = 3012,
421 wkbCurveZM = 3013,
422 wkbSurfaceZM = 3014,
423 wkbPolyhedralSurfaceZM = 3015,
424 wkbTINZM = 3016,
425 wkbTriangleZM = 3017,
427 #if defined(DOXYGEN_SKIP)
428 // Sphinx doesn't like 0x8000000x constants
429 wkbPoint25D = -2147483647,
430 wkbLineString25D = -2147483646,
431 wkbPolygon25D = -2147483645,
432 wkbMultiPoint25D = -2147483644,
433 wkbMultiLineString25D = -2147483643,
434 wkbMultiPolygon25D = -2147483642,
435 wkbGeometryCollection25D = -2147483641
436 #else
437 wkbPoint25D = 0x80000001,
438 wkbLineString25D = 0x80000002,
439 wkbPolygon25D = 0x80000003,
440 wkbMultiPoint25D = 0x80000004,
441 wkbMultiLineString25D = 0x80000005,
442 wkbMultiPolygon25D = 0x80000006,
443 wkbGeometryCollection25D = 0x80000007
444 #endif
445 } OGRwkbGeometryType;
446
461 typedef enum
462 {
463 wkbVariantOldOgc,
464 wkbVariantIso,
465 wkbVariantPostGIS1
466 } OGRwkbVariant;
467
468 #ifndef GDAL_COMPILATION
469
470 #define wkb25DBit 0x80000000
471 #endif
472
473 #ifndef __cplusplus
474
475 #define wkbFlatten(x) OGR_GT_Flatten((OGRwkbGeometryType)(x))
476 #else
477
478 #define wkbFlatten(x) OGR_GT_Flatten(static_cast<OGRwkbGeometryType>(x))
479 #endif
480
484 #define wkbHasZ(x) (OGR_GT_HasZ(x) != 0)
485
489 #define wkbSetZ(x) OGR_GT_SetZ(x)
490
494 #define wkbHasM(x) (OGR_GT_HasM(x) != 0)
495
499 #define wkbSetM(x) OGR_GT_SetM(x)
500
501 #ifndef DOXYGEN_SKIP
502 #define ogrZMarker 0x21125711
503 #endif
504
505 const char CPL_DLL * OGRGeometryTypeToName( OGRwkbGeometryType eType );
506 OGRwkbGeometryType CPL_DLL OGRMergeGeometryTypes( OGRwkbGeometryType eMain,
507 OGRwkbGeometryType eExtra );
508 OGRwkbGeometryType CPL_DLL OGRMergeGeometryTypesEx( OGRwkbGeometryType eMain,
509 OGRwkbGeometryType eExtra,
510 int bAllowPromotingToCurves );
511 OGRwkbGeometryType CPL_DLL OGR_GT_Flatten( OGRwkbGeometryType eType );
512 OGRwkbGeometryType CPL_DLL OGR_GT_SetZ( OGRwkbGeometryType eType );
513 OGRwkbGeometryType CPL_DLL OGR_GT_SetM( OGRwkbGeometryType eType );
514 OGRwkbGeometryType CPL_DLL OGR_GT_SetModifier( OGRwkbGeometryType eType, int bSetZ, int bSetM );
515 int CPL_DLL OGR_GT_HasZ( OGRwkbGeometryType eType );
516 int CPL_DLL OGR_GT_HasM( OGRwkbGeometryType eType );
517 int CPL_DLL OGR_GT_IsSubClassOf( OGRwkbGeometryType eType,
518 OGRwkbGeometryType eSuperType );
519 int CPL_DLL OGR_GT_IsCurve( OGRwkbGeometryType );
520 int CPL_DLL OGR_GT_IsSurface( OGRwkbGeometryType );
521 int CPL_DLL OGR_GT_IsNonLinear( OGRwkbGeometryType );
522 OGRwkbGeometryType CPL_DLL OGR_GT_GetCollection( OGRwkbGeometryType eType );
523 OGRwkbGeometryType CPL_DLL OGR_GT_GetCurve( OGRwkbGeometryType eType );
524 OGRwkbGeometryType CPL_DLL OGR_GT_GetLinear( OGRwkbGeometryType eType );
525
527 typedef enum
528 {
529 wkbXDR = 0,
530 wkbNDR = 1
531 } OGRwkbByteOrder;
532
533 #ifndef DOXYGEN_SKIP
534
535 #ifndef NO_HACK_FOR_IBM_DB2_V72
536 # define HACK_FOR_IBM_DB2_V72
537 #endif
538
539 #ifdef HACK_FOR_IBM_DB2_V72
540 # define DB2_V72_FIX_BYTE_ORDER(x) ((((x) & 0x31) == (x)) ? ((x) & 0x1) : (x))
541 # define DB2_V72_UNFIX_BYTE_ORDER(x) CPL_STATIC_CAST(unsigned char, OGRGeometry::bGenerate_DB2_V72_BYTE_ORDER ? ((x) | 0x30) : (x))
542 #else
543 # define DB2_V72_FIX_BYTE_ORDER(x) (x)
544 # define DB2_V72_UNFIX_BYTE_ORDER(x) (x)
545 #endif
546
547 #endif /* #ifndef DOXYGEN_SKIP */
548
552 #define ALTER_NAME_FLAG 0x1
553
557 #define ALTER_TYPE_FLAG 0x2
558
562 #define ALTER_WIDTH_PRECISION_FLAG 0x4
563
568 #define ALTER_NULLABLE_FLAG 0x8
569
574 #define ALTER_DEFAULT_FLAG 0x10
575
580 #define ALTER_UNIQUE_FLAG 0x20
581
582
586 #define ALTER_ALL_FLAG (ALTER_NAME_FLAG | ALTER_TYPE_FLAG | ALTER_WIDTH_PRECISION_FLAG | ALTER_NULLABLE_FLAG | ALTER_DEFAULT_FLAG | ALTER_UNIQUE_FLAG)
587
592 #define OGR_F_VAL_NULL 0x00000001
593
598 #define OGR_F_VAL_GEOM_TYPE 0x00000002
599
604 #define OGR_F_VAL_WIDTH 0x00000004
605
613 #define OGR_F_VAL_ALLOW_NULL_WHEN_DEFAULT 0x00000008
614
621 #define OGR_F_VAL_ALLOW_DIFFERENT_GEOM_DIM 0x00000010
622
627 #define OGR_F_VAL_ALL (0x7FFFFFFF & ~OGR_F_VAL_ALLOW_DIFFERENT_GEOM_DIM)
628
629 /************************************************************************/
630 /* ogr_feature.h related definitions. */
631 /************************************************************************/
632
639 typedef enum
640 { 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,
655 OFTMaxType = 13
656 } OGRFieldType;
657
667 typedef enum
668 { OFSTNone = 0,
671 OFSTBoolean = 1,
673 OFSTInt16 = 2,
675 OFSTFloat32 = 3,
679 OFSTJSON = 4,
680 OFSTMaxSubType = 4
681 } OGRFieldSubType;
682
687 typedef enum
688 {
689 OJUndefined = 0,
690 OJLeft = 1,
691 OJRight = 2
692 } OGRJustification;
693
695 #define OGRNullFID -1
696
697 /* Special value for an unknown field type. This should only be used
698 * while reading a file. At the end of file any unknown types should
699 * be set to OFTString.
700 */
702 #define OGRUnknownType static_cast<OGRFieldType>(-1)
703
710 #define OGRUnsetMarker -21121
711
718 #define OGRNullMarker -21122
719
720 /************************************************************************/
721 /* OGRField */
722 /************************************************************************/
723
728 typedef union {
730 int Integer;
731 GIntBig Integer64;
732 double Real;
733 char *String;
734
735 struct {
736 int nCount;
737 int *paList;
738 } IntegerList;
739
740 struct {
741 int nCount;
742 GIntBig *paList;
743 } Integer64List;
744
745 struct {
746 int nCount;
747 double *paList;
748 } RealList;
749
750 struct {
751 int nCount;
752 char **paList;
753 } StringList;
754
755 struct {
756 int nCount;
757 GByte *paData;
758 } Binary;
759
760 struct {
761 int nMarker1;
762 int nMarker2;
763 int nMarker3;
764 } Set;
765
766 struct {
767 GInt16 Year;
768 GByte Month;
769 GByte Day;
770 GByte Hour;
771 GByte Minute;
772 GByte TZFlag; /* 0=unknown, 1=localtime(ambiguous),
773 100=GMT, 104=GMT+1, 80=GMT-5, etc */
774 GByte Reserved; /* must be set to 0 */
775 float Second; /* with millisecond accuracy. at the end of the structure, so as to keep it 12 bytes on 32 bit */
776 } Date;
778 } OGRField;
779
780 #ifdef __cplusplus
781
782 inline int OGR_GET_MS(float fSec) {
783 if( CPLIsNan(fSec) ) return 0;
784 if( fSec >= 999 ) return 999;
785 if( fSec <= 0 ) return 0;
786 const float fValue = (fSec - static_cast<int>(fSec)) * 1000 + 0.5f;
787 return static_cast<int>(fValue);
788 }
789 #endif // __cplusplus
790
791 int CPL_DLL OGRParseDate( const char *pszInput, OGRField *psOutput,
792 int nOptions );
793
794 /* -------------------------------------------------------------------- */
795 /* Constants from ogrsf_frmts.h for capabilities. */
796 /* -------------------------------------------------------------------- */
797 #define OLCRandomRead "RandomRead"
798 #define OLCSequentialWrite "SequentialWrite"
799 #define OLCRandomWrite "RandomWrite"
800 #define OLCFastSpatialFilter "FastSpatialFilter"
801 #define OLCFastFeatureCount "FastFeatureCount"
802 #define OLCFastGetExtent "FastGetExtent"
803 #define OLCCreateField "CreateField"
804 #define OLCDeleteField "DeleteField"
805 #define OLCReorderFields "ReorderFields"
806 #define OLCAlterFieldDefn "AlterFieldDefn"
807 #define OLCTransactions "Transactions"
808 #define OLCDeleteFeature "DeleteFeature"
809 #define OLCFastSetNextByIndex "FastSetNextByIndex"
810 #define OLCStringsAsUTF8 "StringsAsUTF8"
811 #define OLCIgnoreFields "IgnoreFields"
812 #define OLCCreateGeomField "CreateGeomField"
813 #define OLCCurveGeometries "CurveGeometries"
814 #define OLCMeasuredGeometries "MeasuredGeometries"
816 #define ODsCCreateLayer "CreateLayer"
817 #define ODsCDeleteLayer "DeleteLayer"
818 #define ODsCCreateGeomFieldAfterCreateLayer "CreateGeomFieldAfterCreateLayer"
819 #define ODsCCurveGeometries "CurveGeometries"
820 #define ODsCTransactions "Transactions"
821 #define ODsCEmulatedTransactions "EmulatedTransactions"
822 #define ODsCMeasuredGeometries "MeasuredGeometries"
823 #define ODsCRandomLayerRead "RandomLayerRead"
824 #define ODsCRandomLayerWrite "RandomLayerWrite "
826 #define ODrCCreateDataSource "CreateDataSource"
827 #define ODrCDeleteDataSource "DeleteDataSource"
829 /* -------------------------------------------------------------------- */
830 /* Layer metadata items. */
831 /* -------------------------------------------------------------------- */
836 #define OLMD_FID64 "OLMD_FID64"
837
838 /************************************************************************/
839 /* ogr_featurestyle.h related definitions. */
840 /************************************************************************/
841
846 typedef enum ogr_style_tool_class_id
847 {
848 OGRSTCNone = 0,
849 OGRSTCPen = 1,
850 OGRSTCBrush = 2,
851 OGRSTCSymbol = 3,
852 OGRSTCLabel = 4,
853 OGRSTCVector = 5
854 } OGRSTClassId;
855
859 typedef enum ogr_style_tool_units_id
860 {
861 OGRSTUGround = 0,
862 OGRSTUPixel = 1,
863 OGRSTUPoints = 2,
864 OGRSTUMM = 3,
865 OGRSTUCM = 4,
866 OGRSTUInches = 5
867 } OGRSTUnitId;
868
872 typedef enum ogr_style_tool_param_pen_id
873 {
874 OGRSTPenColor = 0,
875 OGRSTPenWidth = 1,
876 OGRSTPenPattern = 2,
877 OGRSTPenId = 3,
878 OGRSTPenPerOffset = 4,
879 OGRSTPenCap = 5,
880 OGRSTPenJoin = 6,
881 OGRSTPenPriority = 7,
882 #ifndef DOXYGEN_SKIP
883 OGRSTPenLast = 8
884 #endif
885 } OGRSTPenParam;
886
890 typedef enum ogr_style_tool_param_brush_id
891 {
892 OGRSTBrushFColor = 0,
893 OGRSTBrushBColor = 1,
894 OGRSTBrushId = 2,
895 OGRSTBrushAngle = 3,
896 OGRSTBrushSize = 4,
897 OGRSTBrushDx = 5,
898 OGRSTBrushDy = 6,
899 OGRSTBrushPriority = 7,
900 #ifndef DOXYGEN_SKIP
901 OGRSTBrushLast = 8
902 #endif
903
904 } OGRSTBrushParam;
905
909 typedef enum ogr_style_tool_param_symbol_id
910 {
911 OGRSTSymbolId = 0,
912 OGRSTSymbolAngle = 1,
913 OGRSTSymbolColor = 2,
914 OGRSTSymbolSize = 3,
915 OGRSTSymbolDx = 4,
916 OGRSTSymbolDy = 5,
917 OGRSTSymbolStep = 6,
918 OGRSTSymbolPerp = 7,
919 OGRSTSymbolOffset = 8,
920 OGRSTSymbolPriority = 9,
921 OGRSTSymbolFontName = 10,
922 OGRSTSymbolOColor = 11,
923 #ifndef DOXYGEN_SKIP
924 OGRSTSymbolLast = 12
925 #endif
926 } OGRSTSymbolParam;
927
931 typedef enum ogr_style_tool_param_label_id
932 {
933 OGRSTLabelFontName = 0,
934 OGRSTLabelSize = 1,
935 OGRSTLabelTextString = 2,
936 OGRSTLabelAngle = 3,
937 OGRSTLabelFColor = 4,
938 OGRSTLabelBColor = 5,
939 OGRSTLabelPlacement = 6,
940 OGRSTLabelAnchor = 7,
941 OGRSTLabelDx = 8,
942 OGRSTLabelDy = 9,
943 OGRSTLabelPerp = 10,
944 OGRSTLabelBold = 11,
945 OGRSTLabelItalic = 12,
946 OGRSTLabelUnderline = 13,
947 OGRSTLabelPriority = 14,
948 OGRSTLabelStrikeout = 15,
949 OGRSTLabelStretch = 16,
950 OGRSTLabelAdjHor = 17,
951 OGRSTLabelAdjVert = 18,
952 OGRSTLabelHColor = 19,
953 OGRSTLabelOColor = 20,
954 #ifndef DOXYGEN_SKIP
955 OGRSTLabelLast = 21
956 #endif
957 } OGRSTLabelParam;
958
959 /* ------------------------------------------------------------------- */
960 /* Version checking */
961 /* -------------------------------------------------------------------- */
962
963 #ifndef DOXYGEN_SKIP
964
965 /* Note to developers : please keep this section in sync with gdal.h */
966
967 #ifndef GDAL_VERSION_INFO_DEFINED
968 #define GDAL_VERSION_INFO_DEFINED
969 const char CPL_DLL * CPL_STDCALL GDALVersionInfo( const char * );
970 #endif
971
972 #ifndef GDAL_CHECK_VERSION
973
985 int CPL_DLL CPL_STDCALL GDALCheckVersion( int nVersionMajor, int nVersionMinor,
986 const char* pszCallingComponentName);
987
989 #define GDAL_CHECK_VERSION(pszCallingComponentName) \
990 GDALCheckVersion(GDAL_VERSION_MAJOR, GDAL_VERSION_MINOR, pszCallingComponentName)
991
992 #endif
993
994 #endif /* #ifndef DOXYGEN_SKIP */
995
996 CPL_C_END
997
998 #endif /* ndef OGR_CORE_H_INCLUDED */
wkbMultiPolygonZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:414
wkbNone
non-standard, for pure attribute records
Definition: ogr_core.h:377
OGREnvelope::operator=
OGREnvelope & operator=(const OGREnvelope &)=default
Assignment operator.
wkbVariantIso
SFSQL 1.2 and ISO SQL/MM Part 3 extended dimension (Z&M) WKB types.
Definition: ogr_core.h:464
OGRSTSymbolDy
Dy.
Definition: ogr_core.h:916
OGRSTLabelOColor
Outline color.
Definition: ogr_core.h:953
OGRSTSymbolId
Id.
Definition: ogr_core.h:911
OGRSTBrushDx
Dx.
Definition: ogr_core.h:897
OGRSTLabelFontName
Font name.
Definition: ogr_core.h:933
OGRSTSymbolParam
enum ogr_style_tool_param_symbol_id OGRSTSymbolParam
List of parameters for use with OGRStyleSymbol.
OGRSTLabelHColor
Highlight color.
Definition: ogr_core.h:952
OGRSTBrushFColor
Foreground color.
Definition: ogr_core.h:892
wkbCircularStringM
ISO SQL/MM Part 3.
Definition: ogr_core.h:398
wkbMultiCurveM
ISO SQL/MM Part 3.
Definition: ogr_core.h:401
wkbLineStringM
ISO SQL/MM Part 3.
Definition: ogr_core.h:392
OGRFieldSubType
OGRFieldSubType
List of field subtypes.
Definition: ogr_core.h:667
wkbCurveZ
wkbCurve with Z component.
Definition: ogr_core.h:385
OGRERR_CORRUPT_DATA
#define OGRERR_CORRUPT_DATA
Corrupt data.
Definition: ogr_core.h:325
OGRSTPenColor
Color.
Definition: ogr_core.h:874
ogr_style_tool_param_label_id
ogr_style_tool_param_label_id
List of parameters for use with OGRStyleLabel.
Definition: ogr_core.h:931
OGRSTBrushBColor
Background color.
Definition: ogr_core.h:893
OGR_GET_MS
int OGR_GET_MS(float fSec)
Return the number of milliseconds from a datetime with decimal seconds.
Definition: ogr_core.h:782
wkbTINZ
ISO SQL/MM Part 3.
Definition: ogr_core.h:388
wkbMultiSurfaceZ
wkbMultiSurface with Z component.
Definition: ogr_core.h:384
cpl_port.h
Core portability definitions for CPL.
CPL_C_START
#define CPL_C_START
Macro to start a block of C symbols.
Definition: cpl_port.h:337
wkbCurvePolygonM
ISO SQL/MM Part 3.
Definition: ogr_core.h:400
wkbGeometryCollectionM
ISO SQL/MM Part 3.
Definition: ogr_core.h:397
OGRSTLabelAnchor
Anchor.
Definition: ogr_core.h:940
wkbMultiPolygon25D
2.5D extension as per 99-402
Definition: ogr_core.h:434
OFSTNone
No subtype.
Definition: ogr_core.h:669
OGRSTSymbolSize
Size.
Definition: ogr_core.h:914
OFTInteger64List
List of 64bit integers.
Definition: ogr_core.h:654
OGRSTBrushPriority
Priority.
Definition: ogr_core.h:899
OGRSTSymbolOffset
Offset.
Definition: ogr_core.h:919
wkbMultiLineString25D
2.5D extension as per 99-402
Definition: ogr_core.h:433
OGRSTLabelAngle
Angle.
Definition: ogr_core.h:936
OGRSTPenJoin
Join.
Definition: ogr_core.h:880
wkbPolygon
planar 2-dimensional geometric object defined by 1 exterior boundary and 0 or more interior boundarie...
Definition: ogr_core.h:352
OGREnvelope3D::MinZ
double MinZ
Minimum Z value.
Definition: ogr_core.h:196
OGREnvelope::IsInit
int IsInit() const
Return whether the object has been initialized, that is, is non empty.
Definition: ogr_core.h:94
OGRSTSymbolColor
Color.
Definition: ogr_core.h:913
OGREnvelope3D::Contains
int Contains(OGREnvelope3D const &other) const
Return whether the current object contains the other rectangle.
Definition: ogr_core.h:269
wkbPolyhedralSurface
a contiguous collection of polygons, which share common boundary segments, ISO SQL/MM Part 3...
Definition: ogr_core.h:371
wkbMultiCurveZ
wkbMultiCurve with Z component.
Definition: ogr_core.h:383
wkbMultiPointM
ISO SQL/MM Part 3.
Definition: ogr_core.h:394
OFTTime
Time.
Definition: ogr_core.h:651
OGRSTLabelUnderline
Underline.
Definition: ogr_core.h:946
OGREnvelope::Intersects
int Intersects(OGREnvelope const &other) const
Return whether the current object intersects with the other rectangle.
Definition: ogr_core.h:142
wkbLinearRing
non-standard, just for createGeometry()
Definition: ogr_core.h:378
OGREnvelope::Merge
void Merge(OGREnvelope const &sOther)
Update the current object by computing its union with the other rectangle.
Definition: ogr_core.h:101
OGREnvelope::MaxX
double MaxX
Maximum X value.
Definition: ogr_core.h:81
OFTDate
Date.
Definition: ogr_core.h:650
GDALCheckVersion
int GDALCheckVersion(int nVersionMajor, int nVersionMinor, const char *pszCallingComponentName)
Return TRUE if GDAL library version at runtime matches nVersionMajor.nVersionMinor.
Definition: gdal_misc.cpp:2308
OGRSTBrushParam
enum ogr_style_tool_param_brush_id OGRSTBrushParam
List of parameters for use with OGRStyleBrush.
wkbGeometryCollectionZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:415
OGR_GT_SetM
OGRwkbGeometryType OGR_GT_SetM(OGRwkbGeometryType eType)
Returns the measured geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:6500
OGRSTLabelAdjVert
OBSOLETE; do not use.
Definition: ogr_core.h:951
GInt16
short GInt16
Int16 type.
Definition: cpl_port.h:211
OGRSTBrushDy
Dy.
Definition: ogr_core.h:898
OGRBoolean
int OGRBoolean
Type for a OGR boolean.
Definition: ogr_core.h:334
wkbCompoundCurveZ
wkbCompoundCurve with Z component.
Definition: ogr_core.h:381
wkbLineString25D
2.5D extension as per 99-402
Definition: ogr_core.h:430
OGRERR_NONE
#define OGRERR_NONE
Success.
Definition: ogr_core.h:320
OGRSTLabelParam
enum ogr_style_tool_param_label_id OGRSTLabelParam
List of parameters for use with OGRStyleLabel.
OGRSTLabelBold
Bold.
Definition: ogr_core.h:944
wkbPolyhedralSurfaceM
ISO SQL/MM Part 3.
Definition: ogr_core.h:405
ogr_style_tool_param_pen_id
ogr_style_tool_param_pen_id
List of parameters for use with OGRStylePen.
Definition: ogr_core.h:872
GByte
unsigned char GByte
Unsigned byte type.
Definition: cpl_port.h:215
OGRSTCPen
Pen.
Definition: ogr_core.h:849
OGRSTUGround
Ground unit.
Definition: ogr_core.h:861
OGRSTBrushId
Id.
Definition: ogr_core.h:894
OGRSTPenCap
Cap.
Definition: ogr_core.h:879
OGREnvelope3D::OGREnvelope3D
OGREnvelope3D()
Default constructor.
Definition: ogr_core.h:179
OGREnvelope::OGREnvelope
OGREnvelope(const OGREnvelope &oOther)
Copy constructor.
Definition: ogr_core.h:69
OFTRealList
List of doubles.
Definition: ogr_core.h:644
ogr_style_tool_param_symbol_id
ogr_style_tool_param_symbol_id
List of parameters for use with OGRStyleSymbol.
Definition: ogr_core.h:909
wkbTriangleZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:425
wkbGeometryCollection
geometric object that is a collection of 1 or more geometric objects, standard WKB ...
Definition: ogr_core.h:358
wkbLineString
1-dimensional geometric object with linear interpolation between Points, standard WKB ...
Definition: ogr_core.h:350
OGRSTSymbolPerp
Perpendicular.
Definition: ogr_core.h:918
OGRwkbByteOrder
OGRwkbByteOrder
Enumeration to describe byte order.
Definition: ogr_core.h:527
OFTReal
Double Precision floating point.
Definition: ogr_core.h:643
OGR_GT_Flatten
OGRwkbGeometryType OGR_GT_Flatten(OGRwkbGeometryType eType)
Returns the 2D geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:6406
OGRERR_UNSUPPORTED_OPERATION
#define OGRERR_UNSUPPORTED_OPERATION
Unsupported operation.
Definition: ogr_core.h:324
wkbUnknown
unknown type, non-standard
Definition: ogr_core.h:347
OGRSTPenPerOffset
Perpendicular offset.
Definition: ogr_core.h:878
wkbGeometryCollection25D
2.5D extension as per 99-402
Definition: ogr_core.h:435
wkbMultiLineStringM
ISO SQL/MM Part 3.
Definition: ogr_core.h:395
OGRSTLabelDx
Dx.
Definition: ogr_core.h:941
wkbSurface
Surface (abstract type).
Definition: ogr_core.h:370
OGRERR_UNSUPPORTED_GEOMETRY_TYPE
#define OGRERR_UNSUPPORTED_GEOMETRY_TYPE
Unsupported geometry type.
Definition: ogr_core.h:323
wkbCurvePolygonZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:418
OGR_GT_IsSurface
int OGR_GT_IsSurface(OGRwkbGeometryType)
Return if a geometry type is an instance of Surface.
Definition: ogrgeometry.cpp:6786
OGREnvelope::MinX
double MinX
Minimum X value.
Definition: ogr_core.h:78
OGRSTBrushAngle
Angle.
Definition: ogr_core.h:895
wkbCurveZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:421
wkbTriangle
a Triangle.
Definition: ogr_core.h:375
GDALVersionInfo
const char * GDALVersionInfo(const char *)
Get runtime version information.
Definition: gdal_misc.cpp:2186
OGREnvelope::Contains
int Contains(OGREnvelope const &other) const
Return whether the current object contains the other rectangle.
Definition: ogr_core.h:149
OGRSTLabelSize
Size.
Definition: ogr_core.h:934
OGR_GT_SetModifier
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:6527
wkbMultiPoint
GeometryCollection of Points, standard WKB.
Definition: ogr_core.h:355
OGR_GT_SetZ
OGRwkbGeometryType OGR_GT_SetZ(OGRwkbGeometryType eType)
Returns the 3D geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:6477
OGR_GT_HasM
int OGR_GT_HasM(OGRwkbGeometryType eType)
Return if the geometry type is a measured type.
Definition: ogrgeometry.cpp:6455
wkbXDR
MSB/Sun/Motoroloa: Most Significant Byte First.
Definition: ogr_core.h:529
OGRSTClassId
enum ogr_style_tool_class_id OGRSTClassId
OGRStyleTool derived class types (returned by GetType()).
OFTBinary
Raw Binary data.
Definition: ogr_core.h:649
OGRSTSymbolOColor
Outline color.
Definition: ogr_core.h:922
OFTInteger64
Single 64bit integer.
Definition: ogr_core.h:653
MAX
#define MAX(a, b)
Macro to compute the maximum of 2 values.
Definition: cpl_port.h:414
OGR_GT_IsSubClassOf
int OGR_GT_IsSubClassOf(OGRwkbGeometryType eType, OGRwkbGeometryType eSuperType)
Returns if a type is a subclass of another one.
Definition: ogrgeometry.cpp:6554
wkbMultiCurve
GeometryCollection of Curves, ISO SQL/MM Part 3.
Definition: ogr_core.h:367
wkbSurfaceZ
wkbSurface with Z component.
Definition: ogr_core.h:386
wkbMultiPoint25D
2.5D extension as per 99-402
Definition: ogr_core.h:432
OGRSTPenId
Id.
Definition: ogr_core.h:877
OGRSTPenParam
enum ogr_style_tool_param_pen_id OGRSTPenParam
List of parameters for use with OGRStylePen.
OGRSTUnitId
enum ogr_style_tool_units_id OGRSTUnitId
List of units supported by OGRStyleTools.
OGRwkbGeometryType
OGRwkbGeometryType
List of well known binary geometry types.
Definition: ogr_core.h:345
wkbPointM
ISO SQL/MM Part 3.
Definition: ogr_core.h:391
OGRSTUPoints
Points.
Definition: ogr_core.h:863
OGRSTSymbolStep
Step.
Definition: ogr_core.h:917
OGRSTSymbolPriority
Priority.
Definition: ogr_core.h:920
OGR_GT_IsNonLinear
int OGR_GT_IsNonLinear(OGRwkbGeometryType)
Return if a geometry type is a non-linear geometry type.
Definition: ogrgeometry.cpp:6808
OFSTJSON
JSON content.
Definition: ogr_core.h:679
OGRERR_NOT_ENOUGH_MEMORY
#define OGRERR_NOT_ENOUGH_MEMORY
Not enough memory.
Definition: ogr_core.h:322
OGRMergeGeometryTypes
OGRwkbGeometryType OGRMergeGeometryTypes(OGRwkbGeometryType eMain, OGRwkbGeometryType eExtra)
Find common geometry type.
Definition: ogrgeometry.cpp:2705
wkbTINM
ISO SQL/MM Part 3.
Definition: ogr_core.h:406
OGRERR_NON_EXISTING_FEATURE
#define OGRERR_NON_EXISTING_FEATURE
Non existing feature.
Definition: ogr_core.h:329
OGRMergeGeometryTypesEx
OGRwkbGeometryType OGRMergeGeometryTypesEx(OGRwkbGeometryType eMain, OGRwkbGeometryType eExtra, int bAllowPromotingToCurves)
Find common geometry type.
Definition: ogrgeometry.cpp:2742
wkbPointZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:409
wkbCurvePolygonZ
wkbCurvePolygon with Z component.
Definition: ogr_core.h:382
OFSTInt16
Signed 16-bit integer.
Definition: ogr_core.h:673
OGREnvelope::OGREnvelope
OGREnvelope()
Default constructor.
Definition: ogr_core.h:61
wkbTIN
a PolyhedralSurface consisting only of Triangle patches ISO SQL/MM Part 3.
Definition: ogr_core.h:373
OGRSTBrushSize
Size.
Definition: ogr_core.h:896
wkbCompoundCurveZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:417
OGRSTUCM
Centimeter.
Definition: ogr_core.h:865
wkbSurfaceM
ISO SQL/MM Part 3.
Definition: ogr_core.h:404
OGRERR_INVALID_HANDLE
#define OGRERR_INVALID_HANDLE
Invalid handle.
Definition: ogr_core.h:328
wkbPolyhedralSurfaceZ
ISO SQL/MM Part 3.
Definition: ogr_core.h:387
OFSTBoolean
Boolean integer.
Definition: ogr_core.h:671
wkbMultiPolygonM
ISO SQL/MM Part 3.
Definition: ogr_core.h:396
wkbPolygon25D
2.5D extension as per 99-402
Definition: ogr_core.h:431
MIN
#define MIN(a, b)
Macro to compute the minimum of 2 values.
Definition: cpl_port.h:412
OGRSTCLabel
Label.
Definition: ogr_core.h:852
OGRSTPenPattern
Pattern.
Definition: ogr_core.h:876
wkbMultiSurfaceZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:420
OGRSTPenPriority
Priority.
Definition: ogr_core.h:881
wkbMultiLineString
GeometryCollection of LineStrings, standard WKB.
Definition: ogr_core.h:356
wkbPolygonZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:411
wkbCompoundCurve
sequence of contiguous curves, ISO SQL/MM Part 3.
Definition: ogr_core.h:363
OGREnvelope3D::OGREnvelope3D
OGREnvelope3D(const OGREnvelope3D &oOther)
Copy constructor.
Definition: ogr_core.h:186
OGRSTLabelAdjHor
OBSOLETE; do not use.
Definition: ogr_core.h:950
wkbNDR
LSB/Intel/Vax: Least Significant Byte First.
Definition: ogr_core.h:530
OGRJustification
OGRJustification
Display justification for field values.
Definition: ogr_core.h:687
OGRSTLabelStrikeout
Strike out.
Definition: ogr_core.h:948
OGREnvelope3D::Merge
void Merge(OGREnvelope3D const &sOther)
Update the current object by computing its union with the other rectangle.
Definition: ogr_core.h:212
ogr_style_tool_units_id
ogr_style_tool_units_id
List of units supported by OGRStyleTools.
Definition: ogr_core.h:859
wkbVariantPostGIS1
PostGIS 1.X has different codes for CurvePolygon, MultiCurve and MultiSurface.
Definition: ogr_core.h:465
OFTWideStringList
deprecated
Definition: ogr_core.h:648
wkbCircularString
one or more circular arc segments connected end to end, ISO SQL/MM Part 3.
Definition: ogr_core.h:361
OGRSTLabelStretch
Stretch.
Definition: ogr_core.h:949
wkbPoint
0-dimensional geometric object, standard WKB
Definition: ogr_core.h:349
OFSTFloat32
Single precision (32 bit) floating point.
Definition: ogr_core.h:675
OGRSTUPixel
Pixel.
Definition: ogr_core.h:862
OGRSTLabelPlacement
Placement.
Definition: ogr_core.h:939
OGREnvelope3D::Merge
void Merge(double dfX, double dfY, double dfZ)
Update the current object by computing its union with the provided point.
Definition: ogr_core.h:222
OGRFieldType
OGRFieldType
List of feature field types.
Definition: ogr_core.h:639
wkbMultiSurfaceM
ISO SQL/MM Part 3.
Definition: ogr_core.h:402
wkbMultiLineStringZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:413
OFTDateTime
Date and Time.
Definition: ogr_core.h:652
OGRSTLabelTextString
Text string.
Definition: ogr_core.h:935
wkbVariantOldOgc
Old-style 99-402 extended dimension (Z) WKB types.
Definition: ogr_core.h:463
OGREnvelope3D
Simple container for a bounding region in 3D.
Definition: ogr_core.h:175
OGRSTLabelFColor
Foreground color.
Definition: ogr_core.h:937
wkbTriangleZ
ISO SQL/MM Part 3.
Definition: ogr_core.h:389
OGREnvelope::MaxY
double MaxY
Maximum Y value.
Definition: ogr_core.h:87
OGR_GT_GetLinear
OGRwkbGeometryType OGR_GT_GetLinear(OGRwkbGeometryType eType)
Returns the non-curve geometry type that can contain the passed geometry type.
Definition: ogrgeometry.cpp:6723
OGREnvelope3D::IsInit
int IsInit() const
Return whether the object has been initialized, that is, is non empty.
Definition: ogr_core.h:206
OGRSTSymbolDx
Dx.
Definition: ogr_core.h:915
OGRwkbVariant
OGRwkbVariant
Output variants of WKB we support.
Definition: ogr_core.h:461
OGRSTLabelPerp
Perpendicular.
Definition: ogr_core.h:943
wkbCircularStringZ
wkbCircularString with Z component.
Definition: ogr_core.h:380
OFTWideString
deprecated
Definition: ogr_core.h:647
OGRSTLabelItalic
Italic.
Definition: ogr_core.h:945
ogr_style_tool_param_brush_id
ogr_style_tool_param_brush_id
List of parameters for use with OGRStyleBrush.
Definition: ogr_core.h:890
wkbSurfaceZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:422
wkbTINZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:424
OGREnvelope
Simple container for a bounding region (rectangle)
Definition: ogr_core.h:57
OGREnvelope::Merge
void Merge(double dfX, double dfY)
Update the current object by computing its union with the provided point.
Definition: ogr_core.h:109
OGRField
OGRFeature field attribute value union.
Definition: ogr_core.h:728
OGRERR_NOT_ENOUGH_DATA
#define OGRERR_NOT_ENOUGH_DATA
Not enough data to deserialize.
Definition: ogr_core.h:321
wkbPolyhedralSurfaceZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:423
wkbMultiPointZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:412
OGRSTUInches
Inch.
Definition: ogr_core.h:866
wkbPolygonM
ISO SQL/MM Part 3.
Definition: ogr_core.h:393
OGRSTPenWidth
Width.
Definition: ogr_core.h:875
wkbMultiCurveZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:419
OGR_GT_GetCollection
OGRwkbGeometryType OGR_GT_GetCollection(OGRwkbGeometryType eType)
Returns the collection type that can contain the passed geometry type.
Definition: ogrgeometry.cpp:6618
OGRSTCSymbol
Symbol.
Definition: ogr_core.h:851
OGRSTSymbolAngle
Angle.
Definition: ogr_core.h:912
wkbMultiSurface
GeometryCollection of Surfaces, ISO SQL/MM Part 3.
Definition: ogr_core.h:368
OGREnvelope::Intersect
void Intersect(OGREnvelope const &sOther)
Update the current object by computing its intersection with the other rectangle. ...
Definition: ogr_core.h:117
ogr_style_tool_class_id
ogr_style_tool_class_id
OGRStyleTool derived class types (returned by GetType()).
Definition: ogr_core.h:846
CPL_C_END
#define CPL_C_END
Macro to end a block of C symbols.
Definition: cpl_port.h:339
OGRSTLabelBColor
Background color.
Definition: ogr_core.h:938
OGREnvelope::MinY
double MinY
Minimum Y value.
Definition: ogr_core.h:84
GIntBig
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition: cpl_port.h:248
OGRSTCVector
Vector.
Definition: ogr_core.h:853
wkbTriangleM
ISO SQL/MM Part 3.
Definition: ogr_core.h:407
OGREnvelope3D::Intersect
void Intersect(OGREnvelope3D const &sOther)
Update the current object by computing its intersection with the other rectangle. ...
Definition: ogr_core.h:232
OGREnvelope3D::Intersects
int Intersects(OGREnvelope3D const &other) const
Return whether the current object intersects with the other rectangle.
Definition: ogr_core.h:261
wkbLineStringZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:410
wkbCircularStringZM
ISO SQL/MM Part 3.
Definition: ogr_core.h:416
OGREnvelope3D::MaxZ
double MaxZ
Maximum Z value.
Definition: ogr_core.h:199
wkbCurvePolygon
planar surface, defined by 1 exterior boundary and zero or more interior boundaries, that are curves.
Definition: ogr_core.h:364
OGRSTSymbolFontName
Font name.
Definition: ogr_core.h:921
OGRSTCBrush
Brush.
Definition: ogr_core.h:850
OGRERR_FAILURE
#define OGRERR_FAILURE
Failure.
Definition: ogr_core.h:326
OGRERR_UNSUPPORTED_SRS
#define OGRERR_UNSUPPORTED_SRS
Unsupported SRS.
Definition: ogr_core.h:327
OGR_GT_GetCurve
OGRwkbGeometryType OGR_GT_GetCurve(OGRwkbGeometryType eType)
Returns the curve geometry type that can contain the passed geometry type.
Definition: ogrgeometry.cpp:6674
OGRSTCNone
None.
Definition: ogr_core.h:848
OGRErr
int OGRErr
Type for a OGR error.
Definition: ogr_core.h:318
wkbMultiPolygon
GeometryCollection of Polygons, standard WKB.
Definition: ogr_core.h:357
OGRSTLabelDy
Dy.
Definition: ogr_core.h:942
OFTString
String of ASCII chars.
Definition: ogr_core.h:645
OGR_GT_HasZ
int OGR_GT_HasZ(OGRwkbGeometryType eType)
Return if the geometry type is a 3D geometry type.
Definition: ogrgeometry.cpp:6431
wkbPoint25D
2.5D extension as per 99-402
Definition: ogr_core.h:429
OGRGeometryTypeToName
const char * OGRGeometryTypeToName(OGRwkbGeometryType eType)
Fetch a human readable name corresponding to an OGRwkbGeometryType value.
Definition: ogrgeometry.cpp:2482
OGRParseDate
int OGRParseDate(const char *pszInput, OGRField *psOutput, int nOptions)
Parse date string.
Definition: ogrutils.cpp:946
OFTStringList
Array of strings.
Definition: ogr_core.h:646
wkbCurveM
ISO SQL/MM Part 3.
Definition: ogr_core.h:403
OFTIntegerList
List of 32bit integers.
Definition: ogr_core.h:642
wkbCompoundCurveM
ISO SQL/MM Part 3.
Definition: ogr_core.h:399
OGRSTUMM
Millimeter.
Definition: ogr_core.h:864
OFTInteger
Simple 32bit integer.
Definition: ogr_core.h:641
OGRSTLabelPriority
Priority.
Definition: ogr_core.h:947
wkbCurve
Curve (abstract type).
Definition: ogr_core.h:369
OGR_GT_IsCurve
int OGR_GT_IsCurve(OGRwkbGeometryType)
Return if a geometry type is an instance of Curve.
Definition: ogrgeometry.cpp:6765