Subgroup: Virtual
Class: QgsVirtualLayerDefinition¶
-
class
qgis.core.
QgsVirtualLayerDefinition
(filePath: str = '')¶ Bases:
sip.wrapper
Constructor with an optional file path
QgsVirtualLayerDefinition(QgsVirtualLayerDefinition)
Class to manipulate the definition of a virtual layer
It is used to extract parameters from an initial virtual layer definition as well as to store the complete, expanded definition once types have been detected.
Methods
addSource
Add a live layer source layer fields
Gets field definitions filePath
Gets the file path. fromUrl
Constructor to build a definition from a QUrl The path part of the URL is extracted as well as the following optional keys: layer_ref=layer_id[:name] represents a live layer referenced by its ID. geometryField
Gets the name of the geometry field. geometrySrid
Gets the SRID of the geometry geometryWkbType
Gets the type of the geometry QgsWkbTypes.NoGeometry to hide any geometry QgsWkbTypes.Unknown for unknown types hasDefinedGeometry
Convenient method to test if the geometry is defined (not NoGeometry and not Unknown) hasReferencedLayers
Convenience method to test whether the definition has referenced (live) layers hasSourceLayer
Convenience method to test if a given source layer is part of the definition isLazy
Returns the lazy mode. query
Gets the SQL query setFields
Sets field definitions setFilePath
Sets the file path setGeometryField
Sets the name of the geometry field setGeometrySrid
Sets the SRID of the geometry setGeometryWkbType
Sets the type of the geometry setLazy
Sets the lazy mode. setQuery
Sets the SQL query setUid
Sets the name of the field with unique identifiers sourceLayers
Gets access to the source layers toString
Convert into a QString that can be read by the virtual layer provider toUrl
Convert the definition into a QUrl uid
Gets the name of the field with unique identifiers Signals
Attributes
-
class
SourceLayer
(name: str, ref: str)¶ Bases:
sip.wrapper
Constructor variant to build a live layer reference
QgsVirtualLayerDefinition.SourceLayer(name: str, source: str, provider: str, encoding: str) Constructor variant to build a layer with a provider and a source
QgsVirtualLayerDefinition.SourceLayer(QgsVirtualLayerDefinition.SourceLayer)
A SourceLayer is either a reference to a live layer in the registry or all the parameters needed to load it (provider key, source, etc.)
-
encoding
(self) → str¶ Optional encoding for the provider
-
isReferenced
(self) → bool¶ Is it a live layer or not ?
-
name
(self) → str¶ Name of the layer
-
provider
(self) → str¶ Provider key
-
reference
(self) → str¶ The reference (id) of the live layer
-
source
(self) → str¶ The source url used by the provider to build the layer
-
-
addSource
(self, name: str, ref: str)¶ Add a live layer source layer
addSource(self, name: str, source: str, provider: str, encoding: str = ‘’) Add a layer with a source, a provider and an encoding
-
fields
(self) → QgsFields¶ Gets field definitions
-
filePath
(self) → str¶ Gets the file path. May be empty
-
fromUrl
(url: QUrl) → QgsVirtualLayerDefinition¶ Constructor to build a definition from a QUrl The path part of the URL is extracted as well as the following optional keys: layer_ref=layer_id[:name] represents a live layer referenced by its ID. An optional name can be given layer=provider:source[:name[:encoding]] represents a layer given by its provider key, its source url (URL-encoded). An optional name and encoding can be given geometry=column_name[:type:srid] gives the definition of the geometry column. Type can be either a WKB type code or a string (point, linestring, etc.) srid is an integer uid=column_name is the name of a column with unique integer values. nogeometry is a flag to force the layer to be a non-geometry layer query=sql represents the SQL query. Must be URL-encoded field=column_name:[int|real|text] represents a field with its name and its type
-
geometryField
(self) → str¶ Gets the name of the geometry field. Empty if no geometry field
-
geometrySrid
(self) → int¶ Gets the SRID of the geometry
-
geometryWkbType
(self) → QgsWkbTypes.Type¶ Gets the type of the geometry QgsWkbTypes.NoGeometry to hide any geometry QgsWkbTypes.Unknown for unknown types
-
hasDefinedGeometry
(self) → bool¶ Convenient method to test if the geometry is defined (not NoGeometry and not Unknown)
-
hasReferencedLayers
(self) → bool¶ Convenience method to test whether the definition has referenced (live) layers
-
hasSourceLayer
(self, name: str) → bool¶ Convenience method to test if a given source layer is part of the definition
-
isLazy
(self) → bool¶ Returns the lazy mode.
Returns: True if the loading is delayed, false otherwise. See also
New in version 3.2.
-
query
(self) → str¶ Gets the SQL query
-
setFields
(self, fields: QgsFields)¶ Sets field definitions
-
setFilePath
(self, filePath: str)¶ Sets the file path
-
setGeometryField
(self, geometryField: str)¶ Sets the name of the geometry field
-
setGeometrySrid
(self, srid: int)¶ Sets the SRID of the geometry
-
setGeometryWkbType
(self, t: QgsWkbTypes.Type)¶ Sets the type of the geometry
-
setLazy
(self, lazy: bool)¶ Sets the lazy mode. If
lazy
is true, then the loading is delayed until an explicit reloading of the layer.Parameters: lazy – True to delay the loading, false otherwise See also
See also
New in version 3.2.
-
setQuery
(self, query: str)¶ Sets the SQL query
-
setUid
(self, uid: str)¶ Sets the name of the field with unique identifiers
-
sourceLayers
(self) → object¶ Gets access to the source layers
-
toString
(self) → str¶ Convert into a QString that can be read by the virtual layer provider
-
toUrl
(self) → QUrl¶ Convert the definition into a QUrl
-
uid
(self) → str¶ Gets the name of the field with unique identifiers
-
class