18 #ifndef QGSVECTORLAYER_H
19 #define QGSVECTORLAYER_H
22 #include "qgis_core.h"
26 #include <QStringList>
39 #include "qgseditformconfig.h"
60 class QgsGeometryVertexIndex;
391 Q_PROPERTY( QString subsetString READ subsetString WRITE setSubsetString NOTIFY subsetStringChanged )
392 Q_PROPERTY( QString displayExpression READ displayExpression WRITE setDisplayExpression NOTIFY displayExpressionChanged )
393 Q_PROPERTY( QString mapTipTemplate READ mapTipTemplate WRITE setMapTipTemplate NOTIFY mapTipTemplateChanged )
394 Q_PROPERTY( QgsEditFormConfig editFormConfig READ editFormConfig WRITE setEditFormConfig NOTIFY editFormConfigChanged )
395 Q_PROPERTY(
bool readOnly READ isReadOnly WRITE setReadOnly NOTIFY readOnlyChanged )
396 Q_PROPERTY(
bool supportsEditing READ supportsEditing NOTIFY supportsEditingChanged )
406 FetchFeatureFailed = 3,
419 Q_ENUM( SelectBehavior )
432 bool readExtentFromXml =
false )
433 : loadDefaultStyle( loadDefaultStyle )
434 , readExtentFromXml( readExtentFromXml )
442 bool loadDefaultStyle =
true,
443 bool readExtentFromXml =
false
445 : loadDefaultStyle( loadDefaultStyle )
446 , readExtentFromXml( readExtentFromXml )
447 , transformContext( transformContext )
451 bool loadDefaultStyle =
true;
457 bool readExtentFromXml =
false;
504 bool skipCrsValidation =
false;
526 QList<QgsVectorLayer *> handledLayers(
bool includeAuxiliaryLayers =
true )
const;
533 QMap<QgsVectorLayer *, QgsFeatureIds> mHandledFeatures
SIP_SKIP;
551 explicit QgsVectorLayer(
const QString &path = QString(),
const QString &baseName = QString(),
562 SIP_PYOBJECT __repr__();
564 QString str = QStringLiteral(
"<QgsVectorLayer: '%1' (%2)>" ).arg( sipCpp->name(), sipCpp->dataProvider() ? sipCpp->dataProvider()->name() : QStringLiteral(
"Invalid" ) );
565 sipRes = PyUnicode_FromString( str.toUtf8().constData() );
583 QString storageType() const;
588 QString capabilitiesString() const;
593 QString dataComment() const;
602 QString displayField() const;
611 void setDisplayExpression( const QString &displayExpression );
619 QString displayExpression() const;
639 void setProviderEncoding( const QString &encoding );
642 void setCoordinateSystem();
655 bool removeJoin( const QString &joinLayerId );
669 const QList<QgsVectorLayerJoinInfo> vectorJoins()
const;
700 int addExpressionField( const QString &exp, const
QgsField &fld );
709 void removeExpressionField(
int index );
720 QString expressionField(
int index ) const;
731 void updateExpressionField(
int index, const QString &exp );
759 int selectedFeatureCount()
const;
809 Q_INVOKABLE
void invertSelection();
812 Q_INVOKABLE
void selectAll();
821 Q_INVOKABLE
void invertSelectionInRectangle(
QgsRectangle &rect );
873 bool labelsEnabled()
const;
884 void setLabelsEnabled(
bool enabled );
891 bool diagramsEnabled()
const;
945 void removeFeatureRendererGenerator(
const QString &
id );
954 QList< const QgsFeatureRendererGenerator * > featureRendererGenerators()
const;
963 QString sourceName() const
FINAL;
978 QString decodedSource( const QString &source, const QString &provider, const
QgsReadWriteContext &context ) const
FINAL;
994 virtual
void saveStyleToDatabase( const QString &name, const QString &description,
995 bool useAsDefault, const QString &uiFileContent,
1007 virtual
int listStylesInDatabase( QStringList &ids
SIP_OUT, QStringList &names
SIP_OUT,
1013 virtual QString getStyleFromDatabase( const QString &styleId, QString &msgError
SIP_OUT );
1022 virtual
bool deleteStyleFromDatabase( const QString &styleId, QString &msgError
SIP_OUT );
1031 virtual QString loadNamedStyle( const QString &theURI,
bool &resultFlag
SIP_OUT,
bool loadFromLocalDb,
1038 QString loadNamedStyle( const QString &theURI,
bool &resultFlag
SIP_OUT,
1054 bool loadAuxiliaryLayer( const
QgsAuxiliaryStorage &storage, const QString &key = QString() );
1081 bool readSymbology( const QDomNode &layerNode, QString &errorMessage,
1083 bool readStyle( const QDomNode &node, QString &errorMessage,
1085 bool writeSymbology( QDomNode &node, QDomDocument &doc, QString &errorMessage,
1087 bool writeStyle( QDomNode &node, QDomDocument &doc, QString &errorMessage,
1098 bool writeSld( QDomNode &node, QDomDocument &doc, QString &errorMessage, const QVariantMap &props = QVariantMap() ) const;
1100 bool readSld( const QDomNode &node, QString &errorMessage )
FINAL;
1107 long featureCount( const QString &legendKey ) const;
1115 QgsFeatureIds symbolFeatureIds( const QString &legendKey ) const;
1127 FeatureAvailability hasFeatures() const
FINAL;
1140 Q_DECL_DEPRECATED
void setDataSource( const QString &dataSource, const QString &baseName, const QString &provider,
bool loadDefaultStyleFlag = false )
SIP_DEPRECATED;
1154 void setDataSource( const QString &dataSource, const QString &baseName, const QString &provider, const
QgsDataProvider::ProviderOptions &options,
bool loadDefaultStyleFlag = false ) override;
1156 QString loadDefaultStyle(
bool &resultFlag
SIP_OUT )
FINAL;
1180 virtual
bool setSubsetString( const QString &subset );
1186 virtual QString subsetString() const;
1263 bool updateFeature(
QgsFeature &feature,
bool skipDefaultValues = false );
1276 bool insertVertex(
double x,
double y,
QgsFeatureId atFeatureId,
int beforeVertex );
1301 bool moveVertex(
double x,
double y,
QgsFeatureId atFeatureId,
int atVertex );
1325 EditResult deleteVertex(
QgsFeatureId featureId,
int vertex );
1334 Q_INVOKABLE
bool deleteSelectedFeatures(
int *deletedCount =
nullptr, DeleteContext *context =
nullptr );
1486 Q_INVOKABLE
int translateFeature(
QgsFeatureId featureId,
double dx,
double dy );
1608 int addTopologicalPoints( const
QgsGeometry &geom );
1638 int addTopologicalPoints( const
QgsPoint &p );
1681 bool isSpatial() const
FINAL;
1684 virtual
bool isModified() const;
1692 bool isAuxiliaryField(
int index,
int &srcIndex ) const;
1695 void reload()
FINAL;
1735 bool setReadOnly(
bool readonly = true );
1742 bool supportsEditing();
1796 bool changeAttributeValue(
QgsFeatureId fid,
int field, const QVariant &newValue, const QVariant &oldValue = QVariant(),
bool skipDefaultValues = false );
1851 void setFieldAlias(
int index, const QString &aliasString );
1858 void removeFieldAlias(
int index );
1870 bool renameAttribute(
int index, const QString &newName );
1878 QString attributeAlias(
int index ) const;
1881 QString attributeDisplayName(
int index ) const;
1890 Q_DECL_DEPRECATED QSet<QString> excludeAttributesWms() const
SIP_DEPRECATED;
1896 Q_DECL_DEPRECATED
void setExcludeAttributesWms( const QSet<QString> &att )
SIP_DEPRECATED;
1902 Q_DECL_DEPRECATED QSet<QString> excludeAttributesWfs() const
SIP_DEPRECATED;
1908 Q_DECL_DEPRECATED
void setExcludeAttributesWfs( const QSet<QString> &att )
SIP_DEPRECATED;
1918 virtual
bool deleteAttribute(
int attr );
1927 bool deleteAttributes( const QList<
int> &attrs );
1981 Q_INVOKABLE
bool commitChanges(
bool stopEditing = true );
1988 QStringList commitErrors() const;
1999 Q_INVOKABLE
bool rollBack(
bool deleteBuffer = true );
2007 QList<
QgsRelation> referencingRelations(
int idx ) const;
2031 void beginEditCommand(
const QString &text );
2034 void endEditCommand();
2037 void destroyEditCommand();
2061 void updateFields();
2091 void setDefaultValueDefinition(
int index,
const QgsDefaultValue &definition );
2112 QgsFieldConstraints::Constraints fieldConstraints(
int fieldIndex )
const;
2119 QMap< QgsFieldConstraints::Constraint, QgsFieldConstraints::ConstraintStrength> fieldConstraintsAndStrength(
int fieldIndex )
const;
2147 QString constraintExpression(
int index )
const;
2156 QString constraintDescription(
int index )
const;
2166 void setConstraintExpression(
int index,
const QString &expression,
const QString &description = QString() );
2173 void setFieldConfigurationFlags(
int index, QgsField::ConfigurationFlags flags )
SIP_SKIP;
2186 QgsField::ConfigurationFlags fieldConfigurationFlags(
int index )
const SIP_SKIP;
2227 QStringList uniqueStringsMatching(
int index, const QString &substring,
int limit = -1,
2238 QVariant minimumValue(
int index ) const
FINAL;
2248 QVariant maximumValue(
int index ) const
FINAL;
2263 const QString &fieldOrExpression,
2270 void setFeatureBlendMode( QPainter::CompositionMode blendMode );
2272 QPainter::CompositionMode featureBlendMode() const;
2274 QString htmlMetadata() const
FINAL;
2323 QString mapTipTemplate()
const;
2332 void setMapTipTemplate(
const QString &mapTipTemplate );
2345 QgsEditFormConfig editFormConfig() const;
2353 void setEditFormConfig( const QgsEditFormConfig &editFormConfig );
2362 void setReadExtentFromXml(
bool readExtentFromXml );
2371 bool readExtentFromXml() const;
2378 bool isEditCommandActive()
const {
return mEditCommandActive; }
2423 void setAllowCommit(
bool allowCommit )
SIP_SKIP;
2468 Q_INVOKABLE
void deselect(
const QgsFeatureIds &featureIds );
2476 Q_INVOKABLE
void removeSelection();
2496 virtual void updateExtents(
bool force =
false );
2512 Q_INVOKABLE
bool startEditing();
2790 void invalidateSymbolCountedFlag();
2791 void onFeatureCounterCompleted();
2792 void onFeatureCounterTerminated();
2793 void onJoinedFieldsChanged();
2795 void onRelationsLoaded();
2796 void onSymbolsCounted();
2797 void onDirtyTransaction(
const QString &sql,
const QString &name );
2798 void emitDataChanged();
2799 void onAfterCommitChangesDependency();
2807 bool isReadOnly() const
FINAL;
2818 void readSldLabeling( const QDomNode &node );
2832 QVariant minimumOrMaximumValue(
int index,
bool minimum )
const;
2844 QString mDisplayExpression;
2846 QString mMapTipTemplate;
2852 bool mReadOnly =
false;
2873 QMap<QString, QgsDefaultValue> mDefaultExpressionMap;
2876 QSet<int> mDefaultValueOnUpdateFields;
2879 QMap< QString, QgsFieldConstraints::Constraints > mFieldConstraints;
2885 QMap< QString, QPair< QString, QString > > mFieldConstraintExpressions;
2887 QMap< QString, QgsField::ConfigurationFlags > mFieldConfigurationFlags;
2888 QMap< QString, QgsEditorWidgetSetup > mFieldWidgetSetups;
2891 QgsEditFormConfig mEditFormConfig;
2906 bool mLabelsEnabled =
false;
2909 bool mLabelFontNotFoundNotified =
false;
2912 QPainter::CompositionMode mFeatureBlendMode = QPainter::CompositionMode_SourceOver;
2915 bool mVertexMarkerOnlyForSelection =
false;
2917 QStringList mCommitErrors;
2928 std::unique_ptr< QgsVectorLayerServerProperties > mServerProperties;
2939 mutable bool mValidExtent =
false;
2940 mutable bool mLazyExtent =
true;
2943 std::unique_ptr<QgsAuxiliaryLayer> mAuxiliaryLayer;
2946 QString mAuxiliaryLayerKey;
2949 bool mSymbolFeatureCounted =
false;
2952 QHash<QString, long> mSymbolFeatureCountMap;
2953 QHash<QString, QgsFeatureIds> mSymbolFeatureIdMap;
2956 bool mEditCommandActive =
false;
2958 bool mReadExtentFromXml;
2965 mutable QMutex mFeatureSourceConstructorMutex;
2969 std::unique_ptr<QgsGeometryOptions> mGeometryOptions;
2971 bool mAllowCommit =
true;
2979 bool mDataChangedFired =
false;
2981 QList<QgsWeakRelation> mWeakRelations;
2983 bool mSetLegendFromStyle =
false;
2985 QList< QgsFeatureRendererGenerator * > mRendererGenerators;
Abstract base class for simplify geometries using a specific algorithm.
Abstract base class - its implementations define different approaches to the labeling of a vector lay...
Storage and management of actions associated with a layer.
Utility class for calculating aggregates for a field (or expression) over the features from a vector ...
This is a container for configuration of the attribute table.
Class allowing to manage the auxiliary storage for a vector layer.
Class providing some utility methods to manage auxiliary storage.
The QgsConditionalLayerStyles class holds conditional style information for a layer.
This class represents a coordinate reference system (CRS).
Contains information about the context in which a coordinate transform is executed.
Abstract base class for curved geometry type.
Abstract base class for spatial data provider implementations.
The QgsDefaultValue class provides a container for managing client side default values for fields.
Stores the settings for rendering of all diagrams for a layer.
Evaluates and returns the diagram settings relating to a diagram for a specific feature.
Abstract interface for generating an expression context.
virtual QgsExpressionContext createExpressionContext() const =0
This method needs to be reimplemented in all classes which implement this interface and return an exp...
Abstract interface for generating an expression context scope.
Single scope for storing variables and functions for use within a QgsExpressionContext.
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
Buffers information about expression fields for a vector layer.
Wrapper for iterator of features from vector data provider or vector layer.
bool nextFeature(QgsFeature &f)
An interface for objects which generate feature renderers for vector layers.
This class wraps a request for features to a vector layer (or directly its vector data provider).
An interface for objects which accept features via addFeature(s) methods.
virtual bool addFeature(QgsFeature &feature, QgsFeatureSink::Flags flags=QgsFeatureSink::Flags())
Adds a single feature to the sink.
An interface for objects which provide features via a getFeatures method.
virtual QSet< QVariant > uniqueValues(int fieldIndex, int limit=-1) const
Returns the set of unique values contained within the specified fieldIndex from this source.
virtual QgsWkbTypes::Type wkbType() const =0
Returns the geometry type for features returned by this source.
virtual QgsFeatureIterator getFeatures(const QgsFeatureRequest &request=QgsFeatureRequest()) const =0
Returns an iterator for the features in the source.
virtual long featureCount() const =0
Returns the number of features contained in the source, or -1 if the feature count is unknown.
virtual SpatialIndexPresence hasSpatialIndex() const
Returns an enum value representing the presence of a valid spatial index on the source,...
The feature class encapsulates a single feature including its id, geometry and a list of field/values...
Base class for feedback objects to be used for cancellation of something running in a worker thread.
ConstraintStrength
Strength of constraints.
@ ConstraintStrengthHard
Constraint must be honored before feature can be accepted.
Constraint
Constraints which may be present on a field.
Encapsulate a field in an attribute table or data source.
ConfigurationFlag
Configuration flags for fields These flags are meant to be user-configurable and are not describing a...
Container of fields for a vector layer.
The QgsGeometryOptions class contains options to automatically adjust geometries to constraints on a ...
A geometry is the spatial representation of a feature.
Base class for utility classes that encapsulate information necessary for rendering of map layers.
Base class for storage of map layer temporal properties.
Base class for all map layer types.
virtual bool accept(QgsStyleEntityVisitorInterface *visitor) const
Accepts the specified symbology visitor, causing it to visit all symbols associated with the layer.
virtual bool setDependencies(const QSet< QgsMapLayerDependency > &layers)
Sets the list of dependencies.
virtual QSet< QgsMapLayerDependency > dependencies() const
Gets the list of dependencies.
virtual bool isEditable() const
Returns true if the layer can be edited.
virtual QgsMapLayer * clone() const =0
Returns a new instance equivalent to this one except for the id which is still unique.
virtual void setExtent(const QgsRectangle &rect)
Sets the extent.
virtual void setTransformContext(const QgsCoordinateTransformContext &transformContext)=0
Sets the coordinate transform context to transformContext.
Perform transforms between map coordinates and device coordinates.
Contains settings for how a map layer will be labeled.
A class to represent a 2D point.
Point geometry type, with support for z-dimension and m-values.
Encapsulates a QGIS project, including sets of map layers and their styles, layouts,...
The class is used as a container of context for various read/write operations on other objects.
A rectangle specified with double values.
This class manages a set of relations between layers.
Contains information about the context of a rendering operation.
Manages stored expressions regarding creation, modification and storing in the project.
An interface for classes which can visit style entity (e.g.
Abstract base class for all rendered symbols.
This is the base class for vector data providers.
Counts the features in a QgsVectorLayer in task.
Partial snapshot of vector layer's state (only the members necessary for access to features)
Manages joined fields for a vector layer.
Defines left outer join from our vector layer to some other vector layer.
Manages QGIS Server properties for a vector layer.
Implementation of map layer temporal properties for vector layers.
Represents a vector layer which manages a vector based data sets.
const QgsActionManager * actions() const
Returns all layer actions defined on this layer.
VertexMarkerType
Editing vertex markers.
void committedFeaturesAdded(const QString &layerId, const QgsFeatureList &addedFeatures)
Emitted when features are added to the provider.
void labelingFontNotFound(QgsVectorLayer *layer, const QString &fontfamily)
Emitted when the font family defined for labeling layer is not found on system.
void featureBlendModeChanged(QPainter::CompositionMode blendMode)
Signal emitted when setFeatureBlendMode() is called.
QgsVectorLayerServerProperties * serverProperties() const
Returns QGIS Server Properties of the vector layer.
void beforeRemovingExpressionField(int idx)
Will be emitted, when an expression field is going to be deleted from this vector layer.
void committedGeometriesChanges(const QString &layerId, const QgsGeometryMap &changedGeometries)
Emitted when geometry changes are saved to the provider.
void editingStopped()
Emitted when edited changes have been successfully written to the data provider.
void beforeCommitChanges(bool stopEditing)
Emitted before changes are committed to the data provider.
void mapTipTemplateChanged()
Emitted when the map tip changes.
void attributeAdded(int idx)
Will be emitted, when a new attribute has been added to this vector layer.
void allowCommitChanged()
Emitted whenever the allowCommitChanged() property of this layer changes.
void editCommandStarted(const QString &text)
Signal emitted when a new edit command has been started.
QgsVectorLayer & operator=(QgsVectorLayer const &rhs)=delete
QgsVectorLayer cannot be copied.
void editCommandDestroyed()
Signal emitted, when an edit command is destroyed.
QgsVectorLayer(const QgsVectorLayer &rhs)=delete
QgsVectorLayer cannot be copied.
const QgsDiagramLayerSettings * diagramLayerSettings() const
void editingStarted()
Emitted when editing on this layer has started.
void featuresDeleted(const QgsFeatureIds &fids)
Emitted when features have been deleted.
void subsetStringChanged()
Emitted when the layer's subset string has changed.
void committedFeaturesRemoved(const QString &layerId, const QgsFeatureIds &deletedFeatureIds)
Emitted when features are deleted from the provider.
void symbolFeatureCountMapChanged()
Emitted when the feature count for symbols on this layer has been recalculated.
EditResult
Result of an edit operation.
void writeCustomSymbology(QDomElement &element, QDomDocument &doc, QString &errorMessage) const
Signal emitted whenever the symbology (QML-file) for this layer is being written.
QgsAbstractVectorLayerLabeling * labeling()
Access to labeling configuration.
SelectBehavior
Selection behavior.
@ RemoveFromSelection
Remove from current selection.
@ IntersectSelection
Modify current selection to include only select features which match.
@ AddToSelection
Add selection to current selection.
@ SetSelection
Set selection, removing any existing selection.
void attributeDeleted(int idx)
Will be emitted, when an attribute has been deleted from this vector layer.
void beforeEditingStarted()
Emitted before editing on this layer is started.
void committedAttributeValuesChanges(const QString &layerId, const QgsChangedAttributesMap &changedAttributesValues)
Emitted when attribute value changes are saved to the provider.
void committedAttributesAdded(const QString &layerId, const QList< QgsField > &addedAttributes)
Emitted when attributes are added to the provider.
void committedAttributesDeleted(const QString &layerId, const QgsAttributeList &deletedAttributes)
Emitted when attributes are deleted from the provider.
void displayExpressionChanged()
Emitted when the display expression changes.
void layerModified()
Emitted when modifications has been done on layer.
void editFormConfigChanged()
Will be emitted whenever the edit form configuration of this layer changes.
void afterCommitChanges()
Emitted after changes are committed to the data provider.
const QgsFeatureRenderer * renderer() const
Returns the feature renderer used for rendering the features in the layer in 2D map views.
QgsFeature getFeature(QgsFeatureId fid) const
Queries the layer for the feature with the given id.
void raiseError(const QString &msg)
Signals an error related to this vector layer.
void editCommandEnded()
Signal emitted, when an edit command successfully ended.
void supportsEditingChanged()
Emitted when the read only state or the data provider of this layer is changed.
void readOnlyChanged()
Emitted when the read only state of this layer is changed.
void attributeValueChanged(QgsFeatureId fid, int idx, const QVariant &value)
Emitted whenever an attribute value change is done in the edit buffer.
QgsFeatureIterator getFeatures(const QgsFeatureIds &fids)
Queries the layer for the features with the given ids.
void afterRollBack()
Emitted after changes are rolled back.
const QgsVectorLayerJoinBuffer * joinBuffer() const
Returns a const pointer on join buffer object.
void selectionChanged(const QgsFeatureIds &selected, const QgsFeatureIds &deselected, bool clearAndSelect)
Emitted when selection was changed.
void beforeAddingExpressionField(const QString &fieldName)
Will be emitted, when an expression field is going to be added to this vector layer.
void updatedFields()
Emitted whenever the fields available from this layer have been changed.
void featureAdded(QgsFeatureId fid)
Emitted when a new feature has been added to the layer.
void featureDeleted(QgsFeatureId fid)
Emitted when a feature has been deleted.
void readCustomSymbology(const QDomElement &element, QString &errorMessage)
Signal emitted whenever the symbology (QML-file) for this layer is being read.
void beforeRollBack()
Emitted before changes are rolled back.
const QgsDiagramRenderer * diagramRenderer() const
void geometryChanged(QgsFeatureId fid, const QgsGeometry &geometry)
Emitted whenever a geometry change is done in the edit buffer.
QgsFeatureIterator getFeatures(const QgsRectangle &rectangle)
Queries the layer for the features which intersect the specified rectangle.
const QgsVectorSimplifyMethod & simplifyMethod() const
Returns the simplification settings for fast rendering of features.
void beforeModifiedCheck() const
Emitted when the layer is checked for modifications. Use for last-minute additions.
const QgsVectorLayerEditBuffer * editBuffer() const
Buffer with uncommitted editing operations.
QgsFeatureRenderer * renderer()
Returns the feature renderer used for rendering the features in the layer in 2D map views.
This class contains information how to simplify geometries fetched from a vector layer.
SimplifyHint
Simplification flags for fast rendering of features.
The QgsWeakRelation class represent a QgsRelation with possibly unresolved layers or unmatched fields...
GeometryType
The geometry types are used to group QgsWkbTypes::Type in a coarse way.
Type
The WKB type describes the number of dimensions a geometry has.
QMap< QString, QString > QgsStringMap
QVector< QgsPoint > QgsPointSequence
QMap< int, QVariant > QgsAttributeMap
QMap< QgsFeatureId, QgsGeometry > QgsGeometryMap
QMap< QgsFeatureId, QgsAttributeMap > QgsChangedAttributesMap
QList< QgsFeature > QgsFeatureList
QSet< QgsFeatureId > QgsFeatureIds
qint64 QgsFeatureId
64 bit feature ids negative numbers are used for uncommitted/newly added features
QList< int > QgsAttributeList
QList< int > QgsAttributeList
QSet< int > QgsAttributeIds
Context for cascade delete features.
DeleteContext(bool cascade=false, QgsProject *project=nullptr)
Constructor for DeleteContext.
Setting options for loading vector layers.
LayerOptions(bool loadDefaultStyle=true, bool readExtentFromXml=false)
Constructor for LayerOptions.
LayerOptions(const QgsCoordinateTransformContext &transformContext, bool loadDefaultStyle=true, bool readExtentFromXml=false)
Constructor for LayerOptions.
QgsCoordinateReferenceSystem fallbackCrs
Fallback layer coordinate reference system.