QGIS API Documentation
3.14.0-Pi (9f7028fd23)
|
Contains utility methods for working with QgsVectorLayers. More...
#include <qgsvectorlayerutils.h>
Classes | |
class | QgsDuplicateFeatureContext |
Contains mainly the QMap with QgsVectorLayer and QgsFeatureIds do list all the duplicated features. More... | |
class | QgsFeatureData |
Encapsulate geometry and attributes for new features, to be passed to createFeatures. More... | |
Public Types | |
typedef QList< QgsVectorLayerUtils::QgsFeatureData > | QgsFeaturesDataList |
Alias for list of QgsFeatureData. More... | |
Static Public Member Functions | |
static QgsFeature | createFeature (const QgsVectorLayer *layer, const QgsGeometry &geometry=QgsGeometry(), const QgsAttributeMap &attributes=QgsAttributeMap(), QgsExpressionContext *context=nullptr) |
Creates a new feature ready for insertion into a layer. More... | |
static QgsFeatureList | createFeatures (const QgsVectorLayer *layer, const QgsFeaturesDataList &featuresData, QgsExpressionContext *context=nullptr) |
Creates a set of new features ready for insertion into a layer. More... | |
static QVariant | createUniqueValue (const QgsVectorLayer *layer, int fieldIndex, const QVariant &seed=QVariant()) |
Returns a new attribute value for the specified field index which is guaranteed to be unique. More... | |
static QVariant | createUniqueValueFromCache (const QgsVectorLayer *layer, int fieldIndex, const QSet< QVariant > &existingValues, const QVariant &seed=QVariant()) |
Returns a new attribute value for the specified field index which is guaranteed to be unique within regard to existingValues. More... | |
static QgsFeature | duplicateFeature (QgsVectorLayer *layer, const QgsFeature &feature, QgsProject *project, int depth, QgsDuplicateFeatureContext &duplicateFeatureContext) |
Duplicates a feature and it's children (one level deep). More... | |
static bool | fieldIsEditable (const QgsVectorLayer *layer, int fieldIndex, const QgsFeature &feature) |
static QList< double > | getDoubleValues (const QgsVectorLayer *layer, const QString &fieldOrExpression, bool &ok, bool selectedOnly=false, int *nullCount=nullptr, QgsFeedback *feedback=nullptr) |
Fetches all double values from a specified field name or expression. More... | |
static QString | getFeatureDisplayString (const QgsVectorLayer *layer, const QgsFeature &feature) |
static std::unique_ptr< QgsVectorLayerFeatureSource > | getFeatureSource (QPointer< QgsVectorLayer > layer, QgsFeedback *feedback=nullptr) |
Gets the feature source from a QgsVectorLayer pointer. More... | |
static QList< QVariant > | getValues (const QgsVectorLayer *layer, const QString &fieldOrExpression, bool &ok, bool selectedOnly=false, QgsFeedback *feedback=nullptr) |
Fetches all values from a specified field name or expression. More... | |
static QgsFeatureIterator | getValuesIterator (const QgsVectorLayer *layer, const QString &fieldOrExpression, bool &ok, bool selectedOnly) |
Create a feature iterator for a specified field name or expression. More... | |
static bool | impactsCascadeFeatures (const QgsVectorLayer *layer, const QgsFeatureIds &fids, const QgsProject *project, QgsDuplicateFeatureContext &context) |
static QHash< QString, QHash< QString, QSet< QgsSymbolLayerId > > > | labelMasks (const QgsVectorLayer *) |
Returns masks defined in labeling options of a layer. More... | |
static QgsFeatureList | makeFeatureCompatible (const QgsFeature &feature, const QgsVectorLayer *layer) |
Converts input feature to be compatible with the given layer. More... | |
static QgsFeatureList | makeFeaturesCompatible (const QgsFeatureList &features, const QgsVectorLayer *layer) |
Converts input features to be compatible with the given layer. More... | |
static void | matchAttributesToFields (QgsFeature &feature, const QgsFields &fields) |
Matches the attributes in feature to the specified fields. More... | |
static QHash< QString, QSet< QgsSymbolLayerId > > | symbolLayerMasks (const QgsVectorLayer *) |
Returns all masks that may be defined on symbol layers for a given vector layer. More... | |
static bool | validateAttribute (const QgsVectorLayer *layer, const QgsFeature &feature, int attributeIndex, QStringList &errors, QgsFieldConstraints::ConstraintStrength strength=QgsFieldConstraints::ConstraintStrengthNotSet, QgsFieldConstraints::ConstraintOrigin origin=QgsFieldConstraints::ConstraintOriginNotSet) |
Tests an attribute value to check whether it passes all constraints which are present on the corresponding field. More... | |
static bool | valueExists (const QgsVectorLayer *layer, int fieldIndex, const QVariant &value, const QgsFeatureIds &ignoreIds=QgsFeatureIds()) |
Returns true if the specified value already exists within a field. More... | |
Contains utility methods for working with QgsVectorLayers.
Definition at line 35 of file qgsvectorlayerutils.h.
Alias for list of QgsFeatureData.
Definition at line 106 of file qgsvectorlayerutils.h.
|
static |
Creates a new feature ready for insertion into a layer.
Default values and constraints (e.g., unique constraints) will automatically be handled. An optional attribute map can be passed for the new feature to copy as many attribute values as possible from the map, assuming that they respect the layer's constraints. Note that the created feature is not automatically inserted into the layer.
Definition at line 475 of file qgsvectorlayerutils.cpp.
|
static |
Creates a set of new features ready for insertion into a layer.
Default values and constraints (e.g., unique constraints) will automatically be handled. Note that the created features are not automatically inserted into the layer.
Definition at line 482 of file qgsvectorlayerutils.cpp.
|
static |
Returns a new attribute value for the specified field index which is guaranteed to be unique.
The optional seed value can be used as a basis for generated values.
Definition at line 213 of file qgsvectorlayerutils.cpp.
|
static |
Returns a new attribute value for the specified field index which is guaranteed to be unique within regard to existingValues.
The optional seed value can be used as a basis for generated values.
Definition at line 293 of file qgsvectorlayerutils.cpp.
|
static |
Duplicates a feature and it's children (one level deep).
It calls CreateFeature, so default values and constraints (e.g., unique constraints) will automatically be handled. The duplicated feature will be automatically inserted into the layer. depth the higher this number the deeper the level - With depth > 0 the children of the feature are not duplicated duplicateFeatureContext stores all the layers and the featureids of the duplicated features (incl. children)
Definition at line 623 of file qgsvectorlayerutils.cpp.
|
static |
feature | field at index |
fieldIndex | from |
layer | is editable, false if the field is readonly |
Definition at line 847 of file qgsvectorlayerutils.cpp.
|
static |
Fetches all double values from a specified field name or expression.
Null values or invalid expression results are skipped.
layer | vector layer to retrieve values from |
fieldOrExpression | field name or an expression string evaluating to a double value |
ok | will be set to false if field or expression is invalid, otherwise true |
selectedOnly | set to true to get values from selected features only |
nullCount | optional pointer to integer to store number of null values encountered in |
feedback | optional feedback object to allow cancellation |
Definition at line 126 of file qgsvectorlayerutils.cpp.
|
static |
displayExpression
property of layer. Definition at line 961 of file qgsvectorlayerutils.cpp.
|
static |
Gets the feature source from a QgsVectorLayer pointer.
This method is thread-safe but will block the main thread for execution. Executing it from the main thread is safe too. This should be used in scenarios, where a QWeakPointer<QgsVectorLayer>
is kept in a thread and features should be fetched from this layer. Using the layer directly is not safe to do. The result will be \c nullptr
if the layer has been deleted. If feedback is specified, the call will return if the feedback is canceled. Returns a new feature source for the layer. The source may be nullptr
if the layer no longer exists or if the feedback is canceled.
Definition at line 673 of file qgsvectorlayerutils.cpp.
|
static |
Fetches all values from a specified field name or expression.
layer | vector layer to retrieve values from |
fieldOrExpression | field name or an expression string |
ok | will be set to false if field or expression is invalid, otherwise true |
selectedOnly | set to true to get values from selected features only |
feedback | optional feedback object to allow cancellation |
Definition at line 86 of file qgsvectorlayerutils.cpp.
|
static |
Create a feature iterator for a specified field name or expression.
layer | vector layer to retrieve values from |
fieldOrExpression | field name or an expression string |
ok | will be set to false if field or expression is invalid, otherwise true |
selectedOnly | set to true to get values from selected features only |
Definition at line 44 of file qgsvectorlayerutils.cpp.
|
static |
true
if at least one feature of the fids on layer is connected as parent in at least one composition relation of the project or contains joins, where cascade delete is set. Details about cascading effects will be written to context. Definition at line 973 of file qgsvectorlayerutils.cpp.
|
static |
Returns masks defined in labeling options of a layer.
The returned type associates a labeling rule identifier to a set of layers that are masked given by their layer id, and a set of masked symbol layers if associated to each masked layers.
Definition at line 871 of file qgsvectorlayerutils.cpp.
|
static |
Converts input feature to be compatible with the given layer.
This function returns a new list of transformed features compatible with the input layer, note that the number of features returned might be greater than one when converting a multi part geometry to single part
The following operations will be performed to convert the input features:
Definition at line 736 of file qgsvectorlayerutils.cpp.
|
static |
Converts input features to be compatible with the given layer.
This function returns a new list of transformed features compatible with the input layer, note that the number of features returned might be greater than the number of input features.
The following operations will be performed to convert the input features:
Definition at line 786 of file qgsvectorlayerutils.cpp.
|
static |
Matches the attributes in feature to the specified fields.
This causes the attributes contained within the given feature to be rearranged (or in some cases dropped) in order to match the fields and order indicated by fields.
The exact behavior depends on whether or not feature has a valid fields container set (see QgsFeature::fields()). If a fields container is set, then the names of the feature's fields are matched to fields. In this case attributes from feature will be rearranged or dropped in order to match the field names from fields.
If the feature does not have a valid fields container set, then the feature's attributes are simply truncated to match the number of fields present in fields (or if less attributes are present in feature than in fields, the feature's attributes are padded with NULL values to match the required length). Finally, the feature's fields are set to fields.
Definition at line 697 of file qgsvectorlayerutils.cpp.
|
static |
Returns all masks that may be defined on symbol layers for a given vector layer.
The hash key is a layer id. The hash value is the set of symbol layers masked in the key's layer.
Definition at line 914 of file qgsvectorlayerutils.cpp.
|
static |
Tests an attribute value to check whether it passes all constraints which are present on the corresponding field.
Returns true
if the attribute value is valid for the field. Any constraint failures will be reported in the errors argument. If the strength or origin parameter is set then only constraints with a matching strength/origin will be checked.
Definition at line 374 of file qgsvectorlayerutils.cpp.
|
static |
Returns true
if the specified value already exists within a field.
This method can be used to test for uniqueness of values inside a layer's attributes. An optional list of ignored feature IDs can be provided, if so, any features with IDs within this list are ignored when testing for existence of the value.
Definition at line 158 of file qgsvectorlayerutils.cpp.