18 #ifndef QGSPROCESSINGUTILS_H 
   19 #define QGSPROCESSINGUTILS_H 
   21 #include "qgis_core.h" 
   70     static QList< QgsRasterLayer * > compatibleRasterLayers( 
QgsProject *project, 
bool sort = 
true );
 
   90     static QList< QgsVectorLayer * > compatibleVectorLayers( 
QgsProject *project,
 
   91         const QList< int > &sourceTypes = QList< int >(),
 
  110     static QList<QgsMeshLayer *> compatibleMeshLayers( 
QgsProject *project, 
bool sort = 
true );
 
  128     static QList<QgsPluginLayer *> compatiblePluginLayers( 
QgsProject *project, 
bool sort = 
true );
 
  146     static QList<QgsPointCloudLayer *> compatiblePointCloudLayers( 
QgsProject *project, 
bool sort = 
true );
 
  164     static QList<QgsAnnotationLayer *> compatibleAnnotationLayers( 
QgsProject *project, 
bool sort = 
true );
 
  175     static QList< QgsMapLayer * > compatibleLayers( 
QgsProject *project, 
bool sort = 
true );
 
  183     static QString encodeProviderKeyAndUri( 
const QString &providerKey, 
const QString &uri );
 
  196     static bool decodeProviderKeyAndUri( 
const QString &
string, QString &providerKey 
SIP_OUT, QString &uri 
SIP_OUT );
 
  253     static QString normalizeLayerSource( const QString &source );
 
  261     static QString variantToPythonLiteral( const QVariant &value );
 
  268     static QString stringToPythonLiteral( const QString &
string );
 
  293         const QVariantMap &createOptions = QVariantMap(),
 
  294         const QStringList &datasourceOptions = QStringList(),
 
  295         const QStringList &layerOptions = QStringList(),
 
  296         QgsFeatureSink::SinkFlags sinkFlags = QgsFeatureSink::SinkFlags(),
 
  343     static QVariant generateIteratingDestination( const QVariant &input, const QVariant &
id, 
QgsProcessingContext &context );
 
  349     static QString tempFolder();
 
  357     static QString generateTempFilename( const QString &basename );
 
  384     static QString convertToCompatibleFormat( const 
QgsVectorLayer *layer,
 
  385         bool selectedFeaturesOnly,
 
  386         const QString &baseName,
 
  387         const QStringList &compatibleFormats,
 
  388         const QString &preferredFormat,
 
  425     static QString convertToCompatibleFormatAndLayerName( const 
QgsVectorLayer *layer,
 
  426         bool selectedFeaturesOnly,
 
  427         const QString &baseName,
 
  428         const QStringList &compatibleFormats,
 
  429         const QString &preferredFormat,
 
  432         QString &layerName 
SIP_OUT, 
long long featureLimit = -1 );
 
  451     static QList<
int> fieldNamesToIndices( const QStringList &fieldNames, const 
QgsFields &fields );
 
  457     static 
QgsFields indicesToFields( const QList<
int> &indices, const 
QgsFields &fields );
 
  469     static QString defaultVectorExtension();
 
  481     static QString defaultRasterExtension();
 
  491                              const QList< 
int > &sourceTypes = QList< 
int >() );
 
  505     template< typename T> static QList< T * > compatibleMapLayers( 
QgsProject *project, 
bool sort = true );
 
  539     Q_DECL_DEPRECATED static 
QgsMapLayer *loadMapLayerFromString( const QString &
string, LayerHint typeHint = LayerHint::UnknownType ) 
SIP_DEPRECATED ;
 
  541     static 
void parseDestinationString( QString &destination, QString &providerKey, QString &uri, QString &layerName, QString &format, QMap<QString, QVariant> &options, 
bool &useWriter, QString &extension );
 
  543     friend class TestQgsProcessing;
 
  562       FlagSkipGeometryValidityChecks = 1 << 1, 
 
  564     Q_DECLARE_FLAGS( Flags, Flag )
 
  577                                 long long featureLimit = -1 );
 
  594     long long featureCount() 
const override;
 
  595     QString sourceName() 
const override;
 
  596     QSet<QVariant> uniqueValues( 
int fieldIndex, 
int limit = -1 ) 
const override;
 
  597     QVariant minimumValue( 
int fieldIndex ) 
const override;
 
  598     QVariant maximumValue( 
int fieldIndex ) 
const override;
 
  601     SpatialIndexPresence hasSpatialIndex() 
const override;
 
  618     bool mOwnsSource = false;
 
  620     std::function< 
void( const 
QgsFeature & ) > mInvalidGeometryCallback;
 
  621     std::function< 
void( const 
QgsFeature & ) > mTransformErrorCallback;
 
  623     std::function< 
void( const 
QgsFeature & ) > mInvalidGeometryCallbackSkip;
 
  624     std::function< 
void( const 
QgsFeature & ) > mInvalidGeometryCallbackAbort;
 
  626     long long mFeatureLimit = -1;
 
  659     bool addFeature( 
QgsFeature &feature, QgsFeatureSink::Flags flags = QgsFeatureSink::Flags() ) 
override;
 
  660     bool addFeatures( 
QgsFeatureList &features, QgsFeatureSink::Flags flags = QgsFeatureSink::Flags() ) 
override;
 
  661     bool addFeatures( 
QgsFeatureIterator &iterator, QgsFeatureSink::Flags flags = QgsFeatureSink::Flags() ) 
override;
 
  667     bool mOwnsSink = 
false;
 
Represents a map layer containing a set of georeferenced annotations, e.g.
This class represents a coordinate reference system (CRS).
Contains information about the context in which a coordinate transform is executed.
Single scope for storing variables and functions for use within a QgsExpressionContext.
Wrapper for iterator of features from vector data provider or vector layer.
This class wraps a request for features to a vector layer (or directly its vector data provider).
An interface for objects which accept features via addFeature(s) methods.
An interface for objects which provide features via a getFeatures method.
FeatureAvailability
Possible return value for hasFeatures() to determine if a source is empty.
The feature class encapsulates a single feature including its unique ID, geometry and a list of field...
Container of fields for a vector layer.
A storage object for map layers, in which the layers are owned by the store and have their lifetime b...
Base class for all map layer types.
Represents a mesh layer supporting display of data on structured or unstructured meshes.
Base class for plugin layers.
Represents a map layer supporting display of point clouds.
Abstract base class for processing algorithms.
Contains information about the context in which a processing algorithm is executed.
Custom exception class for processing related exceptions.
QgsProxyFeatureSink subclass which reports feature addition errors to a QgsProcessingContext.
QgsFeatureSource subclass which proxies methods to an underlying QgsFeatureSource,...
Flag
Flags controlling how QgsProcessingFeatureSource fetches features.
Base class for providing feedback from a processing algorithm.
Abstract base class for processing providers.
Utility functions for use with processing classes.
LayerHint
Layer type hints.
@ UnknownType
Unknown layer type.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
A simple feature sink which proxies feature addition on to another feature sink.
Represents a raster layer.
A rectangle specified with double values.
Defines the parameters used to remap features when creating a QgsRemappingProxyFeatureSink.
Represents a vector layer which manages a vector based data sets.
Implements a map layer that is dedicated to rendering of vector tiles.
Type
The WKB type describes the number of dimensions a geometry has.
As part of the API refactoring and improvements which landed in the Processing API was substantially reworked from the x version This was done in order to allow much of the underlying Processing framework to be ported into allowing algorithms to be written in pure substantial changes are required in order to port existing x Processing algorithms for QGIS x The most significant changes are outlined not GeoAlgorithm For algorithms which operate on features one by consider subclassing the QgsProcessingFeatureBasedAlgorithm class This class allows much of the boilerplate code for looping over features from a vector layer to be bypassed and instead requires implementation of a processFeature method Ensure that your algorithm(or algorithm 's parent class) implements the new pure virtual createInstance(self) call
#define SIP_MONKEYPATCH_SCOPEENUM
QList< QgsFeature > QgsFeatureList
QSet< QgsFeatureId > QgsFeatureIds
const QgsCoordinateReferenceSystem & crs