OGR
ogr_core.h
Go to the documentation of this file.
1 /******************************************************************************
2  * $Id: ogr_core.h 971ad299681ca1ea2e1b800e88209f426b77e9aa 2018-04-17 12:14:43 +0200 Even Rouault $
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 
53 extern "C++"
54 {
55 #include <limits>
56 
57 // cppcheck-suppress copyCtorAndEqOperator
58 class 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
142 typedef 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 
157 extern "C++" {
158 
159 // cppcheck-suppress copyCtorAndEqOperator
160 class 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
251 typedef struct
252 {
253  double MinX;
254  double MaxX;
255  double MinY;
256  double MaxY;
257  double MinZ;
258  double MaxZ;
259 } OGREnvelope3D;
260 #endif
261 
264 
266 void CPL_DLL *OGRMalloc( size_t ) CPL_WARN_DEPRECATED("Use CPLMalloc instead.");
267 void CPL_DLL *OGRCalloc( size_t, size_t ) CPL_WARN_DEPRECATED("Use CPLCalloc instead.");
268 void CPL_DLL *OGRRealloc( void *, size_t ) CPL_WARN_DEPRECATED("Use CPLRealloc instead.");
269 char CPL_DLL *OGRStrdup( const char * ) CPL_WARN_DEPRECATED("Use CPLStrdup instead.");
270 void CPL_DLL OGRFree( void * ) CPL_WARN_DEPRECATED("Use CPLFree instead.");
273 #ifdef STRICT_OGRERR_TYPE
274 
275 typedef enum
276 {
277  OGRERR_NONE,
287 } OGRErr;
288 #else
289 
290 typedef 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 
306 typedef int OGRBoolean;
307 
308 /* -------------------------------------------------------------------- */
309 /* ogr_geometry.h related definitions. */
310 /* -------------------------------------------------------------------- */
311 
317 typedef enum
318 {
321  wkbPoint = 1,
341  wkbCurve = 13,
342  wkbSurface = 14,
345  wkbTIN = 16,
347  wkbTriangle = 17,
349  wkbNone = 100,
355  wkbMultiCurveZ = 1011,
357  wkbCurveZ = 1013,
358  wkbSurfaceZ = 1014,
360  wkbTINZ = 1016,
361  wkbTriangleZ = 1017,
363  wkbPointM = 2001,
364  wkbLineStringM = 2002,
365  wkbPolygonM = 2003,
366  wkbMultiPointM = 2004,
373  wkbMultiCurveM = 2011,
375  wkbCurveM = 2013,
376  wkbSurfaceM = 2014,
378  wkbTINM = 2016,
379  wkbTriangleM = 2017,
381  wkbPointZM = 3001,
383  wkbPolygonZM = 3003,
393  wkbCurveZM = 3013,
394  wkbSurfaceZM = 3014,
396  wkbTINZM = 3016,
397  wkbTriangleZM = 3017,
399  wkbPoint25D = 0x80000001,
400  wkbLineString25D = 0x80000002,
401  wkbPolygon25D = 0x80000003,
402  wkbMultiPoint25D = 0x80000004,
403  wkbMultiLineString25D = 0x80000005,
404  wkbMultiPolygon25D = 0x80000006,
408 
423 typedef enum
424 {
428 } OGRwkbVariant;
429 
430 #ifndef GDAL_COMPILATION
431 
432 #define wkb25DBit 0x80000000
433 #endif
434 
435 #ifndef __cplusplus
436 
437 #define wkbFlatten(x) OGR_GT_Flatten((OGRwkbGeometryType)(x))
438 #else
439 
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 
467 const char CPL_DLL * OGRGeometryTypeToName( OGRwkbGeometryType eType );
469  OGRwkbGeometryType eExtra );
471  OGRwkbGeometryType eExtra,
472  int bAllowPromotingToCurves );
476 OGRwkbGeometryType CPL_DLL OGR_GT_SetModifier( OGRwkbGeometryType eType, int bSetZ, int bSetM );
477 int CPL_DLL OGR_GT_HasZ( OGRwkbGeometryType eType );
478 int CPL_DLL OGR_GT_HasM( OGRwkbGeometryType eType );
479 int CPL_DLL OGR_GT_IsSubClassOf( OGRwkbGeometryType eType,
480  OGRwkbGeometryType eSuperType );
481 int CPL_DLL OGR_GT_IsCurve( OGRwkbGeometryType );
482 int CPL_DLL OGR_GT_IsSurface( OGRwkbGeometryType );
487 
489 typedef 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 
594 typedef enum
610  OFTMaxType = 13
611 } OGRFieldType;
612 
622 typedef enum
623 { OFSTNone = 0,
631  OFSTMaxSubType = 3
633 
638 typedef 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)
654 
661 #define OGRUnsetMarker -21121
662 
669 #define OGRNullMarker -21122
670 
671 /************************************************************************/
672 /* OGRField */
673 /************************************************************************/
674 
679 typedef 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
732 
733 inline 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 
742 int 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 {
800  OGRSTCPen = 1,
805 } OGRSTClassId;
806 
811 {
815  OGRSTUMM = 3,
816  OGRSTUCM = 4,
818 } OGRSTUnitId;
819 
824 {
833 #ifndef DOXYGEN_SKIP
834  OGRSTPenLast = 8
835 #endif
836 } OGRSTPenParam;
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
920 const char CPL_DLL * CPL_STDCALL GDALVersionInfo( const char * );
921 #endif
922 
923 #ifndef GDAL_CHECK_VERSION
924 
936 int 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 
947 CPL_C_END
948 
949 #endif /* ndef OGR_CORE_H_INCLUDED */
OGRSTSymbolStep
@ OGRSTSymbolStep
Definition: ogr_core.h:868
MAX
#define MAX(a, b)
Definition: cpl_port.h:397
OGRSTLabelStretch
@ OGRSTLabelStretch
Definition: ogr_core.h:900
OGR_DS_Destroy
void OGR_DS_Destroy(OGRDataSourceH)
Closes opened datasource and releases allocated resources.
Definition: ogrdatasource.cpp:58
wkbTINM
@ wkbTINM
Definition: ogr_core.h:378
wkbSurfaceM
@ wkbSurfaceM
Definition: ogr_core.h:376
wkbPointZM
@ wkbPointZM
Definition: ogr_core.h:381
OGR_F_SetFieldString
void OGR_F_SetFieldString(OGRFeatureH, int, const char *)
Set field to string value.
Definition: ogrfeature.cpp:4131
OGR_Fld_GetType
OGRFieldType OGR_Fld_GetType(OGRFieldDefnH)
Fetch type of this field.
Definition: ogrfielddefn.cpp:251
wkbCurvePolygonZM
@ wkbCurvePolygonZM
Definition: ogr_core.h:390
OGRSTBrushSize
@ OGRSTBrushSize
Definition: ogr_core.h:847
GByte
unsigned char GByte
Definition: cpl_port.h:213
OGRSTLabelStrikeout
@ OGRSTLabelStrikeout
Definition: ogr_core.h:899
OFSTFloat32
@ OFSTFloat32
Definition: ogr_core.h:630
OGR_F_DumpReadable
void OGR_F_DumpReadable(OGRFeatureH, FILE *)
Dump this feature in a human readable form.
Definition: ogrfeature.cpp:5371
OGR_DS_GetLayerCount
int OGR_DS_GetLayerCount(OGRDataSourceH)
Get the number of layers in this data source.
Definition: ogrdatasource.cpp:268
OFTWideString
@ OFTWideString
Definition: ogr_core.h:602
OGRSTUInches
@ OGRSTUInches
Definition: ogr_core.h:817
OGRERR_UNSUPPORTED_GEOMETRY_TYPE
#define OGRERR_UNSUPPORTED_GEOMETRY_TYPE
Definition: ogr_core.h:295
GInt16
short GInt16
Definition: cpl_port.h:209
OGR_GT_GetCollection
OGRwkbGeometryType OGR_GT_GetCollection(OGRwkbGeometryType eType)
Returns the collection type that can contain the passed geometry type.
Definition: ogrgeometry.cpp:6352
OGR_L_CreateFeature
OGRErr OGR_L_CreateFeature(OGRLayerH, OGRFeatureH) CPL_WARN_UNUSED_RESULT
Create and write a new feature within a layer.
Definition: ogrlayer.cpp:646
wkbMultiCurveZM
@ wkbMultiCurveZM
Definition: ogr_core.h:391
OGRSTLabelPerp
@ OGRSTLabelPerp
Definition: ogr_core.h:894
OGRSTUCM
@ OGRSTUCM
Definition: ogr_core.h:816
OFSTInt16
@ OFSTInt16
Definition: ogr_core.h:628
OGR_G_AddPoint
void OGR_G_AddPoint(OGRGeometryH, double, double, double)
Add a point to a geometry (line string or point).
Definition: ogr_api.cpp:1063
wkbMultiLineStringZM
@ wkbMultiLineStringZM
Definition: ogr_core.h:385
OFTBinary
@ OFTBinary
Definition: ogr_core.h:604
OGRSTSymbolPriority
@ OGRSTSymbolPriority
Definition: ogr_core.h:871
wkbPoint
@ wkbPoint
Definition: ogr_core.h:321
OGRSTLabelBColor
@ OGRSTLabelBColor
Definition: ogr_core.h:889
OFSTBoolean
@ OFSTBoolean
Definition: ogr_core.h:626
OGRSTLabelFColor
@ OGRSTLabelFColor
Definition: ogr_core.h:888
wkbCurvePolygonZ
@ wkbCurvePolygonZ
Definition: ogr_core.h:354
wkbMultiSurfaceZM
@ wkbMultiSurfaceZM
Definition: ogr_core.h:392
wkbTriangleZ
@ wkbTriangleZ
Definition: ogr_core.h:361
OGR_L_GetLayerDefn
OGRFeatureDefnH OGR_L_GetLayerDefn(OGRLayerH)
Fetch the schema information for this layer.
Definition: ogrlayer.cpp:992
OGR_GT_IsSubClassOf
int OGR_GT_IsSubClassOf(OGRwkbGeometryType eType, OGRwkbGeometryType eSuperType)
Returns if a type is a subclass of another one.
Definition: ogrgeometry.cpp:6288
wkbCompoundCurveZM
@ wkbCompoundCurveZM
Definition: ogr_core.h:389
wkbMultiSurfaceM
@ wkbMultiSurfaceM
Definition: ogr_core.h:374
wkbMultiPolygon
@ wkbMultiPolygon
Definition: ogr_core.h:329
OGR_GT_Flatten
OGRwkbGeometryType OGR_GT_Flatten(OGRwkbGeometryType eType)
Returns the 2D geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:6140
wkbMultiPoint25D
@ wkbMultiPoint25D
Definition: ogr_core.h:402
OGRRegisterAll
void OGRRegisterAll(void)
Register all drivers.
Definition: ogrregisterall.cpp:38
wkbNDR
@ wkbNDR
Definition: ogr_core.h:492
ogr_style_tool_param_label_id
ogr_style_tool_param_label_id
Definition: ogr_core.h:882
OGRSTClassId
enum ogr_style_tool_class_id OGRSTClassId
OGRSTBrushParam
enum ogr_style_tool_param_brush_id OGRSTBrushParam
wkbVariantOldOgc
@ wkbVariantOldOgc
Definition: ogr_core.h:425
OGR_GT_IsNonLinear
int OGR_GT_IsNonLinear(OGRwkbGeometryType)
Return if a geometry type is a non-linear geometry type.
Definition: ogrgeometry.cpp:6542
wkbCompoundCurve
@ wkbCompoundCurve
Definition: ogr_core.h:335
OGRSTLabelItalic
@ OGRSTLabelItalic
Definition: ogr_core.h:896
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:6457
OGRMergeGeometryTypes
OGRwkbGeometryType OGRMergeGeometryTypes(OGRwkbGeometryType eMain, OGRwkbGeometryType eExtra)
Find common geometry type.
Definition: ogrgeometry.cpp:2641
wkbPolygon25D
@ wkbPolygon25D
Definition: ogr_core.h:401
OGRSTPenWidth
@ OGRSTPenWidth
Definition: ogr_core.h:826
OFTWideStringList
@ OFTWideStringList
Definition: ogr_core.h:603
wkbPolygonZM
@ wkbPolygonZM
Definition: ogr_core.h:383
OGRSTLabelParam
enum ogr_style_tool_param_label_id OGRSTLabelParam
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:6261
wkbVariantPostGIS1
@ wkbVariantPostGIS1
Definition: ogr_core.h:427
OFTDateTime
@ OFTDateTime
Definition: ogr_core.h:607
wkbPolygonM
@ wkbPolygonM
Definition: ogr_core.h:365
wkbTriangleM
@ wkbTriangleM
Definition: ogr_core.h:379
OGRSFDriverH
void * OGRSFDriverH
Definition: ogr_api.h:512
OGRSTLabelAdjHor
@ OGRSTLabelAdjHor
Definition: ogr_core.h:901
wkbCircularString
@ wkbCircularString
Definition: ogr_core.h:333
OGRSTLabelTextString
@ OGRSTLabelTextString
Definition: ogr_core.h:886
OGR_F_SetGeometryDirectly
OGRErr OGR_F_SetGeometryDirectly(OGRFeatureH, OGRGeometryH)
Set feature geometry.
Definition: ogrfeature.cpp:401
OGROpen
OGRDataSourceH OGROpen(const char *, int, OGRSFDriverH *) CPL_WARN_UNUSED_RESULT
Open a file / data source with one of the registered drivers.
OGRSTPenParam
enum ogr_style_tool_param_pen_id OGRSTPenParam
wkbMultiPolygonZM
@ wkbMultiPolygonZM
Definition: ogr_core.h:386
ogr_style_tool_param_symbol_id
ogr_style_tool_param_symbol_id
Definition: ogr_core.h:860
wkbCurveM
@ wkbCurveM
Definition: ogr_core.h:375
MIN
#define MIN(a, b)
Definition: cpl_port.h:395
OGRSTLabelPlacement
@ OGRSTLabelPlacement
Definition: ogr_core.h:890
OGRSTCSymbol
@ OGRSTCSymbol
Definition: ogr_core.h:802
OGRSTCLabel
@ OGRSTCLabel
Definition: ogr_core.h:803
wkbPolyhedralSurfaceZM
@ wkbPolyhedralSurfaceZM
Definition: ogr_core.h:395
wkbPoint25D
@ wkbPoint25D
Definition: ogr_core.h:399
wkbSurfaceZM
@ wkbSurfaceZM
Definition: ogr_core.h:394
wkbCircularStringZM
@ wkbCircularStringZM
Definition: ogr_core.h:388
OGRFeatureH
void * OGRFeatureH
Definition: ogr_api.h:301
EQUAL
#define EQUAL(a, b)
Definition: cpl_port.h:559
OGRSTUnitId
enum ogr_style_tool_units_id OGRSTUnitId
wkbCircularStringZ
@ wkbCircularStringZ
Definition: ogr_core.h:352
OGRBoolean
int OGRBoolean
Definition: ogr_core.h:306
wkbCurve
@ wkbCurve
Definition: ogr_core.h:341
OGRFeatureDefnH
void * OGRFeatureDefnH
Definition: ogr_api.h:299
OGRSTCNone
@ OGRSTCNone
Definition: ogr_core.h:799
wkbMultiPointZM
@ wkbMultiPointZM
Definition: ogr_core.h:384
OGRSTUPixel
@ OGRSTUPixel
Definition: ogr_core.h:813
OGRSTPenPriority
@ OGRSTPenPriority
Definition: ogr_core.h:832
OGRMergeGeometryTypesEx
OGRwkbGeometryType OGRMergeGeometryTypesEx(OGRwkbGeometryType eMain, OGRwkbGeometryType eExtra, int bAllowPromotingToCurves)
Find common geometry type.
Definition: ogrgeometry.cpp:2678
OGR_G_SetPoint
void OGR_G_SetPoint(OGRGeometryH, int iPoint, double, double, double)
Set the location of a vertex in a point or linestring geometry.
Definition: ogr_api.cpp:817
wkbTINZM
@ wkbTINZM
Definition: ogr_core.h:396
OGR_GT_IsSurface
int OGR_GT_IsSurface(OGRwkbGeometryType)
Return if a geometry type is an instance of Surface.
Definition: ogrgeometry.cpp:6520
OGRSTSymbolDx
@ OGRSTSymbolDx
Definition: ogr_core.h:866
wkbLineStringZM
@ wkbLineStringZM
Definition: ogr_core.h:382
CPL_C_START
#define CPL_C_START
Definition: cpl_port.h:335
OGR_GT_SetM
OGRwkbGeometryType OGR_GT_SetM(OGRwkbGeometryType eType)
Returns the measured geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:6234
OGRERR_UNSUPPORTED_SRS
#define OGRERR_UNSUPPORTED_SRS
Definition: ogr_core.h:299
OGR_F_SetFieldDouble
void OGR_F_SetFieldDouble(OGRFeatureH, int, double)
Set field to double value.
Definition: ogrfeature.cpp:3816
ogr_style_tool_class_id
ogr_style_tool_class_id
Definition: ogr_core.h:797
OGRSTLabelOColor
@ OGRSTLabelOColor
Definition: ogr_core.h:904
OGRwkbByteOrder
OGRwkbByteOrder
Definition: ogr_core.h:489
OGRField
Definition: ogr_core.h:679
OGRSTSymbolAngle
@ OGRSTSymbolAngle
Definition: ogr_core.h:863
OGRSTSymbolFontName
@ OGRSTSymbolFontName
Definition: ogr_core.h:872
OGRERR_UNSUPPORTED_OPERATION
#define OGRERR_UNSUPPORTED_OPERATION
Definition: ogr_core.h:296
wkbCurvePolygon
@ wkbCurvePolygon
Definition: ogr_core.h:336
wkbLineStringM
@ wkbLineStringM
Definition: ogr_core.h:364
OGRSTPenColor
@ OGRSTPenColor
Definition: ogr_core.h:825
OGRSTLabelDy
@ OGRSTLabelDy
Definition: ogr_core.h:893
OGRERR_FAILURE
#define OGRERR_FAILURE
Definition: ogr_core.h:298
OGRSTUMM
@ OGRSTUMM
Definition: ogr_core.h:815
OGR_GT_GetCurve
OGRwkbGeometryType OGR_GT_GetCurve(OGRwkbGeometryType eType)
Returns the curve geometry type that can contain the passed geometry type.
Definition: ogrgeometry.cpp:6408
OFTString
@ OFTString
Definition: ogr_core.h:600
wkbMultiPolygon25D
@ wkbMultiPolygon25D
Definition: ogr_core.h:404
wkbCircularStringM
@ wkbCircularStringM
Definition: ogr_core.h:370
OFTIntegerList
@ OFTIntegerList
Definition: ogr_core.h:597
wkbMultiSurface
@ wkbMultiSurface
Definition: ogr_core.h:340
OGR_FD_GetFieldCount
int OGR_FD_GetFieldCount(OGRFeatureDefnH)
Fetch number of fields on the passed feature definition.
Definition: ogrfeaturedefn.cpp:303
OGRSTCBrush
@ OGRSTCBrush
Definition: ogr_core.h:801
OGRERR_NOT_ENOUGH_MEMORY
#define OGRERR_NOT_ENOUGH_MEMORY
Definition: ogr_core.h:294
OGRSTLabelFontName
@ OGRSTLabelFontName
Definition: ogr_core.h:884
OGRSTLabelPriority
@ OGRSTLabelPriority
Definition: ogr_core.h:898
wkbPolyhedralSurface
@ wkbPolyhedralSurface
Definition: ogr_core.h:343
wkbCurvePolygonM
@ wkbCurvePolygonM
Definition: ogr_core.h:372
CPL_C_END
#define CPL_C_END
Definition: cpl_port.h:337
wkbMultiPointM
@ wkbMultiPointM
Definition: ogr_core.h:366
OGRSTLabelUnderline
@ OGRSTLabelUnderline
Definition: ogr_core.h:897
wkbGeometryCollectionM
@ wkbGeometryCollectionM
Definition: ogr_core.h:369
OGR_Fld_GetNameRef
const char * OGR_Fld_GetNameRef(OGRFieldDefnH)
Fetch name of this field.
Definition: ogrfielddefn.cpp:213
OGRSTCVector
@ OGRSTCVector
Definition: ogr_core.h:804
OGRDataSourceH
void * OGRDataSourceH
Definition: ogr_api.h:510
OGRSTLabelAnchor
@ OGRSTLabelAnchor
Definition: ogr_core.h:891
OFTInteger
@ OFTInteger
Definition: ogr_core.h:596
wkbVariantIso
@ wkbVariantIso
Definition: ogr_core.h:426
OGR_L_GetNextFeature
OGRFeatureH OGR_L_GetNextFeature(OGRLayerH) CPL_WARN_UNUSED_RESULT
Fetch the next available feature from this layer.
Definition: ogrlayer.cpp:540
OGRSTLabelAngle
@ OGRSTLabelAngle
Definition: ogr_core.h:887
OGR_GT_IsCurve
int OGR_GT_IsCurve(OGRwkbGeometryType)
Return if a geometry type is an instance of Curve.
Definition: ogrgeometry.cpp:6499
OGRSTSymbolDy
@ OGRSTSymbolDy
Definition: ogr_core.h:867
OGRSTBrushDx
@ OGRSTBrushDx
Definition: ogr_core.h:848
wkbNone
@ wkbNone
Definition: ogr_core.h:349
OGR_GetFieldTypeName
const char * OGR_GetFieldTypeName(OGRFieldType)
Fetch human readable name for a field type.
Definition: ogrfielddefn.cpp:683
OFTInteger64List
@ OFTInteger64List
Definition: ogr_core.h:609
wkbPolygon
@ wkbPolygon
Definition: ogr_core.h:324
wkbMultiCurveM
@ wkbMultiCurveM
Definition: ogr_core.h:373
wkbMultiLineString25D
@ wkbMultiLineString25D
Definition: ogr_core.h:403
OGRJustification
OGRJustification
Definition: ogr_core.h:638
wkbCompoundCurveM
@ wkbCompoundCurveM
Definition: ogr_core.h:371
wkbPolyhedralSurfaceM
@ wkbPolyhedralSurfaceM
Definition: ogr_core.h:377
OGRSTSymbolParam
enum ogr_style_tool_param_symbol_id OGRSTSymbolParam
OGR_DS_GetLayer
OGRLayerH OGR_DS_GetLayer(OGRDataSourceH, int)
Fetch a layer by index.
Definition: ogrdatasource.cpp:285
OFSTNone
@ OFSTNone
Definition: ogr_core.h:624
OFTStringList
@ OFTStringList
Definition: ogr_core.h:601
OGRSTBrushFColor
@ OGRSTBrushFColor
Definition: ogr_core.h:843
OGR_G_AddGeometryDirectly
OGRErr OGR_G_AddGeometryDirectly(OGRGeometryH, OGRGeometryH)
Add a geometry directly to an existing geometry container.
Definition: ogr_api.cpp:1439
wkbSurface
@ wkbSurface
Definition: ogr_core.h:342
OGRFieldDefnH
void * OGRFieldDefnH
Definition: ogr_api.h:297
OGRSTBrushDy
@ OGRSTBrushDy
Definition: ogr_core.h:849
OGRGeometryH
void * OGRGeometryH
Definition: ogr_api.h:60
wkbLinearRing
@ wkbLinearRing
Definition: ogr_core.h:350
OGRERR_NOT_ENOUGH_DATA
#define OGRERR_NOT_ENOUGH_DATA
Definition: ogr_core.h:293
OGRSTSymbolId
@ OGRSTSymbolId
Definition: ogr_core.h:862
OGRERR_CORRUPT_DATA
#define OGRERR_CORRUPT_DATA
Definition: ogr_core.h:297
OGRSTBrushBColor
@ OGRSTBrushBColor
Definition: ogr_core.h:844
OGR_F_SetFieldInteger
void OGR_F_SetFieldInteger(OGRFeatureH, int, int)
Set field to integer value.
Definition: ogrfeature.cpp:3506
OFTTime
@ OFTTime
Definition: ogr_core.h:606
OGRGetDriverCount
int OGRGetDriverCount(void)
Fetch the number of registered drivers.
OGR_F_Destroy
void OGR_F_Destroy(OGRFeatureH)
Destroy feature.
Definition: ogrfeature.cpp:220
OGRSTUGround
@ OGRSTUGround
Definition: ogr_core.h:812
OGRSTSymbolSize
@ OGRSTSymbolSize
Definition: ogr_core.h:865
OGRSTLabelHColor
@ OGRSTLabelHColor
Definition: ogr_core.h:903
OGRErr
int OGRErr
Definition: ogr_core.h:290
wkbCompoundCurveZ
@ wkbCompoundCurveZ
Definition: ogr_core.h:353
OGRSTSymbolOffset
@ OGRSTSymbolOffset
Definition: ogr_core.h:870
ogr_style_tool_param_pen_id
ogr_style_tool_param_pen_id
Definition: ogr_core.h:823
GIntBig
long long GIntBig
Definition: cpl_port.h:246
OGRSTBrushId
@ OGRSTBrushId
Definition: ogr_core.h:845
ogr_style_tool_param_brush_id
ogr_style_tool_param_brush_id
Definition: ogr_core.h:841
wkbCurveZ
@ wkbCurveZ
Definition: ogr_core.h:357
OGR_GT_HasZ
int OGR_GT_HasZ(OGRwkbGeometryType eType)
Return if the geometry type is a 3D geometry type.
Definition: ogrgeometry.cpp:6165
OGRwkbGeometryType
OGRwkbGeometryType
Definition: ogr_core.h:317
OGRSTPenCap
@ OGRSTPenCap
Definition: ogr_core.h:830
OGR_GT_HasM
int OGR_GT_HasM(OGRwkbGeometryType eType)
Return if the geometry type is a measured type.
Definition: ogrgeometry.cpp:6189
wkbTINZ
@ wkbTINZ
Definition: ogr_core.h:360
OGRSTCPen
@ OGRSTCPen
Definition: ogr_core.h:800
OGRGeometryTypeToName
const char * OGRGeometryTypeToName(OGRwkbGeometryType eType)
Fetch a human readable name corresponding to an OGRwkbGeometryType value. The returned value should n...
Definition: ogrgeometry.cpp:2418
OFTDate
@ OFTDate
Definition: ogr_core.h:605
cpl_port.h
OGRSTPenPerOffset
@ OGRSTPenPerOffset
Definition: ogr_core.h:829
OGRFieldSubType
OGRFieldSubType
Definition: ogr_core.h:622
ogr_api.h
wkbTriangleZM
@ wkbTriangleZM
Definition: ogr_core.h:397
wkbXDR
@ wkbXDR
Definition: ogr_core.h:491
OGRSTBrushPriority
@ OGRSTBrushPriority
Definition: ogr_core.h:850
OFTRealList
@ OFTRealList
Definition: ogr_core.h:599
wkbGeometryCollection25D
@ wkbGeometryCollection25D
Definition: ogr_core.h:405
ogr_style_tool_units_id
ogr_style_tool_units_id
Definition: ogr_core.h:810
wkbGeometryCollection
@ wkbGeometryCollection
Definition: ogr_core.h:330
OGRFieldType
OGRFieldType
Definition: ogr_core.h:594
OGR_G_CreateGeometry
OGRGeometryH OGR_G_CreateGeometry(OGRwkbGeometryType) CPL_WARN_UNUSED_RESULT
Create an empty geometry of desired type.
Definition: ogrgeometryfactory.cpp:604
wkbMultiCurveZ
@ wkbMultiCurveZ
Definition: ogr_core.h:355
OGRSTPenJoin
@ OGRSTPenJoin
Definition: ogr_core.h:831
OGR_FD_GetFieldDefn
OGRFieldDefnH OGR_FD_GetFieldDefn(OGRFeatureDefnH, int)
Fetch field definition of the passed feature definition.
Definition: ogrfeaturedefn.cpp:384
wkbPolyhedralSurfaceZ
@ wkbPolyhedralSurfaceZ
Definition: ogr_core.h:359
wkbMultiCurve
@ wkbMultiCurve
Definition: ogr_core.h:339
OGRSTSymbolColor
@ OGRSTSymbolColor
Definition: ogr_core.h:864
wkbMultiPolygonM
@ wkbMultiPolygonM
Definition: ogr_core.h:368
wkbLineString25D
@ wkbLineString25D
Definition: ogr_core.h:400
OFTInteger64
@ OFTInteger64
Definition: ogr_core.h:608
wkbGeometryCollectionZM
@ wkbGeometryCollectionZM
Definition: ogr_core.h:387
OGRSTUPoints
@ OGRSTUPoints
Definition: ogr_core.h:814
OGRERR_NONE
#define OGRERR_NONE
Definition: ogr_core.h:292
wkbMultiSurfaceZ
@ wkbMultiSurfaceZ
Definition: ogr_core.h:356
OGRSTLabelAdjVert
@ OGRSTLabelAdjVert
Definition: ogr_core.h:902
OGRSTSymbolOColor
@ OGRSTSymbolOColor
Definition: ogr_core.h:873
OGRSTLabelDx
@ OGRSTLabelDx
Definition: ogr_core.h:892
wkbTriangle
@ wkbTriangle
Definition: ogr_core.h:347
wkbLineString
@ wkbLineString
Definition: ogr_core.h:322
OGRSTPenId
@ OGRSTPenId
Definition: ogr_core.h:828
OGR_FD_GetName
const char * OGR_FD_GetName(OGRFeatureDefnH)
Get name of the OGRFeatureDefn passed as an argument.
Definition: ogrfeaturedefn.cpp:266
wkbMultiLineString
@ wkbMultiLineString
Definition: ogr_core.h:328
wkbCurveZM
@ wkbCurveZM
Definition: ogr_core.h:393
OGR_GET_MS
int OGR_GET_MS(float fSec)
Definition: ogr_core.h:733
OFTReal
@ OFTReal
Definition: ogr_core.h:598
OGRSTSymbolPerp
@ OGRSTSymbolPerp
Definition: ogr_core.h:869
OGR_Dr_GetName
const char * OGR_Dr_GetName(OGRSFDriverH)
Fetch name of driver (file format). This name should be relatively short (10-40 characters),...
OGRSTBrushAngle
@ OGRSTBrushAngle
Definition: ogr_core.h:846
OGRGetDriver
OGRSFDriverH OGRGetDriver(int)
Fetch the indicated driver.
OGRERR_NON_EXISTING_FEATURE
#define OGRERR_NON_EXISTING_FEATURE
Definition: ogr_core.h:301
OGRLayerH
void * OGRLayerH
Definition: ogr_api.h:508
OGRSTPenPattern
@ OGRSTPenPattern
Definition: ogr_core.h:827
wkbMultiLineStringM
@ wkbMultiLineStringM
Definition: ogr_core.h:367
OGRERR_INVALID_HANDLE
#define OGRERR_INVALID_HANDLE
Definition: ogr_core.h:300
OGR_GT_SetZ
OGRwkbGeometryType OGR_GT_SetZ(OGRwkbGeometryType eType)
Returns the 3D geometry type corresponding to the passed geometry type.
Definition: ogrgeometry.cpp:6211
wkbUnknown
@ wkbUnknown
Definition: ogr_core.h:319
wkbTIN
@ wkbTIN
Definition: ogr_core.h:345
OGRSTLabelSize
@ OGRSTLabelSize
Definition: ogr_core.h:885
OGRSTLabelBold
@ OGRSTLabelBold
Definition: ogr_core.h:895
OGR_Dr_CreateDataSource
OGRDataSourceH OGR_Dr_CreateDataSource(OGRSFDriverH, const char *, char **) CPL_WARN_UNUSED_RESULT
This function attempts to create a new data source based on the passed driver.
OGRwkbVariant
OGRwkbVariant
Definition: ogr_core.h:423
OGR_Fld_Create
OGRFieldDefnH OGR_Fld_Create(const char *, OGRFieldType) CPL_WARN_UNUSED_RESULT
Create a new field definition.
Definition: ogrfielddefn.cpp:113
wkbPointM
@ wkbPointM
Definition: ogr_core.h:363
wkbMultiPoint
@ wkbMultiPoint
Definition: ogr_core.h:327
wkbSurfaceZ
@ wkbSurfaceZ
Definition: ogr_core.h:358
OGR_L_CreateField
OGRErr OGR_L_CreateField(OGRLayerH, OGRFieldDefnH, int)
Create a new field on a layer.
Definition: ogrlayer.cpp:680
OGR_F_Create
OGRFeatureH OGR_F_Create(OGRFeatureDefnH) CPL_WARN_UNUSED_RESULT
Feature factory.
Definition: ogrfeature.cpp:129

Generated for GDAL by doxygen 1.8.17.