mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-26 00:02:08 -05:00
When called, materialize takes a QgsFeatureRequest argument and runs it over the source. The resultant features are saved into a new memory provider based QgsVectorLayer, which is returned by the function (along with ownership of the layer) This makes it easy to create a new layer from a subset of an existing one. Materialize also considers subsets of attributes, so that the returned layer only contains fetched fields (and not blank fields filled with NULL values).
160 lines
5.3 KiB
Plaintext
160 lines
5.3 KiB
Plaintext
/************************************************************************
|
|
* This file has been generated automatically from *
|
|
* *
|
|
* src/core/qgsfeaturesource.h *
|
|
* *
|
|
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
|
|
************************************************************************/
|
|
|
|
|
|
|
|
|
|
|
|
class QgsFeatureSource
|
|
{
|
|
%Docstring
|
|
An interface for objects which provide features via a getFeatures method.
|
|
|
|
.. versionadded:: 3.0
|
|
%End
|
|
|
|
%TypeHeaderCode
|
|
#include "qgsfeaturesource.h"
|
|
%End
|
|
public:
|
|
|
|
virtual ~QgsFeatureSource();
|
|
|
|
virtual QgsFeatureIterator getFeatures( const QgsFeatureRequest &request = QgsFeatureRequest() ) const = 0;
|
|
%Docstring
|
|
Returns an iterator for the features in the source.
|
|
An optional ``request`` can be used to optimise the returned
|
|
iterator, eg by restricting the returned attributes or geometry.
|
|
:rtype: QgsFeatureIterator
|
|
%End
|
|
|
|
virtual QString sourceName() const = 0;
|
|
%Docstring
|
|
Returns a friendly display name for the source. The returned value can be an empty string.
|
|
:rtype: str
|
|
%End
|
|
|
|
virtual QgsCoordinateReferenceSystem sourceCrs() const = 0;
|
|
%Docstring
|
|
Returns the coordinate reference system for features in the source.
|
|
:rtype: QgsCoordinateReferenceSystem
|
|
%End
|
|
|
|
virtual QgsFields fields() const = 0;
|
|
%Docstring
|
|
Returns the fields associated with features in the source.
|
|
:rtype: QgsFields
|
|
%End
|
|
|
|
virtual QgsWkbTypes::Type wkbType() const = 0;
|
|
%Docstring
|
|
Returns the geometry type for features returned by this source.
|
|
:rtype: QgsWkbTypes.Type
|
|
%End
|
|
|
|
|
|
int __len__() const;
|
|
%Docstring
|
|
Returns the number of features contained in the source, or -1
|
|
if the feature count is unknown.
|
|
:rtype: int
|
|
%End
|
|
%MethodCode
|
|
sipRes = sipCpp->featureCount();
|
|
%End
|
|
|
|
virtual long featureCount() const = 0;
|
|
%Docstring
|
|
Returns the number of features contained in the source, or -1
|
|
if the feature count is unknown.
|
|
:rtype: long
|
|
%End
|
|
|
|
virtual QSet<QVariant> uniqueValues( int fieldIndex, int limit = -1 ) const;
|
|
%Docstring
|
|
Returns the set of unique values contained within the specified ``fieldIndex`` from this source.
|
|
If specified, the ``limit`` option can be used to limit the number of returned values.
|
|
The base class implementation uses a non-optimised approach of looping through
|
|
all features in the source.
|
|
.. seealso:: minimumValue()
|
|
.. seealso:: maximumValue()
|
|
:rtype: set of QVariant
|
|
%End
|
|
|
|
virtual QVariant minimumValue( int fieldIndex ) const;
|
|
%Docstring
|
|
Returns the minimum value for an attribute column or an invalid variant in case of error.
|
|
The base class implementation uses a non-optimised approach of looping through
|
|
all features in the source.
|
|
.. seealso:: maximumValue()
|
|
.. seealso:: uniqueValues()
|
|
:rtype: QVariant
|
|
%End
|
|
|
|
virtual QVariant maximumValue( int fieldIndex ) const;
|
|
%Docstring
|
|
Returns the maximum value for an attribute column or an invalid variant in case of error.
|
|
The base class implementation uses a non-optimised approach of looping through
|
|
all features in the source.
|
|
.. seealso:: minimumValue()
|
|
.. seealso:: uniqueValues()
|
|
:rtype: QVariant
|
|
%End
|
|
|
|
virtual QgsRectangle sourceExtent() const;
|
|
%Docstring
|
|
Returns the extent of all geometries from the source.
|
|
The base class implementation uses a non-optimised approach of looping through
|
|
all features in the source.
|
|
:rtype: QgsRectangle
|
|
%End
|
|
|
|
virtual QgsFeatureIds allFeatureIds() const;
|
|
%Docstring
|
|
Returns a list of all feature IDs for features present in the source.
|
|
:rtype: QgsFeatureIds
|
|
%End
|
|
|
|
QgsVectorLayer *materialize( const QgsFeatureRequest &request,
|
|
QgsFeedback *feedback = 0 ) /Factory/;
|
|
%Docstring
|
|
Materializes a ``request`` (query) made against this feature source, by running
|
|
it over the source and returning a new memory based vector layer containing
|
|
the result. All settings from feature ``request`` will be honored.
|
|
|
|
If a subset of attributes has been set for the request, then only
|
|
those selected fields will be present in the output layer.
|
|
|
|
The CRS for the output layer will match the input layer, unless
|
|
QgsFeatureRequest.setDestinationCrs() has been called with a valid QgsCoordinateReferenceSystem.
|
|
In this case the output layer will match the QgsFeatureRequest.destinationCrs() CRS.
|
|
|
|
The returned layer WKB type will match wkbType(), unless the QgsFeatureRequest.NoGeometry flag is set
|
|
on the ``request``. In that case the returned layer will not be a spatial layer.
|
|
|
|
An optional ``feedback`` argument can be used to cancel the materialization
|
|
before it has fully completed.
|
|
|
|
The returned value is a new instance and the caller takes responsibility
|
|
for its ownership.
|
|
|
|
.. versionadded:: 3.0
|
|
:rtype: QgsVectorLayer
|
|
%End
|
|
|
|
};
|
|
|
|
|
|
/************************************************************************
|
|
* This file has been generated automatically from *
|
|
* *
|
|
* src/core/qgsfeaturesource.h *
|
|
* *
|
|
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
|
|
************************************************************************/
|