18 #ifndef QGSVECTORLAYER_H
19 #define QGSVECTORLAYER_H
22 #include "qgis_core.h"
26 #include <QStringList>
39 #include "qgseditformconfig.h"
60 class QgsGeometryVertexIndex;
396 Q_PROPERTY( QString subsetString READ subsetString WRITE setSubsetString NOTIFY subsetStringChanged )
397 Q_PROPERTY( QString displayExpression READ displayExpression WRITE setDisplayExpression NOTIFY displayExpressionChanged )
398 Q_PROPERTY( QString mapTipTemplate READ mapTipTemplate WRITE setMapTipTemplate NOTIFY mapTipTemplateChanged )
399 Q_PROPERTY( QgsEditFormConfig editFormConfig READ editFormConfig WRITE setEditFormConfig NOTIFY editFormConfigChanged )
400 Q_PROPERTY(
bool readOnly READ isReadOnly WRITE setReadOnly NOTIFY readOnlyChanged )
401 Q_PROPERTY(
bool supportsEditing READ supportsEditing NOTIFY supportsEditingChanged )
411 FetchFeatureFailed = 3,
424 Q_ENUM( SelectBehavior )
437 bool readExtentFromXml =
false )
438 : loadDefaultStyle( loadDefaultStyle )
439 , readExtentFromXml( readExtentFromXml )
447 bool loadDefaultStyle =
true,
448 bool readExtentFromXml =
false
450 : loadDefaultStyle( loadDefaultStyle )
451 , readExtentFromXml( readExtentFromXml )
452 , transformContext( transformContext )
456 bool loadDefaultStyle =
true;
462 bool readExtentFromXml =
false;
509 bool skipCrsValidation =
false;
531 QList<QgsVectorLayer *> handledLayers(
bool includeAuxiliaryLayers =
true )
const;
538 QMap<QgsVectorLayer *, QgsFeatureIds> mHandledFeatures
SIP_SKIP;
556 explicit QgsVectorLayer(
const QString &path = QString(),
const QString &baseName = QString(),
567 SIP_PYOBJECT __repr__();
569 QString
str = QStringLiteral(
"<QgsVectorLayer: '%1' (%2)>" ).arg( sipCpp->name(), sipCpp->dataProvider() ? sipCpp->dataProvider()->name() : QStringLiteral(
"Invalid" ) );
570 sipRes = PyUnicode_FromString(
str.toUtf8().constData() );
588 QString storageType() const;
593 QString capabilitiesString() const;
598 QString dataComment() const;
607 QString displayField() const;
616 void setDisplayExpression( const QString &displayExpression );
624 QString displayExpression() const;
644 void setProviderEncoding( const QString &encoding );
647 void setCoordinateSystem();
660 bool removeJoin( const QString &joinLayerId );
674 const QList<QgsVectorLayerJoinInfo> vectorJoins()
const;
705 int addExpressionField( const QString &exp, const
QgsField &fld );
714 void removeExpressionField(
int index );
725 QString expressionField(
int index ) const;
736 void updateExpressionField(
int index, const QString &exp );
764 int selectedFeatureCount()
const;
814 Q_INVOKABLE
void invertSelection();
817 Q_INVOKABLE
void selectAll();
826 Q_INVOKABLE
void invertSelectionInRectangle(
QgsRectangle &rect );
878 bool labelsEnabled()
const;
889 void setLabelsEnabled(
bool enabled );
896 bool diagramsEnabled()
const;
950 void removeFeatureRendererGenerator(
const QString &
id );
959 QList< const QgsFeatureRendererGenerator * > featureRendererGenerators()
const;
968 QString sourceName() const
FINAL;
983 QString decodedSource( const QString &source, const QString &provider, const
QgsReadWriteContext &context ) const
FINAL;
999 virtual
void saveStyleToDatabase( const QString &name, const QString &description,
1000 bool useAsDefault, const QString &uiFileContent,
1012 virtual
int listStylesInDatabase( QStringList &ids
SIP_OUT, QStringList &names
SIP_OUT,
1018 virtual QString getStyleFromDatabase( const QString &styleId, QString &msgError
SIP_OUT );
1027 virtual
bool deleteStyleFromDatabase( const QString &styleId, QString &msgError
SIP_OUT );
1036 virtual QString loadNamedStyle( const QString &theURI,
bool &resultFlag
SIP_OUT,
bool loadFromLocalDb,
1043 QString loadNamedStyle( const QString &theURI,
bool &resultFlag
SIP_OUT,
1059 bool loadAuxiliaryLayer( const
QgsAuxiliaryStorage &storage, const QString &key = QString() );
1086 bool readSymbology( const QDomNode &layerNode, QString &errorMessage,
1088 bool readStyle( const QDomNode &node, QString &errorMessage,
1090 bool writeSymbology( QDomNode &node, QDomDocument &doc, QString &errorMessage,
1092 bool writeStyle( QDomNode &node, QDomDocument &doc, QString &errorMessage,
1103 bool writeSld( QDomNode &node, QDomDocument &doc, QString &errorMessage, const QVariantMap &props = QVariantMap() ) const;
1105 bool readSld( const QDomNode &node, QString &errorMessage )
FINAL;
1112 long long featureCount( const QString &legendKey ) const;
1120 QgsFeatureIds symbolFeatureIds( const QString &legendKey ) const;
1132 FeatureAvailability hasFeatures() const
FINAL;
1135 QString loadDefaultStyle(
bool &resultFlag
SIP_OUT )
FINAL;
1159 virtual
bool setSubsetString( const QString &subset );
1165 virtual QString subsetString() const;
1242 bool updateFeature(
QgsFeature &feature,
bool skipDefaultValues = false );
1255 bool insertVertex(
double x,
double y,
QgsFeatureId atFeatureId,
int beforeVertex );
1280 bool moveVertex(
double x,
double y,
QgsFeatureId atFeatureId,
int atVertex );
1304 EditResult deleteVertex(
QgsFeatureId featureId,
int vertex );
1313 Q_INVOKABLE
bool deleteSelectedFeatures(
int *deletedCount =
nullptr, DeleteContext *context =
nullptr );
1402 #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
1468 Q_INVOKABLE
int translateFeature(
QgsFeatureId featureId,
double dx,
double dy );
1590 int addTopologicalPoints( const
QgsGeometry &geom );
1620 int addTopologicalPoints( const
QgsPoint &p );
1663 bool isSpatial() const
FINAL;
1666 virtual
bool isModified() const;
1674 bool isAuxiliaryField(
int index,
int &srcIndex ) const;
1677 void reload()
FINAL;
1717 bool setReadOnly(
bool readonly = true );
1724 bool supportsEditing();
1778 bool changeAttributeValue(
QgsFeatureId fid,
int field, const QVariant &newValue, const QVariant &oldValue = QVariant(),
bool skipDefaultValues = false );
1833 void setFieldAlias(
int index, const QString &aliasString );
1840 void removeFieldAlias(
int index );
1852 bool renameAttribute(
int index, const QString &newName );
1860 QString attributeAlias(
int index ) const;
1863 QString attributeDisplayName(
int index ) const;
1872 Q_DECL_DEPRECATED QSet<QString> excludeAttributesWms() const
SIP_DEPRECATED;
1878 Q_DECL_DEPRECATED
void setExcludeAttributesWms( const QSet<QString> &att )
SIP_DEPRECATED;
1884 Q_DECL_DEPRECATED QSet<QString> excludeAttributesWfs() const
SIP_DEPRECATED;
1890 Q_DECL_DEPRECATED
void setExcludeAttributesWfs( const QSet<QString> &att )
SIP_DEPRECATED;
1900 virtual
bool deleteAttribute(
int attr );
1909 bool deleteAttributes( const QList<
int> &attrs );
1963 Q_INVOKABLE
bool commitChanges(
bool stopEditing = true );
1970 QStringList commitErrors() const;
1981 Q_INVOKABLE
bool rollBack(
bool deleteBuffer = true );
1989 QList<
QgsRelation> referencingRelations(
int idx ) const;
2013 void beginEditCommand(
const QString &text );
2016 void endEditCommand();
2019 void destroyEditCommand();
2043 void updateFields();
2073 void setDefaultValueDefinition(
int index,
const QgsDefaultValue &definition );
2094 QgsFieldConstraints::Constraints fieldConstraints(
int fieldIndex )
const;
2101 QMap< QgsFieldConstraints::Constraint, QgsFieldConstraints::ConstraintStrength> fieldConstraintsAndStrength(
int fieldIndex )
const;
2129 QString constraintExpression(
int index )
const;
2138 QString constraintDescription(
int index )
const;
2148 void setConstraintExpression(
int index,
const QString &expression,
const QString &description = QString() );
2155 void setFieldConfigurationFlags(
int index, QgsField::ConfigurationFlags flags )
SIP_SKIP;
2168 QgsField::ConfigurationFlags fieldConfigurationFlags(
int index )
const SIP_SKIP;
2209 QStringList uniqueStringsMatching(
int index, const QString &substring,
int limit = -1,
2226 QVariant minimumValue(
int index ) const
FINAL;
2242 QVariant maximumValue(
int index ) const
FINAL;
2264 void minimumAndMaximumValue(
int index, QVariant &minimum
SIP_OUT, QVariant &maximum
SIP_OUT ) const;
2279 const QString &fieldOrExpression,
2286 void setFeatureBlendMode( QPainter::CompositionMode blendMode );
2288 QPainter::CompositionMode featureBlendMode() const;
2290 QString htmlMetadata() const
FINAL;
2339 QString mapTipTemplate()
const;
2348 void setMapTipTemplate(
const QString &mapTipTemplate );
2361 QgsEditFormConfig editFormConfig() const;
2369 void setEditFormConfig( const QgsEditFormConfig &editFormConfig );
2378 void setReadExtentFromXml(
bool readExtentFromXml );
2387 bool readExtentFromXml() const;
2394 bool isEditCommandActive()
const {
return mEditCommandActive; }
2439 void setAllowCommit(
bool allowCommit )
SIP_SKIP;
2484 Q_INVOKABLE
void deselect(
const QgsFeatureIds &featureIds );
2492 Q_INVOKABLE
void removeSelection();
2512 virtual void updateExtents(
bool force =
false );
2528 Q_INVOKABLE
bool startEditing();
2806 void invalidateSymbolCountedFlag();
2807 void onFeatureCounterCompleted();
2808 void onFeatureCounterTerminated();
2809 void onJoinedFieldsChanged();
2811 void onRelationsLoaded();
2812 void onSymbolsCounted();
2813 void onDirtyTransaction(
const QString &sql,
const QString &name );
2814 void emitDataChanged();
2815 void onAfterCommitChangesDependency();
2823 bool isReadOnly() const
FINAL;
2844 void setDataSourcePrivate( const QString &dataSource, const QString &baseName, const QString &provider, const
QgsDataProvider::ProviderOptions &options,
QgsDataProvider::ReadFlags flags ) override;
2847 void readSldLabeling( const QDomNode &node );
2861 void minimumOrMaximumValue(
int index, QVariant *minimum, QVariant *maximum )
const;
2872 QString mDisplayExpression;
2874 QString mMapTipTemplate;
2880 bool mReadOnly =
false;
2901 QMap<QString, QgsDefaultValue> mDefaultExpressionMap;
2904 QSet<int> mDefaultValueOnUpdateFields;
2907 QMap< QString, QgsFieldConstraints::Constraints > mFieldConstraints;
2913 QMap< QString, QPair< QString, QString > > mFieldConstraintExpressions;
2915 QMap< QString, QgsField::ConfigurationFlags > mFieldConfigurationFlags;
2916 QMap< QString, QgsEditorWidgetSetup > mFieldWidgetSetups;
2919 QgsEditFormConfig mEditFormConfig;
2934 bool mLabelsEnabled =
false;
2937 bool mLabelFontNotFoundNotified =
false;
2940 QPainter::CompositionMode mFeatureBlendMode = QPainter::CompositionMode_SourceOver;
2943 bool mVertexMarkerOnlyForSelection =
false;
2945 QStringList mCommitErrors;
2956 std::unique_ptr< QgsVectorLayerServerProperties > mServerProperties;
2967 mutable bool mValidExtent =
false;
2968 mutable bool mLazyExtent =
true;
2971 std::unique_ptr<QgsAuxiliaryLayer> mAuxiliaryLayer;
2974 QString mAuxiliaryLayerKey;
2977 bool mSymbolFeatureCounted =
false;
2980 QHash<QString, long long> mSymbolFeatureCountMap;
2981 QHash<QString, QgsFeatureIds> mSymbolFeatureIdMap;
2984 bool mEditCommandActive =
false;
2986 bool mReadExtentFromXml;
2993 mutable QMutex mFeatureSourceConstructorMutex;
2997 std::unique_ptr<QgsGeometryOptions> mGeometryOptions;
2999 bool mAllowCommit =
true;
3007 bool mDataChangedFired =
false;
3009 QList<QgsWeakRelation> mWeakRelations;
3011 bool mSetLegendFromStyle =
false;
3013 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 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 unique ID, geometry and a list of field...
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.
OperationResult
Success or failure of a geometry operation.
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.
friend class QgsVectorLayer
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.