QGIS API Documentation  3.20.0-Odense (decaadbb31)
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 cannot be copied. More...
 
 QgsVectorLayerExporter (const QString &uri, const QString &provider, const QgsFields &fields, QgsWkbTypes::Type geometryType, const QgsCoordinateReferenceSystem &crs, bool overwrite=false, const QMap< QString, QVariant > &options=QMap< QString, QVariant >(), QgsFeatureSink::SinkFlags sinkFlags=QgsFeatureSink::SinkFlags())
 Constructor for QgsVectorLayerExporter. More...
 
 ~QgsVectorLayerExporter () override
 Finalizes the export and closes the new created layer. More...
 
bool addFeature (QgsFeature &feature, QgsFeatureSink::Flags flags=QgsFeatureSink::Flags()) override
 Adds a single feature to the sink. More...
 
bool addFeatures (QgsFeatureList &features, QgsFeatureSink::Flags flags=QgsFeatureSink::Flags()) override
 Adds a list of features to the sink. More...
 
Qgis::VectorExportResult errorCode () const
 Returns any encountered error code, or false if no error was encountered. More...
 
int errorCount () const
 Returns the number of error messages encountered during the export. More...
 
QString errorMessage () const
 Returns any error message encountered during the export. More...
 
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. More...
 
QString lastError () const override
 Returns the most recent error encountered by the sink, e.g. More...
 
QgsVectorLayerExporteroperator= (const QgsVectorLayerExporter &rh)=delete
 QgsVectorLayerExporter cannot be copied. More...
 
- 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. More...
 

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. More...
 

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...
 
enum  SinkFlag { RegeneratePrimaryKey = 1 << 1 }
 Flags that can be set on a QgsFeatureSink. More...
 

Detailed Description

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

QgsVectorLayerExporter can be used in two ways:

Using a static call to QgsVectorLayerExporter::exportLayer(...) which exports the

entire layer to the destination provider.

Create an instance of the class and issue calls to addFeature(...)

Since
QGIS 3.0

Definition at line 49 of file qgsvectorlayerexporter.h.

Constructor & Destructor Documentation

◆ QgsVectorLayerExporter() [1/2]

QgsVectorLayerExporter::QgsVectorLayerExporter ( const QString &  uri,
const QString &  provider,
const QgsFields fields,
QgsWkbTypes::Type  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 49 of file qgsvectorlayerexporter.cpp.

◆ QgsVectorLayerExporter() [2/2]

QgsVectorLayerExporter::QgsVectorLayerExporter ( const QgsVectorLayerExporter rh)
delete

QgsVectorLayerExporter cannot be copied.

◆ ~QgsVectorLayerExporter()

QgsVectorLayerExporter::~QgsVectorLayerExporter ( )
override

Finalizes the export and closes the new created layer.

Definition at line 181 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 214 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 203 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 193 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 121 of file qgsvectorlayerexporter.h.

◆ errorMessage()

QString QgsVectorLayerExporter::errorMessage ( ) const

Returns any error message encountered during the export.

See also
errorCount()
errorCode()

Definition at line 198 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 293 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 252 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 247 of file qgsvectorlayerexporter.cpp.

◆ operator=()

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

QgsVectorLayerExporter cannot be copied.


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