QGIS API Documentation
3.6.0-Noosa (5873452)
|
A convenience class for exporting vector layers to a destination data provider. More...
#include <qgsvectorlayerexporter.h>
Public Types | |
enum | ExportError { NoError = 0, ErrCreateDataSource, ErrCreateLayer, ErrAttributeTypeUnsupported, ErrAttributeCreationFailed, ErrProjection, ErrFeatureWriteFailed, ErrInvalidLayer, ErrInvalidProvider, ErrProviderUnsupportedFeature, ErrConnectionFailed, ErrUserCanceled } |
Error codes. More... | |
Public Types inherited from QgsFeatureSink | |
enum | Flag { FastInsert = 1 << 1 } |
Flags controlling how features are added to a sink. More... | |
enum | SinkFlag { RegeneratePrimaryKey = 1 << 1 } |
Flags that can be set on a QgsFeatureSink. More... | |
Public Member Functions | |
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=nullptr) | |
Constructor for QgsVectorLayerExporter. More... | |
QgsVectorLayerExporter (const QgsVectorLayerExporter &rh)=delete | |
QgsVectorLayerExporter cannot be copied. More... | |
~QgsVectorLayerExporter () override | |
Finalizes the export and closes the new created layer. More... | |
bool | addFeature (QgsFeature &feature, QgsFeatureSink::Flags flags=nullptr) override |
Adds a single feature to the sink. More... | |
bool | addFeatures (QgsFeatureList &features, QgsFeatureSink::Flags flags=nullptr) override |
Adds a list of features to the sink. More... | |
ExportError | 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... | |
QgsVectorLayerExporter & | operator= (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=nullptr) |
Adds all features from the specified iterator to the sink. More... | |
Static Public Member Functions | |
static ExportError | 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... | |
A convenience class for exporting vector layers to a destination data provider.
QgsVectorLayerExporter can be used in two ways:
Definition at line 47 of file qgsvectorlayerexporter.h.
Error codes.
Definition at line 52 of file qgsvectorlayerexporter.h.
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 = nullptr |
||
) |
Constructor for QgsVectorLayerExporter.
uri | URI for destination data source |
provider | string key for destination data provider |
fields | fields to include in created layer |
geometryType | destination geometry type |
crs | desired CRS, or an invalid (default constructed) CRS if not available |
overwrite | set to true to overwrite any existing data source |
options | optional provider dataset options |
sinkFlags | for how to add features |
Definition at line 48 of file qgsvectorlayerexporter.cpp.
|
delete |
QgsVectorLayerExporter cannot be copied.
|
override |
Finalizes the export and closes the new created layer.
Definition at line 144 of file qgsvectorlayerexporter.cpp.
|
overridevirtual |
Adds a single feature to the sink.
Feature addition behavior is controlled by the specified flags.
Reimplemented from QgsFeatureSink.
Definition at line 171 of file qgsvectorlayerexporter.cpp.
|
overridevirtual |
Adds a list of features to the sink.
Feature addition behavior is controlled by the specified flags.
Implements QgsFeatureSink.
Definition at line 160 of file qgsvectorlayerexporter.cpp.
QgsVectorLayerExporter::ExportError QgsVectorLayerExporter::errorCode | ( | ) | const |
Returns any encountered error code, or false if no error was encountered.
Definition at line 150 of file qgsvectorlayerexporter.cpp.
|
inline |
Returns the number of error messages encountered during the export.
Definition at line 136 of file qgsvectorlayerexporter.h.
QString QgsVectorLayerExporter::errorMessage | ( | ) | const |
Returns any error message encountered during the export.
Definition at line 155 of file qgsvectorlayerexporter.cpp.
|
static |
Writes the contents of vector layer to a different datasource.
layer | source layer |
uri | URI for destination data source |
providerKey | string key for destination data provider |
destCRS | destination CRS, or an invalid (default constructed) CRS if not available |
onlySelected | set to true to export only selected features |
errorMessage | if non-null, will be set to any error messages |
options | optional provider dataset options |
feedback | optional feedback object to show progress and cancelation of export |
Definition at line 243 of file qgsvectorlayerexporter.cpp.
|
overridevirtual |
Flushes any internal buffer which may exist in the sink, causing any buffered features to be added to the sink's destination.
Reimplemented from QgsFeatureSink.
Definition at line 203 of file qgsvectorlayerexporter.cpp.
|
delete |
QgsVectorLayerExporter cannot be copied.