QGIS API Documentation 3.28.0-Firenze (ed3ad0430f)
Static Public Member Functions | List of all members
QgsOgrUtils Class Reference

Utilities for working with OGR features and layers. More...

#include <qgsogrutils.h>

Static Public Member Functions

static OGRFieldDomainH convertFieldDomain (const QgsFieldDomain *domain)
 Converts a QGIS field domain definition to an OGR field domain equivalent. More...
 
static std::unique_ptr< QgsFieldDomainconvertFieldDomain (OGRFieldDomainH domain)
 Converts an OGR field domain definition to a QgsFieldDomain equivalent. More...
 
static OGRSpatialReferenceH crsToOGRSpatialReference (const QgsCoordinateReferenceSystem &crs)
 Returns a OGRSpatialReferenceH corresponding to the specified crs object. More...
 
static QStringList cStringListToQStringList (char **stringList)
 Converts a c string list to a QStringList. More...
 
static QVariant getOgrFeatureAttribute (OGRFeatureH ogrFet, const QgsField &field, int attIndex, QTextCodec *encoding, bool *ok=nullptr)
 Retrieves an attribute value from an OGR feature, using a provided field definition. More...
 
static QVariant getOgrFeatureAttribute (OGRFeatureH ogrFet, const QgsFields &fields, int attIndex, QTextCodec *encoding, bool *ok=nullptr)
 Retrieves an attribute value from an OGR feature. More...
 
static QList< QgsVectorDataProvider::NativeTypenativeFieldTypesForDriver (GDALDriverH driver)
 Returns the list of native field types supported for a driver. More...
 
static QVariant OGRFieldtoVariant (const OGRField *value, OGRFieldType type)
 Converts an OGRField value of the specified type into a QVariant. More...
 
static void ogrFieldTypeToQVariantType (OGRFieldType ogrType, OGRFieldSubType ogrSubType, QVariant::Type &variantType, QVariant::Type &variantSubType)
 Converts an OGR field type and sub type to the best matching QVariant::Type equivalent. More...
 
static QgsGeometry ogrGeometryToQgsGeometry (OGRGeometryH geom)
 Converts an OGR geometry representation to a QgsGeometry object. More...
 
static QgsWkbTypes::Type ogrGeometryTypeToQgsWkbType (OGRwkbGeometryType ogrGeomType)
 Converts a OGRwkbGeometryType to QgsWkbTypes::Type. More...
 
static QgsCoordinateReferenceSystem OGRSpatialReferenceToCrs (OGRSpatialReferenceH srs)
 Returns a QgsCoordinateReferenceSystem corresponding to the specified OGR srs object, or an invalid QgsCoordinateReferenceSystem if srs could not be converted. More...
 
static QString OGRSpatialReferenceToWkt (OGRSpatialReferenceH srs)
 Returns a WKT string corresponding to the specified OGR srs object. More...
 
static QVariantMap parseStyleString (const QString &string)
 Parses an OGR style string to a variant map containing the style string components. More...
 
static QgsFeature readOgrFeature (OGRFeatureH ogrFet, const QgsFields &fields, QTextCodec *encoding)
 Reads an OGR feature and converts it to a QgsFeature. More...
 
static bool readOgrFeatureAttributes (OGRFeatureH ogrFet, const QgsFields &fields, QgsFeature &feature, QTextCodec *encoding)
 Reads all attributes from an OGR feature into a QgsFeature. More...
 
static bool readOgrFeatureGeometry (OGRFeatureH ogrFet, QgsFeature &feature)
 Reads the geometry from an OGR feature into a QgsFeature. More...
 
static QgsFields readOgrFields (OGRFeatureH ogrFet, QTextCodec *encoding)
 Reads an OGR feature and returns a corresponding fields collection. More...
 
static QString readShapefileEncoding (const QString &path)
 Reads the encoding of the shapefile at the specified path (where path is the location of the ".shp" file). More...
 
static QString readShapefileEncodingFromCpg (const QString &path)
 Reads the encoding of the shapefile at the specified path (where path is the location of the ".shp" file), from the CPG specified encoding. More...
 
static QString readShapefileEncodingFromLdid (const QString &path)
 Reads the encoding of the shapefile at the specified path (where path is the location of the ".shp" file), from the DBF LDID encoding. More...
 
static QgsFeatureList stringToFeatureList (const QString &string, const QgsFields &fields, QTextCodec *encoding)
 Attempts to parse a string representing a collection of features using OGR. More...
 
static QgsFields stringToFields (const QString &string, QTextCodec *encoding)
 Attempts to retrieve the fields from a string representing a collection of features using OGR. More...
 
static QVariant stringToVariant (OGRFieldType type, OGRFieldSubType subType, const QString &string)
 Converts a string to a variant, using the provider OGR field type and subType to determine the most appropriate variant type. More...
 
static std::unique_ptr< QgsSymbolsymbolFromStyleString (const QString &string, Qgis::SymbolType type)
 Creates a new QgsSymbol matching an OGR style string. More...
 
static std::unique_ptr< OGRField > variantToOGRField (const QVariant &value)
 Converts a QVariant to an OGRField value. More...
 
static void variantTypeToOgrFieldType (QVariant::Type variantType, OGRFieldType &ogrType, OGRFieldSubType &ogrSubType)
 Converts an QVariant type to the best matching OGR field type and sub type. More...
 

Detailed Description

Utilities for working with OGR features and layers.

Contains helper utilities for assisting work with both OGR features and layers.

Note
not available in Python bindings
Since
QGIS 2.16

Definition at line 167 of file qgsogrutils.h.

Member Function Documentation

◆ convertFieldDomain() [1/2]

OGRFieldDomainH QgsOgrUtils::convertFieldDomain ( const QgsFieldDomain domain)
static

Converts a QGIS field domain definition to an OGR field domain equivalent.

Note
Requires GDAL >= 3.3
Not available in Python bindings
Since
QGIS 3.26

Definition at line 2099 of file qgsogrutils.cpp.

◆ convertFieldDomain() [2/2]

std::unique_ptr< QgsFieldDomain > QgsOgrUtils::convertFieldDomain ( OGRFieldDomainH  domain)
static

Converts an OGR field domain definition to a QgsFieldDomain equivalent.

Note
Requires GDAL >= 3.3
Not available in Python bindings
Since
QGIS 3.26

Definition at line 2006 of file qgsogrutils.cpp.

◆ crsToOGRSpatialReference()

OGRSpatialReferenceH QgsOgrUtils::crsToOGRSpatialReference ( const QgsCoordinateReferenceSystem crs)
static

Returns a OGRSpatialReferenceH corresponding to the specified crs object.

Note
Caller must release the returned object with OSRRelease.
Since
QGIS 3.22

Definition at line 1062 of file qgsogrutils.cpp.

◆ cStringListToQStringList()

QStringList QgsOgrUtils::cStringListToQStringList ( char **  stringList)
static

Converts a c string list to a QStringList.

Presumes a null terminated string list.

Since
QGIS 3.2

Definition at line 998 of file qgsogrutils.cpp.

◆ getOgrFeatureAttribute() [1/2]

QVariant QgsOgrUtils::getOgrFeatureAttribute ( OGRFeatureH  ogrFet,
const QgsField field,
int  attIndex,
QTextCodec *  encoding,
bool *  ok = nullptr 
)
static

Retrieves an attribute value from an OGR feature, using a provided field definition.

Parameters
ogrFetOGR feature handle
fielddefinition of corresponding field
attIndexindex of attribute to retrieve from ogrFet
encodingtext encoding
okoptional storage for success of retrieval
Returns
attribute converted to a QVariant object
See also
readOgrFeatureAttributes()
Since
QGIS 3.10.1

Definition at line 349 of file qgsogrutils.cpp.

◆ getOgrFeatureAttribute() [2/2]

QVariant QgsOgrUtils::getOgrFeatureAttribute ( OGRFeatureH  ogrFet,
const QgsFields fields,
int  attIndex,
QTextCodec *  encoding,
bool *  ok = nullptr 
)
static

Retrieves an attribute value from an OGR feature.

Parameters
ogrFetOGR feature handle
fieldsfields collection corresponding to feature
attIndexindex of attribute to retrieve
encodingtext encoding
okoptional storage for success of retrieval
Returns
attribute converted to a QVariant object
See also
readOgrFeatureAttributes()

Definition at line 336 of file qgsogrutils.cpp.

◆ nativeFieldTypesForDriver()

QList< QgsVectorDataProvider::NativeType > QgsOgrUtils::nativeFieldTypesForDriver ( GDALDriverH  driver)
static

Returns the list of native field types supported for a driver.

Since
QGIS 3.28

Definition at line 1886 of file qgsogrutils.cpp.

◆ OGRFieldtoVariant()

QVariant QgsOgrUtils::OGRFieldtoVariant ( const OGRField *  value,
OGRFieldType  type 
)
static

Converts an OGRField value of the specified type into a QVariant.

Since
QGIS 3.20

Definition at line 106 of file qgsogrutils.cpp.

◆ ogrFieldTypeToQVariantType()

void QgsOgrUtils::ogrFieldTypeToQVariantType ( OGRFieldType  ogrType,
OGRFieldSubType  ogrSubType,
QVariant::Type &  variantType,
QVariant::Type &  variantSubType 
)
static

Converts an OGR field type and sub type to the best matching QVariant::Type equivalent.

Parameters
ogrTypeOGR field type
ogrSubTypeOGR field sub type
variantTypewill be set to matching QVariant type
variantSubTypewill be set to matching QVariant sub type, for list, map and other complex OGR field types.
Note
Not available in Python bindings
Since
QGIS 3.26

Definition at line 1707 of file qgsogrutils.cpp.

◆ ogrGeometryToQgsGeometry()

QgsGeometry QgsOgrUtils::ogrGeometryToQgsGeometry ( OGRGeometryH  geom)
static

Converts an OGR geometry representation to a QgsGeometry object.

Parameters
geomOGR geometry handle
Returns
QgsGeometry object. If conversion was not successful the geometry will be empty.
See also
readOgrFeatureGeometry()

Definition at line 787 of file qgsogrutils.cpp.

◆ ogrGeometryTypeToQgsWkbType()

QgsWkbTypes::Type QgsOgrUtils::ogrGeometryTypeToQgsWkbType ( OGRwkbGeometryType  ogrGeomType)
static

Converts a OGRwkbGeometryType to QgsWkbTypes::Type.

Since
QGIS 3.4.9

Definition at line 701 of file qgsogrutils.cpp.

◆ OGRSpatialReferenceToCrs()

QgsCoordinateReferenceSystem QgsOgrUtils::OGRSpatialReferenceToCrs ( OGRSpatialReferenceH  srs)
static

Returns a QgsCoordinateReferenceSystem corresponding to the specified OGR srs object, or an invalid QgsCoordinateReferenceSystem if srs could not be converted.

Since
QGIS 3.10.1

Definition at line 1029 of file qgsogrutils.cpp.

◆ OGRSpatialReferenceToWkt()

QString QgsOgrUtils::OGRSpatialReferenceToWkt ( OGRSpatialReferenceH  srs)
static

Returns a WKT string corresponding to the specified OGR srs object.

The WKT string format will be selected using the most appropriate format (usually WKT2 if GDAL 3 is available).

Since
QGIS 3.10.1

Definition at line 1013 of file qgsogrutils.cpp.

◆ parseStyleString()

QVariantMap QgsOgrUtils::parseStyleString ( const QString &  string)
static

Parses an OGR style string to a variant map containing the style string components.

Since
QGIS 3.20

Definition at line 1143 of file qgsogrutils.cpp.

◆ readOgrFeature()

QgsFeature QgsOgrUtils::readOgrFeature ( OGRFeatureH  ogrFet,
const QgsFields fields,
QTextCodec *  encoding 
)
static

Reads an OGR feature and converts it to a QgsFeature.

Parameters
ogrFetOGR feature handle
fieldsfields collection corresponding to feature
encodingtext encoding
Returns
valid feature if read was successful

Definition at line 254 of file qgsogrutils.cpp.

◆ readOgrFeatureAttributes()

bool QgsOgrUtils::readOgrFeatureAttributes ( OGRFeatureH  ogrFet,
const QgsFields fields,
QgsFeature feature,
QTextCodec *  encoding 
)
static

Reads all attributes from an OGR feature into a QgsFeature.

Parameters
ogrFetOGR feature handle
fieldsfields collection corresponding to feature
featureQgsFeature to store attributes in
encodingtext encoding
Returns
true if attribute read was successful
See also
getOgrFeatureAttribute()

Definition at line 571 of file qgsogrutils.cpp.

◆ readOgrFeatureGeometry()

bool QgsOgrUtils::readOgrFeatureGeometry ( OGRFeatureH  ogrFet,
QgsFeature feature 
)
static

Reads the geometry from an OGR feature into a QgsFeature.

Parameters
ogrFetOGR feature handle
featureQgsFeature to store geometry in
Returns
true if geometry read was successful
See also
readOgrFeatureAttributes()
ogrGeometryToQgsGeometry()

Definition at line 592 of file qgsogrutils.cpp.

◆ readOgrFields()

QgsFields QgsOgrUtils::readOgrFields ( OGRFeatureH  ogrFet,
QTextCodec *  encoding 
)
static

Reads an OGR feature and returns a corresponding fields collection.

Parameters
ogrFetOGR feature handle
encodingtext encoding
Returns
fields collection if read was successful

Definition at line 279 of file qgsogrutils.cpp.

◆ readShapefileEncoding()

QString QgsOgrUtils::readShapefileEncoding ( const QString &  path)
static

Reads the encoding of the shapefile at the specified path (where path is the location of the ".shp" file).

This method considers both the CPG specified encoding and the DBF LDID encoding (priority goes to CPG based encoding)

See also
readShapefileEncodingFromCpg()
readShapefileEncodingFromLdid()
Since
QGIS 3.12

Definition at line 1120 of file qgsogrutils.cpp.

◆ readShapefileEncodingFromCpg()

QString QgsOgrUtils::readShapefileEncodingFromCpg ( const QString &  path)
static

Reads the encoding of the shapefile at the specified path (where path is the location of the ".shp" file), from the CPG specified encoding.

Return an empty string if CPG based encoding was not found.

See also
readShapefileEncoding()
Since
QGIS 3.12

Definition at line 1129 of file qgsogrutils.cpp.

◆ readShapefileEncodingFromLdid()

QString QgsOgrUtils::readShapefileEncodingFromLdid ( const QString &  path)
static

Reads the encoding of the shapefile at the specified path (where path is the location of the ".shp" file), from the DBF LDID encoding.

Return an empty string if LDID based encoding was not found.

See also
readShapefileEncoding()
Since
QGIS 3.12

Definition at line 1136 of file qgsogrutils.cpp.

◆ stringToFeatureList()

QgsFeatureList QgsOgrUtils::stringToFeatureList ( const QString &  string,
const QgsFields fields,
QTextCodec *  encoding 
)
static

Attempts to parse a string representing a collection of features using OGR.

For example, this method can be used to convert a GeoJSON encoded collection to a list of QgsFeatures.

Parameters
stringstring to parse
fieldsfields collection to use for parsed features (
See also
stringToFields())
Parameters
encodingtext encoding
Returns
list of parsed features, or an empty list if no features could be parsed
See also
stringToFields()

Definition at line 916 of file qgsogrutils.cpp.

◆ stringToFields()

QgsFields QgsOgrUtils::stringToFields ( const QString &  string,
QTextCodec *  encoding 
)
static

Attempts to retrieve the fields from a string representing a collection of features using OGR.

Parameters
stringstring to parse
encodingtext encoding
Returns
retrieved fields collection, or an empty list if no fields could be determined from the string
See also
stringToFeatureList()

Definition at line 958 of file qgsogrutils.cpp.

◆ stringToVariant()

QVariant QgsOgrUtils::stringToVariant ( OGRFieldType  type,
OGRFieldSubType  subType,
const QString &  string 
)
static

Converts a string to a variant, using the provider OGR field type and subType to determine the most appropriate variant type.

Note
Not available in Python bindings
Since
QGIS 3.26

Definition at line 1835 of file qgsogrutils.cpp.

◆ symbolFromStyleString()

std::unique_ptr< QgsSymbol > QgsOgrUtils::symbolFromStyleString ( const QString &  string,
Qgis::SymbolType  type 
)
static

Creates a new QgsSymbol matching an OGR style string.

Since
QGIS 3.20

Definition at line 1190 of file qgsogrutils.cpp.

◆ variantToOGRField()

std::unique_ptr< OGRField > QgsOgrUtils::variantToOGRField ( const QVariant &  value)
static

Converts a QVariant to an OGRField value.

Since
QGIS 3.26

Definition at line 189 of file qgsogrutils.cpp.

◆ variantTypeToOgrFieldType()

void QgsOgrUtils::variantTypeToOgrFieldType ( QVariant::Type  variantType,
OGRFieldType &  ogrType,
OGRFieldSubType &  ogrSubType 
)
static

Converts an QVariant type to the best matching OGR field type and sub type.

Parameters
variantTypeQVariant field type
ogrTypewill be set to matching OGR type
ogrSubTypewill be set to matching OGR sub type
Note
Not available in Python bindings
Since
QGIS 3.26

Definition at line 1780 of file qgsogrutils.cpp.


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