QGIS API Documentation
3.16.0-Hannover (43b64b13f3)
|
This is the base class for vector data providers. More...
#include <qgsvectordataprovider.h>
Classes | |
struct | NativeType |
Public Types | |
enum | Capability { NoCapabilities = 0, AddFeatures = 1, DeleteFeatures = 1 << 1, ChangeAttributeValues = 1 << 2, AddAttributes = 1 << 3, DeleteAttributes = 1 << 4, CreateSpatialIndex = 1 << 6, SelectAtId = 1 << 7, ChangeGeometries = 1 << 8, SelectEncoding = 1 << 13, CreateAttributeIndex = 1 << 12, SimplifyGeometries = 1 << 14, SimplifyGeometriesWithTopologicalValidation = 1 << 15, TransactionSupport = 1 << 16, CircularGeometries = 1 << 17, ChangeFeatures = 1 << 18, RenameAttributes = 1 << 19, FastTruncate = 1 << 20, ReadLayerMetadata = 1 << 21, WriteLayerMetadata = 1 << 22, CancelSupport = 1 << 23, CreateRenderer = 1 << 24, CreateLabeling = 1 << 25 } |
enumeration with capabilities that providers might implement More... | |
enum | FeatureCountState { Uncounted = -2, UnknownCount = -1 } |
Enumeration of feature count states. More... | |
Public Types inherited from QgsDataProvider | |
enum | DataCapability { NoDataCapabilities = 0, File = 1, Dir = 1 << 1, Database = 1 << 2, Net = 1 << 3 } |
Used in browser model to understand which items for which providers should be populated. More... | |
enum | ProviderProperty { EvaluateDefaultValues, CustomData = 3000 } |
Properties are used to pass custom configuration options into data providers. More... | |
enum | ReadFlag { FlagTrustDataSource = 1 << 0 } |
Flags which control dataprovider construction. More... | |
Public Types inherited from QgsFeatureSink | |
enum | Flag { FastInsert = 1 << 1, RollBackOnErrors = 1 << 2 } |
Flags controlling how features are added to a sink. More... | |
enum | SinkFlag { RegeneratePrimaryKey = 1 << 1 } |
Flags that can be set on a QgsFeatureSink. More... | |
Public Types inherited from QgsFeatureSource | |
enum | FeatureAvailability { NoFeaturesAvailable, FeaturesAvailable, FeaturesMaybeAvailable } |
Possible return value for hasFeatures() to determine if a source is empty. More... | |
enum | SpatialIndexPresence { SpatialIndexUnknown = 0, SpatialIndexNotPresent = 1, SpatialIndexPresent = 2 } |
Enumeration of spatial index presence states. More... | |
Signals | |
void | raiseError (const QString &msg) const |
Signals an error in this provider. More... | |
Signals inherited from QgsDataProvider | |
void | dataChanged () |
Emitted whenever a change is made to the data provider which may have caused changes in the provider's data OUTSIDE of QGIS. More... | |
void | fullExtentCalculated () |
Emitted whenever a deferred extent calculation is completed by the provider. More... | |
void | notify (const QString &msg) |
Emitted when the datasource issues a notification. More... | |
Public Member Functions | |
QgsVectorDataProvider (const QString &uri=QString(), const QgsDataProvider::ProviderOptions &providerOptions=QgsDataProvider::ProviderOptions(), QgsDataProvider::ReadFlags flags=QgsDataProvider::ReadFlags()) | |
Constructor for a vector data provider. More... | |
virtual bool | addAttributes (const QList< QgsField > &attributes) |
Adds new attributes to the provider. More... | |
bool | addFeatures (QgsFeatureList &flist, QgsFeatureSink::Flags flags=QgsFeatureSink::Flags()) override |
Adds a list of features to the sink. More... | |
virtual QVariant | aggregate (QgsAggregateCalculator::Aggregate aggregate, int index, const QgsAggregateCalculator::AggregateParameters ¶meters, QgsExpressionContext *context, bool &ok, QgsFeatureIds *fids=nullptr) const |
Calculates an aggregated value from the layer's features. More... | |
virtual QgsAttributeList | attributeIndexes () const |
Returns list of indexes to fetch all attributes in nextFeature() More... | |
virtual bool | cancelReload () |
Cancels the current reloading of data. More... | |
virtual QgsVectorDataProvider::Capabilities | capabilities () const |
Returns flags containing the supported capabilities. More... | |
QString | capabilitiesString () const |
Returns the above in friendly format. More... | |
virtual bool | changeAttributeValues (const QgsChangedAttributesMap &attr_map) |
Changes attribute values of existing features. More... | |
virtual bool | changeFeatures (const QgsChangedAttributesMap &attr_map, const QgsGeometryMap &geometry_map) |
Changes attribute values and geometries of existing features. More... | |
virtual bool | changeGeometryValues (const QgsGeometryMap &geometry_map) |
Changes geometries of existing features. More... | |
void | clearErrors () |
Clear recorded errors. More... | |
virtual bool | createAttributeIndex (int field) |
Create an attribute index on the datasource. More... | |
virtual QgsAbstractVectorLayerLabeling * | createLabeling (const QVariantMap &configuration=QVariantMap()) const |
Creates labeling settings, using provider backend specific information. More... | |
virtual QgsFeatureRenderer * | createRenderer (const QVariantMap &configuration=QVariantMap()) const |
Creates a new vector layer feature renderer, using provider backend specific information. More... | |
virtual bool | createSpatialIndex () |
Creates a spatial index on the datasource (if supported by the provider type). More... | |
virtual QString | dataComment () const override |
Returns a short comment for the data that this provider is providing access to (e.g. More... | |
virtual QVariant | defaultValue (int fieldIndex) const |
Returns any literal default values which are present at the provider for a specified field index. More... | |
virtual QString | defaultValueClause (int fieldIndex) const |
Returns any default value clauses which are present at the provider for a specified field index. More... | |
virtual bool | deleteAttributes (const QgsAttributeIds &attributes) |
Deletes existing attributes from the provider. More... | |
virtual bool | deleteFeatures (const QgsFeatureIds &id) |
Deletes one or more features from the provider. More... | |
virtual QSet< QgsMapLayerDependency > | dependencies () const |
Gets the list of layer ids on which this layer depends. More... | |
virtual QList< QgsRelation > | discoverRelations (const QgsVectorLayer *self, const QList< QgsVectorLayer * > &layers) const |
Discover the available relations with the given layers. More... | |
virtual bool | doesStrictFeatureTypeCheck () const |
Returns true if the provider is strict about the type of inserted features (e.g. More... | |
virtual bool | empty () const |
Returns true if the layer does not contain any feature. More... | |
QString | encoding () const |
Returns the encoding which is used for accessing data. More... | |
virtual void | enumValues (int index, QStringList &enumList) const |
Returns the possible enum values of an attribute. More... | |
QStringList | errors () const |
Gets recorded errors. More... | |
long | featureCount () const override=0 |
Number of features in the layer. More... | |
virtual QgsAbstractFeatureSource * | featureSource () const =0 |
Returns feature source object that can be used for querying provider's data. More... | |
QgsFieldConstraints::Constraints | fieldConstraints (int fieldIndex) const |
Returns any constraints which are present at the provider for a specified field index. More... | |
int | fieldNameIndex (const QString &fieldName) const |
Returns the index of a field name or -1 if the field does not exist. More... | |
QMap< QString, int > | fieldNameMap () const |
Returns a map where the key is the name of the field and the value is its index. More... | |
QgsFields | fields () const override=0 |
Returns the fields associated with this data provider. More... | |
virtual Q_DECL_DEPRECATED void | forceReload () |
QgsFeatureIterator | getFeatures (const QgsFeatureRequest &request=QgsFeatureRequest()) const override=0 |
Query the provider for features specified in request. More... | |
virtual void | handlePostCloneOperations (QgsVectorDataProvider *source) |
Handles any post-clone operations required after this vector data provider was cloned from the source provider. More... | |
bool | hasErrors () const |
Provider has errors to report. More... | |
QgsFeatureSource::FeatureAvailability | hasFeatures () const override |
Will always return FeatureAvailability::FeaturesAvailable or FeatureAvailability::NoFeaturesAvailable. More... | |
virtual bool | hasMetadata () const |
Returns true if the data source has metadata, false otherwise. More... | |
virtual bool | isDeleteStyleFromDatabaseSupported () const |
It returns false by default. More... | |
virtual bool | isSaveAndLoadStyleToDatabaseSupported () const |
It returns false by default. More... | |
QString | lastError () const override |
Returns the most recent error encountered by the sink, e.g. More... | |
QVariant | maximumValue (int index) const override |
Returns the maximum value of an attribute. More... | |
virtual QVariantMap | metadata () const |
Gets metadata, dependent on the provider type, that will be display in the metadata tab of the layer properties. More... | |
QVariant | minimumValue (int index) const override |
Returns the minimum value of an attribute. More... | |
QList< QgsVectorDataProvider::NativeType > | nativeTypes () const |
Returns the names of the supported types. More... | |
virtual QgsAttrPalIndexNameHash | palAttributeIndexNames () const |
Returns list of indexes to names for QgsPalLabeling fix. More... | |
virtual QgsAttributeList | pkAttributeIndexes () const |
Returns list of indexes of fields that make up the primary key. More... | |
virtual bool | renameAttributes (const QgsFieldNameMap &renamedAttributes) |
Renames existing attributes. More... | |
virtual void | setEncoding (const QString &e) |
Set encoding used for accessing data from layer. More... | |
virtual bool | skipConstraintCheck (int fieldIndex, QgsFieldConstraints::Constraint constraint, const QVariant &value=QVariant()) const |
Returns true if a constraint check should be skipped for a specified field (e.g., if the value returned by defaultValue() is trusted implicitly. More... | |
QgsCoordinateReferenceSystem | sourceCrs () const override |
Returns the coordinate reference system for features in the source. More... | |
QgsRectangle | sourceExtent () const override |
Returns the extent of all geometries from the source. More... | |
QString | sourceName () const override |
Returns a friendly display name for the source. More... | |
virtual QString | storageType () const |
Returns the permanent storage type for this layer as a friendly name. More... | |
bool | supportedType (const QgsField &field) const |
check if provider supports type of field More... | |
const QgsVectorDataProviderTemporalCapabilities * | temporalCapabilities () const override |
Returns the provider's temporal capabilities. More... | |
QgsVectorDataProviderTemporalCapabilities * | temporalCapabilities () override |
Returns the provider's temporal capabilities. More... | |
virtual QgsTransaction * | transaction () const |
Returns the transaction this data provider is included in, if any. More... | |
virtual QString | translateMetadataKey (const QString &mdKey) const |
Gets the translated metadata key. More... | |
virtual QString | translateMetadataValue (const QString &mdKey, const QVariant &value) const |
Gets the translated metadata value. More... | |
virtual bool | truncate () |
Removes all features from the layer. More... | |
virtual QStringList | uniqueStringsMatching (int index, const QString &substring, int limit=-1, QgsFeedback *feedback=nullptr) const |
Returns unique string values of an attribute which contain a specified subset string. More... | |
QgsWkbTypes::Type | wkbType () const override=0 |
Returns the geometry type which is returned by this layer. More... | |
Public Member Functions inherited from QgsDataProvider | |
QgsDataProvider (const QString &uri=QString(), const QgsDataProvider::ProviderOptions &providerOptions=QgsDataProvider::ProviderOptions(), QgsDataProvider::ReadFlags flags=QgsDataProvider::ReadFlags()) | |
Create a new dataprovider with the specified in the uri. More... | |
virtual QgsCoordinateReferenceSystem | crs () const =0 |
Returns the coordinate system for the data source. More... | |
virtual QString | dataSourceUri (bool expandAuthConfig=false) const |
Gets the data source specification. More... | |
virtual QDateTime | dataTimestamp () const |
Current time stamp of data source. More... | |
virtual QString | description () const =0 |
Returns description. More... | |
virtual bool | enterUpdateMode () |
Enter update mode. More... | |
virtual QgsError | error () const |
Gets current status error. More... | |
virtual QgsRectangle | extent () const =0 |
Returns the extent of the layer. More... | |
virtual QString | fileRasterFilters () const |
Returns raster file filter string. More... | |
virtual QString | fileVectorFilters () const |
Returns vector file filter string. More... | |
virtual void | invalidateConnections (const QString &connection) |
Invalidate connections corresponding to specified name. More... | |
virtual bool | isValid () const =0 |
Returns true if this is a valid layer. More... | |
virtual QgsLayerMetadata | layerMetadata () const |
Returns layer metadata collected from the provider's source. More... | |
virtual bool | leaveUpdateMode () |
Leave update mode. More... | |
virtual QString | name () const =0 |
Returns a provider name. More... | |
QVariant | providerProperty (int property, const QVariant &defaultValue) const |
Gets the current value of a certain provider property. More... | |
QVariant | providerProperty (ProviderProperty property, const QVariant &defaultValue=QVariant()) const |
Gets the current value of a certain provider property. More... | |
virtual void | reloadData () |
Reloads the data from the source by calling reloadProviderData() implemented by providers with data caches to synchronize, changes in the data source, feature counts and other specific actions. More... | |
virtual bool | renderInPreview (const QgsDataProvider::PreviewContext &context) |
Returns whether the layer must be rendered in preview jobs. More... | |
virtual void | setDataSourceUri (const QString &uri) |
Set the data source specification. More... | |
virtual void | setLayerOrder (const QStringList &layers) |
Reorder the list of layer names to be rendered by this provider (in order from bottom to top) More... | |
virtual void | setListening (bool isListening) |
Set whether the provider will listen to datasource notifications If set, the provider will issue notify signals. More... | |
void | setProviderProperty (int property, const QVariant &value) |
Allows setting arbitrary properties on the provider. More... | |
void | setProviderProperty (ProviderProperty property, const QVariant &value) |
Allows setting arbitrary properties on the provider. More... | |
virtual void | setSubLayerVisibility (const QString &name, bool vis) |
Set the visibility of the given sublayer name. More... | |
virtual bool | setSubsetString (const QString &subset, bool updateFeatureCount=true) |
Set the subset string used to create a subset of features in the layer. More... | |
virtual void | setTransformContext (const QgsCoordinateTransformContext &transformContext) |
Sets data coordinate transform context to transformContext. More... | |
void | setUri (const QgsDataSourceUri &uri) |
Set the data source specification. More... | |
virtual uint | subLayerCount () const |
Returns the number of layers for the current data source. More... | |
virtual QStringList | subLayers () const |
Sub-layers handled by this provider, in order from bottom to top. More... | |
virtual QStringList | subLayerStyles () const |
Sub-layer styles for each sub-layer handled by this provider, in order from bottom to top. More... | |
virtual QString | subsetString () const |
Returns the subset definition string (typically sql) currently in use by the layer and used by the provider to limit the feature set. More... | |
virtual bool | supportsSubsetString () const |
Returns true if the provider supports setting of subset strings. More... | |
virtual QDateTime | timestamp () const |
Time stamp of data source in the moment when data/metadata were loaded by provider. More... | |
QgsCoordinateTransformContext | transformContext () const |
Returns data provider coordinate transform context. More... | |
virtual void | updateExtents () |
Update the extents of the layer. More... | |
QgsDataSourceUri | uri () const |
Gets the data source specification. More... | |
virtual bool | writeLayerMetadata (const QgsLayerMetadata &metadata) |
Writes layer metadata to the underlying provider source. More... | |
Public Member Functions inherited from QgsFeatureSink | |
virtual | ~QgsFeatureSink ()=default |
virtual bool | addFeature (QgsFeature &feature, QgsFeatureSink::Flags flags=QgsFeatureSink::Flags()) |
Adds a single feature to the sink. More... | |
virtual bool | addFeatures (QgsFeatureIterator &iterator, QgsFeatureSink::Flags flags=QgsFeatureSink::Flags()) |
Adds all features from the specified iterator to the sink. More... | |
virtual bool | flushBuffer () |
Flushes any internal buffer which may exist in the sink, causing any buffered features to be added to the sink's destination. More... | |
Public Member Functions inherited from QgsFeatureSource | |
virtual | ~QgsFeatureSource ()=default |
virtual QgsFeatureIds | allFeatureIds () const |
Returns a list of all feature IDs for features present in the source. More... | |
virtual SpatialIndexPresence | hasSpatialIndex () const |
Returns an enum value representing the presence of a valid spatial index on the source, if it can be determined. More... | |
QgsVectorLayer * | materialize (const QgsFeatureRequest &request, QgsFeedback *feedback=nullptr) |
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. More... | |
virtual QSet< QVariant > | uniqueValues (int fieldIndex, int limit=-1) const |
Returns the set of unique values contained within the specified fieldIndex from this source. More... | |
Static Public Member Functions | |
static QStringList | availableEncodings () |
Returns a list of available encodings. More... | |
static QVariant | convertValue (QVariant::Type type, const QString &value) |
Static Public Member Functions inherited from QgsDataProvider | |
static QString | sublayerSeparator () |
String sequence used for separating components of sublayers strings. More... | |
Static Public Attributes | |
static const int | EditingCapabilities |
Bitmask of all provider's editing capabilities. More... | |
Protected Member Functions | |
void | clearMinMaxCache () |
Invalidates the min/max cache. More... | |
QgsGeometry | convertToProviderType (const QgsGeometry &geom) const |
Converts the geometry to the provider type if possible / necessary. More... | |
void | fillMinMaxCache () const |
Populates the cache of minimum and maximum attribute values. More... | |
void | pushError (const QString &msg) const |
Push a notification about errors that happened in this providers scope. More... | |
void | setNativeTypes (const QList< QgsVectorDataProvider::NativeType > &nativeTypes) |
Set the list of native types supported by this provider. More... | |
QTextCodec * | textEncoding () const |
Gets this providers encoding. More... | |
Protected Member Functions inherited from QgsDataProvider | |
void | appendError (const QgsErrorMessage &message) |
Add error message. More... | |
void | setError (const QgsError &error) |
Sets error message. More... | |
Friends | |
class | QgsTransaction |
class | QgsVectorLayerEditBuffer |
Additional Inherited Members | |
Protected Attributes inherited from QgsDataProvider | |
QgsError | mError |
Error. More... | |
QgsDataProvider::ReadFlags | mReadFlags = QgsDataProvider::ReadFlags() |
Read flags. It's up to the subclass to respect these when needed. More... | |
QDateTime | mTimestamp |
Timestamp of data in the moment when the data were loaded by provider. More... | |
This is the base class for vector data providers.
Data providers abstract the retrieval and writing (where supported) of feature and attribute information from a spatial datasource.
Definition at line 58 of file qgsvectordataprovider.h.
enumeration with capabilities that providers might implement
Enumerator | |
---|---|
NoCapabilities | Provider has no capabilities. |
AddFeatures | Allows adding features. |
DeleteFeatures | Allows deletion of features. |
ChangeAttributeValues | Allows modification of attribute values. |
AddAttributes | Allows addition of new attributes (fields) |
DeleteAttributes | Allows deletion of attributes (fields) |
CreateSpatialIndex | Allows creation of spatial index. |
SelectAtId | Fast access to features using their ID. |
ChangeGeometries | Allows modifications of geometries. |
SelectEncoding | Allows user to select encoding. |
CreateAttributeIndex | Can create indexes on provider's fields. |
SimplifyGeometries | Supports simplification of geometries on provider side according to a distance tolerance. |
SimplifyGeometriesWithTopologicalValidation | Supports topological simplification of geometries on provider side according to a distance tolerance. |
TransactionSupport | Supports transactions. |
CircularGeometries | Supports circular geometry types (circularstring, compoundcurve, curvepolygon) |
ChangeFeatures | Supports joint updates for attributes and geometry. Providers supporting this should still define ChangeGeometries | ChangeAttributeValues. |
RenameAttributes | Supports renaming attributes (fields). Since QGIS 2.16. |
FastTruncate | Supports fast truncation of the layer (removing all features). Since QGIS 3.0. |
ReadLayerMetadata | Provider can read layer metadata from data store. Since QGIS 3.0. See QgsDataProvider::layerMetadata() |
WriteLayerMetadata | Provider can write layer metadata to the data store. Since QGIS 3.0. See QgsDataProvider::writeLayerMetadata() |
CancelSupport | Supports interruption of pending queries from a separated thread. Since QGIS 3.2. |
CreateRenderer | Provider can create feature renderers using backend-specific formatting information. Since QGIS 3.2. See QgsVectorDataProvider::createRenderer(). |
CreateLabeling | Provider can set labeling settings using backend-specific formatting information. Since QGIS 3.6. See QgsVectorDataProvider::createLabeling(). |
Definition at line 72 of file qgsvectordataprovider.h.
Enumeration of feature count states.
Enumerator | |
---|---|
Uncounted | Feature count not yet computed. |
UnknownCount | Provider returned an unknown feature count. |
Definition at line 109 of file qgsvectordataprovider.h.
QgsVectorDataProvider::QgsVectorDataProvider | ( | const QString & | uri = QString() , |
const QgsDataProvider::ProviderOptions & | providerOptions = QgsDataProvider::ProviderOptions() , |
||
QgsDataProvider::ReadFlags | flags = QgsDataProvider::ReadFlags() |
||
) |
Constructor for a vector data provider.
The uri argument specifies the uniform resource locator (URI) for the associated dataset.
Additional creation options are specified within the options value and since QGIS 3.16 creation flags are specified within the flags value.
Definition at line 39 of file qgsvectordataprovider.cpp.
|
virtual |
Adds new attributes to the provider.
Returns true
in case of success and false
in case of failure. If attributes are added using this method then QgsVectorLayer::updateFields() must be called manually to ensure that the layer's field are correctly reported.
Definition at line 119 of file qgsvectordataprovider.cpp.
|
overridevirtual |
Adds a list of features to the sink.
Feature addition behavior is controlled by the specified flags.
true
in case of success and false
in case of failure Implements QgsFeatureSink.
Definition at line 87 of file qgsvectordataprovider.cpp.
|
virtual |
Calculates an aggregated value from the layer's features.
The base implementation does nothing, but subclasses can override this method to handoff calculation of aggregates to the provider.
aggregate | aggregate to calculate |
index | the index of the attribute to calculate aggregate over |
parameters | parameters controlling aggregate calculation |
context | expression context for filter |
ok | will be set to true if calculation was successfully performed by the data provider |
fids | list of fids to filter, otherwise will use all fids |
Definition at line 486 of file qgsvectordataprovider.cpp.
|
virtual |
Returns list of indexes to fetch all attributes in nextFeature()
Definition at line 346 of file qgsvectordataprovider.cpp.
|
static |
Returns a list of available encodings.
Definition at line 649 of file qgsvectordataprovider.cpp.
|
virtual |
Cancels the current reloading of data.
true
if the reloading has been correctly interrupted, false
otherwise Definition at line 873 of file qgsvectordataprovider.cpp.
|
virtual |
Returns flags containing the supported capabilities.
Definition at line 198 of file qgsvectordataprovider.cpp.
QString QgsVectorDataProvider::capabilitiesString | ( | ) | const |
Returns the above in friendly format.
Definition at line 242 of file qgsvectordataprovider.cpp.
|
virtual |
Changes attribute values of existing features.
This should succeed if the provider reports the ChangeAttributeValues capability. The method returns false
if the provider does not have ChangeAttributeValues capability or if any of the changes could not be successfully applied.
attr_map | a map containing changed attributes |
true
in case of success and false
in case of failure Definition at line 137 of file qgsvectordataprovider.cpp.
|
virtual |
Changes attribute values and geometries of existing features.
This should succeed if the provider reports both the ChangeAttributeValues and ChangeGeometries capabilities. Providers which report the ChangeFeatures capability implement an optimised version of this method.
attr_map | a map containing changed attributes |
geometry_map | A QgsGeometryMap whose index contains the feature IDs that will have their geometries changed. The second map parameter being the new geometries themselves |
true
in case of success and false
in case of failure Definition at line 175 of file qgsvectordataprovider.cpp.
|
virtual |
Changes geometries of existing features.
geometry_map | A QgsGeometryMap whose index contains the feature IDs that will have their geometries changed. The second map parameter being the new geometries themselves |
true
in case of success and false
in case of failure Definition at line 169 of file qgsvectordataprovider.cpp.
void QgsVectorDataProvider::clearErrors | ( | ) |
Clear recorded errors.
Definition at line 715 of file qgsvectordataprovider.cpp.
|
protected |
Invalidates the min/max cache.
This will force the provider to recalculate the cache the next time it is requested.
Definition at line 500 of file qgsvectordataprovider.cpp.
|
protected |
Converts the geometry to the provider type if possible / necessary.
nullptr
if no conversion was necessary or possible Definition at line 762 of file qgsvectordataprovider.cpp.
|
static |
Definition at line 629 of file qgsvectordataprovider.cpp.
|
virtual |
Create an attribute index on the datasource.
Definition at line 192 of file qgsvectordataprovider.cpp.
|
virtual |
Creates labeling settings, using provider backend specific information.
The configuration map can be used to pass provider-specific configuration maps to the provider to allow customization of the returned labeling object. Support and format of configuration varies by provider.
When called with an empty configuration map the provider's default labeling settings will be returned.
This method returns a new labeling settings and the caller takes ownership of the returned object.
Only providers which report the CreateLabeling capability will return labeling settings. Other providers will return nullptr
.
Definition at line 745 of file qgsvectordataprovider.cpp.
|
virtual |
Creates a new vector layer feature renderer, using provider backend specific information.
The configuration map can be used to pass provider-specific configuration maps to the provider to allow customization of the returned renderer. Support and format of configuration varies by provider.
When called with an empty configuration map the provider's default renderer will be returned.
This method returns a new renderer and the caller takes ownership of the returned object.
Only providers which report the CreateRenderer capability will return a feature renderer. Other providers will return nullptr
.
Definition at line 740 of file qgsvectordataprovider.cpp.
|
virtual |
Creates a spatial index on the datasource (if supported by the provider type).
true
in case of success Definition at line 187 of file qgsvectordataprovider.cpp.
|
overridevirtual |
Returns a short comment for the data that this provider is providing access to (e.g.
the comment for postgres table).
Reimplemented from QgsDataProvider.
Definition at line 82 of file qgsvectordataprovider.cpp.
|
virtual |
Returns any literal default values which are present at the provider for a specified field index.
Important - this should ONLY be called when creating an attribute to insert directly into the database. Do not call this method for non-feature creation or modification, e.g., when validating an attribute or to compare it against an existing value, as calling it can cause changes to the underlying data source (e.g., Postgres provider where the default value is calculated as a result of a sequence). It is recommended that you instead use the methods in QgsVectorLayerUtils such as QgsVectorLayerUtils::createFeature() so that default value handling and validation is automatically carried out.
Definition at line 143 of file qgsvectordataprovider.cpp.
|
virtual |
Returns any default value clauses which are present at the provider for a specified field index.
These clauses are usually SQL fragments which must be evaluated by the provider, e.g., sequence values.
Definition at line 149 of file qgsvectordataprovider.cpp.
|
virtual |
Deletes existing attributes from the provider.
If attributes are deleted using this method then QgsVectorLayer::updateFields() must be called manually to ensure that the layer's field are correctly reported.
attributes | a set containing indices of attributes |
true
in case of success and false
in case of failure Definition at line 125 of file qgsvectordataprovider.cpp.
|
virtual |
Deletes one or more features from the provider.
This requires the DeleteFeatures capability.
id | list containing feature ids to delete |
true
in case of success and false
in case of failure Definition at line 99 of file qgsvectordataprovider.cpp.
|
virtual |
Gets the list of layer ids on which this layer depends.
This in particular determines the order of layer loading.
Definition at line 757 of file qgsvectordataprovider.cpp.
|
virtual |
Discover the available relations with the given layers.
self | the layer using this data provider. |
layers | the other layers. |
Definition at line 880 of file qgsvectordataprovider.cpp.
|
inlinevirtual |
Returns true
if the provider is strict about the type of inserted features (e.g.
no multipolygon in a polygon layer)
Definition at line 493 of file qgsvectordataprovider.h.
|
virtual |
Returns true
if the layer does not contain any feature.
Definition at line 51 of file qgsvectordataprovider.cpp.
QString QgsVectorDataProvider::encoding | ( | ) | const |
Returns the encoding which is used for accessing data.
Definition at line 232 of file qgsvectordataprovider.cpp.
|
inlinevirtual |
Returns the possible enum values of an attribute.
Returns an empty stringlist if a provider does not support enum types or if the given attribute is not an enum type.
index | the index of the attribute |
enumList | reference to the list to fill |
Definition at line 260 of file qgsvectordataprovider.h.
QStringList QgsVectorDataProvider::errors | ( | ) | const |
Gets recorded errors.
Definition at line 725 of file qgsvectordataprovider.cpp.
|
overridepure virtual |
Number of features in the layer.
Implements QgsFeatureSource.
|
pure virtual |
Returns feature source object that can be used for querying provider's data.
The returned feature source is independent from provider - any changes to provider's state (e.g. change of subset string) will not be reflected in the feature source, therefore it can be safely used for processing in background without having to care about possible changes within provider that may happen concurrently. Also, even in the case of provider being deleted, any feature source obtained from the provider will be kept alive and working (they are independent and owned by the caller).
Sometimes there are cases when some data needs to be shared between vector data provider and its feature source. In such cases, the implementation must ensure that the data is not susceptible to run condition. For example, if it is possible that both feature source and provider may need reading/writing to some shared data at the same time, some synchronization mechanisms must be used (e.g. mutexes) to prevent data corruption.
QgsFieldConstraints::Constraints QgsVectorDataProvider::fieldConstraints | ( | int | fieldIndex | ) | const |
Returns any constraints which are present at the provider for a specified field index.
Definition at line 155 of file qgsvectordataprovider.cpp.
int QgsVectorDataProvider::fieldNameIndex | ( | const QString & | fieldName | ) | const |
Returns the index of a field name or -1 if the field does not exist.
Definition at line 328 of file qgsvectordataprovider.cpp.
QMap< QString, int > QgsVectorDataProvider::fieldNameMap | ( | ) | const |
Returns a map where the key is the name of the field and the value is its index.
Definition at line 333 of file qgsvectordataprovider.cpp.
|
overridepure virtual |
Returns the fields associated with this data provider.
Implements QgsFeatureSource.
|
protected |
Populates the cache of minimum and maximum attribute values.
Definition at line 507 of file qgsvectordataprovider.cpp.
|
inlinevirtual |
Definition at line 569 of file qgsvectordataprovider.h.
|
overridepure virtual |
Query the provider for features specified in request.
request | feature request describing parameters of features to return |
Implements QgsFeatureSource.
|
virtual |
Handles any post-clone operations required after this vector data provider was cloned from the source provider.
Definition at line 885 of file qgsvectordataprovider.cpp.
bool QgsVectorDataProvider::hasErrors | ( | ) | const |
Provider has errors to report.
Definition at line 720 of file qgsvectordataprovider.cpp.
|
overridevirtual |
Will always return FeatureAvailability::FeaturesAvailable or FeatureAvailability::NoFeaturesAvailable.
Calls empty() internally. Providers should override empty() instead if they provide an optimized version of this call.
Reimplemented from QgsFeatureSource.
Definition at line 64 of file qgsvectordataprovider.cpp.
|
inlinevirtual |
Returns true
if the data source has metadata, false
otherwise.
true
if data source has metadata, false
otherwise.Definition at line 613 of file qgsvectordataprovider.h.
|
virtual |
It returns false
by default.
Must be implemented by providers that support delete styles from db returning true
Definition at line 735 of file qgsvectordataprovider.cpp.
|
virtual |
It returns false
by default.
Must be implemented by providers that support saving and loading styles to db returning true
Definition at line 730 of file qgsvectordataprovider.cpp.
|
overridevirtual |
Returns the most recent error encountered by the sink, e.g.
when a call to addFeatures() returns false
.
Reimplemented from QgsFeatureSink.
Definition at line 94 of file qgsvectordataprovider.cpp.
|
overridevirtual |
Returns the maximum value of an attribute.
index | the index of the attribute |
Default implementation walks all numeric attributes and caches minimal and maximal values. If provider has facilities to retrieve maximal value directly, override this function.
Reimplemented from QgsFeatureSource.
Definition at line 433 of file qgsvectordataprovider.cpp.
|
inlinevirtual |
Gets metadata, dependent on the provider type, that will be display in the metadata tab of the layer properties.
Definition at line 589 of file qgsvectordataprovider.h.
|
overridevirtual |
Returns the minimum value of an attribute.
index | the index of the attribute |
Default implementation walks all numeric attributes and caches minimal and maximal values. If provider has facilities to retrieve minimal value directly, override this function.
Reimplemented from QgsFeatureSource.
Definition at line 417 of file qgsvectordataprovider.cpp.
QList< QgsVectorDataProvider::NativeType > QgsVectorDataProvider::nativeTypes | ( | ) | const |
Returns the names of the supported types.
Definition at line 356 of file qgsvectordataprovider.cpp.
|
virtual |
Returns list of indexes to names for QgsPalLabeling fix.
Definition at line 361 of file qgsvectordataprovider.cpp.
|
virtual |
Returns list of indexes of fields that make up the primary key.
Definition at line 351 of file qgsvectordataprovider.cpp.
|
protected |
Push a notification about errors that happened in this providers scope.
Errors should be translated strings that require the users immediate attention.
For general debug information use QgsMessageLog::logMessage() instead.
Definition at line 750 of file qgsvectordataprovider.cpp.
|
signal |
Signals an error in this provider.
|
virtual |
Renames existing attributes.
If attributes are renamed using this method then QgsVectorLayer::updateFields() must be called manually to ensure that the layer's field are correctly reported.
renamedAttributes | map of attribute index to new attribute name |
true
in case of success and false
in case of failure Definition at line 131 of file qgsvectordataprovider.cpp.
|
virtual |
Set encoding used for accessing data from layer.
An empty encoding string indicates that the provider should automatically select the most appropriate encoding for the data source.
Definition at line 203 of file qgsvectordataprovider.cpp.
|
protected |
Set the list of native types supported by this provider.
Usually done in the constructor.
Definition at line 863 of file qgsvectordataprovider.cpp.
|
virtual |
Returns true
if a constraint check should be skipped for a specified field (e.g., if the value returned by defaultValue() is trusted implicitly.
An optional attribute value can be passed which can help refine the skip constraint check.
Definition at line 164 of file qgsvectordataprovider.cpp.
|
overridevirtual |
Returns the coordinate reference system for features in the source.
Implements QgsFeatureSource.
Definition at line 72 of file qgsvectordataprovider.cpp.
|
overridevirtual |
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.
Reimplemented from QgsFeatureSource.
Definition at line 77 of file qgsvectordataprovider.cpp.
|
inlineoverridevirtual |
Returns a friendly display name for the source.
The returned value can be an empty string.
Implements QgsFeatureSource.
Definition at line 195 of file qgsvectordataprovider.h.
|
virtual |
Returns the permanent storage type for this layer as a friendly name.
Definition at line 46 of file qgsvectordataprovider.cpp.
bool QgsVectorDataProvider::supportedType | ( | const QgsField & | field | ) | const |
check if provider supports type of field
Definition at line 366 of file qgsvectordataprovider.cpp.
|
overridevirtual |
Returns the provider's temporal capabilities.
This may be nullptr
, depending on the data provider.
Reimplemented from QgsDataProvider.
Definition at line 895 of file qgsvectordataprovider.cpp.
|
overridevirtual |
Returns the provider's temporal capabilities.
This may be nullptr
, depending on the data provider.
Reimplemented from QgsDataProvider.
Definition at line 890 of file qgsvectordataprovider.cpp.
|
protected |
Gets this providers encoding.
Definition at line 868 of file qgsvectordataprovider.cpp.
|
virtual |
Returns the transaction this data provider is included in, if any.
Definition at line 639 of file qgsvectordataprovider.cpp.
|
inlinevirtual |
Gets the translated metadata key.
mdKey | The metadata key |
Definition at line 596 of file qgsvectordataprovider.h.
|
inlinevirtual |
Gets the translated metadata value.
mdKey | The metadata key |
value | The metadata value |
Definition at line 604 of file qgsvectordataprovider.h.
|
virtual |
Removes all features from the layer.
This requires either the FastTruncate or DeleteFeatures capability. Providers with the FastTruncate capability will use an optimised method to truncate the layer.
true
in case of success and false
in case of failure. Definition at line 105 of file qgsvectordataprovider.cpp.
|
virtual |
Returns unique string values of an attribute which contain a specified subset string.
Subset matching is done in a case-insensitive manner.
index | the index of the attribute |
substring | substring to match (case insensitive) |
limit | maxmum number of the values to return, or -1 to return all unique values |
feedback | optional feedback object for canceling request |
Definition at line 450 of file qgsvectordataprovider.cpp.
|
overridepure virtual |
Returns the geometry type which is returned by this layer.
Implements QgsFeatureSource.
|
friend |
Definition at line 62 of file qgsvectordataprovider.h.
|
friend |
Definition at line 63 of file qgsvectordataprovider.h.
|
static |
Bitmask of all provider's editing capabilities.
Definition at line 102 of file qgsvectordataprovider.h.