OGR
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 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#if defined(GDAL_COMPILATION)
36#define DO_NOT_DEFINE_GDAL_RELEASE_DATE_AND_GDAL_RELEASE_NAME
37#endif
38#include "gdal_version.h"
39
51#if defined(__cplusplus) && !defined(CPL_SUPRESS_CPLUSPLUS) && !defined(DOXYGEN_SKIP)
52
53extern "C++"
54{
55#include <limits>
56
57// cppcheck-suppress copyCtorAndEqOperator
58class CPL_DLL OGREnvelope
59{
60 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
68 OGREnvelope(const OGREnvelope& oOther) :
69 MinX(oOther.MinX),MaxX(oOther.MaxX), MinY(oOther.MinY), MaxY(oOther.MaxY)
70 {
71 }
72
73 double MinX;
74 double MaxX;
75 double MinY;
76 double MaxY;
77
78#ifdef HAVE_GCC_DIAGNOSTIC_PUSH
79#pragma GCC diagnostic push
80#pragma GCC diagnostic ignored "-Wfloat-equal"
81#endif
82 int IsInit() const { return MinX != std::numeric_limits<double>::infinity(); }
83
84#ifdef HAVE_GCC_DIAGNOSTIC_PUSH
85#pragma GCC diagnostic pop
86#endif
87
88 void Merge( OGREnvelope const& sOther ) {
89 MinX = MIN(MinX,sOther.MinX);
90 MaxX = MAX(MaxX,sOther.MaxX);
91 MinY = MIN(MinY,sOther.MinY);
92 MaxY = MAX(MaxY,sOther.MaxY);
93 }
94
95 void Merge( double dfX, double dfY ) {
96 MinX = MIN(MinX,dfX);
97 MaxX = MAX(MaxX,dfX);
98 MinY = MIN(MinY,dfY);
99 MaxY = MAX(MaxY,dfY);
100 }
101
102 void Intersect( OGREnvelope const& sOther ) {
103 if(Intersects(sOther))
104 {
105 if( IsInit() )
106 {
107 MinX = MAX(MinX,sOther.MinX);
108 MaxX = MIN(MaxX,sOther.MaxX);
109 MinY = MAX(MinY,sOther.MinY);
110 MaxY = MIN(MaxY,sOther.MaxY);
111 }
112 else
113 {
114 MinX = sOther.MinX;
115 MaxX = sOther.MaxX;
116 MinY = sOther.MinY;
117 MaxY = sOther.MaxY;
118 }
119 }
120 else
121 {
122 *this = OGREnvelope();
123 }
124 }
125
126 int Intersects(OGREnvelope const& other) const
127 {
128 return MinX <= other.MaxX && MaxX >= other.MinX &&
129 MinY <= other.MaxY && MaxY >= other.MinY;
130 }
131
132 int Contains(OGREnvelope const& other) const
133 {
134 return MinX <= other.MinX && MinY <= other.MinY &&
135 MaxX >= other.MaxX && MaxY >= other.MaxY;
136 }
137};
138
139} // extern "C++"
140
141#else
142typedef struct
143{
144 double MinX;
145 double MaxX;
146 double MinY;
147 double MaxY;
148} OGREnvelope;
149#endif
150
155#if defined(__cplusplus) && !defined(CPL_SUPRESS_CPLUSPLUS) && !defined(DOXYGEN_SKIP)
156
157extern "C++" {
158
159// cppcheck-suppress copyCtorAndEqOperator
160class CPL_DLL OGREnvelope3D : public OGREnvelope
161{
162 public:
163 OGREnvelope3D() : OGREnvelope(),
164 MinZ(std::numeric_limits<double>::infinity()),
165 MaxZ(-std::numeric_limits<double>::infinity())
166 {
167 }
168
169 OGREnvelope3D(const OGREnvelope3D& oOther) :
170 OGREnvelope(oOther),
171 MinZ(oOther.MinZ), MaxZ(oOther.MaxZ)
172 {
173 }
174
175 double MinZ;
176 double MaxZ;
177
178#ifdef HAVE_GCC_DIAGNOSTIC_PUSH
179#pragma GCC diagnostic push
180#pragma GCC diagnostic ignored "-Wfloat-equal"
181#endif
182 int IsInit() const { return MinX != std::numeric_limits<double>::infinity(); }
183#ifdef HAVE_GCC_DIAGNOSTIC_PUSH
184#pragma GCC diagnostic pop
185#endif
186
187 void Merge( OGREnvelope3D const& sOther ) {
188 MinX = MIN(MinX,sOther.MinX);
189 MaxX = MAX(MaxX,sOther.MaxX);
190 MinY = MIN(MinY,sOther.MinY);
191 MaxY = MAX(MaxY,sOther.MaxY);
192 MinZ = MIN(MinZ,sOther.MinZ);
193 MaxZ = MAX(MaxZ,sOther.MaxZ);
194 }
195
196 void Merge( double dfX, double dfY, double dfZ ) {
197 MinX = MIN(MinX,dfX);
198 MaxX = MAX(MaxX,dfX);
199 MinY = MIN(MinY,dfY);
200 MaxY = MAX(MaxY,dfY);
201 MinZ = MIN(MinZ,dfZ);
202 MaxZ = MAX(MaxZ,dfZ);
203 }
204
205 void Intersect( OGREnvelope3D const& sOther ) {
206 if(Intersects(sOther))
207 {
208 if( IsInit() )
209 {
210 MinX = MAX(MinX,sOther.MinX);
211 MaxX = MIN(MaxX,sOther.MaxX);
212 MinY = MAX(MinY,sOther.MinY);
213 MaxY = MIN(MaxY,sOther.MaxY);
214 MinZ = MAX(MinZ,sOther.MinZ);
215 MaxZ = MIN(MaxZ,sOther.MaxZ);
216 }
217 else
218 {
219 MinX = sOther.MinX;
220 MaxX = sOther.MaxX;
221 MinY = sOther.MinY;
222 MaxY = sOther.MaxY;
223 MinZ = sOther.MinZ;
224 MaxZ = sOther.MaxZ;
225 }
226 }
227 else
228 {
229 *this = OGREnvelope3D();
230 }
231 }
232
233 int Intersects(OGREnvelope3D const& other) const
234 {
235 return MinX <= other.MaxX && MaxX >= other.MinX &&
236 MinY <= other.MaxY && MaxY >= other.MinY &&
237 MinZ <= other.MaxZ && MaxZ >= other.MinZ;
238 }
239
240 int Contains(OGREnvelope3D const& other) const
241 {
242 return MinX <= other.MinX && MinY <= other.MinY &&
243 MaxX >= other.MaxX && MaxY >= other.MaxY &&
244 MinZ <= other.MinZ && MaxZ >= other.MaxZ;
245 }
246};
247
248} // extern "C++"
249
250#else
251typedef struct
252{
253 double MinX;
254 double MaxX;
255 double MinY;
256 double MaxY;
257 double MinZ;
258 double MaxZ;
259} OGREnvelope3D;
260#endif
264
266void CPL_DLL *OGRMalloc( size_t ) CPL_WARN_DEPRECATED("Use CPLMalloc instead.");
267void CPL_DLL *OGRCalloc( size_t, size_t ) CPL_WARN_DEPRECATED("Use CPLCalloc instead.");
268void CPL_DLL *OGRRealloc( void *, size_t ) CPL_WARN_DEPRECATED("Use CPLRealloc instead.");
269char CPL_DLL *OGRStrdup( const char * ) CPL_WARN_DEPRECATED("Use CPLStrdup instead.");
270void CPL_DLL OGRFree( void * ) CPL_WARN_DEPRECATED("Use CPLFree instead.");
273#ifdef STRICT_OGRERR_TYPE
275typedef enum
276{
287} OGRErr;
288#else
290typedef int OGRErr;
291
292#define OGRERR_NONE 0
293#define OGRERR_NOT_ENOUGH_DATA 1
294#define OGRERR_NOT_ENOUGH_MEMORY 2
295#define OGRERR_UNSUPPORTED_GEOMETRY_TYPE 3
296#define OGRERR_UNSUPPORTED_OPERATION 4
297#define OGRERR_CORRUPT_DATA 5
298#define OGRERR_FAILURE 6
299#define OGRERR_UNSUPPORTED_SRS 7
300#define OGRERR_INVALID_HANDLE 8
301#define OGRERR_NON_EXISTING_FEATURE 9
303#endif
304
306typedef int OGRBoolean;
307
308/* -------------------------------------------------------------------- */
309/* ogr_geometry.h related definitions. */
310/* -------------------------------------------------------------------- */
311
317typedef enum
318{
322 wkbLineString = 2,
324 wkbPolygon = 3,
336 wkbCurvePolygon = 10,
341 wkbCurve = 13,
345 wkbTIN = 16,
349 wkbNone = 100,
357 wkbCurveZ = 1013,
358 wkbSurfaceZ = 1014,
360 wkbTINZ = 1016,
363 wkbPointM = 2001,
365 wkbPolygonM = 2003,
375 wkbCurveM = 2013,
376 wkbSurfaceM = 2014,
378 wkbTINM = 2016,
381 wkbPointZM = 3001,
393 wkbCurveZM = 3013,
396 wkbTINZM = 3016,
399 wkbPoint25D = 0x80000001,
400 wkbLineString25D = 0x80000002,
401 wkbPolygon25D = 0x80000003,
402 wkbMultiPoint25D = 0x80000004,
404 wkbMultiPolygon25D = 0x80000006,
405 wkbGeometryCollection25D = 0x80000007
408
423typedef enum
424{
429
430#ifndef GDAL_COMPILATION
432#define wkb25DBit 0x80000000
433#endif
434
435#ifndef __cplusplus
437#define wkbFlatten(x) OGR_GT_Flatten((OGRwkbGeometryType)(x))
438#else
440#define wkbFlatten(x) OGR_GT_Flatten(static_cast<OGRwkbGeometryType>(x))
441#endif
442
446#define wkbHasZ(x) (OGR_GT_HasZ(x) != 0)
447
451#define wkbSetZ(x) OGR_GT_SetZ(x)
452
456#define wkbHasM(x) (OGR_GT_HasM(x) != 0)
457
461#define wkbSetM(x) OGR_GT_SetM(x)
462
463#ifndef DOXYGEN_SKIP
464#define ogrZMarker 0x21125711
465#endif
466
467const char CPL_DLL * OGRGeometryTypeToName( OGRwkbGeometryType eType );
469 OGRwkbGeometryType eExtra );
471 OGRwkbGeometryType eExtra,
472 int bAllowPromotingToCurves );
476OGRwkbGeometryType CPL_DLL OGR_GT_SetModifier( OGRwkbGeometryType eType, int bSetZ, int bSetM );
477int CPL_DLL OGR_GT_HasZ( OGRwkbGeometryType eType );
478int CPL_DLL OGR_GT_HasM( OGRwkbGeometryType eType );
479int CPL_DLL OGR_GT_IsSubClassOf( OGRwkbGeometryType eType,
480 OGRwkbGeometryType eSuperType );
487
489typedef enum
490{
491 wkbXDR = 0,
492 wkbNDR = 1
494
495#ifndef DOXYGEN_SKIP
496
497#ifndef NO_HACK_FOR_IBM_DB2_V72
498# define HACK_FOR_IBM_DB2_V72
499#endif
500
501#ifdef HACK_FOR_IBM_DB2_V72
502# define DB2_V72_FIX_BYTE_ORDER(x) ((((x) & 0x31) == (x)) ? ((x) & 0x1) : (x))
503# define DB2_V72_UNFIX_BYTE_ORDER(x) CPL_STATIC_CAST(unsigned char, OGRGeometry::bGenerate_DB2_V72_BYTE_ORDER ? ((x) | 0x30) : (x))
504#else
505# define DB2_V72_FIX_BYTE_ORDER(x) (x)
506# define DB2_V72_UNFIX_BYTE_ORDER(x) (x)
507#endif
508
509#endif /* #ifndef DOXYGEN_SKIP */
510
514#define ALTER_NAME_FLAG 0x1
515
519#define ALTER_TYPE_FLAG 0x2
520
524#define ALTER_WIDTH_PRECISION_FLAG 0x4
525
530#define ALTER_NULLABLE_FLAG 0x8
531
536#define ALTER_DEFAULT_FLAG 0x10
537
541#define ALTER_ALL_FLAG (ALTER_NAME_FLAG | ALTER_TYPE_FLAG | ALTER_WIDTH_PRECISION_FLAG | ALTER_NULLABLE_FLAG | ALTER_DEFAULT_FLAG)
542
547#define OGR_F_VAL_NULL 0x00000001
548
553#define OGR_F_VAL_GEOM_TYPE 0x00000002
554
559#define OGR_F_VAL_WIDTH 0x00000004
560
568#define OGR_F_VAL_ALLOW_NULL_WHEN_DEFAULT 0x00000008
569
576#define OGR_F_VAL_ALLOW_DIFFERENT_GEOM_DIM 0x00000010
577
582#define OGR_F_VAL_ALL (0x7FFFFFFF & ~OGR_F_VAL_ALLOW_DIFFERENT_GEOM_DIM)
583
584/************************************************************************/
585/* ogr_feature.h related definitions. */
586/************************************************************************/
587
594typedef enum
610 OFTMaxType = 13
612
622typedef enum
623{ OFSTNone = 0,
631 OFSTMaxSubType = 3
633
638typedef enum
639{
640 OJUndefined = 0,
641 OJLeft = 1,
642 OJRight = 2
644
646#define OGRNullFID -1
647
648/* Special value for an unknown field type. This should only be used
649 * while reading a file. At the end of file any unknown types should
650 * be set to OFTString.
651*/
653#define OGRUnknownType static_cast<OGRFieldType>(-1)
661#define OGRUnsetMarker -21121
662
669#define OGRNullMarker -21122
670
671/************************************************************************/
672/* OGRField */
673/************************************************************************/
674
679typedef union {
681 int Integer;
682 GIntBig Integer64;
683 double Real;
684 char *String;
685
686 struct {
687 int nCount;
688 int *paList;
689 } IntegerList;
690
691 struct {
692 int nCount;
693 GIntBig *paList;
694 } Integer64List;
695
696 struct {
697 int nCount;
698 double *paList;
699 } RealList;
700
701 struct {
702 int nCount;
703 char **paList;
704 } StringList;
705
706 struct {
707 int nCount;
708 GByte *paData;
709 } Binary;
710
711 struct {
712 int nMarker1;
713 int nMarker2;
714 int nMarker3;
715 } Set;
716
717 struct {
718 GInt16 Year;
719 GByte Month;
720 GByte Day;
721 GByte Hour;
722 GByte Minute;
723 GByte TZFlag; /* 0=unknown, 1=localtime(ambiguous),
724 100=GMT, 104=GMT+1, 80=GMT-5, etc */
725 GByte Reserved; /* must be set to 0 */
726 float Second; /* with millisecond accuracy. at the end of the structure, so as to keep it 12 bytes on 32 bit */
727 } Date;
729} OGRField;
730
731#ifdef __cplusplus
733inline int OGR_GET_MS(float fSec) {
734 if( CPLIsNan(fSec) ) return 0;
735 if( fSec >= 999 ) return 999;
736 if( fSec <= 0 ) return 0;
737 const float fValue = (fSec - static_cast<int>(fSec)) * 1000 + 0.5f;
738 return static_cast<int>(fValue);
739}
740#endif // __cplusplus
741
742int CPL_DLL OGRParseDate( const char *pszInput, OGRField *psOutput,
743 int nOptions );
744
745/* -------------------------------------------------------------------- */
746/* Constants from ogrsf_frmts.h for capabilities. */
747/* -------------------------------------------------------------------- */
748#define OLCRandomRead "RandomRead"
749#define OLCSequentialWrite "SequentialWrite"
750#define OLCRandomWrite "RandomWrite"
751#define OLCFastSpatialFilter "FastSpatialFilter"
752#define OLCFastFeatureCount "FastFeatureCount"
753#define OLCFastGetExtent "FastGetExtent"
754#define OLCCreateField "CreateField"
755#define OLCDeleteField "DeleteField"
756#define OLCReorderFields "ReorderFields"
757#define OLCAlterFieldDefn "AlterFieldDefn"
758#define OLCTransactions "Transactions"
759#define OLCDeleteFeature "DeleteFeature"
760#define OLCFastSetNextByIndex "FastSetNextByIndex"
761#define OLCStringsAsUTF8 "StringsAsUTF8"
762#define OLCIgnoreFields "IgnoreFields"
763#define OLCCreateGeomField "CreateGeomField"
764#define OLCCurveGeometries "CurveGeometries"
765#define OLCMeasuredGeometries "MeasuredGeometries"
767#define ODsCCreateLayer "CreateLayer"
768#define ODsCDeleteLayer "DeleteLayer"
769#define ODsCCreateGeomFieldAfterCreateLayer "CreateGeomFieldAfterCreateLayer"
770#define ODsCCurveGeometries "CurveGeometries"
771#define ODsCTransactions "Transactions"
772#define ODsCEmulatedTransactions "EmulatedTransactions"
773#define ODsCMeasuredGeometries "MeasuredGeometries"
774#define ODsCRandomLayerRead "RandomLayerRead"
775#define ODsCRandomLayerWrite "RandomLayerWrite "
777#define ODrCCreateDataSource "CreateDataSource"
778#define ODrCDeleteDataSource "DeleteDataSource"
780/* -------------------------------------------------------------------- */
781/* Layer metadata items. */
782/* -------------------------------------------------------------------- */
787#define OLMD_FID64 "OLMD_FID64"
788
789/************************************************************************/
790/* ogr_featurestyle.h related definitions. */
791/************************************************************************/
792
798{
804 OGRSTCVector = 5
806
811{
817 OGRSTUInches = 5
819
824{
833#ifndef DOXYGEN_SKIP
834 OGRSTPenLast = 8
835#endif
837
842{
851#ifndef DOXYGEN_SKIP
852 OGRSTBrushLast = 8
853#endif
854
856
861{
874#ifndef DOXYGEN_SKIP
875 OGRSTSymbolLast = 12
876#endif
878
883{
905#ifndef DOXYGEN_SKIP
906 OGRSTLabelLast = 21
907#endif
909
910/* ------------------------------------------------------------------- */
911/* Version checking */
912/* -------------------------------------------------------------------- */
913
914#ifndef DOXYGEN_SKIP
915
916/* Note to developers : please keep this section in sync with gdal.h */
917
918#ifndef GDAL_VERSION_INFO_DEFINED
919#define GDAL_VERSION_INFO_DEFINED
920const char CPL_DLL * CPL_STDCALL GDALVersionInfo( const char * );
921#endif
922
923#ifndef GDAL_CHECK_VERSION
924
936int CPL_DLL CPL_STDCALL GDALCheckVersion( int nVersionMajor, int nVersionMinor,
937 const char* pszCallingComponentName);
938
940#define GDAL_CHECK_VERSION(pszCallingComponentName) \
941 GDALCheckVersion(GDAL_VERSION_MAJOR, GDAL_VERSION_MINOR, pszCallingComponentName)
942
943#endif
944
945#endif /* #ifndef DOXYGEN_SKIP */
946
948
949#endif /* ndef OGR_CORE_H_INCLUDED */
#define MIN(a, b)
Definition: cpl_port.h:395
short GInt16
Definition: cpl_port.h:209
#define CPL_C_END
Definition: cpl_port.h:337
#define CPL_C_START
Definition: cpl_port.h:335
unsigned char GByte
Definition: cpl_port.h:213
long long GIntBig
Definition: cpl_port.h:246
#define MAX(a, b)
Definition: cpl_port.h:397
OGRwkbGeometryType OGRMergeGeometryTypesEx(OGRwkbGeometryType eMain, OGRwkbGeometryType eExtra, int bAllowPromotingToCurves)
Find common geometry type.
Definition: ogrgeometry.cpp:2678
#define OGRERR_NOT_ENOUGH_MEMORY
Definition: ogr_core.h:294
int OGR_GT_HasM(OGRwkbGeometryType eType)
Return if the geometry type is a measured type.
Definition: ogrgeometry.cpp:6189
int OGR_GT_IsSurface(OGRwkbGeometryType)
Return if a geometry type is an instance of Surface.
Definition: ogrgeometry.cpp:6520
int OGRBoolean
Definition: ogr_core.h:306
OGRFieldSubType
Definition: ogr_core.h:623
@ OFSTBoolean
Definition: ogr_core.h:626
@ OFSTInt16
Definition: ogr_core.h:628
@ OFSTNone
Definition: ogr_core.h:624
@ OFSTFloat32
Definition: ogr_core.h:630
ogr_style_tool_param_symbol_id
Definition: ogr_core.h:861
@ OGRSTSymbolDy
Definition: ogr_core.h:867
@ OGRSTSymbolId
Definition: ogr_core.h:862
@ OGRSTSymbolSize
Definition: ogr_core.h:865
@ OGRSTSymbolFontName
Definition: ogr_core.h:872
@ OGRSTSymbolColor
Definition: ogr_core.h:864
@ OGRSTSymbolDx
Definition: ogr_core.h:866
@ OGRSTSymbolPerp
Definition: ogr_core.h:869
@ OGRSTSymbolAngle
Definition: ogr_core.h:863
@ OGRSTSymbolOColor
Definition: ogr_core.h:873
@ OGRSTSymbolPriority
Definition: ogr_core.h:871
@ OGRSTSymbolStep
Definition: ogr_core.h:868
@ OGRSTSymbolOffset
Definition: ogr_core.h:870
enum ogr_style_tool_param_symbol_id OGRSTSymbolParam
OGRwkbByteOrder
Definition: ogr_core.h:490
@ wkbXDR
Definition: ogr_core.h:491
@ wkbNDR
Definition: ogr_core.h:492
#define OGRERR_UNSUPPORTED_GEOMETRY_TYPE
Definition: ogr_core.h:295
enum ogr_style_tool_param_pen_id OGRSTPenParam
OGRwkbGeometryType OGR_GT_GetLinear(OGRwkbGeometryType eType)
Returns the non-curve geometry type that can contain the passed geometry type.
Definition: ogrgeometry.cpp:6457
int OGR_GT_IsCurve(OGRwkbGeometryType)
Return if a geometry type is an instance of Curve.
Definition: ogrgeometry.cpp:6499
OGRwkbGeometryType OGR_GT_SetZ(OGRwkbGeometryType eType)
Returns the 3D geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:6211
#define OGRERR_FAILURE
Definition: ogr_core.h:298
#define OGRERR_UNSUPPORTED_OPERATION
Definition: ogr_core.h:296
OGRwkbVariant
Definition: ogr_core.h:424
@ wkbVariantPostGIS1
Definition: ogr_core.h:427
@ wkbVariantOldOgc
Definition: ogr_core.h:425
@ wkbVariantIso
Definition: ogr_core.h:426
#define OGRERR_NONE
Definition: ogr_core.h:292
OGRwkbGeometryType OGRMergeGeometryTypes(OGRwkbGeometryType eMain, OGRwkbGeometryType eExtra)
Find common geometry type.
Definition: ogrgeometry.cpp:2641
OGRJustification
Definition: ogr_core.h:639
OGRFieldType
Definition: ogr_core.h:595
@ OFTTime
Definition: ogr_core.h:606
@ OFTInteger64List
Definition: ogr_core.h:609
@ OFTIntegerList
Definition: ogr_core.h:597
@ OFTDate
Definition: ogr_core.h:605
@ OFTWideStringList
Definition: ogr_core.h:603
@ OFTInteger
Definition: ogr_core.h:596
@ OFTString
Definition: ogr_core.h:600
@ OFTBinary
Definition: ogr_core.h:604
@ OFTRealList
Definition: ogr_core.h:599
@ OFTReal
Definition: ogr_core.h:598
@ OFTStringList
Definition: ogr_core.h:601
@ OFTDateTime
Definition: ogr_core.h:607
@ OFTInteger64
Definition: ogr_core.h:608
@ OFTWideString
Definition: ogr_core.h:602
OGRwkbGeometryType OGR_GT_GetCurve(OGRwkbGeometryType eType)
Returns the curve geometry type that can contain the passed geometry type.
Definition: ogrgeometry.cpp:6408
OGRwkbGeometryType
Definition: ogr_core.h:318
@ wkbPolygon25D
Definition: ogr_core.h:401
@ wkbCurve
Definition: ogr_core.h:341
@ wkbLineString
Definition: ogr_core.h:322
@ wkbCircularString
Definition: ogr_core.h:333
@ wkbSurfaceZM
Definition: ogr_core.h:394
@ wkbPolygon
Definition: ogr_core.h:324
@ wkbTriangle
Definition: ogr_core.h:347
@ wkbPoint25D
Definition: ogr_core.h:399
@ wkbSurfaceZ
Definition: ogr_core.h:358
@ wkbMultiSurfaceM
Definition: ogr_core.h:374
@ wkbPolygonZM
Definition: ogr_core.h:383
@ wkbMultiPolygon25D
Definition: ogr_core.h:404
@ wkbPolyhedralSurfaceM
Definition: ogr_core.h:377
@ wkbTINZM
Definition: ogr_core.h:396
@ wkbMultiPointZM
Definition: ogr_core.h:384
@ wkbPointM
Definition: ogr_core.h:363
@ wkbMultiLineString
Definition: ogr_core.h:328
@ wkbCompoundCurveM
Definition: ogr_core.h:371
@ wkbUnknown
Definition: ogr_core.h:319
@ wkbMultiSurfaceZM
Definition: ogr_core.h:392
@ wkbTINZ
Definition: ogr_core.h:360
@ wkbCircularStringM
Definition: ogr_core.h:370
@ wkbPolygonM
Definition: ogr_core.h:365
@ wkbMultiCurveM
Definition: ogr_core.h:373
@ wkbLinearRing
Definition: ogr_core.h:350
@ wkbLineStringM
Definition: ogr_core.h:364
@ wkbTIN
Definition: ogr_core.h:345
@ wkbGeometryCollection25D
Definition: ogr_core.h:405
@ wkbSurfaceM
Definition: ogr_core.h:376
@ wkbCurvePolygonM
Definition: ogr_core.h:372
@ wkbPolyhedralSurface
Definition: ogr_core.h:343
@ wkbSurface
Definition: ogr_core.h:342
@ wkbMultiCurveZ
Definition: ogr_core.h:355
@ wkbCircularStringZ
Definition: ogr_core.h:352
@ wkbPoint
Definition: ogr_core.h:321
@ wkbCompoundCurve
Definition: ogr_core.h:335
@ wkbPolyhedralSurfaceZ
Definition: ogr_core.h:359
@ wkbGeometryCollection
Definition: ogr_core.h:330
@ wkbMultiPolygon
Definition: ogr_core.h:329
@ wkbMultiPoint
Definition: ogr_core.h:327
@ wkbMultiLineStringM
Definition: ogr_core.h:367
@ wkbMultiCurveZM
Definition: ogr_core.h:391
@ wkbMultiPoint25D
Definition: ogr_core.h:402
@ wkbNone
Definition: ogr_core.h:349
@ wkbMultiPointM
Definition: ogr_core.h:366
@ wkbCircularStringZM
Definition: ogr_core.h:388
@ wkbCurvePolygonZ
Definition: ogr_core.h:354
@ wkbCompoundCurveZM
Definition: ogr_core.h:389
@ wkbTriangleZ
Definition: ogr_core.h:361
@ wkbPointZM
Definition: ogr_core.h:381
@ wkbCurvePolygon
Definition: ogr_core.h:336
@ wkbLineStringZM
Definition: ogr_core.h:382
@ wkbMultiSurface
Definition: ogr_core.h:340
@ wkbMultiPolygonM
Definition: ogr_core.h:368
@ wkbCurveZM
Definition: ogr_core.h:393
@ wkbLineString25D
Definition: ogr_core.h:400
@ wkbMultiLineStringZM
Definition: ogr_core.h:385
@ wkbPolyhedralSurfaceZM
Definition: ogr_core.h:395
@ wkbGeometryCollectionZM
Definition: ogr_core.h:387
@ wkbTriangleZM
Definition: ogr_core.h:397
@ wkbGeometryCollectionM
Definition: ogr_core.h:369
@ wkbCurveM
Definition: ogr_core.h:375
@ wkbMultiLineString25D
Definition: ogr_core.h:403
@ wkbTriangleM
Definition: ogr_core.h:379
@ wkbMultiPolygonZM
Definition: ogr_core.h:386
@ wkbTINM
Definition: ogr_core.h:378
@ wkbCurveZ
Definition: ogr_core.h:357
@ wkbCurvePolygonZM
Definition: ogr_core.h:390
@ wkbMultiCurve
Definition: ogr_core.h:339
@ wkbCompoundCurveZ
Definition: ogr_core.h:353
@ wkbMultiSurfaceZ
Definition: ogr_core.h:356
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:6261
#define OGRERR_CORRUPT_DATA
Definition: ogr_core.h:297
ogr_style_tool_param_label_id
Definition: ogr_core.h:883
@ OGRSTLabelUnderline
Definition: ogr_core.h:897
@ OGRSTLabelPriority
Definition: ogr_core.h:898
@ OGRSTLabelAdjVert
Definition: ogr_core.h:902
@ OGRSTLabelBold
Definition: ogr_core.h:895
@ OGRSTLabelStrikeout
Definition: ogr_core.h:899
@ OGRSTLabelBColor
Definition: ogr_core.h:889
@ OGRSTLabelPlacement
Definition: ogr_core.h:890
@ OGRSTLabelPerp
Definition: ogr_core.h:894
@ OGRSTLabelOColor
Definition: ogr_core.h:904
@ OGRSTLabelDx
Definition: ogr_core.h:892
@ OGRSTLabelHColor
Definition: ogr_core.h:903
@ OGRSTLabelItalic
Definition: ogr_core.h:896
@ OGRSTLabelTextString
Definition: ogr_core.h:886
@ OGRSTLabelSize
Definition: ogr_core.h:885
@ OGRSTLabelAngle
Definition: ogr_core.h:887
@ OGRSTLabelFColor
Definition: ogr_core.h:888
@ OGRSTLabelDy
Definition: ogr_core.h:893
@ OGRSTLabelFontName
Definition: ogr_core.h:884
@ OGRSTLabelStretch
Definition: ogr_core.h:900
@ OGRSTLabelAnchor
Definition: ogr_core.h:891
@ OGRSTLabelAdjHor
Definition: ogr_core.h:901
ogr_style_tool_units_id
Definition: ogr_core.h:811
@ OGRSTUGround
Definition: ogr_core.h:812
@ OGRSTUMM
Definition: ogr_core.h:815
@ OGRSTUInches
Definition: ogr_core.h:817
@ OGRSTUCM
Definition: ogr_core.h:816
@ OGRSTUPoints
Definition: ogr_core.h:814
@ OGRSTUPixel
Definition: ogr_core.h:813
int OGR_GT_IsSubClassOf(OGRwkbGeometryType eType, OGRwkbGeometryType eSuperType)
Returns if a type is a subclass of another one.
Definition: ogrgeometry.cpp:6288
enum ogr_style_tool_class_id OGRSTClassId
#define OGRERR_NON_EXISTING_FEATURE
Definition: ogr_core.h:301
const char * OGRGeometryTypeToName(OGRwkbGeometryType eType)
Fetch a human readable name corresponding to an OGRwkbGeometryType value. The returned value should n...
Definition: ogrgeometry.cpp:2418
enum ogr_style_tool_units_id OGRSTUnitId
#define OGRERR_INVALID_HANDLE
Definition: ogr_core.h:300
enum ogr_style_tool_param_brush_id OGRSTBrushParam
enum ogr_style_tool_param_label_id OGRSTLabelParam
#define OGRERR_NOT_ENOUGH_DATA
Definition: ogr_core.h:293
int OGRErr
Definition: ogr_core.h:290
int OGR_GET_MS(float fSec)
Definition: ogr_core.h:733
ogr_style_tool_param_brush_id
Definition: ogr_core.h:842
@ OGRSTBrushAngle
Definition: ogr_core.h:846
@ OGRSTBrushId
Definition: ogr_core.h:845
@ OGRSTBrushPriority
Definition: ogr_core.h:850
@ OGRSTBrushBColor
Definition: ogr_core.h:844
@ OGRSTBrushSize
Definition: ogr_core.h:847
@ OGRSTBrushDy
Definition: ogr_core.h:849
@ OGRSTBrushFColor
Definition: ogr_core.h:843
@ OGRSTBrushDx
Definition: ogr_core.h:848
OGRwkbGeometryType OGR_GT_GetCollection(OGRwkbGeometryType eType)
Returns the collection type that can contain the passed geometry type.
Definition: ogrgeometry.cpp:6352
OGRwkbGeometryType OGR_GT_SetM(OGRwkbGeometryType eType)
Returns the measured geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:6234
ogr_style_tool_class_id
Definition: ogr_core.h:798
@ OGRSTCBrush
Definition: ogr_core.h:801
@ OGRSTCVector
Definition: ogr_core.h:804
@ OGRSTCNone
Definition: ogr_core.h:799
@ OGRSTCLabel
Definition: ogr_core.h:803
@ OGRSTCPen
Definition: ogr_core.h:800
@ OGRSTCSymbol
Definition: ogr_core.h:802
OGRwkbGeometryType OGR_GT_Flatten(OGRwkbGeometryType eType)
Returns the 2D geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:6140
ogr_style_tool_param_pen_id
Definition: ogr_core.h:824
@ OGRSTPenId
Definition: ogr_core.h:828
@ OGRSTPenCap
Definition: ogr_core.h:830
@ OGRSTPenPerOffset
Definition: ogr_core.h:829
@ OGRSTPenWidth
Definition: ogr_core.h:826
@ OGRSTPenColor
Definition: ogr_core.h:825
@ OGRSTPenJoin
Definition: ogr_core.h:831
@ OGRSTPenPriority
Definition: ogr_core.h:832
@ OGRSTPenPattern
Definition: ogr_core.h:827
int OGR_GT_IsNonLinear(OGRwkbGeometryType)
Return if a geometry type is a non-linear geometry type.
Definition: ogrgeometry.cpp:6542
#define OGRERR_UNSUPPORTED_SRS
Definition: ogr_core.h:299
int OGR_GT_HasZ(OGRwkbGeometryType eType)
Return if the geometry type is a 3D geometry type.
Definition: ogrgeometry.cpp:6165
Definition: ogr_core.h:679

Generated for GDAL by doxygen 1.9.3.