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.
- Parameters
filePath –
-
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.)
- Parameters
name (str) –
ref (str) –
-
encoding
(self) → str¶ Optional encoding for the provider
- Return type
str
-
isReferenced
(self) → bool¶ Is it a live layer or not ?
- Return type
bool
-
name
(self) → str¶ Name of the layer
- Return type
str
-
provider
(self) → str¶ Provider key
- Return type
str
-
reference
(self) → str¶ The reference (id) of the live layer
- Return type
str
-
source
(self) → str¶ The source url used by the provider to build the layer
- Return type
str
-
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
- Parameters
name (str) –
ref (str) –
-
filePath
(self) → str¶ Gets the file path. May be empty
- Return type
str
-
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
- Parameters
url (QUrl) –
- Return type
-
geometryField
(self) → str¶ Gets the name of the geometry field. Empty if no geometry field
- Return type
str
-
geometrySrid
(self) → int¶ Gets the SRID of the geometry
- Return type
int
-
geometryWkbType
(self) → QgsWkbTypes.Type¶ Gets the type of the geometry QgsWkbTypes.NoGeometry to hide any geometry QgsWkbTypes.Unknown for unknown types
- Return type
-
hasDefinedGeometry
(self) → bool¶ Convenient method to test if the geometry is defined (not NoGeometry and not Unknown)
- Return type
bool
-
hasReferencedLayers
(self) → bool¶ Convenience method to test whether the definition has referenced (live) layers
- Return type
bool
-
hasSourceLayer
(self, name: str) → bool¶ Convenience method to test if a given source layer is part of the definition
- Parameters
name (str) –
- Return type
bool
-
isLazy
(self) → bool¶ Returns the lazy mode.
- Return type
bool
- Returns
True if the loading is delayed, false otherwise.
See also
New in version 3.2.
-
query
(self) → str¶ Gets the SQL query
- Return type
str
-
setFilePath
(self, filePath: str)¶ Sets the file path
- Parameters
filePath (str) –
-
setGeometryField
(self, geometryField: str)¶ Sets the name of the geometry field
- Parameters
geometryField (str) –
-
setGeometrySrid
(self, srid: int)¶ Sets the SRID of the geometry
- Parameters
srid (int) –
-
setGeometryWkbType
(self, t: QgsWkbTypes.Type)¶ Sets the type of the geometry
- Parameters
t (QgsWkbTypes.Type) –
-
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 (bool) – True to delay the loading, false otherwise
See also
See also
New in version 3.2.
-
setQuery
(self, query: str)¶ Sets the SQL query
- Parameters
query (str) –
-
setUid
(self, uid: str)¶ Sets the name of the field with unique identifiers
- Parameters
uid (str) –
-
sourceLayers
(self) → object¶ Gets access to the source layers
- Return type
object
-
toString
(self) → str¶ Convert into a QString that can be read by the virtual layer provider
- Return type
str
-
toUrl
(self) → QUrl¶ Convert the definition into a QUrl
- Return type
QUrl
-
uid
(self) → str¶ Gets the name of the field with unique identifiers
- Return type
str