GDAL
ogr_core.h
Go to the documentation of this file.
1 /******************************************************************************
2  * $Id: ogr_core.h 36487 2016-11-24 14:53:06Z goatbar $
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 mines-paris dot org>
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 #include "gdal_version.h"
36 
48 #if defined(__cplusplus) && !defined(CPL_SUPRESS_CPLUSPLUS)
49 class CPL_DLL OGREnvelope
50 {
51  public:
52  OGREnvelope() : MinX(0.0), MaxX(0.0), MinY(0.0), MaxY(0.0)
53  {
54  }
55 
56  OGREnvelope(const OGREnvelope& oOther) :
57  MinX(oOther.MinX),MaxX(oOther.MaxX), MinY(oOther.MinY), MaxY(oOther.MaxY)
58  {
59  }
60 
61  double MinX;
62  double MaxX;
63  double MinY;
64  double MaxY;
65 
66 #ifdef HAVE_GCC_DIAGNOSTIC_PUSH
67 #pragma GCC diagnostic push
68 #pragma GCC diagnostic ignored "-Wfloat-equal"
69 #endif
70  int IsInit() const { return MinX != 0 || MinY != 0 || MaxX != 0 || MaxY != 0; }
71 
72 #ifdef HAVE_GCC_DIAGNOSTIC_PUSH
73 #pragma GCC diagnostic pop
74 #endif
75 
76  void Merge( OGREnvelope const& sOther ) {
77  if( IsInit() )
78  {
79  MinX = MIN(MinX,sOther.MinX);
80  MaxX = MAX(MaxX,sOther.MaxX);
81  MinY = MIN(MinY,sOther.MinY);
82  MaxY = MAX(MaxY,sOther.MaxY);
83  }
84  else
85  {
86  MinX = sOther.MinX;
87  MaxX = sOther.MaxX;
88  MinY = sOther.MinY;
89  MaxY = sOther.MaxY;
90  }
91  }
92  void Merge( double dfX, double dfY ) {
93  if( IsInit() )
94  {
95  MinX = MIN(MinX,dfX);
96  MaxX = MAX(MaxX,dfX);
97  MinY = MIN(MinY,dfY);
98  MaxY = MAX(MaxY,dfY);
99  }
100  else
101  {
102  MinX = MaxX = dfX;
103  MinY = MaxY = dfY;
104  }
105  }
106 
107  void Intersect( OGREnvelope const& sOther ) {
108  if(Intersects(sOther))
109  {
110  if( IsInit() )
111  {
112  MinX = MAX(MinX,sOther.MinX);
113  MaxX = MIN(MaxX,sOther.MaxX);
114  MinY = MAX(MinY,sOther.MinY);
115  MaxY = MIN(MaxY,sOther.MaxY);
116  }
117  else
118  {
119  MinX = sOther.MinX;
120  MaxX = sOther.MaxX;
121  MinY = sOther.MinY;
122  MaxY = sOther.MaxY;
123  }
124  }
125  else
126  {
127  MinX = 0;
128  MaxX = 0;
129  MinY = 0;
130  MaxY = 0;
131  }
132  }
133 
134  int Intersects(OGREnvelope const& other) const
135  {
136  return MinX <= other.MaxX && MaxX >= other.MinX &&
137  MinY <= other.MaxY && MaxY >= other.MinY;
138  }
139 
140  int Contains(OGREnvelope const& other) const
141  {
142  return MinX <= other.MinX && MinY <= other.MinY &&
143  MaxX >= other.MaxX && MaxY >= other.MaxY;
144  }
145 };
146 #else
147 typedef struct
148 {
149  double MinX;
150  double MaxX;
151  double MinY;
152  double MaxY;
153 } OGREnvelope;
154 #endif
155 
160 #if defined(__cplusplus) && !defined(CPL_SURESS_CPLUSPLUS)
161 class CPL_DLL OGREnvelope3D : public OGREnvelope
162 {
163  public:
164  OGREnvelope3D() : OGREnvelope(), MinZ(0.0), MaxZ(0.0)
165  {
166  }
167 
168  OGREnvelope3D(const OGREnvelope3D& oOther) :
169  OGREnvelope(oOther),
170  MinZ(oOther.MinZ), MaxZ(oOther.MaxZ)
171  {
172  }
173 
174  double MinZ;
175  double MaxZ;
176 
177 #ifdef HAVE_GCC_DIAGNOSTIC_PUSH
178 #pragma GCC diagnostic push
179 #pragma GCC diagnostic ignored "-Wfloat-equal"
180 #endif
181  int IsInit() const { return MinX != 0 || MinY != 0 || MaxX != 0 || MaxY != 0 || MinZ != 0 || MaxZ != 0; }
182 #ifdef HAVE_GCC_DIAGNOSTIC_PUSH
183 #pragma GCC diagnostic pop
184 #endif
185 
186  void Merge( OGREnvelope3D const& sOther ) {
187  if( IsInit() )
188  {
189  MinX = MIN(MinX,sOther.MinX);
190  MaxX = MAX(MaxX,sOther.MaxX);
191  MinY = MIN(MinY,sOther.MinY);
192  MaxY = MAX(MaxY,sOther.MaxY);
193  MinZ = MIN(MinZ,sOther.MinZ);
194  MaxZ = MAX(MaxZ,sOther.MaxZ);
195  }
196  else
197  {
198  MinX = sOther.MinX;
199  MaxX = sOther.MaxX;
200  MinY = sOther.MinY;
201  MaxY = sOther.MaxY;
202  MinZ = sOther.MinZ;
203  MaxZ = sOther.MaxZ;
204  }
205  }
206  void Merge( double dfX, double dfY, double dfZ ) {
207  if( IsInit() )
208  {
209  MinX = MIN(MinX,dfX);
210  MaxX = MAX(MaxX,dfX);
211  MinY = MIN(MinY,dfY);
212  MaxY = MAX(MaxY,dfY);
213  MinZ = MIN(MinZ,dfZ);
214  MaxZ = MAX(MaxZ,dfZ);
215  }
216  else
217  {
218  MinX = MaxX = dfX;
219  MinY = MaxY = dfY;
220  MinZ = MaxZ = dfZ;
221  }
222  }
223 
224  void Intersect( OGREnvelope3D const& sOther ) {
225  if(Intersects(sOther))
226  {
227  if( IsInit() )
228  {
229  MinX = MAX(MinX,sOther.MinX);
230  MaxX = MIN(MaxX,sOther.MaxX);
231  MinY = MAX(MinY,sOther.MinY);
232  MaxY = MIN(MaxY,sOther.MaxY);
233  MinZ = MAX(MinZ,sOther.MinZ);
234  MaxZ = MIN(MaxZ,sOther.MaxZ);
235  }
236  else
237  {
238  MinX = sOther.MinX;
239  MaxX = sOther.MaxX;
240  MinY = sOther.MinY;
241  MaxY = sOther.MaxY;
242  MinZ = sOther.MinZ;
243  MaxZ = sOther.MaxZ;
244  }
245  }
246  else
247  {
248  MinX = 0;
249  MaxX = 0;
250  MinY = 0;
251  MaxY = 0;
252  MinZ = 0;
253  MaxZ = 0;
254  }
255  }
256 
257  int Intersects(OGREnvelope3D const& other) const
258  {
259  return MinX <= other.MaxX && MaxX >= other.MinX &&
260  MinY <= other.MaxY && MaxY >= other.MinY &&
261  MinZ <= other.MaxZ && MaxZ >= other.MinZ;
262  }
263 
264  int Contains(OGREnvelope3D const& other) const
265  {
266  return MinX <= other.MinX && MinY <= other.MinY &&
267  MaxX >= other.MaxX && MaxY >= other.MaxY &&
268  MinZ <= other.MinZ && MaxZ >= other.MaxZ;
269  }
270 };
271 #else
272 typedef struct
273 {
274  double MinX;
275  double MaxX;
276  double MinY;
277  double MaxY;
278  double MinZ;
279  double MaxZ;
280 } OGREnvelope3D;
281 #endif
282 
285 
287 void CPL_DLL *OGRMalloc( size_t ) CPL_WARN_DEPRECATED("Use CPLMalloc instead.");
288 void CPL_DLL *OGRCalloc( size_t, size_t ) CPL_WARN_DEPRECATED("Use CPLCalloc instead.");
289 void CPL_DLL *OGRRealloc( void *, size_t ) CPL_WARN_DEPRECATED("Use CPLRealloc instead.");
290 char CPL_DLL *OGRStrdup( const char * ) CPL_WARN_DEPRECATED("Use CPLStrdup instead.");
291 void CPL_DLL OGRFree( void * ) CPL_WARN_DEPRECATED("Use CPLFree instead.");
294 #ifdef STRICT_OGRERR_TYPE
295 
296 typedef enum
297 {
298  OGRERR_NONE,
308 } OGRErr;
309 #else
310 
311 typedef int OGRErr;
312 
313 #define OGRERR_NONE 0
314 #define OGRERR_NOT_ENOUGH_DATA 1
315 #define OGRERR_NOT_ENOUGH_MEMORY 2
316 #define OGRERR_UNSUPPORTED_GEOMETRY_TYPE 3
317 #define OGRERR_UNSUPPORTED_OPERATION 4
318 #define OGRERR_CORRUPT_DATA 5
319 #define OGRERR_FAILURE 6
320 #define OGRERR_UNSUPPORTED_SRS 7
321 #define OGRERR_INVALID_HANDLE 8
322 #define OGRERR_NON_EXISTING_FEATURE 9
324 #endif
325 
327 typedef int OGRBoolean;
328 
329 /* -------------------------------------------------------------------- */
330 /* ogr_geometry.h related definitions. */
331 /* -------------------------------------------------------------------- */
332 
338 typedef enum
339 {
342  wkbPoint = 1,
362  wkbCurve = 13,
363  wkbSurface = 14,
366  wkbTIN = 16,
368  wkbTriangle = 17,
370  wkbNone = 100,
376  wkbMultiCurveZ = 1011,
378  wkbCurveZ = 1013,
379  wkbSurfaceZ = 1014,
381  wkbTINZ = 1016,
382  wkbTriangleZ = 1017,
384  wkbPointM = 2001,
385  wkbLineStringM = 2002,
386  wkbPolygonM = 2003,
387  wkbMultiPointM = 2004,
394  wkbMultiCurveM = 2011,
396  wkbCurveM = 2013,
397  wkbSurfaceM = 2014,
399  wkbTINM = 2016,
400  wkbTriangleM = 2017,
402  wkbPointZM = 3001,
404  wkbPolygonZM = 3003,
414  wkbCurveZM = 3013,
415  wkbSurfaceZM = 3014,
417  wkbTINZM = 3016,
418  wkbTriangleZM = 3017,
420  wkbPoint25D = 0x80000001,
421  wkbLineString25D = 0x80000002,
422  wkbPolygon25D = 0x80000003,
423  wkbMultiPoint25D = 0x80000004,
424  wkbMultiLineString25D = 0x80000005,
425  wkbMultiPolygon25D = 0x80000006,
429 
444 typedef enum
445 {
449 } OGRwkbVariant;
450 
451 #ifndef GDAL_COMPILATION
452 
453 #define wkb25DBit 0x80000000
454 #endif
455 
457 #define wkbFlatten(x) OGR_GT_Flatten((OGRwkbGeometryType)(x))
458 
462 #define wkbHasZ(x) (OGR_GT_HasZ(x) != 0)
463 
467 #define wkbSetZ(x) OGR_GT_SetZ(x)
468 
472 #define wkbHasM(x) (OGR_GT_HasM(x) != 0)
473 
477 #define wkbSetM(x) OGR_GT_SetM(x)
478 
479 #ifndef DOXYGEN_SKIP
480 #define ogrZMarker 0x21125711
481 #endif
482 
483 const char CPL_DLL * OGRGeometryTypeToName( OGRwkbGeometryType eType );
485  OGRwkbGeometryType eExtra );
487  OGRwkbGeometryType eExtra,
488  int bAllowPromotingToCurves );
492 OGRwkbGeometryType CPL_DLL OGR_GT_SetModifier( OGRwkbGeometryType eType, int bSetZ, int bSetM );
493 int CPL_DLL OGR_GT_HasZ( OGRwkbGeometryType eType );
494 int CPL_DLL OGR_GT_HasM( OGRwkbGeometryType eType );
495 int CPL_DLL OGR_GT_IsSubClassOf( OGRwkbGeometryType eType,
496  OGRwkbGeometryType eSuperType );
497 int CPL_DLL OGR_GT_IsCurve( OGRwkbGeometryType );
498 int CPL_DLL OGR_GT_IsSurface( OGRwkbGeometryType );
503 
505 typedef enum
506 {
507  wkbXDR = 0,
508  wkbNDR = 1
510 
511 #ifndef DOXYGEN_SKIP
512 
513 #ifndef NO_HACK_FOR_IBM_DB2_V72
514 # define HACK_FOR_IBM_DB2_V72
515 #endif
516 
517 #ifdef HACK_FOR_IBM_DB2_V72
518 # define DB2_V72_FIX_BYTE_ORDER(x) ((((x) & 0x31) == (x)) ? ((x) & 0x1) : (x))
519 # define DB2_V72_UNFIX_BYTE_ORDER(x) ((unsigned char) (OGRGeometry::bGenerate_DB2_V72_BYTE_ORDER ? ((x) | 0x30) : (x)))
520 #else
521 # define DB2_V72_FIX_BYTE_ORDER(x) (x)
522 # define DB2_V72_UNFIX_BYTE_ORDER(x) (x)
523 #endif
524 
525 #endif /* #ifndef DOXYGEN_SKIP */
526 
530 #define ALTER_NAME_FLAG 0x1
531 
535 #define ALTER_TYPE_FLAG 0x2
536 
540 #define ALTER_WIDTH_PRECISION_FLAG 0x4
541 
546 #define ALTER_NULLABLE_FLAG 0x8
547 
552 #define ALTER_DEFAULT_FLAG 0x10
553 
557 #define ALTER_ALL_FLAG (ALTER_NAME_FLAG | ALTER_TYPE_FLAG | ALTER_WIDTH_PRECISION_FLAG | ALTER_NULLABLE_FLAG | ALTER_DEFAULT_FLAG)
558 
563 #define OGR_F_VAL_NULL 0x00000001
564 
569 #define OGR_F_VAL_GEOM_TYPE 0x00000002
570 
575 #define OGR_F_VAL_WIDTH 0x00000004
576 
584 #define OGR_F_VAL_ALLOW_NULL_WHEN_DEFAULT 0x00000008
585 
592 #define OGR_F_VAL_ALLOW_DIFFERENT_GEOM_DIM 0x00000010
593 
598 #define OGR_F_VAL_ALL (0x7FFFFFFF & ~OGR_F_VAL_ALLOW_DIFFERENT_GEOM_DIM)
599 
600 /************************************************************************/
601 /* ogr_feature.h related definitions. */
602 /************************************************************************/
603 
610 typedef enum
626  OFTMaxType = 13
627 } OGRFieldType;
628 
638 typedef enum
639 { OFSTNone = 0,
647  OFSTMaxSubType = 3
649 
654 typedef enum
655 {
656  OJUndefined = 0,
657  OJLeft = 1,
658  OJRight = 2
660 
662 #define OGRNullFID -1
663 
664 #define OGRUnsetMarker -21121
665 
666 /************************************************************************/
667 /* OGRField */
668 /************************************************************************/
669 
674 typedef union {
676  int Integer;
677  GIntBig Integer64;
678  double Real;
679  char *String;
680 
681  struct {
682  int nCount;
683  int *paList;
684  } IntegerList;
685 
686  struct {
687  int nCount;
688  GIntBig *paList;
689  } Integer64List;
690 
691  struct {
692  int nCount;
693  double *paList;
694  } RealList;
695 
696  struct {
697  int nCount;
698  char **paList;
699  } StringList;
700 
701  struct {
702  int nCount;
703  GByte *paData;
704  } Binary;
705 
706  struct {
707  int nMarker1;
708  int nMarker2;
709  } Set;
710 
711  struct {
712  GInt16 Year;
713  GByte Month;
714  GByte Day;
715  GByte Hour;
716  GByte Minute;
717  GByte TZFlag; /* 0=unknown, 1=localtime(ambiguous),
718  100=GMT, 104=GMT+1, 80=GMT-5, etc */
719  GByte Reserved; /* must be set to 0 */
720  float Second; /* with millisecond accuracy. at the end of the structure, so as to keep it 12 bytes on 32 bit */
721  } Date;
723 } OGRField;
724 
726 #define OGR_GET_MS(floatingpoint_sec) (int)(((floatingpoint_sec) - (int)(floatingpoint_sec)) * 1000 + 0.5)
727 
728 int CPL_DLL OGRParseDate( const char *pszInput, OGRField *psOutput,
729  int nOptions );
730 
731 /* -------------------------------------------------------------------- */
732 /* Constants from ogrsf_frmts.h for capabilities. */
733 /* -------------------------------------------------------------------- */
734 #define OLCRandomRead "RandomRead"
735 #define OLCSequentialWrite "SequentialWrite"
736 #define OLCRandomWrite "RandomWrite"
737 #define OLCFastSpatialFilter "FastSpatialFilter"
738 #define OLCFastFeatureCount "FastFeatureCount"
739 #define OLCFastGetExtent "FastGetExtent"
740 #define OLCCreateField "CreateField"
741 #define OLCDeleteField "DeleteField"
742 #define OLCReorderFields "ReorderFields"
743 #define OLCAlterFieldDefn "AlterFieldDefn"
744 #define OLCTransactions "Transactions"
745 #define OLCDeleteFeature "DeleteFeature"
746 #define OLCFastSetNextByIndex "FastSetNextByIndex"
747 #define OLCStringsAsUTF8 "StringsAsUTF8"
748 #define OLCIgnoreFields "IgnoreFields"
749 #define OLCCreateGeomField "CreateGeomField"
750 #define OLCCurveGeometries "CurveGeometries"
751 #define OLCMeasuredGeometries "MeasuredGeometries"
753 #define ODsCCreateLayer "CreateLayer"
754 #define ODsCDeleteLayer "DeleteLayer"
755 #define ODsCCreateGeomFieldAfterCreateLayer "CreateGeomFieldAfterCreateLayer"
756 #define ODsCCurveGeometries "CurveGeometries"
757 #define ODsCTransactions "Transactions"
758 #define ODsCEmulatedTransactions "EmulatedTransactions"
759 #define ODsCMeasuredGeometries "MeasuredGeometries"
760 #define ODsCRandomLayerRead "RandomLayerRead"
761 #define ODsCRandomLayerWrite "RandomLayerWrite "
763 #define ODrCCreateDataSource "CreateDataSource"
764 #define ODrCDeleteDataSource "DeleteDataSource"
766 /* -------------------------------------------------------------------- */
767 /* Layer metadata items. */
768 /* -------------------------------------------------------------------- */
773 #define OLMD_FID64 "OLMD_FID64"
774 
775 /************************************************************************/
776 /* ogr_featurestyle.h related definitions. */
777 /************************************************************************/
778 
784 {
786  OGRSTCPen = 1,
791 } OGRSTClassId;
792 
797 {
801  OGRSTUMM = 3,
802  OGRSTUCM = 4,
804 } OGRSTUnitId;
805 
810 {
819 #ifndef DOXYGEN_SKIP
820  OGRSTPenLast = 8
821 #endif
822 } OGRSTPenParam;
823 
828 {
837 #ifndef DOXYGEN_SKIP
838  OGRSTBrushLast = 8
839 #endif
840 
842 
847 {
860 #ifndef DOXYGEN_SKIP
861  OGRSTSymbolLast = 12
862 #endif
864 
869 {
891 #ifndef DOXYGEN_SKIP
892  OGRSTLabelLast = 21
893 #endif
895 
896 /* ------------------------------------------------------------------- */
897 /* Version checking */
898 /* -------------------------------------------------------------------- */
899 
900 #ifndef DOXYGEN_SKIP
901 
902 /* Note to developers : please keep this section in sync with gdal.h */
903 
904 #ifndef GDAL_VERSION_INFO_DEFINED
905 #define GDAL_VERSION_INFO_DEFINED
906 const char CPL_DLL * CPL_STDCALL GDALVersionInfo( const char * );
907 #endif
908 
909 #ifndef GDAL_CHECK_VERSION
910 
922 int CPL_DLL CPL_STDCALL GDALCheckVersion( int nVersionMajor, int nVersionMinor,
923  const char* pszCallingComponentName);
924 
926 #define GDAL_CHECK_VERSION(pszCallingComponentName) \
927  GDALCheckVersion(GDAL_VERSION_MAJOR, GDAL_VERSION_MINOR, pszCallingComponentName)
928 
929 #endif
930 
931 #endif /* #ifndef DOXYGEN_SKIP */
932 
933 CPL_C_END
934 
935 #endif /* ndef OGR_CORE_H_INCLUDED */
ISO SQL/MM Part 3.
Definition: ogr_core.h:407
non-standard, for pure attribute records
Definition: ogr_core.h:370
SFSQL 1.2 and ISO SQL/MM Part 3 extended dimension (Z&M) WKB types.
Definition: ogr_core.h:447
Dy.
Definition: ogr_core.h:853
Outline color.
Definition: ogr_core.h:890
Id.
Definition: ogr_core.h:848
Dx.
Definition: ogr_core.h:834
void * CPLRealloc(void *, size_t) CPL_WARN_UNUSED_RESULT
Safe version of realloc().
Definition: cpl_conv.cpp:219
Font name.
Definition: ogr_core.h:870
enum ogr_style_tool_param_symbol_id OGRSTSymbolParam
List of parameters for use with OGRStyleSymbol.
Highlight color.
Definition: ogr_core.h:889
Foreground color.
Definition: ogr_core.h:829
ISO SQL/MM Part 3.
Definition: ogr_core.h:391
ISO SQL/MM Part 3.
Definition: ogr_core.h:394
ISO SQL/MM Part 3.
Definition: ogr_core.h:385
OGRFieldSubType
List of field subtypes.
Definition: ogr_core.h:638
wkbCurve with Z component.
Definition: ogr_core.h:378
#define OGRERR_CORRUPT_DATA
Corrupt data.
Definition: ogr_core.h:318
Color.
Definition: ogr_core.h:811
ogr_style_tool_param_label_id
List of parameters for use with OGRStyleLabel.
Definition: ogr_core.h:868
Background color.
Definition: ogr_core.h:830
ISO SQL/MM Part 3.
Definition: ogr_core.h:381
wkbMultiSurface with Z component.
Definition: ogr_core.h:377
Core portability definitions for CPL.
#define CPL_C_START
Macro to start a block of C symbols.
Definition: cpl_port.h:352
void * CPLMalloc(size_t) CPL_WARN_UNUSED_RESULT
Safe version of malloc().
Definition: cpl_conv.cpp:162
ISO SQL/MM Part 3.
Definition: ogr_core.h:393
ISO SQL/MM Part 3.
Definition: ogr_core.h:390
Anchor.
Definition: ogr_core.h:877
2.5D extension as per 99-402
Definition: ogr_core.h:425
No subtype.
Definition: ogr_core.h:640
Size.
Definition: ogr_core.h:851
List of 64bit integers.
Definition: ogr_core.h:625
Priority.
Definition: ogr_core.h:836
Offset.
Definition: ogr_core.h:856
2.5D extension as per 99-402
Definition: ogr_core.h:424
Angle.
Definition: ogr_core.h:873
Join.
Definition: ogr_core.h:817
planar 2-dimensional geometric object defined by 1 exterior boundary and 0 or more interior boundarie...
Definition: ogr_core.h:345
Color.
Definition: ogr_core.h:850
a contiguous collection of polygons, which share common boundary segments, ISO SQL/MM Part 3...
Definition: ogr_core.h:364
wkbMultiCurve with Z component.
Definition: ogr_core.h:376
ISO SQL/MM Part 3.
Definition: ogr_core.h:387
Time.
Definition: ogr_core.h:622
Underline.
Definition: ogr_core.h:883
non-standard, just for createGeometry()
Definition: ogr_core.h:371
Date.
Definition: ogr_core.h:621
int GDALCheckVersion(int nVersionMajor, int nVersionMinor, const char *pszCallingComponentName)
Return TRUE if GDAL library version at runtime matches nVersionMajor.nVersionMinor.
Definition: gdal_misc.cpp:2074
enum ogr_style_tool_param_brush_id OGRSTBrushParam
List of parameters for use with OGRStyleBrush.
ISO SQL/MM Part 3.
Definition: ogr_core.h:408
OGRwkbGeometryType OGR_GT_SetM(OGRwkbGeometryType eType)
Returns the measured geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:6394
Vectical adjustment.
Definition: ogr_core.h:888
short GInt16
Int16 type.
Definition: cpl_port.h:203
Dy.
Definition: ogr_core.h:835
int OGRBoolean
Type for a OGR boolean.
Definition: ogr_core.h:327
wkbCompoundCurve with Z component.
Definition: ogr_core.h:374
2.5D extension as per 99-402
Definition: ogr_core.h:421
#define OGRERR_NONE
Success.
Definition: ogr_core.h:313
enum ogr_style_tool_param_label_id OGRSTLabelParam
List of parameters for use with OGRStyleLabel.
Bold.
Definition: ogr_core.h:881
ISO SQL/MM Part 3.
Definition: ogr_core.h:398
ogr_style_tool_param_pen_id
List of parameters for use with OGRStylePen.
Definition: ogr_core.h:809
unsigned char GByte
Unsigned byte type.
Definition: cpl_port.h:207
Pen.
Definition: ogr_core.h:786
Ground unit.
Definition: ogr_core.h:798
Id.
Definition: ogr_core.h:831
Cap.
Definition: ogr_core.h:816
List of doubles.
Definition: ogr_core.h:615
ogr_style_tool_param_symbol_id
List of parameters for use with OGRStyleSymbol.
Definition: ogr_core.h:846
ISO SQL/MM Part 3.
Definition: ogr_core.h:418
geometric object that is a collection of 1 or more geometric objects, standard WKB ...
Definition: ogr_core.h:351
1-dimensional geometric object with linear interpolation between Points, standard WKB ...
Definition: ogr_core.h:343
Perpendicular.
Definition: ogr_core.h:855
OGRwkbByteOrder
Enumeration to describe byte order.
Definition: ogr_core.h:505
Double Precision floating point.
Definition: ogr_core.h:614
OGRwkbGeometryType OGR_GT_Flatten(OGRwkbGeometryType eType)
Returns the 2D geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:6300
#define OGRERR_UNSUPPORTED_OPERATION
Unsupported operation.
Definition: ogr_core.h:317
unknown type, non-standard
Definition: ogr_core.h:340
Perpendicular offset.
Definition: ogr_core.h:815
2.5D extension as per 99-402
Definition: ogr_core.h:426
ISO SQL/MM Part 3.
Definition: ogr_core.h:388
Dx.
Definition: ogr_core.h:878
Surface (abstract type).
Definition: ogr_core.h:363
char * CPLStrdup(const char *) CPL_WARN_UNUSED_RESULT CPL_RETURNS_NONNULL
Safe version of strdup() function.
Definition: cpl_conv.cpp:286
#define OGRERR_UNSUPPORTED_GEOMETRY_TYPE
Unsupported geometry type.
Definition: ogr_core.h:316
ISO SQL/MM Part 3.
Definition: ogr_core.h:411
int OGR_GT_IsSurface(OGRwkbGeometryType)
Return if a geometry type is an instance of Surface.
Definition: ogrgeometry.cpp:6680
Angle.
Definition: ogr_core.h:832
ISO SQL/MM Part 3.
Definition: ogr_core.h:414
a Triangle.
Definition: ogr_core.h:368
const char * GDALVersionInfo(const char *)
Get runtime version information.
Definition: gdal_misc.cpp:1957
Size.
Definition: ogr_core.h:871
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:6421
GeometryCollection of Points, standard WKB.
Definition: ogr_core.h:348
OGRwkbGeometryType OGR_GT_SetZ(OGRwkbGeometryType eType)
Returns the 3D geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:6371
int OGR_GT_HasM(OGRwkbGeometryType eType)
Return if the geometry type is a measured type.
Definition: ogrgeometry.cpp:6349
MSB/Sun/Motoroloa: Most Significant Byte First.
Definition: ogr_core.h:507
enum ogr_style_tool_class_id OGRSTClassId
OGRStyleTool derived class types (returned by GetType()).
Raw Binary data.
Definition: ogr_core.h:620
Outline color.
Definition: ogr_core.h:859
Single 64bit integer.
Definition: ogr_core.h:624
#define MAX(a, b)
Macro to compute the maximum of 2 values.
Definition: cpl_port.h:460
int OGR_GT_IsSubClassOf(OGRwkbGeometryType eType, OGRwkbGeometryType eSuperType)
Returns if a type is a subclass of another one.
Definition: ogrgeometry.cpp:6448
GeometryCollection of Curves, ISO SQL/MM Part 3.
Definition: ogr_core.h:360
wkbSurface with Z component.
Definition: ogr_core.h:379
2.5D extension as per 99-402
Definition: ogr_core.h:423
Id.
Definition: ogr_core.h:814
enum ogr_style_tool_param_pen_id OGRSTPenParam
List of parameters for use with OGRStylePen.
enum ogr_style_tool_units_id OGRSTUnitId
List of units supported by OGRStyleTools.
OGRwkbGeometryType
List of well known binary geometry types.
Definition: ogr_core.h:338
ISO SQL/MM Part 3.
Definition: ogr_core.h:384
Points.
Definition: ogr_core.h:800
Step.
Definition: ogr_core.h:854
Priority.
Definition: ogr_core.h:857
int OGR_GT_IsNonLinear(OGRwkbGeometryType)
Return if a geometry type is a non-linear geometry type.
Definition: ogrgeometry.cpp:6702
#define OGRERR_NOT_ENOUGH_MEMORY
Not enough memory.
Definition: ogr_core.h:315
OGRwkbGeometryType OGRMergeGeometryTypes(OGRwkbGeometryType eMain, OGRwkbGeometryType eExtra)
Find common geometry type.
Definition: ogrgeometry.cpp:2614
ISO SQL/MM Part 3.
Definition: ogr_core.h:399
#define OGRERR_NON_EXISTING_FEATURE
Non existing feature.
Definition: ogr_core.h:322
OGRwkbGeometryType OGRMergeGeometryTypesEx(OGRwkbGeometryType eMain, OGRwkbGeometryType eExtra, int bAllowPromotingToCurves)
Find common geometry type.
Definition: ogrgeometry.cpp:2651
ISO SQL/MM Part 3.
Definition: ogr_core.h:402
wkbCurvePolygon with Z component.
Definition: ogr_core.h:375
Signed 16-bit integer.
Definition: ogr_core.h:644
a PolyhedralSurface consisting only of Triangle patches ISO SQL/MM Part 3.
Definition: ogr_core.h:366
Size.
Definition: ogr_core.h:833
ISO SQL/MM Part 3.
Definition: ogr_core.h:410
Centimeter.
Definition: ogr_core.h:802
ISO SQL/MM Part 3.
Definition: ogr_core.h:397
#define OGRERR_INVALID_HANDLE
Invalid handle.
Definition: ogr_core.h:321
ISO SQL/MM Part 3.
Definition: ogr_core.h:380
Boolean integer.
Definition: ogr_core.h:642
ISO SQL/MM Part 3.
Definition: ogr_core.h:389
2.5D extension as per 99-402
Definition: ogr_core.h:422
#define MIN(a, b)
Macro to compute the minimum of 2 values.
Definition: cpl_port.h:458
Label.
Definition: ogr_core.h:789
Pattern.
Definition: ogr_core.h:813
ISO SQL/MM Part 3.
Definition: ogr_core.h:413
Priority.
Definition: ogr_core.h:818
GeometryCollection of LineStrings, standard WKB.
Definition: ogr_core.h:349
ISO SQL/MM Part 3.
Definition: ogr_core.h:404
sequence of contiguous curves, ISO SQL/MM Part 3.
Definition: ogr_core.h:356
Horizontal adjustment.
Definition: ogr_core.h:887
LSB/Intel/Vax: Least Significant Byte First.
Definition: ogr_core.h:508
OGRJustification
Display justification for field values.
Definition: ogr_core.h:654
Strike out.
Definition: ogr_core.h:885
#define CPLFree
Alias of VSIFree()
Definition: cpl_conv.h:77
ogr_style_tool_units_id
List of units supported by OGRStyleTools.
Definition: ogr_core.h:796
PostGIS 1.X has different codes for CurvePolygon, MultiCurve and MultiSurface.
Definition: ogr_core.h:448
deprecated
Definition: ogr_core.h:619
one or more circular arc segments connected end to end, ISO SQL/MM Part 3.
Definition: ogr_core.h:354
Stretch.
Definition: ogr_core.h:886
0-dimensional geometric object, standard WKB
Definition: ogr_core.h:342
Single precision (32 bit) floating point.
Definition: ogr_core.h:646
Pixel.
Definition: ogr_core.h:799
Placement.
Definition: ogr_core.h:876
OGRFieldType
List of feature field types.
Definition: ogr_core.h:610
ISO SQL/MM Part 3.
Definition: ogr_core.h:395
ISO SQL/MM Part 3.
Definition: ogr_core.h:406
Date and Time.
Definition: ogr_core.h:623
Text string.
Definition: ogr_core.h:872
Old-style 99-402 extended dimension (Z) WKB types.
Definition: ogr_core.h:446
Foreground color.
Definition: ogr_core.h:874
ISO SQL/MM Part 3.
Definition: ogr_core.h:382
OGRwkbGeometryType OGR_GT_GetLinear(OGRwkbGeometryType eType)
Returns the non-curve geometry type that can contain the passed geometry type.
Definition: ogrgeometry.cpp:6617
Dx.
Definition: ogr_core.h:852
OGRwkbVariant
Output variants of WKB we support.
Definition: ogr_core.h:444
Perpendicular.
Definition: ogr_core.h:880
wkbCircularString with Z component.
Definition: ogr_core.h:373
deprecated
Definition: ogr_core.h:618
Italic.
Definition: ogr_core.h:882
ogr_style_tool_param_brush_id
List of parameters for use with OGRStyleBrush.
Definition: ogr_core.h:827
ISO SQL/MM Part 3.
Definition: ogr_core.h:415
ISO SQL/MM Part 3.
Definition: ogr_core.h:417
OGRFeature field attribute value union.
Definition: ogr_core.h:674
#define OGRERR_NOT_ENOUGH_DATA
Not enough data to deserialize.
Definition: ogr_core.h:314
ISO SQL/MM Part 3.
Definition: ogr_core.h:416
ISO SQL/MM Part 3.
Definition: ogr_core.h:405
Inch.
Definition: ogr_core.h:803
ISO SQL/MM Part 3.
Definition: ogr_core.h:386
Width.
Definition: ogr_core.h:812
ISO SQL/MM Part 3.
Definition: ogr_core.h:412
OGRwkbGeometryType OGR_GT_GetCollection(OGRwkbGeometryType eType)
Returns the collection type that can contain the passed geometry type.
Definition: ogrgeometry.cpp:6512
void * CPLCalloc(size_t, size_t) CPL_WARN_UNUSED_RESULT
Safe version of calloc().
Definition: cpl_conv.cpp:132
Symbol.
Definition: ogr_core.h:788
Angle.
Definition: ogr_core.h:849
GeometryCollection of Surfaces, ISO SQL/MM Part 3.
Definition: ogr_core.h:361
ogr_style_tool_class_id
OGRStyleTool derived class types (returned by GetType()).
Definition: ogr_core.h:783
#define CPL_C_END
Macro to end a block of C symbols.
Definition: cpl_port.h:354
Background color.
Definition: ogr_core.h:875
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition: cpl_port.h:250
Vector.
Definition: ogr_core.h:790
ISO SQL/MM Part 3.
Definition: ogr_core.h:400
ISO SQL/MM Part 3.
Definition: ogr_core.h:403
ISO SQL/MM Part 3.
Definition: ogr_core.h:409
planar surface, defined by 1 exterior boundary and zero or more interior boundaries, that are curves.
Definition: ogr_core.h:357
Font name.
Definition: ogr_core.h:858
Brush.
Definition: ogr_core.h:787
#define OGRERR_FAILURE
Failure.
Definition: ogr_core.h:319
#define OGRERR_UNSUPPORTED_SRS
Unsupported SRS.
Definition: ogr_core.h:320
OGRwkbGeometryType OGR_GT_GetCurve(OGRwkbGeometryType eType)
Returns the curve geometry type that can contain the passed geometry type.
Definition: ogrgeometry.cpp:6568
None.
Definition: ogr_core.h:785
int OGRErr
Simple container for a bounding region.
Definition: ogr_core.h:311
GeometryCollection of Polygons, standard WKB.
Definition: ogr_core.h:350
Dy.
Definition: ogr_core.h:879
String of ASCII chars.
Definition: ogr_core.h:616
int OGR_GT_HasZ(OGRwkbGeometryType eType)
Return if the geometry type is a 3D geometry type.
Definition: ogrgeometry.cpp:6325
2.5D extension as per 99-402
Definition: ogr_core.h:420
const char * OGRGeometryTypeToName(OGRwkbGeometryType eType)
Fetch a human readable name corresponding to an OGRwkbGeometryType value.
Definition: ogrgeometry.cpp:2391
int OGRParseDate(const char *pszInput, OGRField *psOutput, int nOptions)
Parse date string.
Definition: ogrutils.cpp:974
Array of strings.
Definition: ogr_core.h:617
ISO SQL/MM Part 3.
Definition: ogr_core.h:396
List of 32bit integers.
Definition: ogr_core.h:613
ISO SQL/MM Part 3.
Definition: ogr_core.h:392
Millimeter.
Definition: ogr_core.h:801
Simple 32bit integer.
Definition: ogr_core.h:612
Priority.
Definition: ogr_core.h:884
Curve (abstract type).
Definition: ogr_core.h:362
int OGR_GT_IsCurve(OGRwkbGeometryType)
Return if a geometry type is an instance of Curve.
Definition: ogrgeometry.cpp:6659

Generated for GDAL by doxygen 1.8.8.