GDAL

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

- File List
- File Members

ogr_feature.h
Go to the documentation of this file.
1 /******************************************************************************
2 * $Id: ogr_feature.h 37371 2017-02-13 11:41:59Z rouault $
3 *
4 * Project: OpenGIS Simple Features Reference Implementation
5 * Purpose: Class for representing a whole feature, and layer schemas.
6 * Author: Frank Warmerdam, warmerdam@pobox.com
7 *
8 ******************************************************************************
9 * Copyright (c) 1999, Les Technologies SoftMap Inc.
10 * Copyright (c) 2008-2013, 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_FEATURE_H_INCLUDED
32 #define OGR_FEATURE_H_INCLUDED
33
34 #include "cpl_atomic_ops.h"
35 #include "ogr_featurestyle.h"
36 #include "ogr_geometry.h"
37
44 /************************************************************************/
45 /* OGRFieldDefn */
46 /************************************************************************/
47
62 class CPL_DLL OGRFieldDefn
63 {
64 private:
65 char *pszName;
66 OGRFieldType eType;
67 OGRJustification eJustify;
68 int nWidth; // Zero is variable.
69 int nPrecision;
70 char *pszDefault;
71
72 int bIgnore;
73 OGRFieldSubType eSubType;
74
75 int bNullable;
76
77 public:
78 OGRFieldDefn( const char *, OGRFieldType );
79 explicit OGRFieldDefn( OGRFieldDefn * );
80 ~OGRFieldDefn();
81
82 void SetName( const char * );
83 const char *GetNameRef() { return pszName; }
84
85 OGRFieldType GetType() const { return eType; }
86 void SetType( OGRFieldType eTypeIn );
87 static const char *GetFieldTypeName( OGRFieldType );
88
89 OGRFieldSubType GetSubType() const { return eSubType; }
90 void SetSubType( OGRFieldSubType eSubTypeIn );
91 static const char *GetFieldSubTypeName( OGRFieldSubType );
92
93 OGRJustification GetJustify() const { return eJustify; }
94 void SetJustify( OGRJustification eJustifyIn )
95 { eJustify = eJustifyIn; }
96
97 int GetWidth() const { return nWidth; }
98 void SetWidth( int nWidthIn ) { nWidth = MAX(0,nWidthIn); }
99
100 int GetPrecision() const { return nPrecision; }
101 void SetPrecision( int nPrecisionIn )
102 { nPrecision = nPrecisionIn; }
103
104 void Set( const char *, OGRFieldType, int = 0, int = 0,
105 OGRJustification = OJUndefined );
106
107 void SetDefault( const char* );
108 const char *GetDefault() const;
109 int IsDefaultDriverSpecific() const;
110
111 int IsIgnored() const { return bIgnore; }
112 void SetIgnored( int bIgnoreIn ) { bIgnore = bIgnoreIn; }
113
114 int IsNullable() const { return bNullable; }
115 void SetNullable( int bNullableIn ) { bNullable = bNullableIn; }
116
117 int IsSame( const OGRFieldDefn * ) const;
118
119 private:
120 CPL_DISALLOW_COPY_ASSIGN(OGRFieldDefn)
121 };
122
123 /************************************************************************/
124 /* OGRGeomFieldDefn */
125 /************************************************************************/
126
141 class CPL_DLL OGRGeomFieldDefn
142 {
143 protected:
145 char *pszName;
146 OGRwkbGeometryType eGeomType; /* all values possible except wkbNone */
147 OGRSpatialReference* poSRS;
148
149 int bIgnore;
150 int bNullable;
151
152 void Initialize( const char *, OGRwkbGeometryType );
154
155 public:
156 OGRGeomFieldDefn( const char *pszNameIn,
157 OGRwkbGeometryType eGeomTypeIn );
158 explicit OGRGeomFieldDefn( OGRGeomFieldDefn * );
159 virtual ~OGRGeomFieldDefn();
160
161 void SetName( const char * );
162 const char *GetNameRef() { return pszName; }
163
164 OGRwkbGeometryType GetType() const { return eGeomType; }
165 void SetType( OGRwkbGeometryType eTypeIn );
166
167 virtual OGRSpatialReference* GetSpatialRef();
168 void SetSpatialRef( OGRSpatialReference* poSRSIn );
169
170 int IsIgnored() const { return bIgnore; }
171 void SetIgnored( int bIgnoreIn ) { bIgnore = bIgnoreIn; }
172
173 int IsNullable() const { return bNullable; }
174 void SetNullable( int bNullableIn )
175 { bNullable = bNullableIn; }
176
177 int IsSame( OGRGeomFieldDefn * );
178
179 private:
180 CPL_DISALLOW_COPY_ASSIGN(OGRGeomFieldDefn)
181 };
182
183 /************************************************************************/
184 /* OGRFeatureDefn */
185 /************************************************************************/
186
207 class CPL_DLL OGRFeatureDefn
208 {
209 protected:
211 volatile int nRefCount;
212
213 int nFieldCount;
214 OGRFieldDefn **papoFieldDefn;
215
216 int nGeomFieldCount;
217 OGRGeomFieldDefn **papoGeomFieldDefn;
218
219 char *pszFeatureClassName;
220
221 int bIgnoreStyle;
223
224 public:
225 explicit OGRFeatureDefn( const char * pszName = NULL );
226 virtual ~OGRFeatureDefn();
227
228 virtual const char *GetName();
229
230 virtual int GetFieldCount();
231 virtual OGRFieldDefn *GetFieldDefn( int i );
232 virtual int GetFieldIndex( const char * );
233
234 virtual void AddFieldDefn( OGRFieldDefn * );
235 virtual OGRErr DeleteFieldDefn( int iField );
236 virtual OGRErr ReorderFieldDefns( int* panMap );
237
238 virtual int GetGeomFieldCount();
239 virtual OGRGeomFieldDefn *GetGeomFieldDefn( int i );
240 virtual int GetGeomFieldIndex( const char * );
241
242 virtual void AddGeomFieldDefn( OGRGeomFieldDefn *,
243 int bCopy = TRUE );
244 virtual OGRErr DeleteGeomFieldDefn( int iGeomField );
245
246 virtual OGRwkbGeometryType GetGeomType();
247 virtual void SetGeomType( OGRwkbGeometryType );
248
249 virtual OGRFeatureDefn *Clone();
250
251 int Reference() { return CPLAtomicInc(&nRefCount); }
252 int Dereference() { return CPLAtomicDec(&nRefCount); }
253 int GetReferenceCount() { return nRefCount; }
254 void Release();
255
256 virtual int IsGeometryIgnored();
257 virtual void SetGeometryIgnored( int bIgnore );
258 virtual int IsStyleIgnored() const { return bIgnoreStyle; }
259 virtual void SetStyleIgnored( int bIgnore )
260 { bIgnoreStyle = bIgnore; }
261
262 virtual int IsSame( OGRFeatureDefn * poOtherFeatureDefn );
263
264 static OGRFeatureDefn *CreateFeatureDefn( const char *pszName = NULL );
265 static void DestroyFeatureDefn( OGRFeatureDefn * );
266
267 private:
268 CPL_DISALLOW_COPY_ASSIGN(OGRFeatureDefn)
269 };
270
271 /************************************************************************/
272 /* OGRFeature */
273 /************************************************************************/
274
279 class CPL_DLL OGRFeature
280 {
281 private:
282
283 GIntBig nFID;
284 OGRFeatureDefn *poDefn;
285 OGRGeometry **papoGeometries;
286 OGRField *pauFields;
287 char *m_pszNativeData;
288 char *m_pszNativeMediaType;
289
290 bool SetFieldInternal( int i, OGRField * puValue );
291
292 protected:
294 char *m_pszStyleString;
295 OGRStyleTable *m_poStyleTable;
296 char *m_pszTmpFieldValue;
298
299 public:
300 explicit OGRFeature( OGRFeatureDefn * );
301 virtual ~OGRFeature();
302
303 OGRFeatureDefn *GetDefnRef() { return poDefn; }
304
305 OGRErr SetGeometryDirectly( OGRGeometry * );
306 OGRErr SetGeometry( const OGRGeometry * );
307 OGRGeometry *GetGeometryRef();
308 OGRGeometry *StealGeometry() CPL_WARN_UNUSED_RESULT;
309
310 int GetGeomFieldCount() const
311 { return poDefn->GetGeomFieldCount(); }
312 OGRGeomFieldDefn *GetGeomFieldDefnRef( int iField )
313 { return poDefn->GetGeomFieldDefn(iField); }
314 int GetGeomFieldIndex( const char * pszName )
315 { return poDefn->GetGeomFieldIndex(pszName); }
316
317 OGRGeometry* GetGeomFieldRef( int iField );
318 OGRGeometry* StealGeometry( int iField );
319 OGRGeometry* GetGeomFieldRef( const char* pszFName );
320 OGRErr SetGeomFieldDirectly( int iField, OGRGeometry * );
321 OGRErr SetGeomField( int iField, const OGRGeometry * );
322
323 OGRFeature *Clone() CPL_WARN_UNUSED_RESULT;
324 virtual OGRBoolean Equal( OGRFeature * poFeature );
325
326 int GetFieldCount() const
327 { return poDefn->GetFieldCount(); }
328 OGRFieldDefn *GetFieldDefnRef( int iField ) const
329 { return poDefn->GetFieldDefn(iField); }
330 int GetFieldIndex( const char * pszName )
331 { return poDefn->GetFieldIndex(pszName); }
332
333 int IsFieldSet( int iField );
334
335 void UnsetField( int iField );
336
337 bool IsFieldNull( int iField );
338
339 void SetFieldNull( int iField );
340
341 bool IsFieldSetAndNotNull( int iField );
342
343 OGRField *GetRawFieldRef( int i ) { return pauFields + i; }
344
345 int GetFieldAsInteger( int i );
346 GIntBig GetFieldAsInteger64( int i );
347 double GetFieldAsDouble( int i );
348 const char *GetFieldAsString( int i );
349 const int *GetFieldAsIntegerList( int i, int *pnCount );
350 const GIntBig *GetFieldAsInteger64List( int i, int *pnCount );
351 const double *GetFieldAsDoubleList( int i, int *pnCount );
352 char **GetFieldAsStringList( int i );
353 GByte *GetFieldAsBinary( int i, int *pnCount );
354 int GetFieldAsDateTime( int i,
355 int *pnYear, int *pnMonth,
356 int *pnDay,
357 int *pnHour, int *pnMinute,
358 int *pnSecond,
359 int *pnTZFlag );
360 int GetFieldAsDateTime( int i,
361 int *pnYear, int *pnMonth,
362 int *pnDay,
363 int *pnHour, int *pnMinute,
364 float *pfSecond,
365 int *pnTZFlag );
366 char *GetFieldAsSerializedJSon( int i );
367
368 int GetFieldAsInteger( const char *pszFName )
369 { return GetFieldAsInteger( GetFieldIndex(pszFName) ); }
370 GIntBig GetFieldAsInteger64( const char *pszFName )
371 { return GetFieldAsInteger64( GetFieldIndex(pszFName) ); }
372 double GetFieldAsDouble( const char *pszFName )
373 { return GetFieldAsDouble( GetFieldIndex(pszFName) ); }
374 const char *GetFieldAsString( const char *pszFName )
375 { return GetFieldAsString( GetFieldIndex(pszFName) ); }
376 const int *GetFieldAsIntegerList( const char *pszFName,
377 int *pnCount )
378 { return GetFieldAsIntegerList( GetFieldIndex(pszFName),
379 pnCount ); }
380 const GIntBig *GetFieldAsInteger64List( const char *pszFName,
381 int *pnCount )
382 { return GetFieldAsInteger64List( GetFieldIndex(pszFName),
383 pnCount ); }
384 const double *GetFieldAsDoubleList( const char *pszFName,
385 int *pnCount )
386 { return GetFieldAsDoubleList( GetFieldIndex(pszFName),
387 pnCount ); }
388 char **GetFieldAsStringList( const char *pszFName )
389 { return GetFieldAsStringList(GetFieldIndex(pszFName)); }
390
391 void SetField( int i, int nValue );
392 void SetField( int i, GIntBig nValue );
393 void SetField( int i, double dfValue );
394 void SetField( int i, const char * pszValue );
395 void SetField( int i, int nCount, int * panValues );
396 void SetField( int i, int nCount,
397 const GIntBig * panValues );
398 void SetField( int i, int nCount, double * padfValues );
399 void SetField( int i, char ** papszValues );
400 void SetField( int i, OGRField * puValue );
401 void SetField( int i, int nCount, GByte * pabyBinary );
402 void SetField( int i, int nYear, int nMonth, int nDay,
403 int nHour=0, int nMinute=0, float fSecond=0.f,
404 int nTZFlag = 0 );
405
406 void SetField( const char *pszFName, int nValue )
407 { SetField( GetFieldIndex(pszFName), nValue ); }
408 void SetField( const char *pszFName, GIntBig nValue )
409 { SetField( GetFieldIndex(pszFName), nValue ); }
410 void SetField( const char *pszFName, double dfValue )
411 { SetField( GetFieldIndex(pszFName), dfValue ); }
412 void SetField( const char *pszFName, const char * pszValue )
413 { SetField( GetFieldIndex(pszFName), pszValue ); }
414 void SetField( const char *pszFName, int nCount,
415 int * panValues )
416 { SetField(GetFieldIndex(pszFName),nCount,panValues); }
417 void SetField( const char *pszFName, int nCount,
418 const GIntBig * panValues )
419 { SetField(GetFieldIndex(pszFName),nCount,panValues); }
420 void SetField( const char *pszFName, int nCount,
421 double * padfValues )
422 {SetField(GetFieldIndex(pszFName),nCount,padfValues); }
423 void SetField( const char *pszFName, char ** papszValues )
424 { SetField( GetFieldIndex(pszFName), papszValues); }
425 void SetField( const char *pszFName, OGRField * puValue )
426 { SetField( GetFieldIndex(pszFName), puValue ); }
427 void SetField( const char *pszFName,
428 int nYear, int nMonth, int nDay,
429 int nHour=0, int nMinute=0, float fSecond=0.f,
430 int nTZFlag = 0 )
431 { SetField( GetFieldIndex(pszFName),
432 nYear, nMonth, nDay,
433 nHour, nMinute, fSecond, nTZFlag ); }
434
435 GIntBig GetFID() const { return nFID; }
436 virtual OGRErr SetFID( GIntBig nFIDIn );
437
438 void DumpReadable( FILE *, char** papszOptions = NULL );
439
440 OGRErr SetFrom( OGRFeature *, int = TRUE );
441 OGRErr SetFrom( OGRFeature *, int *, int = TRUE );
442 OGRErr SetFieldsFrom( OGRFeature *, int *, int = TRUE );
443
445 OGRErr RemapFields( OGRFeatureDefn *poNewDefn,
446 int *panRemapSource );
447 OGRErr RemapGeomFields( OGRFeatureDefn *poNewDefn,
448 int *panRemapSource );
450
451 int Validate( int nValidateFlags,
452 int bEmitError );
453 void FillUnsetWithDefault( int bNotNullableOnly,
454 char** papszOptions );
455
456 virtual const char *GetStyleString();
457 virtual void SetStyleString( const char * );
458 virtual void SetStyleStringDirectly( char * );
459
463 virtual OGRStyleTable *GetStyleTable() { return m_poStyleTable; }
464 virtual void SetStyleTable( OGRStyleTable *poStyleTable );
465 virtual void SetStyleTableDirectly( OGRStyleTable *poStyleTable );
466
467 const char *GetNativeData() const { return m_pszNativeData; }
468 const char *GetNativeMediaType() const
469 { return m_pszNativeMediaType; }
470 void SetNativeData( const char* pszNativeData );
471 void SetNativeMediaType( const char* pszNativeMediaType );
472
473 static OGRFeature *CreateFeature( OGRFeatureDefn * );
474 static void DestroyFeature( OGRFeature * );
475
476 private:
477 CPL_DISALLOW_COPY_ASSIGN(OGRFeature)
478 };
479
480 /************************************************************************/
481 /* OGRFeatureQuery */
482 /************************************************************************/
483
485 class OGRLayer;
486 class swq_expr_node;
487 class swq_custom_func_registrar;
488
489 class CPL_DLL OGRFeatureQuery
490 {
491 private:
492 OGRFeatureDefn *poTargetDefn;
493 void *pSWQExpr;
494
495 char **FieldCollector( void *, char ** );
496
497 GIntBig *EvaluateAgainstIndices( swq_expr_node*, OGRLayer *,
498 GIntBig& nFIDCount );
499
500 int CanUseIndex( swq_expr_node*, OGRLayer * );
501
502 public:
503 OGRFeatureQuery();
504 ~OGRFeatureQuery();
505
506 OGRErr Compile( OGRFeatureDefn *, const char *,
507 int bCheck = TRUE,
508 swq_custom_func_registrar*
509 poCustomFuncRegistrar = NULL );
510 int Evaluate( OGRFeature * );
511
512 GIntBig *EvaluateAgainstIndices( OGRLayer *, OGRErr * );
513
514 int CanUseIndex( OGRLayer * );
515
516 char **GetUsedFields();
517
518 void *GetSWQExpr() { return pSWQExpr; }
519 };
521
522 #endif /* ndef OGR_FEATURE_H_INCLUDED */
OGRFieldDefn::GetSubType
OGRFieldSubType GetSubType() const
Fetch subtype of this field.
Definition: ogr_feature.h:89
OGRFeatureDefn::GetReferenceCount
int GetReferenceCount()
Fetch current reference count.
Definition: ogr_feature.h:253
OGRFieldSubType
OGRFieldSubType
List of field subtypes.
Definition: ogr_core.h:612
OGRFieldDefn::GetJustify
OGRJustification GetJustify() const
Get the justification for this field.
Definition: ogr_feature.h:93
OGRFeature::GetFieldAsInteger
int GetFieldAsInteger(const char *pszFName)
Fetch field value as integer.
Definition: ogr_feature.h:368
OGRFeature::SetField
void SetField(const char *pszFName, double dfValue)
Set field to double value.
Definition: ogr_feature.h:410
OGRFeature::GetRawFieldRef
OGRField * GetRawFieldRef(int i)
Fetch a pointer to the internal field value given the index.
Definition: ogr_feature.h:343
OGRGeomFieldDefn::IsIgnored
int IsIgnored() const
Return whether this field should be omitted when fetching features.
Definition: ogr_feature.h:170
OGRGeomFieldDefn::GetNameRef
const char * GetNameRef()
Fetch name of this field.
Definition: ogr_feature.h:162
OGRGeomFieldDefn::SetNullable
void SetNullable(int bNullableIn)
Set whether this geometry field can receive null values.
Definition: ogr_feature.h:174
OGRGeomFieldDefn
Definition of a geometry field of an OGRFeatureDefn.
Definition: ogr_feature.h:141
OGRFeatureDefn::IsStyleIgnored
virtual int IsStyleIgnored() const
Determine whether the style can be omitted when fetching features.
Definition: ogr_feature.h:258
OGRFeatureDefn::GetGeomFieldCount
virtual int GetGeomFieldCount()
Fetch number of geometry fields on this feature.
Definition: ogrfeaturedefn.cpp:583
OGRFeatureDefn::SetStyleIgnored
virtual void SetStyleIgnored(int bIgnore)
Set whether the style can be omitted when fetching features.
Definition: ogr_feature.h:259
OGRFeature::SetField
void SetField(const char *pszFName, OGRField *puValue)
Set field.
Definition: ogr_feature.h:425
OGRFeature::GetFieldAsIntegerList
const int * GetFieldAsIntegerList(const char *pszFName, int *pnCount)
Fetch field value as a list of integers.
Definition: ogr_feature.h:376
OGRBoolean
int OGRBoolean
Type for a OGR boolean.
Definition: ogr_core.h:301
GByte
unsigned char GByte
Unsigned byte type.
Definition: cpl_port.h:207
OGRFeature::GetFieldIndex
int GetFieldIndex(const char *pszName)
Fetch the field index given field name.
Definition: ogr_feature.h:330
OGRFieldDefn::GetWidth
int GetWidth() const
Get the formatting width for this field.
Definition: ogr_feature.h:97
OGRFeatureDefn
Definition of a feature class or feature layer.
Definition: ogr_feature.h:207
OGRFeature::GetFieldAsInteger64List
const GIntBig * GetFieldAsInteger64List(const char *pszFName, int *pnCount)
Fetch field value as a list of 64 bit integers.
Definition: ogr_feature.h:380
OGRFeature::SetField
void SetField(const char *pszFName, char **papszValues)
Set field to list of strings value.
Definition: ogr_feature.h:423
OGRFieldDefn::GetType
OGRFieldType GetType() const
Fetch type of this field.
Definition: ogr_feature.h:85
OGRFeatureDefn::GetGeomFieldIndex
virtual int GetGeomFieldIndex(const char *)
Find geometry field by name.
Definition: ogrfeaturedefn.cpp:842
OGRFeature::GetFieldAsDouble
double GetFieldAsDouble(const char *pszFName)
Fetch field value as a double.
Definition: ogr_feature.h:372
ogr_featurestyle.h
Simple feature style classes.
OGRFeature::SetField
void SetField(const char *pszFName, int nValue)
Set field to integer value.
Definition: ogr_feature.h:406
OGRFieldDefn::GetPrecision
int GetPrecision() const
Get the formatting precision for this field.
Definition: ogr_feature.h:100
OGRFieldDefn
Definition of an attribute of an OGRFeatureDefn.
Definition: ogr_feature.h:62
OGRFieldDefn::GetNameRef
const char * GetNameRef()
Fetch name of this field.
Definition: ogr_feature.h:83
OGRFeature::GetStyleTable
virtual OGRStyleTable * GetStyleTable()
Return style table.
Definition: ogr_feature.h:463
MAX
#define MAX(a, b)
Macro to compute the maximum of 2 values.
Definition: cpl_port.h:460
OGRFeature::GetFieldAsInteger64
GIntBig GetFieldAsInteger64(const char *pszFName)
Fetch field value as integer 64 bit.
Definition: ogr_feature.h:370
OGRFeature::GetFID
GIntBig GetFID() const
Get feature identifier.
Definition: ogr_feature.h:435
OGRwkbGeometryType
OGRwkbGeometryType
List of well known binary geometry types.
Definition: ogr_core.h:312
OGRFeature::GetNativeMediaType
const char * GetNativeMediaType() const
Returns the native media type for the feature.
Definition: ogr_feature.h:468
OGRFeatureDefn::GetGeomFieldDefn
virtual OGRGeomFieldDefn * GetGeomFieldDefn(int i)
Fetch geometry field definition.
Definition: ogrfeaturedefn.cpp:632
OGRFieldDefn::SetPrecision
void SetPrecision(int nPrecisionIn)
Set the formatting precision for this field in characters.
Definition: ogr_feature.h:101
OGRGeometry
Abstract base class for all geometry classes.
Definition: ogr_geometry.h:118
OGRGeomFieldDefn::GetType
OGRwkbGeometryType GetType() const
Fetch geometry type of this field.
Definition: ogr_feature.h:164
OGRFieldDefn::IsNullable
int IsNullable() const
Return whether this field can receive null values.
Definition: ogr_feature.h:114
OGRFieldDefn::SetWidth
void SetWidth(int nWidthIn)
Set the formatting width for this field in characters.
Definition: ogr_feature.h:98
OGRJustification
OGRJustification
Display justification for field values.
Definition: ogr_core.h:628
OGRFeature::GetFieldAsDoubleList
const double * GetFieldAsDoubleList(const char *pszFName, int *pnCount)
Fetch field value as a list of doubles.
Definition: ogr_feature.h:384
OGRFeature::SetField
void SetField(const char *pszFName, int nCount, const GIntBig *panValues)
Set field to list of 64 bit integers value.
Definition: ogr_feature.h:417
OGRFeatureDefn::Reference
int Reference()
Increments the reference count by one.
Definition: ogr_feature.h:251
OGRFieldType
OGRFieldType
List of feature field types.
Definition: ogr_core.h:584
OGRSpatialReference
This class represents an OpenGIS Spatial Reference System, and contains methods for converting betwee...
Definition: ogr_spatialref.h:132
OGRFeature::GetGeomFieldIndex
int GetGeomFieldIndex(const char *pszName)
Fetch the geometry field index given geometry field name.
Definition: ogr_feature.h:314
OGRFeature::SetField
void SetField(const char *pszFName, GIntBig nValue)
Set field to 64 bit integer value.
Definition: ogr_feature.h:408
OGRFeatureDefn::Dereference
int Dereference()
Decrements the reference count by one.
Definition: ogr_feature.h:252
OGRField
OGRFeature field attribute value union.
Definition: ogr_core.h:661
OGRFeature::SetField
void SetField(const char *pszFName, int nCount, double *padfValues)
Set field to list of doubles value.
Definition: ogr_feature.h:420
OGRGeomFieldDefn::SetIgnored
void SetIgnored(int bIgnoreIn)
Set whether this field should be omitted when fetching features.
Definition: ogr_feature.h:171
OGRLayer
This class represents a layer of simple features, with access methods.
Definition: ogrsf_frmts.h:68
OGRFieldDefn::IsIgnored
int IsIgnored() const
Return whether this field should be omitted when fetching features.
Definition: ogr_feature.h:111
OGRFeature::GetFieldAsStringList
char ** GetFieldAsStringList(const char *pszFName)
Fetch field value as a list of strings.
Definition: ogr_feature.h:388
OGRFeature::GetGeomFieldDefnRef
OGRGeomFieldDefn * GetGeomFieldDefnRef(int iField)
Fetch definition for this geometry field.
Definition: ogr_feature.h:312
OGRFeature
A simple feature, including geometry and attributes.
Definition: ogr_feature.h:279
OGRFeatureDefn::GetFieldCount
virtual int GetFieldCount()
Fetch number of fields on this feature.
Definition: ogrfeaturedefn.cpp:270
OGRFeatureDefn::GetFieldDefn
virtual OGRFieldDefn * GetFieldDefn(int i)
Fetch field definition.
Definition: ogrfeaturedefn.cpp:317
OGRStyleTable
This class represents a style table.
Definition: ogr_featurestyle.h:83
GIntBig
long long GIntBig
Large signed integer type (generally 64-bit integer type).
Definition: cpl_port.h:250
OGRFeature::SetField
void SetField(const char *pszFName, const char *pszValue)
Set field to string value.
Definition: ogr_feature.h:412
OGRFeature::GetFieldDefnRef
OGRFieldDefn * GetFieldDefnRef(int iField) const
Fetch definition for this field.
Definition: ogr_feature.h:328
OGRFeature::GetNativeData
const char * GetNativeData() const
Returns the native data for the feature.
Definition: ogr_feature.h:467
ogr_geometry.h
Simple feature geometry classes.
OGRFieldDefn::SetJustify
void SetJustify(OGRJustification eJustifyIn)
Set the justification for this field.
Definition: ogr_feature.h:94
OGRErr
int OGRErr
Simple container for a bounding region.
Definition: ogr_core.h:285
OGRGeomFieldDefn::IsNullable
int IsNullable() const
Return whether this geometry field can receive null values.
Definition: ogr_feature.h:173
OGRFeature::GetDefnRef
OGRFeatureDefn * GetDefnRef()
Fetch feature definition.
Definition: ogr_feature.h:303
OGRFeature::SetField
void SetField(const char *pszFName, int nCount, int *panValues)
Set field to list of integers value.
Definition: ogr_feature.h:414
OGRFeature::SetField
void SetField(const char *pszFName, int nYear, int nMonth, int nDay, int nHour=0, int nMinute=0, float fSecond=0.f, int nTZFlag=0)
Set field to date.
Definition: ogr_feature.h:427
OGRFeatureDefn::GetFieldIndex
virtual int GetFieldIndex(const char *)
Find field by name.
Definition: ogrfeaturedefn.cpp:1144
OGRFieldDefn::SetIgnored
void SetIgnored(int bIgnoreIn)
Set whether this field should be omitted when fetching features.
Definition: ogr_feature.h:112
OGRFeature::GetFieldAsString
const char * GetFieldAsString(const char *pszFName)
Fetch field value as a string.
Definition: ogr_feature.h:374
CPL_DISALLOW_COPY_ASSIGN
#define CPL_DISALLOW_COPY_ASSIGN(ClassName)
Helper to remove the copy and assignment constructors so that the compiler will not generate the defa...
Definition: cpl_port.h:1085
OGRFieldDefn::SetNullable
void SetNullable(int bNullableIn)
Set whether this field can receive null values.
Definition: ogr_feature.h:115
CPL_WARN_UNUSED_RESULT
#define CPL_WARN_UNUSED_RESULT
Qualifier to warn when the return value of a function is not used.
Definition: cpl_port.h:999

Generated for GDAL by 1.8.8.