mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-27 00:33:48 -05:00
Export QgsProcessingFeatureSource to Python
This commit is contained in:
parent
255fe0b076
commit
3fb1b4809d
@ -376,7 +376,7 @@ class QgsProcessingAlgorithm
|
||||
:rtype: QgsFeatureSink
|
||||
%End
|
||||
|
||||
QgsFeatureSource *parameterAsSource( const QVariantMap ¶meters, const QString &name, QgsProcessingContext &context ) const /Factory/;
|
||||
QgsProcessingFeatureSource *parameterAsSource( const QVariantMap ¶meters, const QString &name, QgsProcessingContext &context ) const /Factory/;
|
||||
%Docstring
|
||||
Evaluates the parameter with matching ``definition`` to a feature source.
|
||||
|
||||
@ -384,7 +384,7 @@ class QgsProcessingAlgorithm
|
||||
sources and stored temporarily in the ``context``.
|
||||
|
||||
This function creates a new object and the caller takes responsibility for deleting the returned object.
|
||||
:rtype: QgsFeatureSource
|
||||
:rtype: QgsProcessingFeatureSource
|
||||
%End
|
||||
|
||||
QgsMapLayer *parameterAsLayer( const QVariantMap ¶meters, const QString &name, QgsProcessingContext &context ) const;
|
||||
|
@ -436,7 +436,7 @@ class QgsProcessingParameters
|
||||
:rtype: QgsFeatureSink
|
||||
%End
|
||||
|
||||
static QgsFeatureSource *parameterAsSource( const QgsProcessingParameterDefinition *definition, const QVariantMap ¶meters, QgsProcessingContext &context ) /Factory/;
|
||||
static QgsProcessingFeatureSource *parameterAsSource( const QgsProcessingParameterDefinition *definition, const QVariantMap ¶meters, QgsProcessingContext &context ) /Factory/;
|
||||
%Docstring
|
||||
Evaluates the parameter with matching ``definition`` to a feature source.
|
||||
|
||||
@ -444,7 +444,7 @@ class QgsProcessingParameters
|
||||
sources and stored temporarily in the ``context``.
|
||||
|
||||
This function creates a new object and the caller takes responsibility for deleting the returned object.
|
||||
:rtype: QgsFeatureSource
|
||||
:rtype: QgsProcessingFeatureSource
|
||||
%End
|
||||
|
||||
static QgsMapLayer *parameterAsLayer( const QgsProcessingParameterDefinition *definition, const QVariantMap ¶meters, QgsProcessingContext &context );
|
||||
|
@ -160,6 +160,59 @@ class QgsProcessingUtils
|
||||
|
||||
};
|
||||
|
||||
class QgsProcessingFeatureSource : QgsFeatureSource
|
||||
{
|
||||
%Docstring
|
||||
QgsFeatureSource subclass which proxies methods to an underlying QgsFeatureSource, modifying
|
||||
results according to the settings in a QgsProcessingContext.
|
||||
.. versionadded:: 3.0
|
||||
%End
|
||||
|
||||
%TypeHeaderCode
|
||||
#include "qgsprocessingutils.h"
|
||||
%End
|
||||
public:
|
||||
|
||||
enum Flag
|
||||
{
|
||||
FlagSkipGeometryValidityChecks,
|
||||
};
|
||||
typedef QFlags<QgsProcessingFeatureSource::Flag> Flags;
|
||||
|
||||
|
||||
QgsProcessingFeatureSource( QgsFeatureSource *originalSource, const QgsProcessingContext &context, bool ownsOriginalSource = false );
|
||||
%Docstring
|
||||
Constructor for QgsProcessingFeatureSource, accepting an original feature source ``originalSource``
|
||||
and processing ``context``.
|
||||
Ownership of ``originalSource`` is dictated by ``ownsOriginalSource``. If ``ownsOriginalSource`` is false,
|
||||
ownership is not transferred, and callers must ensure that ``originalSource`` exists for the lifetime of this object.
|
||||
If ``ownsOriginalSource`` is true, then this object will take ownership of ``originalSource``.
|
||||
%End
|
||||
|
||||
~QgsProcessingFeatureSource();
|
||||
|
||||
QgsFeatureIterator getFeatures( const QgsFeatureRequest &request, Flags flags ) const;
|
||||
%Docstring
|
||||
Returns an iterator for the features in the source, respecting the supplied feature ``flags``.
|
||||
An optional ``request`` can be used to optimise the returned
|
||||
iterator, eg by restricting the returned attributes or geometry.
|
||||
:rtype: QgsFeatureIterator
|
||||
%End
|
||||
|
||||
virtual QgsFeatureIterator getFeatures( const QgsFeatureRequest &request = QgsFeatureRequest() ) const;
|
||||
|
||||
virtual QgsCoordinateReferenceSystem sourceCrs() const;
|
||||
|
||||
virtual QgsFields fields() const;
|
||||
|
||||
virtual QgsWkbTypes::Type wkbType() const;
|
||||
|
||||
virtual long featureCount() const;
|
||||
|
||||
virtual QString sourceName() const;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
@ -374,7 +374,7 @@ QgsFeatureSink *QgsProcessingAlgorithm::parameterAsSink( const QVariantMap ¶
|
||||
return QgsProcessingParameters::parameterAsSink( parameterDefinition( name ), parameters, fields, geometryType, crs, context, destinationIdentifier );
|
||||
}
|
||||
|
||||
QgsFeatureSource *QgsProcessingAlgorithm::parameterAsSource( const QVariantMap ¶meters, const QString &name, QgsProcessingContext &context ) const
|
||||
QgsProcessingFeatureSource *QgsProcessingAlgorithm::parameterAsSource( const QVariantMap ¶meters, const QString &name, QgsProcessingContext &context ) const
|
||||
{
|
||||
return QgsProcessingParameters::parameterAsSource( parameterDefinition( name ), parameters, context );
|
||||
}
|
||||
|
@ -370,7 +370,7 @@ class CORE_EXPORT QgsProcessingAlgorithm
|
||||
*
|
||||
* This function creates a new object and the caller takes responsibility for deleting the returned object.
|
||||
*/
|
||||
QgsFeatureSource *parameterAsSource( const QVariantMap ¶meters, const QString &name, QgsProcessingContext &context ) const SIP_FACTORY;
|
||||
QgsProcessingFeatureSource *parameterAsSource( const QVariantMap ¶meters, const QString &name, QgsProcessingContext &context ) const SIP_FACTORY;
|
||||
|
||||
/**
|
||||
* Evaluates the parameter with matching \a name to a map layer.
|
||||
|
@ -258,7 +258,7 @@ QgsFeatureSink *QgsProcessingParameters::parameterAsSink( const QgsProcessingPar
|
||||
return sink.release();
|
||||
}
|
||||
|
||||
QgsFeatureSource *QgsProcessingParameters::parameterAsSource( const QgsProcessingParameterDefinition *definition, const QVariantMap ¶meters, QgsProcessingContext &context )
|
||||
QgsProcessingFeatureSource *QgsProcessingParameters::parameterAsSource( const QgsProcessingParameterDefinition *definition, const QVariantMap ¶meters, QgsProcessingContext &context )
|
||||
{
|
||||
if ( !definition )
|
||||
return nullptr;
|
||||
|
@ -30,6 +30,7 @@ class QgsRasterLayer;
|
||||
class QgsVectorLayer;
|
||||
class QgsFeatureSink;
|
||||
class QgsFeatureSource;
|
||||
class QgsProcessingFeatureSource;
|
||||
class QgsProcessingOutputDefinition;
|
||||
|
||||
/**
|
||||
@ -479,7 +480,7 @@ class CORE_EXPORT QgsProcessingParameters
|
||||
*
|
||||
* This function creates a new object and the caller takes responsibility for deleting the returned object.
|
||||
*/
|
||||
static QgsFeatureSource *parameterAsSource( const QgsProcessingParameterDefinition *definition, const QVariantMap ¶meters, QgsProcessingContext &context ) SIP_FACTORY;
|
||||
static QgsProcessingFeatureSource *parameterAsSource( const QgsProcessingParameterDefinition *definition, const QVariantMap ¶meters, QgsProcessingContext &context ) SIP_FACTORY;
|
||||
|
||||
/**
|
||||
* Evaluates the parameter with matching \a definition to a map layer.
|
||||
|
@ -219,17 +219,14 @@ class CORE_EXPORT QgsProcessingUtils
|
||||
|
||||
};
|
||||
|
||||
#ifndef SIP_RUN
|
||||
|
||||
/**
|
||||
* \class QgsProcessingFeatureSource
|
||||
* \ingroup core
|
||||
* QgsFeatureSource subclass which proxies methods to an underlying QgsFeatureSource, modifying
|
||||
* results according to the settings in a QgsProcessingContext.
|
||||
* \note not available in Python bindings
|
||||
* \since QGIS 3.0
|
||||
*/
|
||||
class QgsProcessingFeatureSource : public QgsFeatureSource
|
||||
class CORE_EXPORT QgsProcessingFeatureSource : public QgsFeatureSource
|
||||
{
|
||||
public:
|
||||
|
||||
@ -261,8 +258,6 @@ class QgsProcessingFeatureSource : public QgsFeatureSource
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#endif // QGSPROCESSINGUTILS_H
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user