QGIS/python/core/qgsvectorlayerexporter.sip.in

213 lines
7.0 KiB
Plaintext

/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsvectorlayerexporter.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/
class QgsVectorLayerExporter : QgsFeatureSink
{
%Docstring
A convenience class for exporting vector layers to a destination data provider.
QgsVectorLayerExporter can be used in two ways:
1. Using a static call to QgsVectorLayerExporter.exportLayer(...) which exports the
entire layer to the destination provider.
2. Create an instance of the class and issue calls to addFeature(...)
.. versionadded:: 3.0
%End
%TypeHeaderCode
#include "qgsvectorlayerexporter.h"
%End
public:
enum ExportError
{
NoError,
ErrCreateDataSource,
ErrCreateLayer,
ErrAttributeTypeUnsupported,
ErrAttributeCreationFailed,
ErrProjection,
ErrFeatureWriteFailed,
ErrInvalidLayer,
ErrInvalidProvider,
ErrProviderUnsupportedFeature,
ErrConnectionFailed,
ErrUserCanceled,
};
static ExportError exportLayer( QgsVectorLayer *layer,
const QString &uri,
const QString &providerKey,
const QgsCoordinateReferenceSystem &destCRS,
bool onlySelected = false,
QString *errorMessage /Out/ = 0,
const QMap<QString, QVariant> &options = QMap<QString, QVariant>(),
QgsFeedback *feedback = 0
);
%Docstring
Writes the contents of vector layer to a different datasource.
:param layer: source layer
:param uri: URI for destination data source
:param providerKey: string key for destination data provider
:param destCRS: destination CRS, or an invalid (default constructed) CRS if
not available
:param onlySelected: set to true to export only selected features
:param errorMessage: if non-null, will be set to any error messages
:param options: optional provider dataset options
:param feedback: optional feedback object to show progress and cancelation of export
:return: NoError for a successful export, or encountered error
%End
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>() );
%Docstring
Constructor for QgsVectorLayerExporter.
:param uri: URI for destination data source
:param provider: string key for destination data provider
:param fields: fields to include in created layer
:param geometryType: destination geometry type
:param crs: desired CRS, or an invalid (default constructed) CRS if
not available
:param overwrite: set to true to overwrite any existing data source
:param options: optional provider dataset options
%End
ExportError errorCode() const;
%Docstring
Returns any encountered error code, or false if no error was encountered.
.. seealso:: :py:func:`errorMessage`
.. seealso:: :py:func:`errorCount`
%End
QString errorMessage() const;
%Docstring
Returns any error message encountered during the export.
.. seealso:: :py:func:`errorCount`
.. seealso:: :py:func:`errorCode`
%End
int errorCount() const;
%Docstring
Returns the number of error messages encountered during the export.
.. seealso:: :py:func:`errorMessage`
.. seealso:: :py:func:`errorCode`
%End
virtual bool addFeatures( QgsFeatureList &features, QgsFeatureSink::Flags flags = 0 );
virtual bool addFeature( QgsFeature &feature, QgsFeatureSink::Flags flags = 0 );
~QgsVectorLayerExporter();
virtual bool flushBuffer();
private:
QgsVectorLayerExporter( const QgsVectorLayerExporter &rh );
};
class QgsVectorLayerExporterTask : QgsTask
{
%Docstring
QgsTask task which performs a QgsVectorLayerExporter layer export operation as a background
task. This can be used to export a vector layer out to a provider without blocking the
QGIS interface.
.. versionadded:: 3.0
.. seealso:: :py:class:`QgsVectorFileWriterTask`
.. seealso:: :py:class:`QgsRasterFileWriterTask`
%End
%TypeHeaderCode
#include "qgsvectorlayerexporter.h"
%End
public:
QgsVectorLayerExporterTask( QgsVectorLayer *layer,
const QString &uri,
const QString &providerKey,
const QgsCoordinateReferenceSystem &destinationCrs,
const QMap<QString, QVariant> &options = QMap<QString, QVariant>(),
bool ownsLayer = false );
%Docstring
Constructor for QgsVectorLayerExporterTask. Takes a source ``layer``, destination ``uri``
and ``providerKey``, and various export related parameters such as destination CRS
and export ``options``. ``ownsLayer`` has to be set to true if the task should take ownership
of the layer and delete it after export.
%End
static QgsVectorLayerExporterTask *withLayerOwnership( QgsVectorLayer *layer /Transfer/,
const QString &uri,
const QString &providerKey,
const QgsCoordinateReferenceSystem &destinationCrs,
const QMap<QString, QVariant> &options = QMap<QString, QVariant>() ) /Factory/;
%Docstring
Creates a new QgsVectorLayerExporterTask which has ownership over a source ``layer``.
When the export task has completed (successfully or otherwise) ``layer`` will be
deleted. The destination ``uri`` and ``providerKey``, and various export related parameters such as destination CRS
and export ``options`` must be specified.
%End
virtual void cancel();
signals:
void exportComplete();
%Docstring
Emitted when exporting the layer is successfully completed.
%End
void errorOccurred( int error, const QString &errorMessage );
%Docstring
Emitted when an error occurs which prevented the layer being exported (or if
the task is canceled). The export ``error`` and ``errorMessage`` will be reported.
%End
protected:
virtual bool run();
virtual void finished( bool result );
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/core/qgsvectorlayerexporter.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/