QGIS API Documentation
3.20.0-Odense (decaadbb31)
|
Counts the features in a QgsVectorLayer in task. More...
#include <qgsvectorlayerfeaturecounter.h>
Signals | |
void | symbolsCounted () |
Emitted when the symbols have been counted. More... | |
Signals inherited from QgsTask | |
void | begun () |
Will be emitted by task to indicate its commencement. More... | |
void | progressChanged (double progress) |
Will be emitted by task when its progress changes. More... | |
void | statusChanged (int status) |
Will be emitted by task when its status changes. More... | |
void | taskCompleted () |
Will be emitted by task to indicate its successful completion. More... | |
void | taskTerminated () |
Will be emitted by task if it has terminated for any reason other then completion (e.g., when a task has been canceled or encountered an internal error). More... | |
Public Member Functions | |
QgsVectorLayerFeatureCounter (QgsVectorLayer *layer, const QgsExpressionContext &context=QgsExpressionContext(), bool storeSymbolFids=false) | |
Create a new feature counter for layer. More... | |
long long | featureCount (const QString &legendKey) const |
Returns the feature count for a particular legendKey. More... | |
QgsFeatureIds | featureIds (const QString &symbolkey) const |
Returns the feature Ids for a particular legendKey. More... | |
bool | run () override |
Calculates the feature count and Ids per symbol. More... | |
QHash< QString, long long > | symbolFeatureCountMap () const |
Returns the count for each symbol. More... | |
QHash< QString, QgsFeatureIds > | symbolFeatureIdMap () const |
Returns the QgsFeatureIds for each symbol. More... | |
Public Member Functions inherited from QgsTask | |
QgsTask (const QString &description=QString(), QgsTask::Flags flags=AllFlags) | |
Constructor for QgsTask. More... | |
~QgsTask () override | |
void | addSubTask (QgsTask *subTask, const QgsTaskList &dependencies=QgsTaskList(), SubTaskDependency subTaskDependency=SubTaskIndependent) |
Adds a subtask to this task. More... | |
bool | canCancel () const |
Returns true if the task can be canceled. More... | |
virtual void | cancel () |
Notifies the task that it should terminate. More... | |
QList< QgsMapLayer * > | dependentLayers () const |
Returns the list of layers on which the task depends. More... | |
QString | description () const |
Returns the task's description. More... | |
qint64 | elapsedTime () const |
Returns the elapsed time since the task commenced, in milliseconds. More... | |
Flags | flags () const |
Returns the flags associated with the task. More... | |
void | hold () |
Places the task on hold. More... | |
bool | isActive () const |
Returns true if the task is active, ie it is not complete and has not been canceled. More... | |
double | progress () const |
Returns the task's progress (between 0.0 and 100.0) More... | |
void | setDependentLayers (const QList< QgsMapLayer * > &dependentLayers) |
Sets a list of layers on which the task depends. More... | |
void | setDescription (const QString &description) |
Sets the task's description. More... | |
TaskStatus | status () const |
Returns the current task status. More... | |
void | unhold () |
Releases the task from being held. More... | |
bool | waitForFinished (int timeout=30000) |
Blocks the current thread until the task finishes or a maximum of timeout milliseconds. More... | |
Additional Inherited Members | |
Public Types inherited from QgsTask | |
enum | Flag { CanCancel = 1 << 1 , CancelWithoutPrompt = 1 << 2 , AllFlags = CanCancel } |
Task flags. More... | |
enum | SubTaskDependency { SubTaskIndependent = 0 , ParentDependsOnSubTask } |
Controls how subtasks relate to their parent task. More... | |
enum | TaskStatus { Queued , OnHold , Running , Complete , Terminated } |
Status of tasks. More... | |
Protected Slots inherited from QgsTask | |
void | setProgress (double progress) |
Sets the task's current progress. More... | |
Protected Member Functions inherited from QgsTask | |
virtual void | finished (bool result) |
If the task is managed by a QgsTaskManager, this will be called after the task has finished (whether through successful completion or via early termination). More... | |
bool | isCanceled () const |
Will return true if task should terminate ASAP. More... | |
Counts the features in a QgsVectorLayer in task.
You should most likely not use this directly and instead call QgsVectorLayer::countSymbolFeatures() and connect to the signal QgsVectorLayer::symbolFeatureCountMapChanged().
Definition at line 33 of file qgsvectorlayerfeaturecounter.h.
QgsVectorLayerFeatureCounter::QgsVectorLayerFeatureCounter | ( | QgsVectorLayer * | layer, |
const QgsExpressionContext & | context = QgsExpressionContext() , |
||
bool | storeSymbolFids = false |
||
) |
Create a new feature counter for layer.
layer | Target QgsVectorLayer to perform counting on. |
context | Specific QgsExpressionContext to use during the rendering step. |
storeSymbolFids | If true will store the feature ids (fids), otherwise will only count the number of features per symbol. Default false . |
Definition at line 20 of file qgsvectorlayerfeaturecounter.cpp.
long long QgsVectorLayerFeatureCounter::featureCount | ( | const QString & | legendKey | ) | const |
Returns the feature count for a particular legendKey.
If the key has not been found, -1 will be returned.
Definition at line 109 of file qgsvectorlayerfeaturecounter.cpp.
QgsFeatureIds QgsVectorLayerFeatureCounter::featureIds | ( | const QString & | symbolkey | ) | const |
Returns the feature Ids for a particular legendKey.
If the key has not been found an empty QSet will be returned.
Definition at line 119 of file qgsvectorlayerfeaturecounter.cpp.
|
overridevirtual |
Calculates the feature count and Ids per symbol.
Implements QgsTask.
Definition at line 34 of file qgsvectorlayerfeaturecounter.cpp.
QHash< QString, long long > QgsVectorLayerFeatureCounter::symbolFeatureCountMap | ( | ) | const |
Returns the count for each symbol.
Only valid after the symbolsCounted() signal has been emitted.
Definition at line 104 of file qgsvectorlayerfeaturecounter.cpp.
QHash< QString, QgsFeatureIds > QgsVectorLayerFeatureCounter::symbolFeatureIdMap | ( | ) | const |
Returns the QgsFeatureIds for each symbol.
Only valid after the symbolsCounted() signal has been emitted.
Definition at line 114 of file qgsvectorlayerfeaturecounter.cpp.
|
signal |
Emitted when the symbols have been counted.