QGIS API Documentation
2.12.0-Lyon
|
This class wraps a request for features to a vector layer (or directly its vector data provider). More...
#include <qgsfeaturerequest.h>
Public Types | |
enum | FilterType { FilterNone, FilterRect, FilterFid, FilterExpression, FilterFids } |
Types of filters. More... | |
enum | Flag { NoFlags = 0, NoGeometry = 1, SubsetOfAttributes = 2, ExactIntersect = 4 } |
Public Member Functions | |
QgsFeatureRequest () | |
construct a default request: for all features get attributes and geometries More... | |
QgsFeatureRequest (QgsFeatureId fid) | |
construct a request with feature ID filter More... | |
QgsFeatureRequest (const QgsRectangle &rect) | |
construct a request with rectangle filter More... | |
QgsFeatureRequest (const QgsExpression &expr, const QgsExpressionContext &context=QgsExpressionContext()) | |
construct a request with a filter expression More... | |
QgsFeatureRequest (const QgsFeatureRequest &rh) | |
copy constructor More... | |
~QgsFeatureRequest () | |
bool | acceptFeature (const QgsFeature &feature) |
Check if a feature is accepted by this requests filter. More... | |
QgsFeatureRequest & | disableFilter () |
Disables filter conditions. More... | |
QgsExpressionContext * | expressionContext () |
Returns the expression context used to evaluate filter expressions. More... | |
QgsExpression * | filterExpression () const |
Returns the filter expression if set. More... | |
const QgsFeatureId & | filterFid () const |
Get the feature ID that should be fetched. More... | |
const QgsFeatureIds & | filterFids () const |
Get feature IDs that should be fetched. More... | |
const QgsRectangle & | filterRect () const |
Get the rectangle from which features will be taken. More... | |
FilterType | filterType () const |
Return the filter type which is currently set on this request. More... | |
const Flags & | flags () const |
QgsFeatureRequest & | operator= (const QgsFeatureRequest &rh) |
Assignment operator. More... | |
QgsFeatureRequest & | setExpressionContext (const QgsExpressionContext &context) |
Sets the expression context used to evaluate filter expressions. More... | |
QgsFeatureRequest & | setFilterExpression (const QString &expression) |
Set the filter expression. More... | |
QgsFeatureRequest & | setFilterFid (QgsFeatureId fid) |
Set feature ID that should be fetched. More... | |
QgsFeatureRequest & | setFilterFids (const QgsFeatureIds &fids) |
Set feature IDs that should be fetched. More... | |
QgsFeatureRequest & | setFilterRect (const QgsRectangle &rect) |
Set rectangle from which features will be taken. More... | |
QgsFeatureRequest & | setFlags (const QgsFeatureRequest::Flags &flags) |
Set flags that affect how features will be fetched. More... | |
QgsFeatureRequest & | setSimplifyMethod (const QgsSimplifyMethod &simplifyMethod) |
Set a simplification method for geometries that will be fetched. More... | |
QgsFeatureRequest & | setSubsetOfAttributes (const QgsAttributeList &attrs) |
Set a subset of attributes that will be fetched. More... | |
QgsFeatureRequest & | setSubsetOfAttributes (const QStringList &attrNames, const QgsFields &fields) |
Set a subset of attributes by names that will be fetched. More... | |
const QgsSimplifyMethod & | simplifyMethod () const |
Get simplification method for geometries that will be fetched. More... | |
const QgsAttributeList & | subsetOfAttributes () const |
Return the subset of attributes which at least need to be fetched. More... | |
Static Public Attributes | |
static const QString | AllAttributes = QString( "#!allattributes!#" ) |
A special attribute that if set matches all attributes. More... | |
This class wraps a request for features to a vector layer (or directly its vector data provider).
The request may apply a filter to fetch only a particular subset of features. Currently supported filters:
Additionally a spatial rectangle can be set in combination: Only features that intersect given rectangle should be fetched. For the sake of speed, the intersection is often done only using feature's bounding box. There is a flag ExactIntersect that makes sure that only intersecting features will be returned.
For efficiency, it is also possible to tell provider that some data is not required:
The options may be chained, e.g.: QgsFeatureRequest().setFilterRect(QgsRectangle(0,0,1,1)).setFlags(QgsFeatureRequest::ExactIntersect)
Examples:
Definition at line 63 of file qgsfeaturerequest.h.
Types of filters.
Enumerator | |
---|---|
FilterNone |
No filter is applied. |
FilterRect |
Obsolete, will be ignored. If a filterRect is set it will be used anyway. Filter using a rectangle, no need to set NoGeometry. Instead check for request.filterRect().isNull() |
FilterFid |
Filter using feature ID. |
FilterExpression |
Filter using expression. |
FilterFids |
Filter using feature IDs. |
Definition at line 78 of file qgsfeaturerequest.h.
Definition at line 66 of file qgsfeaturerequest.h.
QgsFeatureRequest::QgsFeatureRequest | ( | ) |
construct a default request: for all features get attributes and geometries
Definition at line 25 of file qgsfeaturerequest.cpp.
|
explicit |
construct a request with feature ID filter
Definition at line 33 of file qgsfeaturerequest.cpp.
|
explicit |
construct a request with rectangle filter
Definition at line 41 of file qgsfeaturerequest.cpp.
|
explicit |
construct a request with a filter expression
Definition at line 50 of file qgsfeaturerequest.cpp.
QgsFeatureRequest::QgsFeatureRequest | ( | const QgsFeatureRequest & | rh | ) |
copy constructor
Definition at line 59 of file qgsfeaturerequest.cpp.
QgsFeatureRequest::~QgsFeatureRequest | ( | ) |
Definition at line 85 of file qgsfeaturerequest.cpp.
bool QgsFeatureRequest::acceptFeature | ( | const QgsFeature & | feature | ) |
Check if a feature is accepted by this requests filter.
feature | The feature which will be tested |
Definition at line 166 of file qgsfeaturerequest.cpp.
|
inline |
Disables filter conditions.
The spatial filter (filterRect) will be kept in place.
Definition at line 169 of file qgsfeaturerequest.h.
|
inline |
Returns the expression context used to evaluate filter expressions.
Definition at line 152 of file qgsfeaturerequest.h.
|
inline |
Returns the filter expression if set.
Definition at line 145 of file qgsfeaturerequest.h.
|
inline |
Get the feature ID that should be fetched.
Definition at line 127 of file qgsfeaturerequest.h.
|
inline |
Get feature IDs that should be fetched.
Definition at line 132 of file qgsfeaturerequest.h.
|
inline |
Get the rectangle from which features will be taken.
Definition at line 122 of file qgsfeaturerequest.h.
|
inline |
Return the filter type which is currently set on this request.
Definition at line 112 of file qgsfeaturerequest.h.
|
inline |
Definition at line 173 of file qgsfeaturerequest.h.
QgsFeatureRequest & QgsFeatureRequest::operator= | ( | const QgsFeatureRequest & | rh | ) |
Assignment operator.
Definition at line 64 of file qgsfeaturerequest.cpp.
QgsFeatureRequest & QgsFeatureRequest::setExpressionContext | ( | const QgsExpressionContext & | context | ) |
Sets the expression context used to evaluate filter expressions.
Definition at line 120 of file qgsfeaturerequest.cpp.
QgsFeatureRequest & QgsFeatureRequest::setFilterExpression | ( | const QString & | expression | ) |
Set the filter expression.
{
expression | expression string |
Definition at line 112 of file qgsfeaturerequest.cpp.
QgsFeatureRequest & QgsFeatureRequest::setFilterFid | ( | QgsFeatureId | fid | ) |
Set feature ID that should be fetched.
Definition at line 98 of file qgsfeaturerequest.cpp.
QgsFeatureRequest & QgsFeatureRequest::setFilterFids | ( | const QgsFeatureIds & | fids | ) |
Set feature IDs that should be fetched.
Definition at line 105 of file qgsfeaturerequest.cpp.
QgsFeatureRequest & QgsFeatureRequest::setFilterRect | ( | const QgsRectangle & | rect | ) |
Set rectangle from which features will be taken.
Empty rectangle removes the filter.
Definition at line 90 of file qgsfeaturerequest.cpp.
QgsFeatureRequest & QgsFeatureRequest::setFlags | ( | const QgsFeatureRequest::Flags & | flags | ) |
Set flags that affect how features will be fetched.
Definition at line 126 of file qgsfeaturerequest.cpp.
QgsFeatureRequest & QgsFeatureRequest::setSimplifyMethod | ( | const QgsSimplifyMethod & | simplifyMethod | ) |
Set a simplification method for geometries that will be fetched.
Definition at line 160 of file qgsfeaturerequest.cpp.
QgsFeatureRequest & QgsFeatureRequest::setSubsetOfAttributes | ( | const QgsAttributeList & | attrs | ) |
Set a subset of attributes that will be fetched.
Empty list means that all attributes are used. To disable fetching attributes, reset the FetchAttributes flag (which is set by default)
Definition at line 132 of file qgsfeaturerequest.cpp.
QgsFeatureRequest & QgsFeatureRequest::setSubsetOfAttributes | ( | const QStringList & | attrNames, |
const QgsFields & | fields | ||
) |
Set a subset of attributes by names that will be fetched.
Definition at line 139 of file qgsfeaturerequest.cpp.
|
inline |
Get simplification method for geometries that will be fetched.
Definition at line 192 of file qgsfeaturerequest.h.
|
inline |
Return the subset of attributes which at least need to be fetched.
Definition at line 182 of file qgsfeaturerequest.h.
A special attribute that if set matches all attributes.
Definition at line 90 of file qgsfeaturerequest.h.
|
protected |
Definition at line 217 of file qgsfeaturerequest.h.
|
protected |
Definition at line 215 of file qgsfeaturerequest.h.
|
protected |
Definition at line 210 of file qgsfeaturerequest.h.
|
protected |
Definition at line 214 of file qgsfeaturerequest.h.
|
protected |
Definition at line 212 of file qgsfeaturerequest.h.
|
protected |
Definition at line 213 of file qgsfeaturerequest.h.
|
protected |
Definition at line 211 of file qgsfeaturerequest.h.
|
protected |
Definition at line 216 of file qgsfeaturerequest.h.
|
protected |
Definition at line 218 of file qgsfeaturerequest.h.