GDAL
ogr_api.h
Go to the documentation of this file.
1 /******************************************************************************
2  * $Id: ogr_api.h 1e4510d0d88bbf73885b7f18b79f50d5a6696131 2021-08-21 19:26:01 +0200 Even Rouault $
3  *
4  * Project: OpenGIS Simple Features Reference Implementation
5  * Purpose: C API for OGR Geometry, Feature, Layers, DataSource and drivers.
6  * Author: Frank Warmerdam, warmerdam@pobox.com
7  *
8  ******************************************************************************
9  * Copyright (c) 2002, Frank Warmerdam
10  * Copyright (c) 2008-2013, Even Rouault <even dot rouault at spatialys.com>
11  *
12  * Permission is hereby granted, free of charge, to any person obtaining a
13  * copy of this software and associated documentation files (the "Software"),
14  * to deal in the Software without restriction, including without limitation
15  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
16  * and/or sell copies of the Software, and to permit persons to whom the
17  * Software is furnished to do so, subject to the following conditions:
18  *
19  * The above copyright notice and this permission notice shall be included
20  * in all copies or substantial portions of the Software.
21  *
22  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
23  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
25  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
27  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
28  * DEALINGS IN THE SOFTWARE.
29  ****************************************************************************/
30 
31 #ifndef OGR_API_H_INCLUDED
32 #define OGR_API_H_INCLUDED
33 
43 #include "cpl_progress.h"
44 #include "cpl_minixml.h"
45 #include "ogr_core.h"
46 
47 #include <stdbool.h>
48 #include <stddef.h>
49 
51 
52 bool CPL_DLL OGRGetGEOSVersion(int *pnMajor, int *pnMinor, int *pnPatch);
53 
54 /* -------------------------------------------------------------------- */
55 /* Geometry related functions (ogr_geometry.h) */
56 /* -------------------------------------------------------------------- */
57 #ifndef DEFINEH_OGRGeometryH
58 
59 #define DEFINEH_OGRGeometryH
60 
61 #ifdef DEBUG
62 typedef struct OGRGeometryHS *OGRGeometryH;
63 #else
64 
65 typedef void *OGRGeometryH;
66 #endif
67 #endif /* DEFINEH_OGRGeometryH */
68 
69 #ifndef DEFINED_OGRSpatialReferenceH
70 
71 #define DEFINED_OGRSpatialReferenceH
72 
74 #ifndef DOXYGEN_XML
75 #ifdef DEBUG
76 typedef struct OGRSpatialReferenceHS *OGRSpatialReferenceH;
77 typedef struct OGRCoordinateTransformationHS *OGRCoordinateTransformationH;
78 #else
79 
80 typedef void *OGRSpatialReferenceH;
83 #endif
84 #endif
85 
86 #endif /* DEFINED_OGRSpatialReferenceH */
87 
88 struct _CPLXMLNode;
89 
90 /* From base OGRGeometry class */
91 
92 OGRErr CPL_DLL OGR_G_CreateFromWkb( const void*, OGRSpatialReferenceH,
93  OGRGeometryH *, int );
95  OGRGeometryH *, size_t );
97  OGRGeometryH * );
98 OGRErr CPL_DLL OGR_G_CreateFromFgf( const void*, OGRSpatialReferenceH,
99  OGRGeometryH *, int, int * );
100 void CPL_DLL OGR_G_DestroyGeometry( OGRGeometryH );
102 OGRGeometryH CPL_DLL
104  double dfCenterX, double dfCenterY, double dfZ,
105  double dfPrimaryRadius, double dfSecondaryAxis, double dfRotation,
106  double dfStartAngle, double dfEndAngle,
107  double dfMaxAngleStepSizeDegrees ) CPL_WARN_UNUSED_RESULT;
108 
115  OGRwkbGeometryType eTargetType,
116  char** papszOptions ) CPL_WARN_UNUSED_RESULT;
118 
119 int CPL_DLL OGR_G_GetDimension( OGRGeometryH );
122 void CPL_DLL OGR_G_SetCoordinateDimension( OGRGeometryH, int );
123 int CPL_DLL OGR_G_Is3D( OGRGeometryH );
124 int CPL_DLL OGR_G_IsMeasured( OGRGeometryH );
125 void CPL_DLL OGR_G_Set3D( OGRGeometryH, int );
126 void CPL_DLL OGR_G_SetMeasured( OGRGeometryH, int );
128 void CPL_DLL OGR_G_GetEnvelope( OGRGeometryH, OGREnvelope * );
130 OGRErr CPL_DLL OGR_G_ImportFromWkb( OGRGeometryH, const void*, int );
131 OGRErr CPL_DLL OGR_G_ExportToWkb( OGRGeometryH, OGRwkbByteOrder, unsigned char*);
132 OGRErr CPL_DLL OGR_G_ExportToIsoWkb( OGRGeometryH, OGRwkbByteOrder, unsigned char*);
133 int CPL_DLL OGR_G_WkbSize( OGRGeometryH hGeom );
134 size_t CPL_DLL OGR_G_WkbSizeEx( OGRGeometryH hGeom );
135 OGRErr CPL_DLL OGR_G_ImportFromWkt( OGRGeometryH, char ** );
136 OGRErr CPL_DLL OGR_G_ExportToWkt( OGRGeometryH, char ** );
137 OGRErr CPL_DLL OGR_G_ExportToIsoWkt( OGRGeometryH, char ** );
139 const char CPL_DLL *OGR_G_GetGeometryName( OGRGeometryH );
140 void CPL_DLL OGR_G_DumpReadable( OGRGeometryH, FILE *, const char * );
141 void CPL_DLL OGR_G_FlattenTo2D( OGRGeometryH );
142 void CPL_DLL OGR_G_CloseRings( OGRGeometryH );
143 
146 char CPL_DLL *OGR_G_ExportToGMLEx( OGRGeometryH, char** papszOptions ) CPL_WARN_UNUSED_RESULT;
147 
151 
152 char CPL_DLL *OGR_G_ExportToKML( OGRGeometryH, const char* pszAltitudeMode ) CPL_WARN_UNUSED_RESULT;
153 
155 char CPL_DLL *OGR_G_ExportToJsonEx( OGRGeometryH, char** papszOptions ) CPL_WARN_UNUSED_RESULT;
160 
166 
168 typedef struct OGRGeomTransformer* OGRGeomTransformerH;
170  CSLConstList papszOptions ) CPL_WARN_UNUSED_RESULT;
172 void CPL_DLL OGR_GeomTransformer_Destroy(OGRGeomTransformerH hTransformer);
173 
174 OGRGeometryH CPL_DLL OGR_G_Simplify( OGRGeometryH hThis, double tolerance ) CPL_WARN_UNUSED_RESULT;
176 OGRGeometryH CPL_DLL OGR_G_DelaunayTriangulation( OGRGeometryH hThis, double dfTolerance, int bOnlyEdges ) CPL_WARN_UNUSED_RESULT;
177 
178 void CPL_DLL OGR_G_Segmentize(OGRGeometryH hGeom, double dfMaxLength );
180 int CPL_DLL OGR_G_Equals( OGRGeometryH, OGRGeometryH );
181 /*int CPL_DLL OGR_G_EqualsExact( OGRGeometryH, OGRGeometryH, double );*/
183 int CPL_DLL OGR_G_Touches( OGRGeometryH, OGRGeometryH );
184 int CPL_DLL OGR_G_Crosses( OGRGeometryH, OGRGeometryH );
185 int CPL_DLL OGR_G_Within( OGRGeometryH, OGRGeometryH );
188 
196 /*OGRGeometryH CPL_DLL OGR_G_Polygonize( OGRGeometryH *, int);*/
197 /*OGRGeometryH CPL_DLL OGR_G_Polygonizer_getCutEdges( OGRGeometryH *, int);*/
198 /*OGRGeometryH CPL_DLL OGR_G_LineMerge( OGRGeometryH );*/
199 
202 double CPL_DLL OGR_G_Distance( OGRGeometryH, OGRGeometryH );
203 double CPL_DLL OGR_G_Distance3D( OGRGeometryH, OGRGeometryH );
204 double CPL_DLL OGR_G_Length( OGRGeometryH );
205 double CPL_DLL OGR_G_Area( OGRGeometryH );
207 OGRGeometryH CPL_DLL OGR_G_Value( OGRGeometryH, double dfDistance ) CPL_WARN_UNUSED_RESULT;
208 
209 void CPL_DLL OGR_G_Empty( OGRGeometryH );
210 int CPL_DLL OGR_G_IsEmpty( OGRGeometryH );
211 int CPL_DLL OGR_G_IsValid( OGRGeometryH );
212 /*char CPL_DLL *OGR_G_IsValidReason( OGRGeometryH );*/
216 int CPL_DLL OGR_G_IsSimple( OGRGeometryH );
217 int CPL_DLL OGR_G_IsRing( OGRGeometryH );
218 
220 
222 /* backward compatibility (non-standard methods) */
223 int CPL_DLL OGR_G_Intersect( OGRGeometryH, OGRGeometryH ) CPL_WARN_DEPRECATED("Non standard method. Use OGR_G_Intersects() instead");
224 int CPL_DLL OGR_G_Equal( OGRGeometryH, OGRGeometryH ) CPL_WARN_DEPRECATED("Non standard method. Use OGR_G_Equals() instead");
225 OGRGeometryH CPL_DLL OGR_G_SymmetricDifference( OGRGeometryH, OGRGeometryH ) CPL_WARN_DEPRECATED("Non standard method. Use OGR_G_SymDifference() instead");
226 double CPL_DLL OGR_G_GetArea( OGRGeometryH ) CPL_WARN_DEPRECATED("Non standard method. Use OGR_G_Area() instead");
227 OGRGeometryH CPL_DLL OGR_G_GetBoundary( OGRGeometryH ) CPL_WARN_DEPRECATED("Non standard method. Use OGR_G_Boundary() instead");
230 /* Methods for getting/setting vertices in points, line strings and rings */
231 int CPL_DLL OGR_G_GetPointCount( OGRGeometryH );
232 int CPL_DLL OGR_G_GetPoints( OGRGeometryH hGeom,
233  void* pabyX, int nXStride,
234  void* pabyY, int nYStride,
235  void* pabyZ, int nZStride);
236 int CPL_DLL OGR_G_GetPointsZM( OGRGeometryH hGeom,
237  void* pabyX, int nXStride,
238  void* pabyY, int nYStride,
239  void* pabyZ, int nZStride,
240  void* pabyM, int nMStride);
241 double CPL_DLL OGR_G_GetX( OGRGeometryH, int );
242 double CPL_DLL OGR_G_GetY( OGRGeometryH, int );
243 double CPL_DLL OGR_G_GetZ( OGRGeometryH, int );
244 double CPL_DLL OGR_G_GetM( OGRGeometryH, int );
245 void CPL_DLL OGR_G_GetPoint( OGRGeometryH, int iPoint,
246  double *, double *, double * );
247 void CPL_DLL OGR_G_GetPointZM( OGRGeometryH, int iPoint,
248  double *, double *, double *, double * );
249 void CPL_DLL OGR_G_SetPointCount( OGRGeometryH hGeom, int nNewPointCount );
250 void CPL_DLL OGR_G_SetPoint( OGRGeometryH, int iPoint,
251  double, double, double );
252 void CPL_DLL OGR_G_SetPoint_2D( OGRGeometryH, int iPoint,
253  double, double );
254 void CPL_DLL OGR_G_SetPointM( OGRGeometryH, int iPoint,
255  double, double, double );
256 void CPL_DLL OGR_G_SetPointZM( OGRGeometryH, int iPoint,
257  double, double, double, double );
258 void CPL_DLL OGR_G_AddPoint( OGRGeometryH, double, double, double );
259 void CPL_DLL OGR_G_AddPoint_2D( OGRGeometryH, double, double );
260 void CPL_DLL OGR_G_AddPointM( OGRGeometryH, double, double, double );
261 void CPL_DLL OGR_G_AddPointZM( OGRGeometryH, double, double, double, double );
262 void CPL_DLL OGR_G_SetPoints( OGRGeometryH hGeom, int nPointsIn,
263  const void* pabyX, int nXStride,
264  const void* pabyY, int nYStride,
265  const void* pabyZ, int nZStride );
266 void CPL_DLL OGR_G_SetPointsZM( OGRGeometryH hGeom, int nPointsIn,
267  const void* pabyX, int nXStride,
268  const void* pabyY, int nYStride,
269  const void* pabyZ, int nZStride,
270  const void* pabyM, int nMStride );
271 void CPL_DLL OGR_G_SwapXY( OGRGeometryH hGeom );
272 
273 /* Methods for getting/setting rings and members collections */
274 
275 int CPL_DLL OGR_G_GetGeometryCount( OGRGeometryH );
279 OGRErr CPL_DLL OGR_G_RemoveGeometry( OGRGeometryH, int, int );
280 
281 int CPL_DLL OGR_G_HasCurveGeometry( OGRGeometryH, int bLookForNonLinear );
283  double dfMaxAngleStepSizeDegrees,
284  char** papszOptions) CPL_WARN_UNUSED_RESULT;
286  char** papszOptions ) CPL_WARN_UNUSED_RESULT;
287 
288 OGRGeometryH CPL_DLL
289 OGRBuildPolygonFromEdges( OGRGeometryH hLinesAsCollection,
290  int bBestEffort,
291  int bAutoClose,
292  double dfTolerance,
293  OGRErr * peErr ) CPL_WARN_UNUSED_RESULT;
294 
296 OGRErr CPL_DLL OGRSetGenerate_DB2_V72_BYTE_ORDER(
297  int bGenerate_DB2_V72_BYTE_ORDER );
298 
299 int CPL_DLL OGRGetGenerate_DB2_V72_BYTE_ORDER(void);
302 void CPL_DLL OGRSetNonLinearGeometriesEnabledFlag(int bFlag);
303 int CPL_DLL OGRGetNonLinearGeometriesEnabledFlag(void);
304 
306 typedef struct _OGRPreparedGeometry * OGRPreparedGeometryH;
307 
308 int CPL_DLL OGRHasPreparedGeometrySupport(void);
310 void CPL_DLL OGRDestroyPreparedGeometry( OGRPreparedGeometryH hPreparedGeom );
311 int CPL_DLL OGRPreparedGeometryIntersects( OGRPreparedGeometryH hPreparedGeom,
312  OGRGeometryH hOtherGeom );
313 int CPL_DLL OGRPreparedGeometryContains( OGRPreparedGeometryH hPreparedGeom,
314  OGRGeometryH hOtherGeom );
315 
316 /* -------------------------------------------------------------------- */
317 /* Feature related (ogr_feature.h) */
318 /* -------------------------------------------------------------------- */
319 
320 #ifndef DEFINE_OGRFeatureH
321 
322 #define DEFINE_OGRFeatureH
323 
324 #ifdef DEBUG
325 typedef struct OGRFieldDefnHS *OGRFieldDefnH;
326 typedef struct OGRFeatureDefnHS *OGRFeatureDefnH;
327 typedef struct OGRFeatureHS *OGRFeatureH;
328 typedef struct OGRStyleTableHS *OGRStyleTableH;
329 #else
330 
331 typedef void *OGRFieldDefnH;
333 typedef void *OGRFeatureDefnH;
335 typedef void *OGRFeatureH;
337 typedef void *OGRStyleTableH;
338 #endif
339 
340 typedef struct OGRGeomFieldDefnHS *OGRGeomFieldDefnH;
341 
343 typedef struct OGRFieldDomainHS *OGRFieldDomainH;
344 #endif /* DEFINE_OGRFeatureH */
345 
346 /* OGRFieldDefn */
347 
349 void CPL_DLL OGR_Fld_Destroy( OGRFieldDefnH );
350 
351 void CPL_DLL OGR_Fld_SetName( OGRFieldDefnH, const char * );
352 const char CPL_DLL *OGR_Fld_GetNameRef( OGRFieldDefnH );
353 void CPL_DLL OGR_Fld_SetAlternativeName( OGRFieldDefnH, const char * );
354 const char CPL_DLL *OGR_Fld_GetAlternativeNameRef( OGRFieldDefnH );
361 int CPL_DLL OGR_Fld_GetWidth( OGRFieldDefnH );
362 void CPL_DLL OGR_Fld_SetWidth( OGRFieldDefnH, int );
363 int CPL_DLL OGR_Fld_GetPrecision( OGRFieldDefnH );
364 void CPL_DLL OGR_Fld_SetPrecision( OGRFieldDefnH, int );
365 void CPL_DLL OGR_Fld_Set( OGRFieldDefnH, const char *, OGRFieldType,
366  int, int, OGRJustification );
367 int CPL_DLL OGR_Fld_IsIgnored( OGRFieldDefnH hDefn );
368 void CPL_DLL OGR_Fld_SetIgnored( OGRFieldDefnH hDefn, int );
369 int CPL_DLL OGR_Fld_IsNullable( OGRFieldDefnH hDefn );
370 void CPL_DLL OGR_Fld_SetNullable( OGRFieldDefnH hDefn, int );
371 int CPL_DLL OGR_Fld_IsUnique( OGRFieldDefnH hDefn );
372 void CPL_DLL OGR_Fld_SetUnique( OGRFieldDefnH hDefn, int );
373 const char CPL_DLL *OGR_Fld_GetDefault( OGRFieldDefnH hDefn );
374 void CPL_DLL OGR_Fld_SetDefault( OGRFieldDefnH hDefn, const char* );
376 const char CPL_DLL* OGR_Fld_GetDomainName( OGRFieldDefnH hDefn );
377 void CPL_DLL OGR_Fld_SetDomainName( OGRFieldDefnH hDefn, const char* );
378 
379 const char CPL_DLL *OGR_GetFieldTypeName( OGRFieldType );
380 const char CPL_DLL *OGR_GetFieldSubTypeName( OGRFieldSubType );
381 int CPL_DLL OGR_AreTypeSubTypeCompatible( OGRFieldType eType,
382  OGRFieldSubType eSubType );
383 
384 /* OGRGeomFieldDefnH */
385 
387 void CPL_DLL OGR_GFld_Destroy( OGRGeomFieldDefnH );
388 
389 void CPL_DLL OGR_GFld_SetName( OGRGeomFieldDefnH, const char * );
390 const char CPL_DLL *OGR_GFld_GetNameRef( OGRGeomFieldDefnH );
391 
394 
397  OGRSpatialReferenceH hSRS );
398 
399 int CPL_DLL OGR_GFld_IsNullable( OGRGeomFieldDefnH hDefn );
400 void CPL_DLL OGR_GFld_SetNullable( OGRGeomFieldDefnH hDefn, int );
401 
402 int CPL_DLL OGR_GFld_IsIgnored( OGRGeomFieldDefnH hDefn );
403 void CPL_DLL OGR_GFld_SetIgnored( OGRGeomFieldDefnH hDefn, int );
404 
405 /* OGRFeatureDefn */
406 
408 void CPL_DLL OGR_FD_Destroy( OGRFeatureDefnH );
409 void CPL_DLL OGR_FD_Release( OGRFeatureDefnH );
410 const char CPL_DLL *OGR_FD_GetName( OGRFeatureDefnH );
413 int CPL_DLL OGR_FD_GetFieldIndex( OGRFeatureDefnH, const char * );
415 OGRErr CPL_DLL OGR_FD_DeleteFieldDefn( OGRFeatureDefnH hDefn, int iField );
416 OGRErr CPL_DLL OGR_FD_ReorderFieldDefns( OGRFeatureDefnH hDefn, const int* panMap );
420 void CPL_DLL OGR_FD_SetGeometryIgnored( OGRFeatureDefnH, int );
422 void CPL_DLL OGR_FD_SetStyleIgnored( OGRFeatureDefnH, int );
423 int CPL_DLL OGR_FD_Reference( OGRFeatureDefnH );
424 int CPL_DLL OGR_FD_Dereference( OGRFeatureDefnH );
426 
427 int CPL_DLL OGR_FD_GetGeomFieldCount( OGRFeatureDefnH hFDefn );
429  int i );
430 int CPL_DLL OGR_FD_GetGeomFieldIndex( OGRFeatureDefnH hFDefn,
431  const char *pszName);
432 
433 void CPL_DLL OGR_FD_AddGeomFieldDefn( OGRFeatureDefnH hFDefn,
434  OGRGeomFieldDefnH hGFldDefn);
436  int iGeomField );
437 int CPL_DLL OGR_FD_IsSame( OGRFeatureDefnH hFDefn,
438  OGRFeatureDefnH hOtherFDefn );
439 /* OGRFeature */
440 
442 void CPL_DLL OGR_F_Destroy( OGRFeatureH );
444 
450 int CPL_DLL OGR_F_Equal( OGRFeatureH, OGRFeatureH );
451 
452 int CPL_DLL OGR_F_GetFieldCount( OGRFeatureH );
454 int CPL_DLL OGR_F_GetFieldIndex( OGRFeatureH, const char * );
455 
456 int CPL_DLL OGR_F_IsFieldSet( OGRFeatureH, int );
457 void CPL_DLL OGR_F_UnsetField( OGRFeatureH, int );
458 
459 int CPL_DLL OGR_F_IsFieldNull( OGRFeatureH, int );
460 int CPL_DLL OGR_F_IsFieldSetAndNotNull( OGRFeatureH, int );
461 void CPL_DLL OGR_F_SetFieldNull( OGRFeatureH, int );
462 
463 OGRField CPL_DLL *OGR_F_GetRawFieldRef( OGRFeatureH, int );
464 
465 int CPL_DLL OGR_RawField_IsUnset( const OGRField* );
466 int CPL_DLL OGR_RawField_IsNull( const OGRField* );
467 void CPL_DLL OGR_RawField_SetUnset( OGRField* );
468 void CPL_DLL OGR_RawField_SetNull( OGRField* );
469 
470 int CPL_DLL OGR_F_GetFieldAsInteger( OGRFeatureH, int );
472 double CPL_DLL OGR_F_GetFieldAsDouble( OGRFeatureH, int );
473 const char CPL_DLL *OGR_F_GetFieldAsString( OGRFeatureH, int );
474 const int CPL_DLL *OGR_F_GetFieldAsIntegerList( OGRFeatureH, int, int * );
475 const GIntBig CPL_DLL *OGR_F_GetFieldAsInteger64List( OGRFeatureH, int, int * );
476 const double CPL_DLL *OGR_F_GetFieldAsDoubleList( OGRFeatureH, int, int * );
477 char CPL_DLL **OGR_F_GetFieldAsStringList( OGRFeatureH, int );
478 GByte CPL_DLL *OGR_F_GetFieldAsBinary( OGRFeatureH, int, int * );
479 int CPL_DLL OGR_F_GetFieldAsDateTime( OGRFeatureH, int, int *, int *, int *,
480  int *, int *, int *, int * );
481 int CPL_DLL OGR_F_GetFieldAsDateTimeEx( OGRFeatureH hFeat, int iField,
482  int *pnYear, int *pnMonth, int *pnDay,
483  int *pnHour, int *pnMinute, float *pfSecond,
484  int *pnTZFlag );
485 
486 void CPL_DLL OGR_F_SetFieldInteger( OGRFeatureH, int, int );
487 void CPL_DLL OGR_F_SetFieldInteger64( OGRFeatureH, int, GIntBig );
488 void CPL_DLL OGR_F_SetFieldDouble( OGRFeatureH, int, double );
489 void CPL_DLL OGR_F_SetFieldString( OGRFeatureH, int, const char * );
490 void CPL_DLL OGR_F_SetFieldIntegerList( OGRFeatureH, int, int, const int * );
491 void CPL_DLL OGR_F_SetFieldInteger64List( OGRFeatureH, int, int, const GIntBig * );
492 void CPL_DLL OGR_F_SetFieldDoubleList( OGRFeatureH, int, int, const double * );
494 void CPL_DLL OGR_F_SetFieldRaw( OGRFeatureH, int, OGRField * );
495 void CPL_DLL OGR_F_SetFieldBinary( OGRFeatureH, int, int, const void * );
496 void CPL_DLL OGR_F_SetFieldDateTime( OGRFeatureH, int,
497  int, int, int, int, int, int, int );
498 void CPL_DLL OGR_F_SetFieldDateTimeEx( OGRFeatureH, int,
499  int, int, int, int, int, float, int );
500 
501 int CPL_DLL OGR_F_GetGeomFieldCount( OGRFeatureH hFeat );
503  int iField );
504 int CPL_DLL OGR_F_GetGeomFieldIndex( OGRFeatureH hFeat,
505  const char *pszName);
506 
508  int iField );
510  int iField,
511  OGRGeometryH hGeom );
512 OGRErr CPL_DLL OGR_F_SetGeomField( OGRFeatureH hFeat,
513  int iField, OGRGeometryH hGeom );
514 
515 GIntBig CPL_DLL OGR_F_GetFID( OGRFeatureH );
517 void CPL_DLL OGR_F_DumpReadable( OGRFeatureH, FILE * );
519 OGRErr CPL_DLL OGR_F_SetFromWithMap( OGRFeatureH, OGRFeatureH, int , const int * );
520 
521 const char CPL_DLL *OGR_F_GetStyleString( OGRFeatureH );
522 void CPL_DLL OGR_F_SetStyleString( OGRFeatureH, const char * );
523 void CPL_DLL OGR_F_SetStyleStringDirectly( OGRFeatureH, char * );
530 
531 const char CPL_DLL *OGR_F_GetNativeData( OGRFeatureH );
532 void CPL_DLL OGR_F_SetNativeData( OGRFeatureH, const char* );
533 const char CPL_DLL *OGR_F_GetNativeMediaType( OGRFeatureH );
534 void CPL_DLL OGR_F_SetNativeMediaType( OGRFeatureH, const char* );
535 
536 void CPL_DLL OGR_F_FillUnsetWithDefault( OGRFeatureH hFeat,
537  int bNotNullableOnly,
538  char** papszOptions );
539 int CPL_DLL OGR_F_Validate( OGRFeatureH, int nValidateFlags, int bEmitError );
540 
541 /* OGRFieldDomain */
542 
544 const char CPL_DLL* OGR_FldDomain_GetName(OGRFieldDomainH);
545 const char CPL_DLL* OGR_FldDomain_GetDescription(OGRFieldDomainH);
553 
554 OGRFieldDomainH CPL_DLL OGR_CodedFldDomain_Create(const char* pszName,
555  const char* pszDescription,
556  OGRFieldType eFieldType,
557  OGRFieldSubType eFieldSubType,
558  const OGRCodedValue* enumeration);
560 
561 OGRFieldDomainH CPL_DLL OGR_RangeFldDomain_Create(const char* pszName,
562  const char* pszDescription,
563  OGRFieldType eFieldType,
564  OGRFieldSubType eFieldSubType,
565  const OGRField* psMin,
566  bool bMinIsInclusive,
567  const OGRField* psMax,
568  bool bMaxIsInclusive);
569 const OGRField CPL_DLL *OGR_RangeFldDomain_GetMin(OGRFieldDomainH, bool* pbIsInclusiveOut);
570 const OGRField CPL_DLL *OGR_RangeFldDomain_GetMax(OGRFieldDomainH, bool* pbIsInclusiveOut);
571 
572 OGRFieldDomainH CPL_DLL OGR_GlobFldDomain_Create(const char* pszName,
573  const char* pszDescription,
574  OGRFieldType eFieldType,
575  OGRFieldSubType eFieldSubType,
576  const char* pszGlob);
577 const char CPL_DLL *OGR_GlobFldDomain_GetGlob(OGRFieldDomainH);
578 
579 /* -------------------------------------------------------------------- */
580 /* ogrsf_frmts.h */
581 /* -------------------------------------------------------------------- */
582 
583 #ifdef DEBUG
584 typedef struct OGRLayerHS *OGRLayerH;
585 typedef struct OGRDataSourceHS *OGRDataSourceH;
586 typedef struct OGRDriverHS *OGRSFDriverH;
587 #else
588 
589 typedef void *OGRLayerH;
591 typedef void *OGRDataSourceH;
593 typedef void *OGRSFDriverH;
594 #endif
595 
596 /* OGRLayer */
597 
598 const char CPL_DLL* OGR_L_GetName( OGRLayerH );
603  double, double, double, double );
604 void CPL_DLL OGR_L_SetSpatialFilterEx( OGRLayerH, int iGeomField,
605  OGRGeometryH hGeom );
606 void CPL_DLL OGR_L_SetSpatialFilterRectEx( OGRLayerH, int iGeomField,
607  double dfMinX, double dfMinY,
608  double dfMaxX, double dfMaxY );
609 OGRErr CPL_DLL OGR_L_SetAttributeFilter( OGRLayerH, const char * );
610 void CPL_DLL OGR_L_ResetReading( OGRLayerH );
612 
641 #define OGR_FOR_EACH_FEATURE_BEGIN(hFeat, hLayer) \
642  { \
643  OGRFeatureH hFeat = CPL_NULLPTR; \
644  OGR_L_ResetReading(hLayer); \
645  while( true) \
646  { \
647  if( hFeat ) \
648  OGR_F_Destroy(hFeat); \
649  hFeat = OGR_L_GetNextFeature(hLayer); \
650  if( !hFeat ) \
651  break;
652 
654 #define OGR_FOR_EACH_FEATURE_END(hFeat) \
655  } \
656  OGR_F_Destroy(hFeat); \
657  }
658 
666 int CPL_DLL OGR_L_FindFieldIndex( OGRLayerH, const char *, int bExactMatch );
667 GIntBig CPL_DLL OGR_L_GetFeatureCount( OGRLayerH, int );
668 OGRErr CPL_DLL OGR_L_GetExtent( OGRLayerH, OGREnvelope *, int );
669 OGRErr CPL_DLL OGR_L_GetExtentEx( OGRLayerH, int iGeomField,
670  OGREnvelope *psExtent, int bForce );
671 int CPL_DLL OGR_L_TestCapability( OGRLayerH, const char * );
673 OGRErr CPL_DLL OGR_L_CreateGeomField( OGRLayerH hLayer,
674  OGRGeomFieldDefnH hFieldDefn, int bForce );
675 OGRErr CPL_DLL OGR_L_DeleteField( OGRLayerH, int iField );
676 OGRErr CPL_DLL OGR_L_ReorderFields( OGRLayerH, int* panMap );
677 OGRErr CPL_DLL OGR_L_ReorderField( OGRLayerH, int iOldFieldPos, int iNewFieldPos );
678 OGRErr CPL_DLL OGR_L_AlterFieldDefn( OGRLayerH, int iField, OGRFieldDefnH hNewFieldDefn, int nFlags );
683 int CPL_DLL OGR_L_Reference( OGRLayerH );
684 int CPL_DLL OGR_L_Dereference( OGRLayerH );
685 int CPL_DLL OGR_L_GetRefCount( OGRLayerH );
689 GIntBig CPL_DLL OGR_L_GetFeaturesRead( OGRLayerH );
691 const char CPL_DLL *OGR_L_GetFIDColumn( OGRLayerH );
692 const char CPL_DLL *OGR_L_GetGeometryColumn( OGRLayerH );
699 OGRErr CPL_DLL OGR_L_SetIgnoredFields( OGRLayerH, const char** );
700 OGRErr CPL_DLL OGR_L_Intersection( OGRLayerH, OGRLayerH, OGRLayerH, char**, GDALProgressFunc, void * );
701 OGRErr CPL_DLL OGR_L_Union( OGRLayerH, OGRLayerH, OGRLayerH, char**, GDALProgressFunc, void * );
702 OGRErr CPL_DLL OGR_L_SymDifference( OGRLayerH, OGRLayerH, OGRLayerH, char**, GDALProgressFunc, void * );
703 OGRErr CPL_DLL OGR_L_Identity( OGRLayerH, OGRLayerH, OGRLayerH, char**, GDALProgressFunc, void * );
704 OGRErr CPL_DLL OGR_L_Update( OGRLayerH, OGRLayerH, OGRLayerH, char**, GDALProgressFunc, void * );
705 OGRErr CPL_DLL OGR_L_Clip( OGRLayerH, OGRLayerH, OGRLayerH, char**, GDALProgressFunc, void * );
706 OGRErr CPL_DLL OGR_L_Erase( OGRLayerH, OGRLayerH, OGRLayerH, char**, GDALProgressFunc, void * );
707 
708 /* OGRDataSource */
709 
710 void CPL_DLL OGR_DS_Destroy( OGRDataSourceH );
711 const char CPL_DLL *OGR_DS_GetName( OGRDataSourceH );
712 int CPL_DLL OGR_DS_GetLayerCount( OGRDataSourceH );
714 OGRLayerH CPL_DLL OGR_DS_GetLayerByName( OGRDataSourceH, const char * );
717 OGRLayerH CPL_DLL OGR_DS_CreateLayer( OGRDataSourceH, const char *,
719  char ** );
720 OGRLayerH CPL_DLL OGR_DS_CopyLayer( OGRDataSourceH, OGRLayerH, const char *,
721  char ** );
722 int CPL_DLL OGR_DS_TestCapability( OGRDataSourceH, const char * );
723 OGRLayerH CPL_DLL OGR_DS_ExecuteSQL( OGRDataSourceH, const char *,
724  OGRGeometryH, const char * );
727 int CPL_DLL OGR_DS_Reference( OGRDataSourceH );
728 int CPL_DLL OGR_DS_Dereference( OGRDataSourceH );
729 int CPL_DLL OGR_DS_GetRefCount( OGRDataSourceH );
730 int CPL_DLL OGR_DS_GetSummaryRefCount( OGRDataSourceH );
740 
741 /* OGRSFDriver */
742 
743 const char CPL_DLL *OGR_Dr_GetName( OGRSFDriverH );
744 OGRDataSourceH CPL_DLL OGR_Dr_Open( OGRSFDriverH, const char *, int ) CPL_WARN_UNUSED_RESULT;
745 int CPL_DLL OGR_Dr_TestCapability( OGRSFDriverH, const char * );
747  char ** ) CPL_WARN_UNUSED_RESULT;
749  const char *, char ** ) CPL_WARN_UNUSED_RESULT;
750 OGRErr CPL_DLL OGR_Dr_DeleteDataSource( OGRSFDriverH, const char * );
751 
752 /* OGRSFDriverRegistrar */
753 
754 OGRDataSourceH CPL_DLL OGROpen( const char *, int, OGRSFDriverH * ) CPL_WARN_UNUSED_RESULT;
755 OGRDataSourceH CPL_DLL OGROpenShared( const char *, int, OGRSFDriverH * ) CPL_WARN_UNUSED_RESULT;
758 void CPL_DLL OGRRegisterDriver( OGRSFDriverH );
759 void CPL_DLL OGRDeregisterDriver( OGRSFDriverH );
761 int CPL_DLL OGRGetDriverCount(void);
762 OGRSFDriverH CPL_DLL OGRGetDriver( int );
763 OGRSFDriverH CPL_DLL OGRGetDriverByName( const char * );
765 int CPL_DLL OGRGetOpenDSCount(void);
766 OGRDataSourceH CPL_DLL OGRGetOpenDS( int iDS );
769 void CPL_DLL OGRRegisterAll(void);
770 
773 void CPL_DLL OGRCleanupAll(void);
774 
775 /* -------------------------------------------------------------------- */
776 /* ogrsf_featurestyle.h */
777 /* -------------------------------------------------------------------- */
778 
779 #ifdef DEBUG
780 typedef struct OGRStyleMgrHS *OGRStyleMgrH;
781 typedef struct OGRStyleToolHS *OGRStyleToolH;
782 #else
783 
784 typedef void *OGRStyleMgrH;
786 typedef void *OGRStyleToolH;
787 #endif
788 
789 /* OGRStyleMgr */
790 
792 void CPL_DLL OGR_SM_Destroy(OGRStyleMgrH hSM);
793 
794 const char CPL_DLL *OGR_SM_InitFromFeature(OGRStyleMgrH hSM,
795  OGRFeatureH hFeat);
796 int CPL_DLL OGR_SM_InitStyleString(OGRStyleMgrH hSM,
797  const char *pszStyleString);
798 int CPL_DLL OGR_SM_GetPartCount(OGRStyleMgrH hSM,
799  const char *pszStyleString);
800 OGRStyleToolH CPL_DLL OGR_SM_GetPart(OGRStyleMgrH hSM, int nPartId,
801  const char *pszStyleString);
802 int CPL_DLL OGR_SM_AddPart(OGRStyleMgrH hSM, OGRStyleToolH hST);
803 int CPL_DLL OGR_SM_AddStyle(OGRStyleMgrH hSM, const char *pszStyleName,
804  const char *pszStyleString);
805 
806 /* OGRStyleTool */
807 
809 void CPL_DLL OGR_ST_Destroy(OGRStyleToolH hST);
810 
812 
814 void CPL_DLL OGR_ST_SetUnit(OGRStyleToolH hST, OGRSTUnitId eUnit,
815  double dfGroundPaperScale);
816 
817 const char CPL_DLL *OGR_ST_GetParamStr(OGRStyleToolH hST, int eParam, int *bValueIsNull);
818 int CPL_DLL OGR_ST_GetParamNum(OGRStyleToolH hST, int eParam, int *bValueIsNull);
819 double CPL_DLL OGR_ST_GetParamDbl(OGRStyleToolH hST, int eParam, int *bValueIsNull);
820 void CPL_DLL OGR_ST_SetParamStr(OGRStyleToolH hST, int eParam, const char *pszValue);
821 void CPL_DLL OGR_ST_SetParamNum(OGRStyleToolH hST, int eParam, int nValue);
822 void CPL_DLL OGR_ST_SetParamDbl(OGRStyleToolH hST, int eParam, double dfValue);
823 const char CPL_DLL *OGR_ST_GetStyleString(OGRStyleToolH hST);
824 
825 int CPL_DLL OGR_ST_GetRGBFromString(OGRStyleToolH hST, const char *pszColor,
826  int *pnRed, int *pnGreen, int *pnBlue,
827  int *pnAlpha);
828 
829 /* OGRStyleTable */
830 
832 void CPL_DLL OGR_STBL_Destroy( OGRStyleTableH hSTBL );
833 int CPL_DLL OGR_STBL_AddStyle( OGRStyleTableH hStyleTable,
834  const char *pszName,
835  const char *pszStyleString);
836 int CPL_DLL OGR_STBL_SaveStyleTable( OGRStyleTableH hStyleTable,
837  const char *pszFilename );
838 int CPL_DLL OGR_STBL_LoadStyleTable( OGRStyleTableH hStyleTable,
839  const char *pszFilename );
840 const char CPL_DLL *OGR_STBL_Find( OGRStyleTableH hStyleTable, const char *pszName );
841 void CPL_DLL OGR_STBL_ResetStyleStringReading( OGRStyleTableH hStyleTable );
842 const char CPL_DLL *OGR_STBL_GetNextStyle( OGRStyleTableH hStyleTable);
843 const char CPL_DLL *OGR_STBL_GetLastStyleName( OGRStyleTableH hStyleTable);
844 
845 CPL_C_END
846 
847 #endif /* ndef OGR_API_H_INCLUDED */
OGRSpatialReferenceH OGR_G_GetSpatialReference(OGRGeometryH)
Returns spatial reference system for geometry.
Definition: ogrgeometry.cpp:2046
OGRFeatureH OGR_L_GetFeature(OGRLayerH, GIntBig)
Fetch a feature by its identifier.
Definition: ogrlayer.cpp:481
char * OGR_G_ExportToGMLEx(OGRGeometryH, char **papszOptions)
Convert a geometry into GML format.
Definition: ogr2gmlgeometry.cpp:1266
const char * OGR_F_GetFieldAsString(OGRFeatureH, int)
Fetch field value as a string.
Definition: ogrfeature.cpp:2620
OGRErr OGR_L_ReorderFields(OGRLayerH, int *panMap)
Reorder all the fields of a layer.
Definition: ogrlayer.cpp:748
void * OGRSFDriverH
Opaque type for a OGR driver (OGRSFDriver)
Definition: ogr_api.h:593
int OGRGetNonLinearGeometriesEnabledFlag(void)
Get flag to enable/disable returning non-linear geometries in the C API.
Definition: ogr_api.cpp:1888
void * OGRLayerH
Opaque type for a layer (OGRLayer)
Definition: ogr_api.h:589
void OGR_F_SetNativeData(OGRFeatureH, const char *)
Sets the native data for the feature.
Definition: ogrfeature.cpp:6843
void OGR_FD_Destroy(OGRFeatureDefnH)
Destroy a feature definition object and release all memory associated with it.
Definition: ogrfeaturedefn.cpp:123
OGRErr OGR_L_ReorderField(OGRLayerH, int iOldFieldPos, int iNewFieldPos)
Reorder an existing field on a layer.
Definition: ogrlayer.cpp:824
int OGR_G_GetCoordinateDimension(OGRGeometryH)
Get the dimension of the coordinates in this geometry.
Definition: ogrgeometry.cpp:930
void OGR_RawField_SetNull(OGRField *)
Mark a raw field as null.
Definition: ogrfeature.cpp:6992
OGRDataSourceH OGR_Dr_Open(OGRSFDriverH, const char *, int)
Attempt to open file with this driver.
void OGR_FD_AddFieldDefn(OGRFeatureDefnH, OGRFieldDefnH)
Add a new field definition to the passed feature definition.
Definition: ogrfeaturedefn.cpp:441
OGRErr OGR_G_ImportFromWkt(OGRGeometryH, char **)
Assign geometry from well known text data.
Definition: ogrgeometry.cpp:1642
OGRGeometryH OGR_L_GetSpatialFilter(OGRLayerH)
This function returns the current spatial filter for this layer.
Definition: ogrlayer.cpp:1095
double OGR_G_Distance(OGRGeometryH, OGRGeometryH)
Compute distance between two geometries.
Definition: ogrgeometry.cpp:3393
OGRFieldSubType
List of field subtypes.
Definition: ogr_core.h:673
OGRwkbGeometryType OGR_G_GetGeometryType(OGRGeometryH)
Fetch geometry type.
Definition: ogrgeometry.cpp:1937
Document node structure.
Definition: cpl_minixml.h:69
void OGR_G_CloseRings(OGRGeometryH)
Force rings to be closed.
Definition: ogrgeometry.cpp:5327
Definitions for CPL mini XML Parser/Serializer.
OGRGeometryH OGR_G_ApproximateArcAngles(double dfCenterX, double dfCenterY, double dfZ, double dfPrimaryRadius, double dfSecondaryAxis, double dfRotation, double dfStartAngle, double dfEndAngle, double dfMaxAngleStepSizeDegrees)
Stroke arc to linestring.
Definition: ogrgeometryfactory.cpp:4305
OGRFieldSubType OGR_Fld_GetSubType(OGRFieldDefnH)
Fetch subtype of this field.
Definition: ogrfielddefn.cpp:464
OGRErr OGR_L_CreateField(OGRLayerH, OGRFieldDefnH, int)
Create a new field on a layer.
Definition: ogrlayer.cpp:681
void OGR_GeomTransformer_Destroy(OGRGeomTransformerH hTransformer)
Destroy a geometry transformer allocated with OGR_GeomTransformer_Create()
Definition: ogrgeometryfactory.cpp:4084
OGRErr OGR_G_ExportToWkt(OGRGeometryH, char **)
Convert a geometry into well known text format.
Definition: ogrgeometry.cpp:1865
OGRFeatureH OGR_F_Create(OGRFeatureDefnH)
Feature factory.
Definition: ogrfeature.cpp:129
void OGR_F_SetFieldBinary(OGRFeatureH, int, int, const void *)
Set field to binary data.
Definition: ogrfeature.cpp:4776
void OGR_F_SetNativeMediaType(OGRFeatureH, const char *)
Sets the native media type for the feature.
Definition: ogrfeature.cpp:6900
OGRGeometryH OGR_G_MakeValid(OGRGeometryH)
Attempts to make an invalid geometry valid without losing vertices.
Definition: ogrgeometry.cpp:3775
OGRErr OGR_F_SetFromWithMap(OGRFeatureH, OGRFeatureH, int, const int *)
Set one feature from another.
Definition: ogrfeature.cpp:5899
void OGR_ST_SetParamDbl(OGRStyleToolH hST, int eParam, double dfValue)
Set Style Tool parameter value from a double.
Definition: ogrfeaturestyle.cpp:2533
OGRGeometryH OGR_G_SimplifyPreserveTopology(OGRGeometryH hThis, double tolerance)
Simplify the geometry while preserving topology.
Definition: ogrgeometry.cpp:5752
struct OGRFieldDomainHS * OGRFieldDomainH
Opaque type for a field domain definition (OGRFieldDomain)
Definition: ogr_api.h:343
void OGR_F_SetFieldInteger(OGRFeatureH, int, int)
Set field to integer value.
Definition: ogrfeature.cpp:3483
void OGR_Fld_Destroy(OGRFieldDefnH)
Destroy a field definition.
Definition: ogrfielddefn.cpp:145
int OGR_FD_GetFieldCount(OGRFeatureDefnH)
Fetch number of fields on the passed feature definition.
Definition: ogrfeaturedefn.cpp:287
void OGR_RawField_SetUnset(OGRField *)
Mark a raw field as unset.
Definition: ogrfeature.cpp:6968
#define CPL_C_START
Macro to start a block of C symbols.
Definition: cpl_port.h:329
OGRFieldDefnH OGR_FD_GetFieldDefn(OGRFeatureDefnH, int)
Fetch field definition of the passed feature definition.
Definition: ogrfeaturedefn.cpp:368
void OGR_DS_Destroy(OGRDataSourceH)
Closes opened datasource and releases allocated resources.
Definition: ogrdatasource.cpp:58
OGRErr OGR_F_SetGeometry(OGRFeatureH, OGRGeometryH)
Set feature geometry.
Definition: ogrfeature.cpp:472
OGRErr OGR_L_GetExtent(OGRLayerH, OGREnvelope *, int)
Fetch the extent of this layer.
Definition: ogrlayer.cpp:303
void OGR_F_SetFieldDouble(OGRFeatureH, int, double)
Set field to double value.
Definition: ogrfeature.cpp:3793
int OGR_FD_IsGeometryIgnored(OGRFeatureDefnH)
Determine whether the geometry can be omitted when fetching features.
Definition: ogrfeaturedefn.cpp:1301
int OGR_FD_GetFieldIndex(OGRFeatureDefnH, const char *)
Find field by name.
Definition: ogrfeaturedefn.cpp:1244
int OGR_STBL_SaveStyleTable(OGRStyleTableH hStyleTable, const char *pszFilename)
Save a style table to a file.
Definition: ogrfeaturestyle.cpp:1023
void OGR_Fld_SetNullable(OGRFieldDefnH hDefn, int)
Set whether this field can receive null values.
Definition: ogrfielddefn.cpp:1354
OGRErr OGR_G_AddGeometry(OGRGeometryH, OGRGeometryH)
Add a geometry to a geometry container.
Definition: ogr_api.cpp:1411
int OGR_G_GetPointsZM(OGRGeometryH hGeom, void *pabyX, int nXStride, void *pabyY, int nYStride, void *pabyZ, int nZStride, void *pabyM, int nMStride)
Returns all points of line string.
Definition: ogr_api.cpp:402
OGRErr OGR_G_TransformTo(OGRGeometryH, OGRSpatialReferenceH)
Transform geometry to new spatial reference system.
Definition: ogrgeometry.cpp:685
OGRErr OGR_F_SetGeometryDirectly(OGRFeatureH, OGRGeometryH)
Set feature geometry.
Definition: ogrfeature.cpp:401
void OGR_G_SetPoints(OGRGeometryH hGeom, int nPointsIn, const void *pabyX, int nXStride, const void *pabyY, int nYStride, const void *pabyZ, int nZStride)
Assign all points in a point or a line string geometry.
Definition: ogr_api.cpp:606
OGRErr OGR_L_AlterFieldDefn(OGRLayerH, int iField, OGRFieldDefnH hNewFieldDefn, int nFlags)
Alter the definition of an existing field on a layer.
Definition: ogrlayer.cpp:856
OGRFieldDomainMergePolicy OGR_FldDomain_GetMergePolicy(OGRFieldDomainH)
Get the split policy of the field domain.
Definition: ogrfielddefn.cpp:2129
void OGR_F_DumpReadable(OGRFeatureH, FILE *)
Dump this feature in a human readable form.
Definition: ogrfeature.cpp:5355
int OGR_G_Centroid(OGRGeometryH, OGRGeometryH)
Compute the geometry centroid.
Definition: ogrgeometry.cpp:5466
void OGR_Fld_SetJustify(OGRFieldDefnH, OGRJustification)
Set the justification for this field.
Definition: ogrfielddefn.cpp:976
void OGR_DS_SetStyleTableDirectly(OGRDataSourceH, OGRStyleTableH)
Set style table (and take ownership)
Definition: ogrdatasource.cpp:352
void OGR_G_AddPoint_2D(OGRGeometryH, double, double)
Add a point to a geometry (line string or point).
Definition: ogr_api.cpp:1143
OGRGeometryH OGR_G_ForceTo(OGRGeometryH hGeom, OGRwkbGeometryType eTargetType, char **papszOptions)
Convert to another geometry type.
Definition: ogrgeometryfactory.cpp:4899
void OGR_L_SetStyleTable(OGRLayerH, OGRStyleTableH)
Set style table.
Definition: ogrlayer.cpp:1712
OGRErr OGR_L_StartTransaction(OGRLayerH)
For datasources which support transactions, StartTransaction creates a transaction.
Definition: ogrlayer.cpp:922
OGRErr OGR_F_SetGeomField(OGRFeatureH hFeat, int iField, OGRGeometryH hGeom)
Set feature geometry of a specified geometry field.
Definition: ogrfeature.cpp:923
OGRGeometryH OGR_G_UnionCascaded(OGRGeometryH)
Compute union using cascading.
Definition: ogrgeometry.cpp:4547
OGRErr OGR_L_SetFeature(OGRLayerH, OGRFeatureH)
Rewrite an existing feature.
Definition: ogrlayer.cpp:608
OGRGeometryH OGR_F_GetGeomFieldRef(OGRFeatureH hFeat, int iField)
Fetch a handle to feature geometry.
Definition: ogrfeature.cpp:755
void OGR_G_GetEnvelope3D(OGRGeometryH, OGREnvelope3D *)
Computes and returns the bounding envelope (3D) for this geometry in the passed psEnvelope structure...
Definition: ogrgeometry.cpp:1392
void OGR_G_SetMeasured(OGRGeometryH, int)
Add or remove the M coordinate dimension.
Definition: ogrgeometry.cpp:1153
OGRPreparedGeometryH OGRCreatePreparedGeometry(OGRGeometryH hGeom)
Creates a prepared geometry.
Definition: ogrgeometry.cpp:6070
OGRErr OGR_G_CreateFromWkbEx(const void *, OGRSpatialReferenceH, OGRGeometryH *, size_t)
Create a geometry object of the appropriate type from its well known binary representation.
Definition: ogrgeometryfactory.cpp:321
void OGR_Fld_SetIgnored(OGRFieldDefnH hDefn, int)
Set whether this field should be omitted when fetching features.
Definition: ogrfielddefn.cpp:1237
void OGRDestroyPreparedGeometry(OGRPreparedGeometryH hPreparedGeom)
Destroys a prepared geometry.
Definition: ogrgeometry.cpp:6108
OGRFieldDefnH OGR_Fld_Create(const char *, OGRFieldType)
Create a new field definition.
Definition: ogrfielddefn.cpp:118
OGRGeometryH OGR_G_Boundary(OGRGeometryH)
Compute boundary.
Definition: ogrgeometry.cpp:4100
int OGRGetDriverCount(void)
Fetch the number of registered drivers.
int OGR_SM_InitStyleString(OGRStyleMgrH hSM, const char *pszStyleString)
Initialize style manager from the style string.
Definition: ogrfeaturestyle.cpp:336
void OGR_Fld_SetAlternativeName(OGRFieldDefnH, const char *)
Reset the alternative name (or "alias") for this field.
Definition: ogrfielddefn.cpp:286
int OGR_F_IsFieldNull(OGRFeatureH, int)
Test if a field is null.
Definition: ogrfeature.cpp:1552
GIntBig OGR_F_GetFieldAsInteger64(OGRFeatureH, int)
Fetch field value as integer 64 bit.
Definition: ogrfeature.cpp:2077
int OGR_ST_GetRGBFromString(OGRStyleToolH hST, const char *pszColor, int *pnRed, int *pnGreen, int *pnBlue, int *pnAlpha)
Return the r,g,b,a components of a color encoded in #RRGGBB[AA] format.
Definition: ogrfeaturestyle.cpp:2631
OGRErr OGR_G_CreateFromWkb(const void *, OGRSpatialReferenceH, OGRGeometryH *, int)
Create a geometry object of the appropriate type from its well known binary representation.
Definition: ogrgeometryfactory.cpp:275
int OGR_G_Overlaps(OGRGeometryH, OGRGeometryH)
Test for overlap.
Definition: ogrgeometry.cpp:5290
int OGR_F_Equal(OGRFeatureH, OGRFeatureH)
Test if two features are the same.
Definition: ogrfeature.cpp:5682
int OGR_SM_AddPart(OGRStyleMgrH hSM, OGRStyleToolH hST)
Add a part (style tool) to the current style.
Definition: ogrfeaturestyle.cpp:565
void OGR_F_SetFieldString(OGRFeatureH, int, const char *)
Set field to string value.
Definition: ogrfeature.cpp:4108
OGRErr OGR_L_SymDifference(OGRLayerH, OGRLayerH, OGRLayerH, char **, GDALProgressFunc, void *)
Symmetrical difference of two layers.
Definition: ogrlayer.cpp:3097
const char * OGR_FD_GetName(OGRFeatureDefnH)
Get name of the OGRFeatureDefn passed as an argument.
Definition: ogrfeaturedefn.cpp:250
int OGR_F_GetGeomFieldIndex(OGRFeatureH hFeat, const char *pszName)
Fetch the geometry field index given geometry field name.
Definition: ogrfeature.cpp:1344
int OGR_STBL_LoadStyleTable(OGRStyleTableH hStyleTable, const char *pszFilename)
Load a style table from a file.
Definition: ogrfeaturestyle.cpp:1075
void OGR_GFld_SetName(OGRGeomFieldDefnH, const char *)
Reset the name of this field.
Definition: ogrgeomfielddefn.cpp:202
int OGR_FD_IsSame(OGRFeatureDefnH hFDefn, OGRFeatureDefnH hOtherFDefn)
Test if the feature definition is identical to the other one.
Definition: ogrfeaturedefn.cpp:1508
int OGR_G_Is3D(OGRGeometryH)
See whether this geometry has Z coordinates.
Definition: ogrgeometry.cpp:977
OGRSpatialReferenceH OGR_L_GetSpatialRef(OGRLayerH)
Fetch the spatial reference system for this layer.
Definition: ogrlayer.cpp:1049
void OGR_G_Empty(OGRGeometryH)
Clear geometry information.
Definition: ogrgeometry.cpp:2082
unsigned char GByte
Unsigned byte type.
Definition: cpl_port.h:215
int OGRHasPreparedGeometrySupport(void)
Returns if GEOS has prepared geometry support.
Definition: ogrgeometry.cpp:6049
int OGR_FD_IsStyleIgnored(OGRFeatureDefnH)
Determine whether the style can be omitted when fetching features.
Definition: ogrfeaturedefn.cpp:1383
CPLXMLNode * OGR_G_ExportToGMLTree(OGRGeometryH)
Convert a geometry into GML format.
Definition: ogr2gmlgeometry.cpp:1166
int OGR_F_GetGeomFieldCount(OGRFeatureH hFeat)
Fetch number of geometry fields on this feature This will always be the same as the geometry field co...
Definition: ogrfeature.cpp:1233
OGRSTClassId OGR_ST_GetType(OGRStyleToolH hST)
Determine type of Style Tool.
Definition: ogrfeaturestyle.cpp:1640
void OGR_L_SetSpatialFilter(OGRLayerH, OGRGeometryH)
Set a new spatial filter.
Definition: ogrlayer.cpp:1148
void OGR_ST_SetUnit(OGRStyleToolH hST, OGRSTUnitId eUnit, double dfGroundPaperScale)
Set Style Tool units.
Definition: ogrfeaturestyle.cpp:1704
OGRSTUnitId OGR_ST_GetUnit(OGRStyleToolH hST)
Get Style Tool units.
Definition: ogrfeaturestyle.cpp:1666
OGRErr OGR_G_ExportToIsoWkt(OGRGeometryH, char **)
Convert a geometry into SFSQL 1.2 / ISO SQL/MM Part 3 well known text format.
Definition: ogrgeometry.cpp:1898
void OGR_F_SetFieldDateTimeEx(OGRFeatureH, int, int, int, int, int, int, float, int)
Set field to datetime.
Definition: ogrfeature.cpp:4953
OGRSFDriverH OGRGetDriverByName(const char *)
Fetch the indicated driver.
void OGR_G_GetPointZM(OGRGeometryH, int iPoint, double *, double *, double *, double *)
Fetch a point in line string or a point geometry.
Definition: ogr_api.cpp:525
const char * OGR_L_GetName(OGRLayerH)
Return the layer name.
Definition: ogrlayer.cpp:1737
bool OGRGetGEOSVersion(int *pnMajor, int *pnMinor, int *pnPatch)
Get the GEOS version.
Definition: ogr_api.cpp:69
void OGR_G_AddPoint(OGRGeometryH, double, double, double)
Add a point to a geometry (line string or point).
Definition: ogr_api.cpp:1100
void OGR_F_SetFieldInteger64(OGRFeatureH, int, GIntBig)
Set field to 64 bit integer value.
Definition: ogrfeature.cpp:3640
int OGR_Fld_IsIgnored(OGRFieldDefnH hDefn)
Return whether this field should be omitted when fetching features.
Definition: ogrfielddefn.cpp:1205
OGRGeometryH OGR_G_DelaunayTriangulation(OGRGeometryH hThis, double dfTolerance, int bOnlyEdges)
Return a Delaunay triangulation of the vertices of the geometry.
Definition: ogrgeometry.cpp:5849
OGRwkbByteOrder
Enumeration to describe byte order.
Definition: ogr_core.h:527
OGRGeometryH OGR_G_ForceToMultiPolygon(OGRGeometryH)
Convert to multipolygon.
Definition: ogrgeometryfactory.cpp:1010
OGRGeomTransformerH OGR_GeomTransformer_Create(OGRCoordinateTransformationH, CSLConstList papszOptions)
Create a geometry transformer.
Definition: ogrgeometryfactory.cpp:4037
void OGR_FD_Release(OGRFeatureDefnH)
Drop a reference, and destroy if unreferenced.
Definition: ogrfeaturedefn.cpp:158
OGRGeometryH OGR_G_GetCurveGeometry(OGRGeometryH hGeom, char **papszOptions)
Return curve version of this geometry.
Definition: ogr_api.cpp:1795
size_t OGR_G_WkbSizeEx(OGRGeometryH hGeom)
Returns size of related binary representation.
Definition: ogrgeometry.cpp:1324
void OGR_F_UnsetField(OGRFeatureH, int)
Clear a field, marking it as unset.
Definition: ogrfeature.cpp:1495
OGRStyleTableH OGR_STBL_Create(void)
OGRStyleTable factory.
Definition: ogrfeaturestyle.cpp:785
int OGR_G_IsEmpty(OGRGeometryH)
Test if the geometry is empty.
Definition: ogrgeometry.cpp:2118
OGRGeometryH OGR_G_RemoveLowerDimensionSubGeoms(const OGRGeometryH hGeom)
Remove sub-geometries from a geometry collection that do not have the maximum topological dimensional...
Definition: ogrgeometryfactory.cpp:1449
double OGR_G_Distance3D(OGRGeometryH, OGRGeometryH)
Returns the 3D distance between two geometries.
Definition: ogrgeometry.cpp:3497
const char * OGR_L_GetFIDColumn(OGRLayerH)
This method returns the name of the underlying database column being used as the FID column...
Definition: ogrlayer.cpp:1606
void OGR_F_SetFieldNull(OGRFeatureH, int)
Clear a field, marking it as null.
Definition: ogrfeature.cpp:1698
void OGR_F_SetStyleTable(OGRFeatureH, OGRStyleTableH)
Set style table.
Definition: ogrfeature.cpp:6403
OGRGeometryH OGR_F_StealGeometry(OGRFeatureH)
Take away ownership of geometry.
Definition: ogrfeature.cpp:556
const char * OGR_STBL_GetLastStyleName(OGRStyleTableH hStyleTable)
Get the style name of the last style string fetched with OGR_STBL_GetNextStyle.
Definition: ogrfeaturestyle.cpp:1334
void OGR_G_SetPointZM(OGRGeometryH, int iPoint, double, double, double, double)
Set the location of a vertex in a point or linestring geometry.
Definition: ogr_api.cpp:1040
OGRErr OGR_DS_SyncToDisk(OGRDataSourceH)
Flush pending changes to disk.
Definition: ogrdatasource.cpp:310
double OGR_G_GetZ(OGRGeometryH, int)
Fetch the z coordinate of a point from a Point or a LineString/LinearRing geometry.
Definition: ogr_api.cpp:270
void OGR_G_Segmentize(OGRGeometryH hGeom, double dfMaxLength)
Modify the geometry such it has no segment longer then the given distance.
Definition: ogrgeometry.cpp:829
const char * OGR_G_GetGeometryName(OGRGeometryH)
Fetch WKT name for geometry type.
Definition: ogrgeometry.cpp:1973
int OGR_FD_Dereference(OGRFeatureDefnH)
Decrements the reference count by one.
Definition: ogrfeaturedefn.cpp:1124
OGRErr OGR_F_SetFID(OGRFeatureH, GIntBig)
Set the feature identifier.
Definition: ogrfeature.cpp:5448
void OGR_F_SetFieldRaw(OGRFeatureH, int, OGRField *)
Set field.
Definition: ogrfeature.cpp:5228
OGRGeometryH OGR_F_GetGeometryRef(OGRFeatureH)
Fetch a handle to feature geometry.
Definition: ogrfeature.cpp:628
OGRField * OGR_F_GetRawFieldRef(OGRFeatureH, int)
Fetch a handle to the internal field value given the index.
Definition: ogrfeature.cpp:1818
void * OGRStyleMgrH
Style manager opaque type.
Definition: ogr_api.h:784
int OGR_STBL_AddStyle(OGRStyleTableH hStyleTable, const char *pszName, const char *pszStyleString)
Add a new style in the table.
Definition: ogrfeaturestyle.cpp:920
const char * OGR_GlobFldDomain_GetGlob(OGRFieldDomainH)
Get the glob expression.
Definition: ogrfielddefn.cpp:2272
OGRGeometryH OGR_G_SymDifference(OGRGeometryH, OGRGeometryH)
Compute symmetric difference.
Definition: ogrgeometry.cpp:4791
struct OGRGeomTransformer * OGRGeomTransformerH
Opaque type for a geometry transformer.
Definition: ogr_api.h:168
int OGR_F_GetFieldAsDateTimeEx(OGRFeatureH hFeat, int iField, int *pnYear, int *pnMonth, int *pnDay, int *pnHour, int *pnMinute, float *pfSecond, int *pnTZFlag)
Fetch field value as date and time.
Definition: ogrfeature.cpp:3207
void OGR_G_Set3D(OGRGeometryH, int)
Add or remove the Z coordinate dimension.
Definition: ogrgeometry.cpp:1126
OGRErr OGR_L_SyncToDisk(OGRLayerH)
Flush pending changes to disk.
Definition: ogrlayer.cpp:1529
OGRFieldDomainMergePolicy
Merge policy for field domains.
Definition: ogr_core.h:1026
OGRGeometryH OGR_G_PointOnSurface(OGRGeometryH)
Returns a point guaranteed to lie on the surface.
Definition: ogrgeometry.cpp:5508
void OGR_G_GetEnvelope(OGRGeometryH, OGREnvelope *)
Computes and returns the bounding envelope for this geometry in the passed psEnvelope structure...
Definition: ogrgeometry.cpp:1356
OGRErr OGR_L_SetIgnoredFields(OGRLayerH, const char **)
Set which fields can be omitted when retrieving features from the layer.
Definition: ogrlayer.cpp:1846
enum ogr_style_tool_class_id OGRSTClassId
OGRStyleTool derived class types (returned by GetType()).
int OGR_DS_GetLayerCount(OGRDataSourceH)
Get the number of layers in this data source.
Definition: ogrdatasource.cpp:261
void OGR_L_SetSpatialFilterRectEx(OGRLayerH, int iGeomField, double dfMinX, double dfMinY, double dfMaxX, double dfMaxY)
Set a new rectangular spatial filter.
Definition: ogrlayer.cpp:1238
void OGR_GFld_SetNullable(OGRGeomFieldDefnH hDefn, int)
Set whether this geometry field can receive null values.
Definition: ogrgeomfielddefn.cpp:645
int OGRPreparedGeometryIntersects(OGRPreparedGeometryH hPreparedGeom, OGRGeometryH hOtherGeom)
Returns whether a prepared geometry intersects with a geometry.
Definition: ogrgeometry.cpp:6131
OGRLayerH OGR_DS_CopyLayer(OGRDataSourceH, OGRLayerH, const char *, char **)
Duplicate an existing layer.
Definition: ogrdatasource.cpp:149
void OGR_F_SetFieldInteger64List(OGRFeatureH, int, int, const GIntBig *)
Set field to list of 64 bit integers value.
Definition: ogrfeature.cpp:4408
int OGR_F_GetFieldIndex(OGRFeatureH, const char *)
Fetch the field index given field name.
Definition: ogrfeature.cpp:1190
int OGRPreparedGeometryContains(OGRPreparedGeometryH hPreparedGeom, OGRGeometryH hOtherGeom)
Returns whether a prepared geometry contains a geometry.
Definition: ogrgeometry.cpp:6167
int OGR_SM_AddStyle(OGRStyleMgrH hSM, const char *pszStyleName, const char *pszStyleString)
Add a style to the current style table.
Definition: ogrfeaturestyle.cpp:441
OGRDataSourceH OGR_Dr_CreateDataSource(OGRSFDriverH, const char *, char **)
This function attempts to create a new data source based on the passed driver.
void OGR_G_SetCoordinateDimension(OGRGeometryH, int)
Set the coordinate dimension.
Definition: ogrgeometry.cpp:1099
void * OGRFieldDefnH
Opaque type for a field definition (OGRFieldDefn)
Definition: ogr_api.h:331
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:854
int OGR_SM_GetPartCount(OGRStyleMgrH hSM, const char *pszStyleString)
Get the number of parts in a style.
Definition: ogrfeaturestyle.cpp:631
OGRGeometryH OGR_G_ConvexHull(OGRGeometryH)
Compute convex hull.
Definition: ogrgeometry.cpp:4000
int OGR_ST_GetParamNum(OGRStyleToolH hST, int eParam, int *bValueIsNull)
Get Style Tool parameter value as an integer.
Definition: ogrfeaturestyle.cpp:2344
void OGR_F_SetStyleString(OGRFeatureH, const char *)
Set feature style string.
Definition: ogrfeature.cpp:6179
int OGR_RawField_IsNull(const OGRField *)
Returns whether a raw field is null.
Definition: ogrfeature.cpp:6944
int OGR_Fld_GetPrecision(OGRFieldDefnH)
Get the formatting precision for this field.
Definition: ogrfielddefn.cpp:1076
OGRGeometryH OGR_G_Simplify(OGRGeometryH hThis, double tolerance)
Compute a simplified geometry.
Definition: ogrgeometry.cpp:5670
struct OGRGeomFieldDefnHS * OGRGeomFieldDefnH
Opaque type for a geometry field definition (OGRGeomFieldDefn)
Definition: ogr_api.h:340
OGRErr OGR_G_ExportToWkb(OGRGeometryH, OGRwkbByteOrder, unsigned char *)
Convert a geometry well known binary format.
Definition: ogrgeometry.cpp:1550
OGRErr OGR_L_Union(OGRLayerH, OGRLayerH, OGRLayerH, char **, GDALProgressFunc, void *)
Union of two layers.
Definition: ogrlayer.cpp:2757
double OGR_ST_GetParamDbl(OGRStyleToolH hST, int eParam, int *bValueIsNull)
Get Style Tool parameter value as a double.
Definition: ogrfeaturestyle.cpp:2396
int OGR_Dr_TestCapability(OGRSFDriverH, const char *)
Test if capability is available.
OGRStyleTableH OGR_DS_GetStyleTable(OGRDataSourceH)
Get style table.
Definition: ogrdatasource.cpp:339
void OGR_F_SetFieldIntegerList(OGRFeatureH, int, int, const int *)
Set field to list of integers value.
Definition: ogrfeature.cpp:4261
GIntBig OGR_F_GetFID(OGRFeatureH)
Get feature identifier.
Definition: ogrfeature.cpp:5393
void * OGRCoordinateTransformationH
Opaque type for a coordinate transformation object.
Definition: ogr_api.h:82
int OGR_G_HasCurveGeometry(OGRGeometryH, int bLookForNonLinear)
Returns if this geometry is or has curve geometry.
Definition: ogr_api.cpp:1718
OGRErr OGR_L_Clip(OGRLayerH, OGRLayerH, OGRLayerH, char **, GDALProgressFunc, void *)
Clip off areas that are not covered by the method layer.
Definition: ogrlayer.cpp:4005
OGRErr OGR_Dr_DeleteDataSource(OGRSFDriverH, const char *)
Delete a datasource.
enum ogr_style_tool_units_id OGRSTUnitId
List of units supported by OGRStyleTools.
const char * OGR_GFld_GetNameRef(OGRGeomFieldDefnH)
Fetch name of this field.
Definition: ogrgeomfielddefn.cpp:241
OGRErr OGR_G_ExportToIsoWkb(OGRGeometryH, OGRwkbByteOrder, unsigned char *)
Convert a geometry into SFSQL 1.2 / ISO SQL/MM Part 3 well known binary format.
Definition: ogrgeometry.cpp:1588
OGRwkbGeometryType
List of well known binary geometry types.
Definition: ogr_core.h:345
int OGR_G_Crosses(OGRGeometryH, OGRGeometryH)
Test for crossing.
Definition: ogrgeometry.cpp:5066
OGRGeometryH OGR_G_CreateFromGML(const char *)
Create geometry from GML.
Definition: gml2ogrgeometry.cpp:3905
void OGR_L_ResetReading(OGRLayerH)
Reset feature reading to start on the first feature.
Definition: ogrlayer.cpp:1472
OGRGeomFieldDefnH OGR_FD_GetGeomFieldDefn(OGRFeatureDefnH hFDefn, int i)
Fetch geometry field definition of the passed feature definition.
Definition: ogrfeaturedefn.cpp:700
void OGR_G_SetPointsZM(OGRGeometryH hGeom, int nPointsIn, const void *pabyX, int nXStride, const void *pabyY, int nYStride, const void *pabyZ, int nZStride, const void *pabyM, int nMStride)
Assign all points in a point or a line string geometry.
Definition: ogr_api.cpp:704
const char * OGR_ST_GetParamStr(OGRStyleToolH hST, int eParam, int *bValueIsNull)
Get Style Tool parameter value as string.
Definition: ogrfeaturestyle.cpp:2291
void OGR_FldDomain_SetMergePolicy(OGRFieldDomainH, OGRFieldDomainMergePolicy)
Set the split policy of the field domain.
Definition: ogrfielddefn.cpp:2147
int OGR_G_IsSimple(OGRGeometryH)
Returns TRUE if the geometry is simple.
Definition: ogrgeometry.cpp:2303
OGRErr OGR_FD_ReorderFieldDefns(OGRFeatureDefnH hDefn, const int *panMap)
Reorder the field definitions in the array of the feature definition.
Definition: ogrfeaturedefn.cpp:573
OGRGeometryH OGR_G_Difference(OGRGeometryH, OGRGeometryH)
Compute difference.
Definition: ogrgeometry.cpp:4665
void OGR_DS_ReleaseResultSet(OGRDataSourceH, OGRLayerH)
Release results of OGR_DS_ExecuteSQL().
Definition: ogrdatasource.cpp:231
OGRErr OGR_G_ImportFromWkb(OGRGeometryH, const void *, int)
Assign geometry from well known binary data.
Definition: ogrgeometry.cpp:1485
OGRGeometryH OGR_G_CreateGeometryFromJson(const char *)
Create a OGR geometry from a GeoJSON geometry object.
void OGR_L_SetStyleTableDirectly(OGRLayerH, OGRStyleTableH)
Set style table (and take ownership)
Definition: ogrlayer.cpp:1698
OGRGeometryH OGR_G_ForceToMultiPoint(OGRGeometryH)
Convert to multipoint.
Definition: ogrgeometryfactory.cpp:1102
void OGR_F_Destroy(OGRFeatureH)
Destroy feature.
Definition: ogrfeature.cpp:220
void OGR_Fld_SetDomainName(OGRFieldDefnH hDefn, const char *)
Set the name of the field domain for this field.
Definition: ogrfielddefn.cpp:1521
OGRFeatureH OGR_L_GetNextFeature(OGRLayerH)
Fetch the next available feature from this layer.
Definition: ogrlayer.cpp:541
int OGR_F_GetFieldCount(OGRFeatureH)
Fetch number of fields on this feature This will always be the same as the field count for the OGRFea...
Definition: ogrfeature.cpp:1090
void * OGRDataSourceH
Opaque type for a OGR datasource (OGRDataSource)
Definition: ogr_api.h:591
void OGR_G_AssignSpatialReference(OGRGeometryH, OGRSpatialReferenceH)
Assign spatial reference to this object.
Definition: ogrgeometry.cpp:472
OGRErr OGR_FD_DeleteFieldDefn(OGRFeatureDefnH hDefn, int iField)
Delete an existing field definition.
Definition: ogrfeaturedefn.cpp:499
const char * OGR_ST_GetStyleString(OGRStyleToolH hST)
Get the style string for this Style Tool.
Definition: ogrfeaturestyle.cpp:2583
OGRGeometryH OGR_G_Buffer(OGRGeometryH, double, int)
Compute buffer of geometry.
Definition: ogrgeometry.cpp:4226
int OGR_G_Touches(OGRGeometryH, OGRGeometryH)
Test for touching.
Definition: ogrgeometry.cpp:4958
int OGR_DS_TestCapability(OGRDataSourceH, const char *)
Test if capability is available.
Definition: ogrdatasource.cpp:248
int OGR_GFld_IsIgnored(OGRGeomFieldDefnH hDefn)
Return whether this field should be omitted when fetching features.
Definition: ogrgeomfielddefn.cpp:380
const char * OGR_Fld_GetDefault(OGRFieldDefnH hDefn)
Get default field value.
Definition: ogrfielddefn.cpp:665
char * OGR_G_ExportToJson(OGRGeometryH)
Convert a geometry into GeoJSON format.
Definition: ogrgeojsonwriter.cpp:1457
OGRErr OGR_G_CreateFromFgf(const void *, OGRSpatialReferenceH, OGRGeometryH *, int, int *)
Create a geometry object of the appropriate type from its FGF (FDO Geometry Format) binary representa...
Definition: ogrgeometryfactory.cpp:2634
void OGR_Fld_Set(OGRFieldDefnH, const char *, OGRFieldType, int, int, OGRJustification)
Set defining parameters for a field in one call.
Definition: ogrfielddefn.cpp:1168
int OGR_Fld_IsUnique(OGRFieldDefnH hDefn)
Return whether this field has a unique constraint.
Definition: ogrfielddefn.cpp:1392
void OGR_GFld_Destroy(OGRGeomFieldDefnH)
Destroy a geometry field definition.
Definition: ogrgeomfielddefn.cpp:155
int OGR_F_GetFieldAsInteger(OGRFeatureH, int)
Fetch field value as integer.
Definition: ogrfeature.cpp:1956
double OGR_G_GetM(OGRGeometryH, int)
Fetch the m coordinate of a point from a geometry.
Definition: ogr_api.cpp:293
void * OGRSpatialReferenceH
Opaque type for a spatial reference system.
Definition: ogr_api.h:80
const char * OGR_Dr_GetName(OGRSFDriverH)
Fetch name of driver (file format).
OGRErr OGR_G_Transform(OGRGeometryH, OGRCoordinateTransformationH)
Apply arbitrary coordinate transformation to geometry.
Definition: ogrgeometry.cpp:744
void OGR_GFld_SetSpatialRef(OGRGeomFieldDefnH, OGRSpatialReferenceH hSRS)
Set the spatial reference of this field.
Definition: ogrgeomfielddefn.cpp:517
OGRErr OGR_G_AddGeometryDirectly(OGRGeometryH, OGRGeometryH)
Add a geometry directly to an existing geometry container.
Definition: ogr_api.cpp:1476
void OGR_ST_SetParamNum(OGRStyleToolH hST, int eParam, int nValue)
Set Style Tool parameter value from an integer.
Definition: ogrfeaturestyle.cpp:2490
OGRwkbGeometryType OGR_L_GetGeomType(OGRLayerH)
Return the layer geometry type.
Definition: ogrlayer.cpp:1769
double OGR_G_Area(OGRGeometryH)
Compute geometry area.
Definition: ogr_api.cpp:1644
int OGR_F_IsFieldSet(OGRFeatureH, int)
Test if a field has ever been assigned a value or not.
Definition: ogrfeature.cpp:1417
char ** CSLConstList
Type of a constant null-terminated list of nul terminated strings.
Definition: cpl_port.h:1169
OGRErr OGR_L_CommitTransaction(OGRLayerH)
For datasources which support transactions, CommitTransaction commits a transaction.
Definition: ogrlayer.cpp:949
int OGR_G_Contains(OGRGeometryH, OGRGeometryH)
Test for containment.
Definition: ogrgeometry.cpp:5214
struct _OGRPreparedGeometry * OGRPreparedGeometryH
Opaque type for a prepared geometry.
Definition: ogr_api.h:306
OGRFieldDomainH OGR_RangeFldDomain_Create(const char *pszName, const char *pszDescription, OGRFieldType eFieldType, OGRFieldSubType eFieldSubType, const OGRField *psMin, bool bMinIsInclusive, const OGRField *psMax, bool bMaxIsInclusive)
Creates a new range field domain.
Definition: ogrfielddefn.cpp:1918
OGRErr OGR_L_Erase(OGRLayerH, OGRLayerH, OGRLayerH, char **, GDALProgressFunc, void *)
Remove areas that are covered by the method layer.
Definition: ogrlayer.cpp:4251
OGRErr OGR_G_RemoveGeometry(OGRGeometryH, int, int)
Remove a geometry from an exiting geometry container.
Definition: ogr_api.cpp:1550
OGRGeomFieldDefnH OGR_F_GetGeomFieldDefnRef(OGRFeatureH hFeat, int iField)
Fetch definition for this geometry field.
Definition: ogrfeature.cpp:1294
int OGR_L_TestCapability(OGRLayerH, const char *)
Test if this layer supported the named capability.
Definition: ogrlayer.cpp:1067
OGRwkbGeometryType OGR_FD_GetGeomType(OGRFeatureDefnH)
Fetch the geometry base type of the passed feature definition.
Definition: ogrfeaturedefn.cpp:975
void OGR_F_SetFieldStringList(OGRFeatureH, int, CSLConstList)
Set field to list of strings value.
Definition: ogrfeature.cpp:4691
OGRErr OGR_L_SetAttributeFilter(OGRLayerH, const char *)
Set a new attribute query.
Definition: ogrlayer.cpp:430
int OGR_Fld_IsDefaultDriverSpecific(OGRFieldDefnH hDefn)
Returns whether the default value is driver specific.
Definition: ogrfielddefn.cpp:731
OGRSFDriverH OGR_DS_GetDriver(OGRDataSourceH)
Returns the driver that the dataset was opened with.
Definition: ogrdatasource.cpp:326
OGRErr OGR_FD_DeleteGeomFieldDefn(OGRFeatureDefnH hFDefn, int iGeomField)
Delete an existing geometry field definition.
Definition: ogrfeaturedefn.cpp:855
OGRLayerH OGR_DS_GetLayer(OGRDataSourceH, int)
Fetch a layer by index.
Definition: ogrdatasource.cpp:278
void OGR_GFld_SetIgnored(OGRGeomFieldDefnH hDefn, int)
Set whether this field should be omitted when fetching features.
Definition: ogrgeomfielddefn.cpp:418
OGRErr OGR_L_DeleteFeature(OGRLayerH, GIntBig)
Delete feature from layer.
Definition: ogrlayer.cpp:1555
const char * OGR_Fld_GetAlternativeNameRef(OGRFieldDefnH)
Fetch the alternative name (or "alias") for this field.
Definition: ogrfielddefn.cpp:339
int OGR_G_GetGeometryCount(OGRGeometryH)
Fetch the number of elements in a geometry or number of geometries in container.
Definition: ogr_api.cpp:1280
int OGR_G_GetPoints(OGRGeometryH hGeom, void *pabyX, int nXStride, void *pabyY, int nYStride, void *pabyZ, int nZStride)
Returns all points of line string.
Definition: ogr_api.cpp:334
void OGR_FldDomain_Destroy(OGRFieldDomainH)
Destroy a field domain.
Definition: ogrfielddefn.cpp:1717
OGRGeometryH OGR_G_MakeValidEx(OGRGeometryH, CSLConstList)
Attempts to make an invalid geometry valid without losing vertices.
Definition: ogrgeometry.cpp:3806
OGRLayerH OGR_DS_GetLayerByName(OGRDataSourceH, const char *)
Fetch a layer by name.
Definition: ogrdatasource.cpp:186
OGRJustification OGR_Fld_GetJustify(OGRFieldDefnH)
Get the justification for this field.
Definition: ogrfielddefn.cpp:940
OGRFieldDomainSplitPolicy
Split policy for field domains.
Definition: ogr_core.h:1009
OGRFieldType OGR_FldDomain_GetFieldType(OGRFieldDomainH)
Get the field type of the field domain.
Definition: ogrfielddefn.cpp:2057
GIntBig OGR_L_GetFeatureCount(OGRLayerH, int)
Fetch the feature count in this layer.
Definition: ogrlayer.cpp:194
Core portability services for cross-platform OGR code.
OGRErr OGR_L_Identity(OGRLayerH, OGRLayerH, OGRLayerH, char **, GDALProgressFunc, void *)
Identify the features of this layer with the ones from the identity layer.
Definition: ogrlayer.cpp:3447
char * OGR_G_ExportToGML(OGRGeometryH)
Convert a geometry into GML format.
Definition: ogr2gmlgeometry.cpp:1197
OGRErr OGR_L_Update(OGRLayerH, OGRLayerH, OGRLayerH, char **, GDALProgressFunc, void *)
Update this layer with features from the update layer.
Definition: ogrlayer.cpp:3746
OGRGeometryH OGR_G_Intersection(OGRGeometryH, OGRGeometryH)
Compute intersection.
Definition: ogrgeometry.cpp:4346
void OGR_G_SetPointCount(OGRGeometryH hGeom, int nNewPointCount)
Set number of points in a geometry.
Definition: ogr_api.cpp:150
OGRJustification
Display justification for field values.
Definition: ogr_core.h:697
const char * OGR_F_GetNativeMediaType(OGRFeatureH)
Returns the native media type for the feature.
Definition: ogrfeature.cpp:6787
OGRStyleTableH OGR_F_GetStyleTable(OGRFeatureH)
Return style table.
Definition: ogrfeature.cpp:6376
void OGR_Fld_SetName(OGRFieldDefnH, const char *)
Reset the name of this field.
Definition: ogrfielddefn.cpp:185
void OGR_Fld_SetPrecision(OGRFieldDefnH, int)
Set the formatting precision for this field in characters.
Definition: ogrfielddefn.cpp:1112
OGRFeatureDefnH OGR_F_GetDefnRef(OGRFeatureH)
Fetch feature definition.
Definition: ogrfeature.cpp:328
OGRGeometryH OGR_G_Value(OGRGeometryH, double dfDistance)
Fetch point at given distance along curve.
Definition: ogr_api.cpp:1824
double OGR_F_GetFieldAsDouble(OGRFeatureH, int)
Fetch field value as a double.
Definition: ogrfeature.cpp:2190
const char * OGR_FldDomain_GetDescription(OGRFieldDomainH)
Get the description of the field domain.
Definition: ogrfielddefn.cpp:2023
OGRFeatureH OGR_F_Clone(OGRFeatureH)
Duplicate feature.
Definition: ogrfeature.cpp:980
int OGR_FD_Reference(OGRFeatureDefnH)
Increments the reference count by one.
Definition: ogrfeaturedefn.cpp:1090
void OGR_G_AddPointM(OGRGeometryH, double, double, double)
Add a point to a geometry (line string or point).
Definition: ogr_api.cpp:1186
void OGR_DS_SetStyleTable(OGRDataSourceH, OGRStyleTableH)
Set style table.
Definition: ogrdatasource.cpp:366
const double * OGR_F_GetFieldAsDoubleList(OGRFeatureH, int, int *)
Fetch field value as a list of doubles.
Definition: ogrfeature.cpp:2874
OGRGeometryH OGR_G_GetLinearGeometry(OGRGeometryH hGeom, double dfMaxAngleStepSizeDegrees, char **papszOptions)
Return, possibly approximate, linear version of this geometry.
Definition: ogr_api.cpp:1755
OGRDataSourceH OGR_Dr_CopyDataSource(OGRSFDriverH, OGRDataSourceH, const char *, char **)
This function creates a new datasource by copying all the layers from the source datasource...
OGRSpatialReferenceH OGR_GFld_GetSpatialRef(OGRGeomFieldDefnH)
Fetch spatial reference system of this field.
Definition: ogrgeomfielddefn.cpp:460
char * OGR_G_ExportToKML(OGRGeometryH, const char *pszAltitudeMode)
Convert a geometry into KML format.
Definition: ogr2kmlgeometry.cpp:502
OGRFieldSubType OGR_FldDomain_GetFieldSubType(OGRFieldDomainH)
Get the field subtype of the field domain.
Definition: ogrfielddefn.cpp:2074
OGRGeometryH OGR_G_CreateGeometry(OGRwkbGeometryType)
Create an empty geometry of desired type.
Definition: ogrgeometryfactory.cpp:652
OGRFieldType
List of feature field types.
Definition: ogr_core.h:645
OGRFieldDomainH OGR_GlobFldDomain_Create(const char *pszName, const char *pszDescription, OGRFieldType eFieldType, OGRFieldSubType eFieldSubType, const char *pszGlob)
Creates a new blob field domain.
Definition: ogrfielddefn.cpp:1978
char ** OGR_F_GetFieldAsStringList(OGRFeatureH, int)
Fetch field value as a list of strings.
Definition: ogrfeature.cpp:2959
Simple container for a bounding region in 3D.
Definition: ogr_core.h:175
const char * OGR_DS_GetName(OGRDataSourceH)
Returns the name of the data source.
Definition: ogrdatasource.cpp:298
OGRFieldDomainType OGR_FldDomain_GetDomainType(OGRFieldDomainH)
Get the type of the field domain.
Definition: ogrfielddefn.cpp:2040
GByte * OGR_F_GetFieldAsBinary(OGRFeatureH, int, int *)
Fetch field value as binary.
Definition: ogrfeature.cpp:3032
int OGR_FD_GetReferenceCount(OGRFeatureDefnH)
Fetch current reference count.
Definition: ogrfeaturedefn.cpp:1159
void OGRRegisterAll(void)
Register all drivers.
Definition: ogrregisterall.cpp:38
void OGR_G_SetPointM(OGRGeometryH, int iPoint, double, double, double)
Set the location of a vertex in a point or linestring geometry.
Definition: ogr_api.cpp:976
OGRErr OGR_L_Intersection(OGRLayerH, OGRLayerH, OGRLayerH, char **, GDALProgressFunc, void *)
Intersection of two layers.
Definition: ogrlayer.cpp:2320
OGRGeometryH OGR_G_Polygonize(OGRGeometryH)
Polygonizes a set of sparse edges.
Definition: ogrgeometry.cpp:5982
void OGR_STBL_ResetStyleStringReading(OGRStyleTableH hStyleTable)
Reset the next style pointer to 0.
Definition: ogrfeaturestyle.cpp:1243
const int * OGR_F_GetFieldAsIntegerList(OGRFeatureH, int, int *)
Fetch field value as a list of integers.
Definition: ogrfeature.cpp:2705
void * OGRGeometryH
Opaque type for a geometry.
Definition: ogr_api.h:65
void OGR_G_GetPoint(OGRGeometryH, int iPoint, double *, double *, double *)
Fetch a point in line string or a point geometry.
Definition: ogr_api.cpp:455
void OGR_ST_Destroy(OGRStyleToolH hST)
Destroy Style Tool.
Definition: ogrfeaturestyle.cpp:1403
const char * OGR_GetFieldTypeName(OGRFieldType)
Fetch human readable name for a field type.
Definition: ogrfielddefn.cpp:810
int OGR_F_Validate(OGRFeatureH, int nValidateFlags, int bEmitError)
Validate that a feature meets constraints of its schema.
Definition: ogrfeature.cpp:6664
void * OGRFeatureH
Opaque type for a feature (OGRFeature)
Definition: ogr_api.h:335
OGRGeometryH OGR_G_Union(OGRGeometryH, OGRGeometryH)
Compute union.
Definition: ogrgeometry.cpp:4463
void OGR_F_SetStyleTableDirectly(OGRFeatureH, OGRStyleTableH)
Set style table and take ownership.
Definition: ogrfeature.cpp:6389
OGRGeometryH OGR_G_CreateFromGMLTree(const CPLXMLNode *)
Create geometry from GML.
Definition: gml2ogrgeometry.cpp:3867
OGRGeometryH OGR_G_ForceToMultiLineString(OGRGeometryH)
Convert to multilinestring.
Definition: ogrgeometryfactory.cpp:1344
double OGR_G_Length(OGRGeometryH)
Compute length of a geometry.
Definition: ogr_api.cpp:1596
OGRSFDriverH OGRGetDriver(int)
Fetch the indicated driver.
OGRGeometryH OGR_G_ForceToLineString(OGRGeometryH)
Convert to line string.
Definition: ogrgeometryfactory.cpp:4511
void OGR_STBL_Destroy(OGRStyleTableH hSTBL)
Destroy Style Table.
Definition: ogrfeaturestyle.cpp:826
OGRErr OGR_F_SetFrom(OGRFeatureH, OGRFeatureH, int)
Set one feature from another.
Definition: ogrfeature.cpp:5758
void OGRCleanupAll(void)
Clean-up all drivers (including raster ones starting with GDAL 2.0.
OGRLayerH OGR_DS_ExecuteSQL(OGRDataSourceH, const char *, OGRGeometryH, const char *)
Execute an SQL statement against the data store.
Definition: ogrdatasource.cpp:206
void OGR_L_SetSpatialFilterRect(OGRLayerH, double, double, double, double)
Set a new rectangular spatial filter.
Definition: ogrlayer.cpp:1218
void OGR_FD_AddGeomFieldDefn(OGRFeatureDefnH hFDefn, OGRGeomFieldDefnH hGFldDefn)
Add a new field definition to the passed feature definition.
Definition: ogrfeaturedefn.cpp:792
int OGR_L_FindFieldIndex(OGRLayerH, const char *, int bExactMatch)
Find the index of field in a layer.
Definition: ogrlayer.cpp:1011
Simple container for a bounding region (rectangle)
Definition: ogr_core.h:57
int OGR_AreTypeSubTypeCompatible(OGRFieldType eType, OGRFieldSubType eSubType)
Return if type and subtype are compatible.
Definition: ogrfielddefn.cpp:895
OGRFeature field attribute value union.
Definition: ogr_core.h:738
OGRGeometryH OGR_G_ForceToPolygon(OGRGeometryH)
Convert to polygon.
Definition: ogrgeometryfactory.cpp:840
const char * OGR_GetFieldSubTypeName(OGRFieldSubType)
Fetch human readable name for a field subtype.
Definition: ogrfielddefn.cpp:876
int OGR_G_WkbSize(OGRGeometryH hGeom)
Returns size of related binary representation.
Definition: ogrgeometry.cpp:1289
int OGR_RawField_IsUnset(const OGRField *)
Returns whether a raw field is unset.
Definition: ogrfeature.cpp:6923
OGRDataSourceH OGROpenShared(const char *, int, OGRSFDriverH *)
Open a file / data source with one of the registered drivers if not already opened, or increment reference count of already opened data source previously opened with OGROpenShared()
OGRFieldDomainType
Type of field domain.
Definition: ogr_core.h:992
OGRStyleMgrH OGR_SM_Create(OGRStyleTableH hStyleTable)
OGRStyleMgr factory.
Definition: ogrfeaturestyle.cpp:156
const OGRField * OGR_RangeFldDomain_GetMax(OGRFieldDomainH, bool *pbIsInclusiveOut)
Get the maximum value.
Definition: ogrfielddefn.cpp:2239
OGRErr OGR_G_CreateFromWkt(char **, OGRSpatialReferenceH, OGRGeometryH *)
Create a geometry object of the appropriate type from its well known text representation.
Definition: ogrgeometryfactory.cpp:544
OGRStyleTableH OGR_L_GetStyleTable(OGRLayerH)
Get style table.
Definition: ogrlayer.cpp:1685
OGRErr OGR_F_SetGeomFieldDirectly(OGRFeatureH hFeat, int iField, OGRGeometryH hGeom)
Set feature geometry of a specified geometry field.
Definition: ogrfeature.cpp:845
void OGR_Fld_SetUnique(OGRFieldDefnH hDefn, int)
Set whether this field has a unique constraint.
Definition: ogrfielddefn.cpp:1439
OGRGeometryH OGR_GeomTransformer_Transform(OGRGeomTransformerH hTransformer, OGRGeometryH hGeom)
Transforms a geometry.
Definition: ogrgeometryfactory.cpp:4061
int OGR_G_Within(OGRGeometryH, OGRGeometryH)
Test for containment.
Definition: ogrgeometry.cpp:5140
char * OGR_G_ExportToJsonEx(OGRGeometryH, char **papszOptions)
Convert a geometry into GeoJSON format.
Definition: ogrgeojsonwriter.cpp:1490
OGRStyleToolH OGR_SM_GetPart(OGRStyleMgrH hSM, int nPartId, const char *pszStyleString)
Fetch a part (style tool) from the current style.
Definition: ogrfeaturestyle.cpp:710
OGRFieldDomainH OGR_CodedFldDomain_Create(const char *pszName, const char *pszDescription, OGRFieldType eFieldType, OGRFieldSubType eFieldSubType, const OGRCodedValue *enumeration)
Creates a new coded field domain.
Definition: ogrfielddefn.cpp:1767
const char * OGR_F_GetStyleString(OGRFeatureH)
Fetch style string for this feature.
Definition: ogrfeature.cpp:6127
void OGR_F_SetFieldDoubleList(OGRFeatureH, int, int, const double *)
Set field to list of doubles value.
Definition: ogrfeature.cpp:4540
OGRGeometryH OGRBuildPolygonFromEdges(OGRGeometryH hLinesAsCollection, int bBestEffort, int bAutoClose, double dfTolerance, OGRErr *peErr)
Build a ring from a bunch of arcs.
Definition: ograssemblepolygon.cpp:141
OGRFeatureDefnH OGR_L_GetLayerDefn(OGRLayerH)
Fetch the schema information for this layer.
Definition: ogrlayer.cpp:993
OGRErr OGRReleaseDataSource(OGRDataSourceH)
Drop a reference to this datasource, and if the reference count drops to zero close (destroy) the da...
int OGR_GFld_IsNullable(OGRGeomFieldDefnH hDefn)
Return whether this geometry field can receive null values.
Definition: ogrgeomfielddefn.cpp:599
void OGR_FD_SetGeometryIgnored(OGRFeatureDefnH, int)
Set whether the geometry can be omitted when fetching features.
Definition: ogrfeaturedefn.cpp:1349
const char * OGR_Fld_GetDomainName(OGRFieldDefnH hDefn)
Return the name of the field domain for this field.
Definition: ogrfielddefn.cpp:1483
OGRGeometryH OGR_G_CreateGeometryFromEsriJson(const char *)
Create a OGR geometry from a ESRI JSON geometry object.
int OGR_Fld_IsNullable(OGRFieldDefnH hDefn)
Return whether this field can receive null values.
Definition: ogrfielddefn.cpp:1308
#define CPL_C_END
Macro to end a block of C symbols.
Definition: cpl_port.h:331
void OGR_F_SetFieldDateTime(OGRFeatureH, int, int, int, int, int, int, int, int)
Set field to datetime.
Definition: ogrfeature.cpp:4912
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition: cpl_port.h:244
OGRFeatureDefnH OGR_FD_Create(const char *)
Create a new feature definition object to hold the field definitions.
Definition: ogrfeaturedefn.cpp:87
OGRLayerH OGR_DS_CreateLayer(OGRDataSourceH, const char *, OGRSpatialReferenceH, OGRwkbGeometryType, char **)
This function attempts to create a new layer on the data source with the indicated name...
Definition: ogrdatasource.cpp:119
const char * OGR_L_GetGeometryColumn(OGRLayerH)
This method returns the name of the underlying database column being used as the geometry column...
Definition: ogrlayer.cpp:1636
OGRErr OGR_L_RollbackTransaction(OGRLayerH)
For datasources which support transactions, RollbackTransaction will roll back a datasource to its ...
Definition: ogrlayer.cpp:976
int OGR_G_CoordinateDimension(OGRGeometryH)
Get the dimension of the coordinates in this geometry.
Definition: ogrgeometry.cpp:956
void OGR_L_SetSpatialFilterEx(OGRLayerH, int iGeomField, OGRGeometryH hGeom)
Set a new spatial filter.
Definition: ogrlayer.cpp:1166
void OGR_ST_SetParamStr(OGRStyleToolH hST, int eParam, const char *pszValue)
Set Style Tool parameter value from a string.
Definition: ogrfeaturestyle.cpp:2446
void OGR_SM_Destroy(OGRStyleMgrH hSM)
Destroy Style Manager.
Definition: ogrfeaturestyle.cpp:188
OGRErr OGR_L_CreateFeature(OGRLayerH, OGRFeatureH)
Create and write a new feature within a layer.
Definition: ogrlayer.cpp:647
double OGR_G_GetY(OGRGeometryH, int)
Fetch the x coordinate of a point from a Point or a LineString/LinearRing geometry.
Definition: ogr_api.cpp:247
int OGR_G_IsMeasured(OGRGeometryH)
See whether this geometry is measured.
Definition: ogrgeometry.cpp:998
OGRStyleToolH OGR_ST_Create(OGRSTClassId eClassId)
OGRStyleTool factory.
Definition: ogrfeaturestyle.cpp:1367
int OGR_Fld_GetWidth(OGRFieldDefnH)
Get the formatting width for this field.
Definition: ogrfielddefn.cpp:1008
int OGR_F_IsFieldSetAndNotNull(OGRFeatureH, int)
Test if a field is set and not null.
Definition: ogrfeature.cpp:1615
void OGR_G_SetPoint_2D(OGRGeometryH, int iPoint, double, double)
Set the location of a vertex in a point or linestring geometry.
Definition: ogr_api.cpp:915
int OGR_G_Equals(OGRGeometryH, OGRGeometryH)
Returns TRUE if two geometries are equivalent.
Definition: ogrgeometry.cpp:1214
OGRwkbGeometryType OGR_GFld_GetType(OGRGeomFieldDefnH)
Fetch geometry type of this field.
Definition: ogrgeomfielddefn.cpp:284
int OGR_FD_GetGeomFieldCount(OGRFeatureDefnH hFDefn)
Fetch number of geometry fields on the passed feature definition.
Definition: ogrfeaturedefn.cpp:613
OGRDataSourceH OGROpen(const char *, int, OGRSFDriverH *)
Open a file / data source with one of the registered drivers.
void OGR_Fld_SetType(OGRFieldDefnH, OGRFieldType)
Set the type of this field.
Definition: ogrfielddefn.cpp:430
void OGR_G_AddPointZM(OGRGeometryH, double, double, double, double)
Add a point to a geometry (line string or point).
Definition: ogr_api.cpp:1231
const char * OGR_FldDomain_GetName(OGRFieldDomainH)
Get the name of the field domain.
Definition: ogrfielddefn.cpp:2006
int OGRErr
Type for a OGR error.
Definition: ogr_core.h:318
const char * OGR_SM_InitFromFeature(OGRStyleMgrH hSM, OGRFeatureH hFeat)
Initialize style manager from the style string of a feature.
Definition: ogrfeaturestyle.cpp:281
void OGR_Fld_SetDefault(OGRFieldDefnH hDefn, const char *)
Set default field value.
Definition: ogrfielddefn.cpp:627
void OGR_Fld_SetSubType(OGRFieldDefnH, OGRFieldSubType)
Set the subtype of this field.
Definition: ogrfielddefn.cpp:520
OGRGeometryH OGR_G_Normalize(OGRGeometryH)
Attempts to bring geometry into normalized/canonical form.
Definition: ogrgeometry.cpp:3888
void OGR_FD_SetStyleIgnored(OGRFeatureDefnH, int)
Set whether the style can be omitted when fetching features.
Definition: ogrfeaturedefn.cpp:1417
int OGR_G_IsRing(OGRGeometryH)
Test if the geometry is a ring.
Definition: ogrgeometry.cpp:2376
const char * OGR_F_GetNativeData(OGRFeatureH)
Returns the native data for the feature.
Definition: ogrfeature.cpp:6736
void * OGRFeatureDefnH
Opaque type for a feature definition (OGRFeatureDefn)
Definition: ogr_api.h:333
void OGR_G_DumpReadable(OGRGeometryH, FILE *, const char *)
Dump geometry in well known text format to indicated output file.
Definition: ogrgeometry.cpp:399
void OGR_G_DestroyGeometry(OGRGeometryH)
Destroy geometry object.
Definition: ogrgeometryfactory.cpp:695
int OGR_G_Disjoint(OGRGeometryH, OGRGeometryH)
Test for disjointness.
Definition: ogrgeometry.cpp:4884
OGRErr OGR_L_DeleteField(OGRLayerH, int iField)
Delete an existing field on a layer.
Definition: ogrlayer.cpp:716
CPLXMLNode * OGR_G_ExportEnvelopeToGMLTree(OGRGeometryH)
Export the envelope of a geometry as a gml:Box.
Definition: ogr2gmlgeometry.cpp:452
void OGR_FD_SetGeomType(OGRFeatureDefnH, OGRwkbGeometryType)
Assign the base geometry type for the passed layer (the same as the feature definition).
Definition: ogrfeaturedefn.cpp:1051
const char * OGR_STBL_Find(OGRStyleTableH hStyleTable, const char *pszName)
Get a style string by name.
Definition: ogrfeaturestyle.cpp:1131
const char * OGR_STBL_GetNextStyle(OGRStyleTableH hStyleTable)
Get the next style string from the table.
Definition: ogrfeaturestyle.cpp:1296
void OGR_Fld_SetWidth(OGRFieldDefnH, int)
Set the formatting width for this field in characters.
Definition: ogrfielddefn.cpp:1040
OGRErr OGR_L_SetNextByIndex(OGRLayerH, GIntBig)
Move read cursor to the nIndex&#39;th feature in the current resultset.
Definition: ogrlayer.cpp:524
const GIntBig * OGR_F_GetFieldAsInteger64List(OGRFeatureH, int, int *)
Fetch field value as a list of 64 bit integers.
Definition: ogrfeature.cpp:2791
void * OGRStyleTableH
Opaque type for a style table (OGRStyleTable)
Definition: ogr_api.h:337
void OGR_F_FillUnsetWithDefault(OGRFeatureH hFeat, int bNotNullableOnly, char **papszOptions)
Fill unset fields with default values that might be defined.
Definition: ogrfeature.cpp:6508
OGRFieldType OGR_Fld_GetType(OGRFieldDefnH)
Fetch type of this field.
Definition: ogrfielddefn.cpp:378
OGRErr OGR_L_CreateGeomField(OGRLayerH hLayer, OGRGeomFieldDefnH hFieldDefn, int bForce)
Create a new geometry field on a layer.
Definition: ogrlayer.cpp:892
OGRFieldDomainSplitPolicy OGR_FldDomain_GetSplitPolicy(OGRFieldDomainH)
Get the split policy of the field domain.
Definition: ogrfielddefn.cpp:2092
OGRGeometryH OGR_G_Clone(OGRGeometryH)
Make a copy of this object.
Definition: ogrgeometry.cpp:2009
const OGRField * OGR_RangeFldDomain_GetMin(OGRFieldDomainH, bool *pbIsInclusiveOut)
Get the minimum value.
Definition: ogrfielddefn.cpp:2200
void OGR_GFld_SetType(OGRGeomFieldDefnH, OGRwkbGeometryType)
Set the geometry type of this field.
Definition: ogrgeomfielddefn.cpp:341
void OGRSetNonLinearGeometriesEnabledFlag(int bFlag)
Set flag to enable/disable returning non-linear geometries in the C API.
Definition: ogr_api.cpp:1868
int OGR_F_GetFieldAsDateTime(OGRFeatureH, int, int *, int *, int *, int *, int *, int *, int *)
Fetch field value as date and time.
Definition: ogrfeature.cpp:3163
int OGR_FD_GetGeomFieldIndex(OGRFeatureDefnH hFDefn, const char *pszName)
Find geometry field by name.
Definition: ogrfeaturedefn.cpp:912
const char * OGR_Fld_GetNameRef(OGRFieldDefnH)
Fetch name of this field.
Definition: ogrfielddefn.cpp:219
OGRGeometryH OGR_G_GetGeometryRef(OGRGeometryH, int)
Fetch geometry from a geometry container.
Definition: ogr_api.cpp:1345
void OGR_G_SwapXY(OGRGeometryH hGeom)
Swap x and y coordinates.
Definition: ogrgeometry.cpp:6017
OGRErr OGR_L_GetExtentEx(OGRLayerH, int iGeomField, OGREnvelope *psExtent, int bForce)
Fetch the extent of this layer, on the specified geometry field.
Definition: ogrlayer.cpp:320
void * OGRStyleToolH
Style tool opaque type.
Definition: ogr_api.h:786
int OGR_G_Intersects(OGRGeometryH, OGRGeometryH)
Do these features intersect?
Definition: ogrgeometry.cpp:576
OGRGeomFieldDefnH OGR_GFld_Create(const char *, OGRwkbGeometryType)
Create a new field geometry definition.
Definition: ogrgeomfielddefn.cpp:109
int OGR_G_GetDimension(OGRGeometryH)
Get the dimension of this geometry.
Definition: ogrgeometry.cpp:860
int OGR_G_IsValid(OGRGeometryH)
Test if the geometry is valid.
Definition: ogrgeometry.cpp:2231
void OGR_F_SetStyleStringDirectly(OGRFeatureH, char *)
Set feature style string.
Definition: ogrfeature.cpp:6225
const OGRCodedValue * OGR_CodedFldDomain_GetEnumeration(OGRFieldDomainH)
Get the enumeration as (code, value) pairs.
Definition: ogrfielddefn.cpp:2167
OGRFieldDefnH OGR_F_GetFieldDefnRef(OGRFeatureH, int)
Fetch definition for this field.
Definition: ogrfeature.cpp:1145
Associates a code and a value.
Definition: ogr_core.h:979
double OGR_G_GetX(OGRGeometryH, int)
Fetch the x coordinate of a point from a Point or a LineString/LinearRing geometry.
Definition: ogr_api.cpp:224
OGRErr OGR_DS_DeleteLayer(OGRDataSourceH, int)
Delete the indicated layer from the datasource.
Definition: ogrdatasource.cpp:167
#define CPL_WARN_UNUSED_RESULT
Qualifier to warn when the return value of a function is not used.
Definition: cpl_port.h:894
int OGR_G_GetPointCount(OGRGeometryH)
Fetch number of points from a Point or a LineString/LinearRing geometry.
Definition: ogr_api.cpp:111
void OGR_G_FlattenTo2D(OGRGeometryH)
Convert geometry to strictly 2D.
Definition: ogrgeometry.cpp:2867
void OGR_FldDomain_SetSplitPolicy(OGRFieldDomainH, OGRFieldDomainSplitPolicy)
Set the split policy of the field domain.
Definition: ogrfielddefn.cpp:2110