GDAL
|
Definition of an attribute of an OGRFeatureDefn. More...
#include <ogr_feature.h>
Public Member Functions | |
OGRFieldDefn (const char *, OGRFieldType) | |
Constructor. More... | |
OGRFieldDefn (const OGRFieldDefn *) | |
Constructor. More... | |
void | SetName (const char *) |
Reset the name of this field. More... | |
const char * | GetNameRef () const |
Fetch name of this field. More... | |
OGRFieldType | GetType () const |
Fetch type of this field. More... | |
void | SetType (OGRFieldType eTypeIn) |
Set the type of this field. More... | |
OGRFieldSubType | GetSubType () const |
Fetch subtype of this field. More... | |
void | SetSubType (OGRFieldSubType eSubTypeIn) |
Set the subtype of this field. More... | |
OGRJustification | GetJustify () const |
Get the justification for this field. More... | |
void | SetJustify (OGRJustification eJustifyIn) |
Set the justification for this field. More... | |
int | GetWidth () const |
Get the formatting width for this field. More... | |
void | SetWidth (int nWidthIn) |
Set the formatting width for this field in characters. More... | |
int | GetPrecision () const |
Get the formatting precision for this field. More... | |
void | SetPrecision (int nPrecisionIn) |
Set the formatting precision for this field in characters. More... | |
void | Set (const char *, OGRFieldType, int=0, int=0, OGRJustification=OJUndefined) |
Set defining parameters for a field in one call. More... | |
void | SetDefault (const char *) |
Set default field value. More... | |
const char * | GetDefault () const |
Get default field value. More... | |
int | IsDefaultDriverSpecific () const |
Returns whether the default value is driver specific. 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 field can receive null values. More... | |
void | SetNullable (int bNullableIn) |
Set whether this field can receive null values. More... | |
int | IsSame (const OGRFieldDefn *) const |
Test if the field definition is identical to the other one. More... | |
Static Public Member Functions | |
static const char * | GetFieldTypeName (OGRFieldType) |
Fetch human readable name for a field type. More... | |
static const char * | GetFieldSubTypeName (OGRFieldSubType) |
Fetch human readable name for a field subtype. More... | |
static OGRFieldDefnH | ToHandle (OGRFieldDefn *poFieldDefn) |
Convert a OGRFieldDefn* to a OGRFieldDefnH. More... | |
static OGRFieldDefn * | FromHandle (OGRFieldDefnH hFieldDefn) |
Convert a OGRFieldDefnH to a OGRFieldDefn*. More... | |
Definition of an attribute of an OGRFeatureDefn.
A field is described by :
OGRFieldDefn::OGRFieldDefn | ( | const char * | pszNameIn, |
OGRFieldType | eTypeIn | ||
) |
Constructor.
By default, fields have no width, precision, are nullable and not ignored.
pszNameIn | the name of the new field. |
eTypeIn | the type of the new field. |
|
explicit |
Constructor.
Create by cloning an existing field definition.
poPrototype | the field definition to clone. |
|
inlinestatic |
Convert a OGRFieldDefnH to a OGRFieldDefn*.
const char * OGRFieldDefn::GetDefault | ( | ) | const |
Get default field value.
This function is the same as the C function OGR_Fld_GetDefault().
|
static |
Fetch human readable name for a field subtype.
This static method is the same as the C function OGR_GetFieldSubTypeName().
eSubType | the field subtype to get name for. |
|
static |
Fetch human readable name for a field type.
This static method is the same as the C function OGR_GetFieldTypeName().
eType | the field type to get name for. |
|
inline |
Get the justification for this field.
Note: no driver is know to use the concept of field justification.
This method is the same as the C function OGR_Fld_GetJustify().
|
inline |
Fetch name of this field.
This method is the same as the C function OGR_Fld_GetNameRef().
|
inline |
Get the formatting precision for this field.
This should normally be zero for fields of types other than OFTReal.
This method is the same as the C function OGR_Fld_GetPrecision().
|
inline |
Fetch subtype of this field.
This method is the same as the C function OGR_Fld_GetSubType().
|
inline |
Fetch type of this field.
This method is the same as the C function OGR_Fld_GetType().
|
inline |
Get the formatting width for this field.
This method is the same as the C function OGR_Fld_GetWidth().
int OGRFieldDefn::IsDefaultDriverSpecific | ( | ) | const |
Returns whether the default value is driver specific.
Driver specific default values are those that are not NULL, a numeric value, a literal value enclosed between single quote characters, CURRENT_TIMESTAMP, CURRENT_TIME, CURRENT_DATE or datetime literal value.
This method is the same as the C function OGR_Fld_IsDefaultDriverSpecific().
|
inline |
Return whether this field should be omitted when fetching features.
This method is the same as the C function OGR_Fld_IsIgnored().
|
inline |
Return whether this 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.
This method is the same as the C function OGR_Fld_IsNullable().
int OGRFieldDefn::IsSame | ( | const OGRFieldDefn * | poOtherFieldDefn | ) | const |
Test if the field definition is identical to the other one.
poOtherFieldDefn | the other field definition to compare to. |
void OGRFieldDefn::Set | ( | const char * | pszNameIn, |
OGRFieldType | eTypeIn, | ||
int | nWidthIn = 0 , |
||
int | nPrecisionIn = 0 , |
||
OGRJustification | eJustifyIn = OJUndefined |
||
) |
Set defining parameters for a field in one call.
This method is the same as the C function OGR_Fld_Set().
pszNameIn | the new name to assign. |
eTypeIn | the new type (one of the OFT values like OFTInteger). |
nWidthIn | the preferred formatting width. Defaults to zero indicating undefined. |
nPrecisionIn | number of decimals places for formatting, defaults to zero indicating undefined. |
eJustifyIn | the formatting justification (OJLeft or OJRight), defaults to OJUndefined. |
void OGRFieldDefn::SetDefault | ( | const char * | pszDefaultIn | ) |
Set default field value.
The default field value is taken into account by drivers (generally those with a SQL interface) that support it at field creation time. OGR will generally not automatically set the default field value to null fields by itself when calling OGRFeature::CreateFeature() / OGRFeature::SetFeature(), but will let the low-level layers to do the job. So retrieving the feature from the layer is recommended.
The accepted values are NULL, a numeric value, a literal value enclosed between single quote characters (and inner single quote characters escaped by repetition of the single quote character), CURRENT_TIMESTAMP, CURRENT_TIME, CURRENT_DATE or a driver specific expression (that might be ignored by other drivers). For a datetime literal value, format should be 'YYYY/MM/DD HH:MM:SS[.sss]' (considered as UTC time).
Drivers that support writing DEFAULT clauses will advertize the GDAL_DCAP_DEFAULT_FIELDS driver metadata item.
This function is the same as the C function OGR_Fld_SetDefault().
pszDefaultIn | new default field value or NULL pointer. |
|
inline |
Set whether this field should be omitted when fetching features.
This method is the same as the C function OGR_Fld_SetIgnored().
ignore | ignore state |
|
inline |
Set the justification for this field.
Note: no driver is know to use the concept of field justification.
This method is the same as the C function OGR_Fld_SetJustify().
eJustify | the new justification. |
void OGRFieldDefn::SetName | ( | const char * | pszNameIn | ) |
Reset the name of this field.
This method is the same as the C function OGR_Fld_SetName().
pszNameIn | the new name to apply. |
|
inline |
Set whether this 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 advertize the GDAL_DCAP_NOTNULL_FIELDS driver metadata item.
This method is the same as the C function OGR_Fld_SetNullable().
bNullableIn | FALSE if the field must have a not-null constraint. |
|
inline |
Set the formatting precision for this field in characters.
This should normally be zero for fields of types other than OFTReal.
This method is the same as the C function OGR_Fld_SetPrecision().
nPrecision | the new precision. |
void OGRFieldDefn::SetSubType | ( | OGRFieldSubType | eSubTypeIn | ) |
Set the subtype of this field.
This should never be done to an OGRFieldDefn that is already part of an OGRFeatureDefn.
This method is the same as the C function OGR_Fld_SetSubType().
eSubTypeIn | the new field subtype. |
void OGRFieldDefn::SetType | ( | OGRFieldType | eTypeIn | ) |
Set the type of this field.
This should never be done to an OGRFieldDefn that is already part of an OGRFeatureDefn.
This method is the same as the C function OGR_Fld_SetType().
eTypeIn | the new field type. |
|
inline |
Set the formatting width for this field in characters.
This method is the same as the C function OGR_Fld_SetWidth().
nWidth | the new width. |
|
inlinestatic |
Convert a OGRFieldDefn* to a OGRFieldDefnH.