QGIS API Documentation 3.41.0-Master (3291e9ff48b)
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
QgsVectorLayerExporter Class Reference

A convenience class for exporting vector layers to a destination data provider. More...

#include <qgsvectorlayerexporter.h>

Inheritance diagram for QgsVectorLayerExporter:
Inheritance graph
[legend]

Public Member Functions

 QgsVectorLayerExporter (const QgsVectorLayerExporter &rh)=delete
 
 QgsVectorLayerExporter (const QString &uri, const QString &provider, const QgsFields &fields, Qgis::WkbType geometryType, const QgsCoordinateReferenceSystem &crs, bool overwrite=false, const QMap< QString, QVariant > &options=QMap< QString, QVariant >(), QgsFeatureSink::SinkFlags sinkFlags=QgsFeatureSink::SinkFlags())
 Constructor for QgsVectorLayerExporter.
 
 ~QgsVectorLayerExporter () override
 Finalizes the export and closes the new created layer.
 
bool addFeature (QgsFeature &feature, QgsFeatureSink::Flags flags=QgsFeatureSink::Flags()) override
 Adds a single feature to the sink.
 
bool addFeatures (QgsFeatureList &features, QgsFeatureSink::Flags flags=QgsFeatureSink::Flags()) override
 Adds a list of features to the sink.
 
Qgis::VectorDataProviderAttributeEditCapabilities attributeEditCapabilities () const
 Returns the attribute capabilities of the exporter.
 
Qgis::VectorExportResult errorCode () const
 Returns any encountered error code, or false if no error was encountered.
 
int errorCount () const
 Returns the number of error messages encountered during the export.
 
QString errorMessage () const
 Returns any error message encountered during the export.
 
bool flushBuffer () override
 Flushes any internal buffer which may exist in the sink, causing any buffered features to be added to the sink's destination.
 
QString lastError () const override
 Returns the most recent error encountered by the sink, e.g.
 
QgsVectorLayerExporteroperator= (const QgsVectorLayerExporter &rh)=delete
 
- Public Member Functions inherited from QgsFeatureSink
virtual ~QgsFeatureSink ()=default
 
virtual bool addFeatures (QgsFeatureIterator &iterator, QgsFeatureSink::Flags flags=QgsFeatureSink::Flags())
 Adds all features from the specified iterator to the sink.
 
virtual void finalize ()
 Finalizes the sink, flushing any buffered features to the destination.
 

Static Public Member Functions

static Qgis::VectorExportResult exportLayer (QgsVectorLayer *layer, const QString &uri, const QString &providerKey, const QgsCoordinateReferenceSystem &destCRS, bool onlySelected=false, QString *errorMessage=nullptr, const QMap< QString, QVariant > &options=QMap< QString, QVariant >(), QgsFeedback *feedback=nullptr)
 Writes the contents of vector layer to a different datasource.
 

Additional Inherited Members

- Public Types inherited from QgsFeatureSink
enum  Flag { FastInsert = 1 << 1 , RollBackOnErrors = 1 << 2 }
 Flags controlling how features are added to a sink. More...
 
typedef QFlags< FlagFlags
 
enum  SinkFlag { RegeneratePrimaryKey = 1 << 1 }
 Flags that can be set on a QgsFeatureSink. More...
 
typedef QFlags< SinkFlagSinkFlags
 

Detailed Description

A convenience class for exporting vector layers to a destination data provider.

QgsVectorLayerExporter can be used in two ways:

Definition at line 48 of file qgsvectorlayerexporter.h.

Constructor & Destructor Documentation

◆ QgsVectorLayerExporter() [1/2]

QgsVectorLayerExporter::QgsVectorLayerExporter ( const QString &  uri,
const QString &  provider,
const QgsFields fields,
Qgis::WkbType  geometryType,
const QgsCoordinateReferenceSystem crs,
bool  overwrite = false,
const QMap< QString, QVariant > &  options = QMap<QString, QVariant>(),
QgsFeatureSink::SinkFlags  sinkFlags = QgsFeatureSink::SinkFlags() 
)

Constructor for QgsVectorLayerExporter.

Parameters
uriURI for destination data source
providerstring key for destination data provider
fieldsfields to include in created layer
geometryTypedestination geometry type
crsdesired CRS, or an invalid (default constructed) CRS if not available
overwriteset to true to overwrite any existing data source
optionsoptional provider dataset options
sinkFlagsfor how to add features

Definition at line 50 of file qgsvectorlayerexporter.cpp.

◆ QgsVectorLayerExporter() [2/2]

QgsVectorLayerExporter::QgsVectorLayerExporter ( const QgsVectorLayerExporter rh)
delete

◆ ~QgsVectorLayerExporter()

QgsVectorLayerExporter::~QgsVectorLayerExporter ( )
override

Finalizes the export and closes the new created layer.

Definition at line 182 of file qgsvectorlayerexporter.cpp.

Member Function Documentation

◆ addFeature()

bool QgsVectorLayerExporter::addFeature ( QgsFeature feature,
QgsFeatureSink::Flags  flags = QgsFeatureSink::Flags() 
)
overridevirtual

Adds a single feature to the sink.

Feature addition behavior is controlled by the specified flags.

See also
addFeatures()
Returns
true in case of success and false in case of failure

Reimplemented from QgsFeatureSink.

Definition at line 220 of file qgsvectorlayerexporter.cpp.

◆ addFeatures()

bool QgsVectorLayerExporter::addFeatures ( QgsFeatureList features,
QgsFeatureSink::Flags  flags = QgsFeatureSink::Flags() 
)
overridevirtual

Adds a list of features to the sink.

Feature addition behavior is controlled by the specified flags.

See also
addFeature()
Returns
true in case of success and false in case of failure

Implements QgsFeatureSink.

Definition at line 209 of file qgsvectorlayerexporter.cpp.

◆ attributeEditCapabilities()

Qgis::VectorDataProviderAttributeEditCapabilities QgsVectorLayerExporter::attributeEditCapabilities ( ) const

Returns the attribute capabilities of the exporter.

Since
QGIS 3.32

Definition at line 204 of file qgsvectorlayerexporter.cpp.

◆ errorCode()

Qgis::VectorExportResult QgsVectorLayerExporter::errorCode ( ) const

Returns any encountered error code, or false if no error was encountered.

See also
errorMessage()
errorCount()

Definition at line 194 of file qgsvectorlayerexporter.cpp.

◆ errorCount()

int QgsVectorLayerExporter::errorCount ( ) const
inline

Returns the number of error messages encountered during the export.

See also
errorMessage()
errorCode()

Definition at line 118 of file qgsvectorlayerexporter.h.

◆ errorMessage()

QString QgsVectorLayerExporter::errorMessage ( ) const

Returns any error message encountered during the export.

See also
errorCount()
errorCode()

Definition at line 199 of file qgsvectorlayerexporter.cpp.

◆ exportLayer()

Qgis::VectorExportResult QgsVectorLayerExporter::exportLayer ( QgsVectorLayer layer,
const QString &  uri,
const QString &  providerKey,
const QgsCoordinateReferenceSystem destCRS,
bool  onlySelected = false,
QString *  errorMessage = nullptr,
const QMap< QString, QVariant > &  options = QMap<QString, QVariant>(),
QgsFeedback feedback = nullptr 
)
static

Writes the contents of vector layer to a different datasource.

Parameters
layersource layer
uriURI for destination data source
providerKeystring key for destination data provider
destCRSdestination CRS, or an invalid (default constructed) CRS if not available
onlySelectedset to true to export only selected features
errorMessageif non-null, will be set to any error messages
optionsoptional provider dataset options
feedbackoptional feedback object to show progress and cancellation of export
Returns
NoError for a successful export, or encountered error

Definition at line 299 of file qgsvectorlayerexporter.cpp.

◆ flushBuffer()

bool QgsVectorLayerExporter::flushBuffer ( )
overridevirtual

Flushes any internal buffer which may exist in the sink, causing any buffered features to be added to the sink's destination.

Returns
false if any buffered features could not be added to the sink.

Reimplemented from QgsFeatureSink.

Definition at line 258 of file qgsvectorlayerexporter.cpp.

◆ lastError()

QString QgsVectorLayerExporter::lastError ( ) const
overridevirtual

Returns the most recent error encountered by the sink, e.g.

when a call to addFeatures() returns false.

Since
QGIS 3.16

Reimplemented from QgsFeatureSink.

Definition at line 253 of file qgsvectorlayerexporter.cpp.

◆ operator=()

QgsVectorLayerExporter & QgsVectorLayerExporter::operator= ( const QgsVectorLayerExporter rh)
delete

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