GDAL
Public Member Functions | Static Public Member Functions | List of all members
OGRGeomFieldDefn Class Reference

Definition of a geometry field of an OGRFeatureDefn. More...

#include <ogr_feature.h>

Public Member Functions

 OGRGeomFieldDefn (const char *pszNameIn, OGRwkbGeometryType eGeomTypeIn)
 Constructor. More...
 
 OGRGeomFieldDefn (const OGRGeomFieldDefn *)
 Constructor. More...
 
void SetName (const char *)
 Reset the name of this field. More...
 
const char * GetNameRef () const
 Fetch name of this field. More...
 
OGRwkbGeometryType GetType () const
 Fetch geometry type of this field. More...
 
void SetType (OGRwkbGeometryType eTypeIn)
 Set the geometry type of this field. More...
 
virtual const OGRSpatialReferenceGetSpatialRef () const
 Fetch spatial reference system of this field. More...
 
void SetSpatialRef (const OGRSpatialReference *poSRSIn)
 Set the spatial reference of this field. More...
 
int IsIgnored () const
 Return whether this field should be omitted when fetching features. More...
 
void SetIgnored (int bIgnoreIn)
 Set whether this field should be omitted when fetching features. More...
 
int IsNullable () const
 Return whether this geometry field can receive null values. More...
 
void SetNullable (int bNullableIn)
 Set whether this geometry field can receive null values. More...
 
const OGRGeomCoordinatePrecisionGetCoordinatePrecision () const
 Return the coordinate precision associated to this geometry field. More...
 
void SetCoordinatePrecision (const OGRGeomCoordinatePrecision &prec)
 Set coordinate precision associated to this geometry field. More...
 
int IsSame (const OGRGeomFieldDefn *) const
 Test if the geometry field definition is identical to the other one. More...
 
void Seal ()
 Seal a OGRGeomFieldDefn. More...
 
void Unseal ()
 Unseal a OGRGeomFieldDefn. More...
 
TemporaryUnsealer GetTemporaryUnsealer ()
 Return an object that temporary unseals the OGRGeomFieldDefn. More...
 

Static Public Member Functions

static OGRGeomFieldDefnH ToHandle (OGRGeomFieldDefn *poGeomFieldDefn)
 Convert a OGRGeomFieldDefn* to a OGRGeomFieldDefnH. More...
 
static OGRGeomFieldDefnFromHandle (OGRGeomFieldDefnH hGeomFieldDefn)
 Convert a OGRGeomFieldDefnH to a OGRGeomFieldDefn*. More...
 

Detailed Description

Definition of a geometry field of an OGRFeatureDefn.

A geometry field is described by :

Note that once a OGRGeomFieldDefn has been added to a layer definition with OGRLayer::AddGeomFieldDefn(), its setter methods should not be called on the object returned with OGRLayer::GetLayerDefn()->GetGeomFieldDefn(). Instead, OGRLayer::AlterGeomFieldDefn() should be called on a new instance of OGRFieldDefn, for drivers that support AlterFieldDefn().

Since
OGR 1.11

Constructor & Destructor Documentation

◆ OGRGeomFieldDefn() [1/2]

OGRGeomFieldDefn::OGRGeomFieldDefn ( const char *  pszNameIn,
OGRwkbGeometryType  eGeomTypeIn 
)

Constructor.

Parameters
pszNameInthe name of the new field.
eGeomTypeInthe type of the new field.
Since
GDAL 1.11

◆ OGRGeomFieldDefn() [2/2]

OGRGeomFieldDefn::OGRGeomFieldDefn ( const OGRGeomFieldDefn poPrototype)
explicit

Constructor.

Create by cloning an existing geometry field definition.

Parameters
poPrototypethe geometry field definition to clone.
Since
GDAL 1.11

Member Function Documentation

◆ FromHandle()

static OGRGeomFieldDefn * OGRGeomFieldDefn::FromHandle ( OGRGeomFieldDefnH  hGeomFieldDefn)
inlinestatic

Convert a OGRGeomFieldDefnH to a OGRGeomFieldDefn*.

Since
GDAL 2.3

◆ GetCoordinatePrecision()

int OGRGeomFieldDefn::GetCoordinatePrecision ( ) const
inline

Return the coordinate precision associated to this geometry field.

This method is the same as the C function OGR_GFld_GetCoordinatePrecision().

Returns
the coordinate precision
Since
GDAL 3.9

◆ GetNameRef()

const char * OGRGeomFieldDefn::GetNameRef ( ) const
inline

Fetch name of this field.

This method is the same as the C function OGR_GFld_GetNameRef().

Returns
pointer to an internal name string that should not be freed or modified.
Since
GDAL 1.11

◆ GetSpatialRef()

const OGRSpatialReference * OGRGeomFieldDefn::GetSpatialRef ( ) const
virtual

Fetch spatial reference system of this field.

This method is the same as the C function OGR_GFld_GetSpatialRef().

Returns
field spatial reference system.
Since
GDAL 1.11

◆ GetTemporaryUnsealer()

OGRGeomFieldDefn::TemporaryUnsealer OGRGeomFieldDefn::GetTemporaryUnsealer ( )

Return an object that temporary unseals the OGRGeomFieldDefn.

The returned object calls Unseal() initially, and when it is destroyed it calls Seal().

This method should only be called by driver implementations.

It is also possible to use the helper method whileUnsealing(). Example: whileUnsealing(poGeomFieldDefn)->some_method()

Since
GDAL 3.9

◆ GetType()

OGRwkbGeometryType OGRGeomFieldDefn::GetType ( ) const
inline

Fetch geometry type of this field.

This method is the same as the C function OGR_GFld_GetType().

Returns
field geometry type.
Since
GDAL 1.11

◆ IsIgnored()

int OGRGeomFieldDefn::IsIgnored ( ) const
inline

Return whether this field should be omitted when fetching features.

This method is the same as the C function OGR_GFld_IsIgnored().

Returns
ignore state
Since
GDAL 1.11

◆ IsNullable()

int OGRGeomFieldDefn::IsNullable ( ) const
inline

Return whether this geometry field can receive null values.

By default, fields are nullable.

Even if this method returns FALSE (i.e not-nullable field), it doesn't mean that OGRFeature::IsFieldSet() will necessary return TRUE, as fields can be temporary unset and null/not-null validation is usually done when OGRLayer::CreateFeature()/SetFeature() is called.

Note that not-nullable geometry fields might also contain 'empty' geometries.

This method is the same as the C function OGR_GFld_IsNullable().

Returns
TRUE if the field is authorized to be null.
Since
GDAL 2.0

◆ IsSame()

int OGRGeomFieldDefn::IsSame ( const OGRGeomFieldDefn poOtherFieldDefn) const

Test if the geometry field definition is identical to the other one.

Parameters
poOtherFieldDefnthe other field definition to compare to.
Returns
TRUE if the geometry field definition is identical to the other one.
Since
GDAL 1.11

◆ Seal()

void OGRGeomFieldDefn::Seal ( )

Seal a OGRGeomFieldDefn.

A sealed OGRGeomFieldDefn can not be modified while it is sealed.

This method should only be called by driver implementations.

Since
GDAL 3.9

◆ SetCoordinatePrecision()

void OGRGeomFieldDefn::SetCoordinatePrecision ( const OGRGeomCoordinatePrecision prec)

Set coordinate precision associated to this geometry field.

This method is the same as the C function OGR_GFld_SetCoordinatePrecision().

Note that once a OGRGeomFieldDefn has been added to a layer definition with OGRLayer::AddGeomFieldDefn(), its setter methods should not be called on the object returned with OGRLayer::GetLayerDefn()->GetGeomFieldDefn().

Parameters
precCoordinate precision
Since
GDAL 3.9

◆ SetIgnored()

void OGRGeomFieldDefn::SetIgnored ( int  ignore)
inline

Set whether this field should be omitted when fetching features.

This method is the same as the C function OGR_GFld_SetIgnored().

This method should not be called on a object returned with OGRLayer::GetLayerDefn()->GetGeomFieldDefn(). Instead, the OGRLayer::SetIgnoredFields() method should be called.

Parameters
ignoreignore state
Since
GDAL 1.11

◆ SetName()

void OGRGeomFieldDefn::SetName ( const char *  pszNameIn)

Reset the name of this field.

This method is the same as the C function OGR_GFld_SetName().

Note that once a OGRGeomFieldDefn has been added to a layer definition with OGRLayer::AddGeomFieldDefn(), its setter methods should not be called on the object returned with OGRLayer::GetLayerDefn()->GetGeomFieldDefn(). Instead, OGRLayer::AlterGeomFieldDefn() should be called on a new instance of OGRFieldDefn, for drivers that support AlterFieldDefn().

Parameters
pszNameInthe new name to apply.
Since
GDAL 1.11

◆ SetNullable()

void OGRGeomFieldDefn::SetNullable ( int  bNullableIn)

Set whether this geometry field can receive null values.

By default, fields are nullable, so this method is generally called with FALSE to set a not-null constraint.

Drivers that support writing not-null constraint will advertise the GDAL_DCAP_NOTNULL_GEOMFIELDS driver metadata item.

This method is the same as the C function OGR_GFld_SetNullable().

Note that once a OGRGeomFieldDefn has been added to a layer definition with OGRLayer::AddGeomFieldDefn(), its setter methods should not be called on the object returned with OGRLayer::GetLayerDefn()->GetGeomFieldDefn(). Instead, OGRLayer::AlterGeomFieldDefn() should be called on a new instance of OGRFieldDefn, for drivers that support AlterFieldDefn().

Parameters
bNullableInFALSE if the field must have a not-null constraint.
Since
GDAL 2.0

◆ SetSpatialRef()

void OGRGeomFieldDefn::SetSpatialRef ( const OGRSpatialReference poSRSIn)

Set the spatial reference of this field.

This method is the same as the C function OGR_GFld_SetSpatialRef().

This method drops the reference of the previously set SRS object and acquires a new reference on the passed object (if non-NULL).

Note that once a OGRGeomFieldDefn has been added to a layer definition with OGRLayer::AddGeomFieldDefn(), its setter methods should not be called on the object returned with OGRLayer::GetLayerDefn()->GetGeomFieldDefn(). Instead, OGRLayer::AlterGeomFieldDefn() should be called on a new instance of OGRFieldDefn, for drivers that support AlterFieldDefn().

Parameters
poSRSInthe new SRS to apply.
Since
GDAL 1.11

◆ SetType()

void OGRGeomFieldDefn::SetType ( OGRwkbGeometryType  eTypeIn)

Set the geometry type of this field.

This should never be done to an OGRGeomFieldDefn that is already part of an OGRFeatureDefn.

This method is the same as the C function OGR_GFld_SetType().

Note that once a OGRGeomFieldDefn has been added to a layer definition with OGRLayer::AddGeomFieldDefn(), its setter methods should not be called on the object returned with OGRLayer::GetLayerDefn()->GetGeomFieldDefn(). Instead, OGRLayer::AlterGeomFieldDefn() should be called on a new instance of OGRFieldDefn, for drivers that support AlterFieldDefn().

Parameters
eTypeInthe new field geometry type.
Since
GDAL 1.11

◆ ToHandle()

static OGRGeomFieldDefnH OGRGeomFieldDefn::ToHandle ( OGRGeomFieldDefn poGeomFieldDefn)
inlinestatic

Convert a OGRGeomFieldDefn* to a OGRGeomFieldDefnH.

Since
GDAL 2.3

◆ Unseal()

void OGRGeomFieldDefn::Unseal ( )

Unseal a OGRGeomFieldDefn.

Undo OGRGeomFieldDefn::Seal()

Using GetTemporaryUnsealer() is recommended for most use cases.

This method should only be called by driver implementations.

Since
GDAL 3.9

The documentation for this class was generated from the following files: