QGIS API Documentation
2.4.0-Chugiak
|
Base class for all map layer types. More...
#include <qgsmaplayer.h>
Public Types | |
enum | LayerType { VectorLayer, RasterLayer, PluginLayer } |
Layers enum defining the types of layers that can be added to a map. More... | |
Public Slots | |
virtual void | invalidTransformInput () |
Event handler for when a coordinate transform fails due to bad vertex error. More... | |
void | setMinimumScale (float theMinScale) |
Accessor and mutator for the minimum scale denominator member. More... | |
float | minimumScale () const |
void | setMaximumScale (float theMaxScale) |
Accessor and mutator for the maximum scale denominator member. More... | |
float | maximumScale () const |
void | toggleScaleBasedVisibility (bool theVisibilityFlag) |
Accessor and mutator for the scale based visilibility flag. More... | |
bool | hasScaleBasedVisibility () const |
Q_DECL_DEPRECATED void | clearCacheImage () |
Clear cached image. More... | |
virtual QString | metadata () |
Obtain Metadata for this layer. More... | |
virtual QDateTime | timestamp () const |
Time stamp of data source in the moment when data/metadata were loaded by provider. More... | |
Signals | |
void | drawingProgress (int theProgress, int theTotalSteps) |
void | statusChanged (QString theStatus) |
Emit a signal with status (e.g. More... | |
void | layerNameChanged () |
Emit a signal that the layer name has been changed. More... | |
void | layerCrsChanged () |
Emit a signal that layer's CRS has been reset added in 1.4. More... | |
void | repaintRequested () |
By emitting this signal the layer tells that either appearance or content have been changed and any view showing the rendered layer should refresh itself. More... | |
void | screenUpdateRequested () |
void | recalculateExtents () |
This is used to send a request that any mapcanvas using this layer update its extents. More... | |
void | dataChanged () |
data of layer changed added in 1.5 More... | |
void | blendModeChanged (const QPainter::CompositionMode &blendMode) |
Signal emitted when the blend mode is changed, through QgsMapLayer::setBlendMode() More... | |
void | rendererChanged () |
Signal emitted when renderer is changed. More... | |
Public Member Functions | |
QgsMapLayer (QgsMapLayer::LayerType type=VectorLayer, QString lyrname=QString::null, QString source=QString::null) | |
Constructor. More... | |
virtual | ~QgsMapLayer () |
Destructor. More... | |
QgsMapLayer::LayerType | type () const |
Get the type of the layer. More... | |
QString | id () const |
Get this layer's unique ID, this ID is used to access this layer from map layer registry. More... | |
void | setLayerName (const QString &name) |
Set the display name of the layer. More... | |
const QString & | name () const |
Get the display name of the layer. More... | |
const QString & | originalName () const |
Get the original name of the layer. More... | |
void | setTitle (const QString &title) |
const QString & | title () const |
void | setAbstract (const QString &abstract) |
const QString & | abstract () const |
void | setKeywordList (const QString &keywords) |
const QString & | keywordList () const |
void | setDataUrl (const QString &dataUrl) |
const QString & | dataUrl () const |
void | setDataUrlFormat (const QString &dataUrlFormat) |
const QString & | dataUrlFormat () const |
void | setAttribution (const QString &attrib) |
const QString & | attribution () const |
void | setAttributionUrl (const QString &attribUrl) |
const QString & | attributionUrl () const |
void | setMetadataUrl (const QString &metaUrl) |
const QString & | metadataUrl () const |
void | setMetadataUrlType (const QString &metaUrlType) |
const QString & | metadataUrlType () const |
void | setMetadataUrlFormat (const QString &metaUrlFormat) |
const QString & | metadataUrlFormat () const |
void | setBlendMode (const QPainter::CompositionMode &blendMode) |
Write blend mode for layer. More... | |
QPainter::CompositionMode | blendMode () const |
Read blend mode for layer. More... | |
virtual void | reload () |
Synchronises with changes in the datasource. More... | |
virtual QgsMapLayerRenderer * | createMapRenderer (QgsRenderContext &rendererContext) |
Return new instance of QgsMapLayerRenderer that will be used for rendering of given context. More... | |
virtual bool | draw (QgsRenderContext &rendererContext) |
This is the method that does the actual work of drawing the layer onto a paint device. More... | |
virtual void | drawLabels (QgsRenderContext &rendererContext) |
Draw labels. More... | |
virtual QgsRectangle | extent () |
Return the extent of the layer. More... | |
bool | isValid () |
QString | publicSource () const |
const QString & | source () const |
Returns the source for the layer. More... | |
virtual QStringList | subLayers () const |
Returns the sublayers of this layer (Useful for providers that manage their own layers, such as WMS) More... | |
virtual void | setLayerOrder (const QStringList &layers) |
Reorders the previously selected sublayers of this layer from bottom to top (Useful for providers that manage their own layers, such as WMS) More... | |
virtual void | setSubLayerVisibility (QString name, bool vis) |
Set the visibility of the given sublayer name. More... | |
virtual bool | isEditable () const |
True if the layer can be edited. More... | |
bool | readLayerXML (const QDomElement &layerElement) |
sets state from Dom document More... | |
bool | writeLayerXML (QDomElement &layerElement, QDomDocument &document) |
stores state in Dom node More... | |
void | setCustomProperty (const QString &key, const QVariant &value) |
Set a custom property for layer. More... | |
QVariant | customProperty (const QString &value, const QVariant &defaultValue=QVariant()) const |
Read a custom property from layer. More... | |
void | removeCustomProperty (const QString &key) |
Remove a custom property from layer. More... | |
virtual Q_DECL_DEPRECATED QString | lastErrorTitle () |
virtual Q_DECL_DEPRECATED QString | lastError () |
virtual QgsError | error () const |
Get current status error. More... | |
const QgsCoordinateReferenceSystem & | crs () const |
Returns layer's spatial reference system. More... | |
void | setCrs (const QgsCoordinateReferenceSystem &srs, bool emitSignal=true) |
Sets layer's spatial reference system. More... | |
virtual QString | styleURI () |
Retrieve the style URI for this layer (either as a .qml file on disk or as a record in the users style table in their personal qgis.db) More... | |
virtual QString | loadDefaultStyle (bool &theResultFlag) |
Retrieve the default style for this layer if one exists (either as a .qml file on disk or as a record in the users style table in their personal qgis.db) More... | |
virtual QString | loadNamedStyle (const QString &theURI, bool &theResultFlag) |
Retrieve a named style for this layer if one exists (either as a .qml file on disk or as a record in the users style table in their personal qgis.db) More... | |
virtual bool | loadNamedStyleFromDb (const QString &db, const QString &theURI, QString &qml) |
virtual void | exportNamedStyle (QDomDocument &doc, QString &errorMsg) |
Export the properties of this layer as named style in a QDomDocument. More... | |
virtual void | exportSldStyle (QDomDocument &doc, QString &errorMsg) |
Export the properties of this layer as SLD style in a QDomDocument. More... | |
virtual QString | saveDefaultStyle (bool &theResultFlag) |
Save the properties of this layer as the default style (either as a .qml file on disk or as a record in the users style table in their personal qgis.db) More... | |
virtual QString | saveNamedStyle (const QString &theURI, bool &theResultFlag) |
Save the properties of this layer as a named style (either as a .qml file on disk or as a record in the users style table in their personal qgis.db) More... | |
virtual QString | saveSldStyle (const QString &theURI, bool &theResultFlag) |
virtual QString | loadSldStyle (const QString &theURI, bool &theResultFlag) |
virtual bool | readSld (const QDomNode &node, QString &errorMessage) |
virtual bool | readSymbology (const QDomNode &node, QString &errorMessage)=0 |
Read the symbology for the current layer from the Dom node supplied. More... | |
virtual bool | writeSymbology (QDomNode &node, QDomDocument &doc, QString &errorMessage) const =0 |
Write the symbology for the layer into the docment provided. More... | |
QUndoStack * | undoStack () |
Return pointer to layer's undo stack. More... | |
void | setLegendUrl (const QString &legendUrl) |
const QString & | legendUrl () const |
void | setLegendUrlFormat (const QString &legendUrlFormat) |
const QString & | legendUrlFormat () const |
Q_DECL_DEPRECATED QImage * | cacheImage () |
Q_DECL_DEPRECATED void | setCacheImage (QImage *) |
virtual Q_DECL_DEPRECATED void | onCacheImageDelete () |
Static Public Member Functions | |
static QDomDocument | asLayerDefinition (QList< QgsMapLayer * > layers) |
Returns the given layer as a layer definition document Layer definitions store the data source as well as styling and custom properties. More... | |
static QList< QgsMapLayer * > | fromLayerDefinition (QDomDocument &document) |
Creates a new layer from a layer defininition document. More... | |
static QList< QgsMapLayer * > | fromLayerDefinitionFile (const QString qlrfile) |
static QString | capitaliseLayerName (const QString &name) |
A convenience function to (un)capitalise the layer name. More... | |
Protected Member Functions | |
virtual void | setExtent (const QgsRectangle &rect) |
Set the extent. More... | |
void | setValid (bool valid) |
set whether layer is valid or not - should be used in constructor. More... | |
virtual bool | readXml (const QDomNode &layer_node) |
called by readLayerXML(), used by children to read state specific to them from project files. More... | |
virtual bool | writeXml (QDomNode &layer_node, QDomDocument &document) |
called by writeLayerXML(), used by children to write state specific to them to project files. More... | |
void | readCustomProperties (const QDomNode &layerNode, const QString &keyStartsWith="") |
Read custom properties from project file. More... | |
void | writeCustomProperties (QDomNode &layerNode, QDomDocument &doc) const |
Write custom properties to project file. More... | |
void | connectNotify (const char *signal) |
debugging member - invoked when a connect() is made to this object More... | |
void | appendError (const QgsErrorMessage &theMessage) |
Add error message. More... | |
void | setError (const QgsError &theError) |
Set error message. More... | |
Protected Attributes | |
QgsRectangle | mExtent |
Extent of the layer. More... | |
bool | mValid |
Indicates if the layer is valid and can be drawn. More... | |
QString | mDataSource |
data source description string, varies by layer type More... | |
QString | mLayerName |
Name of the layer - used for display. More... | |
QString | mLayerOrigName |
Original name of the layer. More... | |
QString | mTitle |
QString | mAbstract |
Description of the layer. More... | |
QString | mKeywordList |
QString | mDataUrl |
DataUrl of the layer. More... | |
QString | mDataUrlFormat |
QString | mAttribution |
Attribution of the layer. More... | |
QString | mAttributionUrl |
QString | mMetadataUrl |
MetadataUrl of the layer. More... | |
QString | mMetadataUrlType |
QString | mMetadataUrlFormat |
QString | mLegendUrl |
WMS legend. More... | |
QString | mLegendUrlFormat |
QgsError | mError |
Error. More... | |
Private Member Functions | |
QgsMapLayer (QgsMapLayer const &) | |
private copy constructor - QgsMapLayer not copyable More... | |
QgsMapLayer & | operator= (QgsMapLayer const &) |
private assign operator - QgsMapLayer not copyable More... | |
Private Attributes | |
QgsCoordinateReferenceSystem * | mCRS |
layer's spatial reference system. More... | |
QString | mID |
Unique ID of this layer - used to refer to this layer in map layer registry. More... | |
QgsMapLayer::LayerType | mLayerType |
Type of the layer (eg. More... | |
QPainter::CompositionMode | mBlendMode |
Blend mode for the layer. More... | |
QString | mTag |
Tag for embedding additional information. More... | |
float | mMinScale |
Minimum scale denominator at which this layer should be displayed. More... | |
float | mMaxScale |
Maximum scale denominator at which this layer should be displayed. More... | |
bool | mScaleBasedVisibility |
A flag that tells us whether to use the above vars to restrict layer visibility. More... | |
QUndoStack | mUndoStack |
Collection of undoable operations for this layer. More... | |
QgsObjectCustomProperties | mCustomProperties |
Layer's persistent storage of additional properties (may be used by plugins) More... | |
Base class for all map layer types.
This is the base class for all map layer types (vector, raster).
Definition at line 47 of file qgsmaplayer.h.
Layers enum defining the types of layers that can be added to a map.
Enumerator | |
---|---|
VectorLayer | |
RasterLayer | |
PluginLayer |
Definition at line 53 of file qgsmaplayer.h.
QgsMapLayer::QgsMapLayer | ( | QgsMapLayer::LayerType | type = VectorLayer , |
QString | lyrname = QString::null , |
||
QString | source = QString::null |
||
) |
Constructor.
type | Type of layer as defined in QgsMapLayer::LayerType enum |
lyrname | Display Name of the layer |
source | datasource of layer |
Definition at line 47 of file qgsmaplayer.cpp.
References capitaliseLayerName(), mCRS, mID, mLayerName, mLayerOrigName, mMaxScale, mMinScale, mScaleBasedVisibility, and QgsDebugMsg.
|
virtual |
|
private |
private copy constructor - QgsMapLayer not copyable
|
inline |
Definition at line 99 of file qgsmaplayer.h.
|
inlineprotected |
Add error message.
Definition at line 480 of file qgsmaplayer.h.
Referenced by QgsRasterLayer::setDataProvider().
|
static |
Returns the given layer as a layer definition document Layer definitions store the data source as well as styling and custom properties.
Layer definitions can be used to load a layer and styling all from a single file.
Definition at line 599 of file qgsmaplayer.cpp.
References writeLayerXML().
|
inline |
Definition at line 112 of file qgsmaplayer.h.
Referenced by writeLayerXML().
|
inline |
Definition at line 114 of file qgsmaplayer.h.
Referenced by writeLayerXML().
QPainter::CompositionMode QgsMapLayer::blendMode | ( | ) | const |
Read blend mode for layer.
Definition at line 142 of file qgsmaplayer.cpp.
References mBlendMode.
Referenced by QgsComposerMap::containsAdvancedEffects(), QgsMapRendererJob::needTemporaryImage(), QgsMapRendererJob::prepareJobs(), QgsMapRenderer::render(), setBlendMode(), QgsRasterLayer::writeSymbology(), and QgsVectorLayer::writeSymbology().
|
signal |
Signal emitted when the blend mode is changed, through QgsMapLayer::setBlendMode()
Referenced by setBlendMode().
|
inline |
Definition at line 379 of file qgsmaplayer.h.
|
static |
A convenience function to (un)capitalise the layer name.
Definition at line 791 of file qgsmaplayer.cpp.
Referenced by QgsMapLayer(), and setLayerName().
|
slot |
Clear cached image.
Definition at line 1379 of file qgsmaplayer.cpp.
References repaintRequested().
|
protected |
debugging member - invoked when a connect() is made to this object
Definition at line 714 of file qgsmaplayer.cpp.
References QgsDebugMsgLevel.
|
inlinevirtual |
Return new instance of QgsMapLayerRenderer that will be used for rendering of given context.
Reimplemented in QgsVectorLayer, QgsRasterLayer, and QgsPluginLayer.
Definition at line 136 of file qgsmaplayer.h.
Referenced by QgsMapRendererJob::prepareJobs().
const QgsCoordinateReferenceSystem & QgsMapLayer::crs | ( | ) | const |
Returns layer's spatial reference system.
Definition at line 772 of file qgsmaplayer.cpp.
References mCRS.
Referenced by QgsPalLabeling::addDiagramLayer(), QgsVectorLayerEditUtils::addTopologicalPoints(), QgsAttributeEditorContext::adjustForLayer(), QgsGeometryAnalyzer::buffer(), QgsGeometryAnalyzer::centroids(), QgsAtlasComposition::computeExtent(), QgsGeometryAnalyzer::convexHull(), QgsOfflineEditing::copyVectorLayer(), QgsPointSample::createRandomPoints(), QgsTransectSample::createSample(), QgsVectorFileWriter::createSymbolLayerTable(), QgsGeometryAnalyzer::dissolve(), QgsMapRendererJob::drawOldLabeling(), QgsGeometryAnalyzer::eventLayer(), QgsVectorFileWriter::exportFeaturesSymbolLevels(), QgsGeometryAnalyzer::extent(), QgsMapToolIdentify::featureDerivedAttributes(), QgsComposerAttributeTable::getFeatureAttributes(), QgsVectorLayerImport::importLayer(), QgsOverlayAnalyzer::intersection(), QgsRasterLayer::metadata(), QgsVectorLayer::metadata(), QgsMapRendererJob::prepareJobs(), QgsPalLabeling::prepareLayer(), QgsRasterCalculator::processCalculation(), QgsRasterLayerRenderer::QgsRasterLayerRenderer(), QgsRasterLayer::readXml(), QgsRasterLayer::setDataProvider(), QgsGeometryAnalyzer::simplify(), QgsVectorLayer::snapToGeometry(), QgsVectorLayerEditUtils::splitFeatures(), QgsMapRenderer::splitLayersExtent(), QgsVectorLayerEditUtils::splitParts(), QgsDatumTransformStore::transformation(), QgsMapRenderer::transformation(), QgsMapCanvas::updateDatumTransformEntries(), QgsVectorFileWriter::writeAsVectorFormat(), and QgsGridFileWriter::writeFile().
QVariant QgsMapLayer::customProperty | ( | const QString & | value, |
const QVariant & | defaultValue = QVariant() |
||
) | const |
Read a custom property from layer.
Properties are stored in a map and saved in project file.
Definition at line 1352 of file qgsmaplayer.cpp.
References mCustomProperties, and QgsObjectCustomProperties::value().
Referenced by _readColor(), QgsMapToolIdentify::identifyRasterLayer(), QgsOfflineEditing::layerAdded(), QgsPalLayerSettings::readDataDefinedProperty(), QgsPalLayerSettings::readFromLayer(), QgsPalLabeling::staticWillUseLayer(), QgsOfflineEditing::synchronize(), and QgsPalLayerSettings::writeDataDefinedPropertyMap().
|
signal |
data of layer changed added in 1.5
|
inline |
Definition at line 106 of file qgsmaplayer.h.
Referenced by writeLayerXML().
|
inline |
Definition at line 108 of file qgsmaplayer.h.
Referenced by writeLayerXML().
|
virtual |
This is the method that does the actual work of drawing the layer onto a paint device.
rendererContext | describes the extents, resolumon etc. that should be used when rendering the layer. |
Reimplemented in QgsVectorLayer, and QgsRasterLayer.
Definition at line 147 of file qgsmaplayer.cpp.
Referenced by QgsPluginLayerRenderer::render(), and QgsMapRenderer::render().
|
signal |
|
virtual |
Draw labels.
Reimplemented in QgsVectorLayer.
Definition at line 153 of file qgsmaplayer.cpp.
Referenced by QgsMapRendererJob::drawOldLabeling(), and QgsMapRenderer::render().
|
inlinevirtual |
Get current status error.
This error describes some principal problem for which layer cannot work and thus is not valid. It is not last error after accessing data by draw() etc.
Definition at line 254 of file qgsmaplayer.h.
|
virtual |
Export the properties of this layer as named style in a QDomDocument.
doc | the target QDomDocument |
errorMsg | this QString will be initialized on error during the execution of writeSymbology |
Definition at line 1012 of file qgsmaplayer.cpp.
References hasScaleBasedVisibility(), maximumScale(), minimumScale(), QGis::QGIS_VERSION, tr, and writeSymbology().
Referenced by saveNamedStyle(), and QgsVectorLayer::saveStyleToDatabase().
|
virtual |
Export the properties of this layer as SLD style in a QDomDocument.
doc | the target QDomDocument |
errorMsg | this QString will be initialized on error during the execution of writeSymbology |
Definition at line 1184 of file qgsmaplayer.cpp.
References tr, and QgsVectorLayer::writeSld().
Referenced by saveSldStyle(), and QgsVectorLayer::saveStyleToDatabase().
|
virtual |
Return the extent of the layer.
Reimplemented in QgsVectorLayer.
Definition at line 129 of file qgsmaplayer.cpp.
References mExtent.
Referenced by QgsVectorLayer::extent(), QgsMapSettings::fullExtent(), QgsMapToolIdentify::identifyRasterLayer(), QgsMapRendererJob::prepareJobs(), QgsRasterLayerRenderer::QgsRasterLayerRenderer(), QgsMapRenderer::render(), QgsPluginLayer::setExtent(), and QgsMapRenderer::updateFullExtent().
|
static |
Creates a new layer from a layer defininition document.
Definition at line 614 of file qgsmaplayer.cpp.
References QgsPluginLayerRegistry::createLayer(), QgsPluginLayerRegistry::instance(), QgsDebugMsg, readLayerXML(), and type().
Referenced by fromLayerDefinitionFile().
|
static |
Definition at line 648 of file qgsmaplayer.cpp.
References file, fromLayerDefinition(), and QgsDebugMsg.
|
slot |
Definition at line 727 of file qgsmaplayer.cpp.
References mScaleBasedVisibility.
Referenced by QgsMapRendererJob::drawOldLabeling(), exportNamedStyle(), QgsMapToolIdentify::identifyVectorLayer(), QgsMapRendererJob::prepareJobs(), QgsMapRenderer::render(), and writeLayerXML().
QString QgsMapLayer::id | ( | ) | const |
Get this layer's unique ID, this ID is used to access this layer from map layer registry.
Get this layer's unique ID.
Definition at line 92 of file qgsmaplayer.cpp.
References mID.
Referenced by QgsPalLabeling::addDiagramLayer(), QgsLegendModel::addLayer(), QgsRelationAddDlg::addLayers(), QgsMapLayerModel::addLayers(), QgsMapLayerRegistry::addMapLayers(), QgsLegendModel::addRasterLayerItems(), QgsVectorLayerEditBuffer::commitChanges(), QgsOfflineEditing::copyVectorLayer(), QgsMapLayerModel::data(), QgsAttributeTypeLoadDialog::fillLayerList(), QgsMapCanvas::getDatumTransformInfo(), QgsDatumTransformStore::hasEntryForLayer(), QgsMapToolIdentify::identify(), QgsMapRendererCache::layerRequestedRepaint(), QgsMapLayerModel::layersChecked(), QgsComposerMap::layersToRender(), QgsMapRendererJob::prepareJobs(), QgsPalLabeling::prepareLayer(), QgsAttributeFormLegacyInterface::QgsAttributeFormLegacyInterface(), QgsComposerAttributeTable::removeLayer(), QgsPluginLayerRegistry::removePluginLayerType(), QgsMapLayerModel::setData(), QgsMapCanvas::setLayerSet(), QgsOfflineEditing::synchronize(), QgsDatumTransformStore::transformation(), QgsMapRenderer::transformation(), QgsRasterFormatSaveOptionsWidget::validateOptions(), QgsProject::write(), QgsFormAnnotationItem::writeXML(), QgsHtmlAnnotationItem::writeXML(), QgsComposerAttributeTable::writeXML(), and QgsAtlasComposition::writeXML().
|
virtualslot |
Event handler for when a coordinate transform fails due to bad vertex error.
Definition at line 697 of file qgsmaplayer.cpp.
References QgsDebugMsg.
|
virtual |
True if the layer can be edited.
Reimplemented in QgsVectorLayer.
Definition at line 1364 of file qgsmaplayer.cpp.
bool QgsMapLayer::isValid | ( | ) |
Return the status of the layer. An invalid layer is one which has a bad datasource or other problem. Child classes set this flag when intialized
Definition at line 691 of file qgsmaplayer.cpp.
References mValid.
Referenced by QgsProject::addLayer(), QgsMapLayerRegistry::addMapLayers(), QgsOfflineEditing::copyVectorLayer(), QgsTransectSample::createSample(), QgsGeometryAnalyzer::eventLayer(), QgsOfflineEditing::synchronize(), and QgsProjectFileTransform::transform0110to1000().
|
inline |
Definition at line 102 of file qgsmaplayer.h.
Referenced by writeLayerXML().
|
virtual |
Definition at line 709 of file qgsmaplayer.cpp.
|
virtual |
Definition at line 704 of file qgsmaplayer.cpp.
|
signal |
Emit a signal that layer's CRS has been reset added in 1.4.
Referenced by setCrs().
|
signal |
Emit a signal that the layer name has been changed.
Referenced by setLayerName().
|
inline |
Definition at line 374 of file qgsmaplayer.h.
Referenced by writeLayerXML().
|
inline |
Definition at line 376 of file qgsmaplayer.h.
Referenced by writeLayerXML().
|
virtual |
Retrieve the default style for this layer if one exists (either as a .qml file on disk or as a record in the users style table in their personal qgis.db)
theResultFlag | a reference to a flag that will be set to false if we did not manage to load the default style. |
Definition at line 860 of file qgsmaplayer.cpp.
References loadNamedStyle(), and styleURI().
Referenced by QgsRasterLayer::QgsRasterLayer(), and QgsVectorLayer::QgsVectorLayer().
|
virtual |
Retrieve a named style for this layer if one exists (either as a .qml file on disk or as a record in the users style table in their personal qgis.db)
theURI | - the file name or other URI for the style file. First an attempt will be made to see if this is a file and load that, if that fails the qgis.db styles table will be consulted to see if there is a style who's key matches the URI. |
theResultFlag | a reference to a flag that will be set to false if we did not manage to load the default style. |
Reimplemented in QgsVectorLayer.
Definition at line 909 of file qgsmaplayer.cpp.
References QgsProject::instance(), loadNamedStyleFromDb(), QgsApplication::pkgDataPath(), publicSource(), QGis::QGIS_VERSION, QgsApplication::qgisSettingsDirPath(), QgsDebugMsg, readSymbology(), setMaximumScale(), setMinimumScale(), toggleScaleBasedVisibility(), tr, and QgsLogger::warning().
Referenced by loadDefaultStyle(), and QgsVectorLayer::loadNamedStyle().
|
virtual |
Definition at line 865 of file qgsmaplayer.cpp.
References QgsDebugMsg.
Referenced by loadNamedStyle().
|
virtual |
Definition at line 1279 of file qgsmaplayer.cpp.
References QgsDebugMsg, readSld(), and tr.
|
slot |
Definition at line 748 of file qgsmaplayer.cpp.
References mMaxScale.
Referenced by QgsMapRendererJob::drawOldLabeling(), exportNamedStyle(), QgsAttributeTableFilterModel::generateListOfVisibleFeatures(), QgsMapToolIdentify::identifyVectorLayer(), QgsMapRendererJob::prepareJobs(), QgsMapRenderer::render(), and writeLayerXML().
|
virtualslot |
Obtain Metadata for this layer.
Reimplemented in QgsVectorLayer, and QgsRasterLayer.
Definition at line 1384 of file qgsmaplayer.cpp.
|
inline |
Definition at line 118 of file qgsmaplayer.h.
Referenced by writeLayerXML().
|
inline |
Definition at line 122 of file qgsmaplayer.h.
Referenced by writeLayerXML().
|
inline |
Definition at line 120 of file qgsmaplayer.h.
Referenced by writeLayerXML().
|
slot |
Definition at line 737 of file qgsmaplayer.cpp.
References mMinScale.
Referenced by QgsMapRendererJob::drawOldLabeling(), exportNamedStyle(), QgsMapToolIdentify::identifyVectorLayer(), QgsMapRendererJob::prepareJobs(), QgsMapRenderer::render(), and writeLayerXML().
QString const & QgsMapLayer::name | ( | ) | const |
Get the display name of the layer.
Read property of QString layerName.
Definition at line 110 of file qgsmaplayer.cpp.
References mLayerName, and QgsDebugMsgLevel.
Referenced by QgsVectorLayer::addAttributeAlias(), QgsLegendModel::addLayer(), QgsRelationAddDlg::addLayers(), QgsRelationManagerDialog::addRelation(), QgsVectorLayer::attributeAlias(), QgsVectorLayer::attributeEditorElementFromDomElement(), QgsOfflineEditing::copyVectorLayer(), QgsVectorLayer::countSymbolFeatures(), QgsMapLayerModel::data(), QgsVectorLayer::editorWidgetV2(), QgsVectorLayer::editorWidgetV2Config(), QgsVectorLayer::editType(), QgsVectorLayer::fieldEditable(), QgsAttributeTypeLoadDialog::fillLayerList(), QgsMapSettings::fullExtent(), QgsMapCanvas::getDatumTransformInfo(), QgsMapToolIdentify::identify(), QgsMapToolIdentify::identifyRasterLayer(), QgsMapLayerRegistry::mapLayersByName(), QgsMapRendererJob::prepareJobs(), QgsExpressionSelectionDialog::QgsExpressionSelectionDialog(), QgsQueryBuilder::QgsQueryBuilder(), QgsSearchQueryBuilder::QgsSearchQueryBuilder(), QgsVectorLayer::readSymbology(), QgsMapRenderer::render(), setCrs(), QgsRasterLayer::setDataProvider(), QgsVectorLayer::setDataProvider(), QgsVectorLayer::setEditType(), QgsVectorLayer::setFieldEditable(), QgsVectorLayer::setLabelOnTop(), setLayerName(), QgsOfflineEditing::synchronize(), QgsVectorLayerJoinBuffer::updateFields(), QgsMapRenderer::updateFullExtent(), QgsLegendModel::updateLayerItemText(), QgsLegendModel::updateSymbolV2ItemText(), QgsFeatureRendererV2::writeSld(), and QgsVectorLayer::writeSld().
|
inlinevirtual |
Definition at line 383 of file qgsmaplayer.h.
|
private |
private assign operator - QgsMapLayer not copyable
|
inline |
Get the original name of the layer.
Definition at line 93 of file qgsmaplayer.h.
Referenced by writeLayerXML().
QString QgsMapLayer::publicSource | ( | ) | const |
Gets a version of the internal layer definition that has sensitive bits removed (for example, the password). This function should be used when displaying the source name for general viewing.
Definition at line 116 of file qgsmaplayer.cpp.
References mDataSource, and QgsDataSourceURI::removePassword().
Referenced by loadNamedStyle(), QgsVectorLayer::metadata(), and styleURI().
|
protected |
Read custom properties from project file.
Added in v1.4
layerNode | note to read from |
keyStartsWith | reads only properties starting with the specified string (or all if the string is empty) |
Definition at line 678 of file qgsmaplayer.cpp.
References mCustomProperties, and QgsObjectCustomProperties::readXml().
Referenced by readLayerXML(), and QgsVectorLayer::readSymbology().
bool QgsMapLayer::readLayerXML | ( | const QDomElement & | layerElement | ) |
sets state from Dom document
layerElement | The Dom element corresponding to ``maplayer'' tag |
The Dom node corresponds to a Dom document project file XML element read by QgsProject.
This, in turn, calls readXml(), which is over-rideable by sub-classes so that they can read their own specific state from the given Dom node.
Invoked by QgsProject::read().
Definition at line 158 of file qgsmaplayer.cpp.
References QgsCoordinateReferenceSystem::customSrsValidation(), QgsDataSourceURI::database(), QgsDataSourceURI::encodedUri(), file, QgsProject::instance(), mAbstract, mAttribution, mAttributionUrl, mCRS, mDataSource, mDataUrl, mDataUrlFormat, mID, mKeywordList, mLegendUrl, mLegendUrlFormat, mMetadataUrl, mMetadataUrlFormat, mMetadataUrlType, mTitle, QgsDebugMsg, readCustomProperties(), QgsProject::readPath(), QgsCoordinateReferenceSystem::readXML(), readXml(), QgsCoordinateReferenceSystem::setCustomSrsValidation(), QgsDataSourceURI::setDatabase(), setLayerName(), setMaximumScale(), setMinimumScale(), QgsDataSourceURI::setParam(), QgsCoordinateReferenceSystem::setValidationHint(), toggleScaleBasedVisibility(), tr, QgsDataSourceURI::uri(), and QgsCoordinateReferenceSystem::validate().
Referenced by QgsProject::addLayer(), fromLayerDefinition(), and QgsProjectFileTransform::transform1800to1900().
|
inlinevirtual |
Reimplemented in QgsVectorLayer.
Definition at line 350 of file qgsmaplayer.h.
Referenced by loadSldStyle().
|
pure virtual |
Read the symbology for the current layer from the Dom node supplied.
node | node that will contain the symbology definition for this layer. |
errorMessage | reference to string that will be updated with any error messages |
Implemented in QgsVectorLayer, and QgsRasterLayer.
Referenced by loadNamedStyle().
|
protectedvirtual |
called by readLayerXML(), used by children to read state specific to them from project files.
Reimplemented in QgsVectorLayer, and QgsRasterLayer.
Definition at line 422 of file qgsmaplayer.cpp.
Referenced by readLayerXML().
|
signal |
This is used to send a request that any mapcanvas using this layer update its extents.
Referenced by QgsVectorLayer::extent().
|
inlinevirtual |
Synchronises with changes in the datasource.
Reimplemented in QgsVectorLayer, and QgsRasterLayer.
Definition at line 131 of file qgsmaplayer.h.
Referenced by QgsMapLayerRegistry::reloadAllLayers().
void QgsMapLayer::removeCustomProperty | ( | const QString & | key | ) |
Remove a custom property from layer.
Properties are stored in a map and saved in project file.
Definition at line 1357 of file qgsmaplayer.cpp.
References mCustomProperties, and QgsObjectCustomProperties::remove().
Referenced by QgsPalLayerSettings::readDataDefinedProperty(), and QgsPalLayerSettings::writeDataDefinedPropertyMap().
|
signal |
Signal emitted when renderer is changed.
Referenced by QgsRasterLayer::setRenderer(), and QgsVectorLayer::setRendererV2().
|
signal |
By emitting this signal the layer tells that either appearance or content have been changed and any view showing the rendered layer should refresh itself.
Referenced by clearCacheImage(), QgsVectorLayer::commitChanges(), QgsVectorLayer::QgsVectorLayer(), QgsVectorLayer::rollBack(), setCacheImage(), QgsRasterLayer::setContrastEnhancement(), QgsVectorLayer::setSubsetString(), QgsRasterLayer::triggerRepaint(), and QgsVectorLayer::triggerRepaint().
|
virtual |
Save the properties of this layer as the default style (either as a .qml file on disk or as a record in the users style table in their personal qgis.db)
theResultFlag | a reference to a flag that will be set to false if we did not manage to save the default style. |
Definition at line 1042 of file qgsmaplayer.cpp.
References saveNamedStyle(), and styleURI().
|
virtual |
Save the properties of this layer as a named style (either as a .qml file on disk or as a record in the users style table in their personal qgis.db)
theURI | the file name or other URI for the style file. First an attempt will be made to see if this is a file and save to that, if that fails the qgis.db styles table will be used to create a style entry who's key matches the URI. |
theResultFlag | a reference to a flag that will be set to false if we did not manage to save the default style. |
Definition at line 1047 of file qgsmaplayer.cpp.
References exportNamedStyle(), QgsVectorLayer::providerType(), QgsApplication::qgisSettingsDirPath(), and tr.
Referenced by saveDefaultStyle().
|
virtual |
Definition at line 1222 of file qgsmaplayer.cpp.
References exportSldStyle(), QgsVectorLayer::providerType(), and tr.
|
signal |
|
inline |
Definition at line 98 of file qgsmaplayer.h.
|
inline |
Definition at line 111 of file qgsmaplayer.h.
|
inline |
Definition at line 113 of file qgsmaplayer.h.
void QgsMapLayer::setBlendMode | ( | const QPainter::CompositionMode & | blendMode | ) |
Write blend mode for layer.
Definition at line 135 of file qgsmaplayer.cpp.
References blendMode(), blendModeChanged(), and mBlendMode.
Referenced by QgsRasterLayer::readSymbology(), and QgsVectorLayer::readSymbology().
void QgsMapLayer::setCacheImage | ( | QImage * | ) |
Definition at line 1374 of file qgsmaplayer.cpp.
References repaintRequested().
void QgsMapLayer::setCrs | ( | const QgsCoordinateReferenceSystem & | srs, |
bool | emitSignal = true |
||
) |
Sets layer's spatial reference system.
Definition at line 777 of file qgsmaplayer.cpp.
References QgsCoordinateReferenceSystem::isValid(), layerCrsChanged(), mCRS, name(), QgsCoordinateReferenceSystem::setValidationHint(), tr, and QgsCoordinateReferenceSystem::validate().
Referenced by QgsVectorLayer::setCoordinateSystem(), and QgsRasterLayer::setDataProvider().
void QgsMapLayer::setCustomProperty | ( | const QString & | key, |
const QVariant & | value | ||
) |
Set a custom property for layer.
Properties are stored in a map and saved in project file.
Definition at line 1347 of file qgsmaplayer.cpp.
References mCustomProperties, and QgsObjectCustomProperties::setValue().
Referenced by _writeColor(), QgsOfflineEditing::copyVectorLayer(), QgsPalLayerSettings::readDataDefinedProperty(), QgsVectorLayer::readSldLabeling(), QgsRasterLayer::setDataProvider(), QgsPalLayerSettings::writeDataDefinedPropertyMap(), and QgsPalLayerSettings::writeToLayer().
|
inline |
Definition at line 105 of file qgsmaplayer.h.
|
inline |
Definition at line 107 of file qgsmaplayer.h.
|
inlineprotected |
Set error message.
Definition at line 482 of file qgsmaplayer.h.
Referenced by QgsRasterLayer::setDataProvider().
|
protectedvirtual |
Set the extent.
Reimplemented in QgsVectorLayer, and QgsPluginLayer.
Definition at line 1389 of file qgsmaplayer.cpp.
References mExtent.
Referenced by QgsRasterLayer::setDataProvider(), and QgsVectorLayer::setExtent().
|
inline |
Definition at line 101 of file qgsmaplayer.h.
void QgsMapLayer::setLayerName | ( | const QString & | name | ) |
Set the display name of the layer.
Write property of QString layerName.
name | New name for the layer |
Definition at line 98 of file qgsmaplayer.cpp.
References capitaliseLayerName(), layerNameChanged(), mLayerName, mLayerOrigName, name(), and QgsDebugMsg.
Referenced by readLayerXML(), QgsRasterLayer::setDataProvider(), and QgsVectorLayer::setDataProvider().
|
virtual |
Reorders the previously selected sublayers of this layer from bottom to top (Useful for providers that manage their own layers, such as WMS)
Reimplemented in QgsRasterLayer.
Definition at line 759 of file qgsmaplayer.cpp.
|
inline |
Definition at line 373 of file qgsmaplayer.h.
|
inline |
Definition at line 375 of file qgsmaplayer.h.
|
slot |
Accessor and mutator for the maximum scale denominator member.
Definition at line 743 of file qgsmaplayer.cpp.
References mMaxScale.
Referenced by QgsVectorLayer::applyNamedStyle(), loadNamedStyle(), and readLayerXML().
|
inline |
Definition at line 117 of file qgsmaplayer.h.
|
inline |
Definition at line 121 of file qgsmaplayer.h.
|
inline |
Definition at line 119 of file qgsmaplayer.h.
|
slot |
Accessor and mutator for the minimum scale denominator member.
Definition at line 732 of file qgsmaplayer.cpp.
References mMinScale.
Referenced by QgsVectorLayer::applyNamedStyle(), loadNamedStyle(), and readLayerXML().
|
virtual |
Set the visibility of the given sublayer name.
Reimplemented in QgsRasterLayer.
Definition at line 765 of file qgsmaplayer.cpp.
|
inline |
Definition at line 95 of file qgsmaplayer.h.
|
protected |
set whether layer is valid or not - should be used in constructor.
Definition at line 1369 of file qgsmaplayer.cpp.
References mValid.
QString const & QgsMapLayer::source | ( | ) | const |
Returns the source for the layer.
Definition at line 124 of file qgsmaplayer.cpp.
References mDataSource.
Referenced by QgsOfflineEditing::committedFeaturesAdded(), QgsOfflineEditing::copyVectorLayer(), and writeLayerXML().
|
signal |
Emit a signal with status (e.g.
to be caught by QgisApp and display a msg on status bar)
Referenced by QgsRasterLayer::QgsRasterLayer(), QgsRasterLayer::setDataProvider(), and QgsRasterLayer::showStatusMessage().
|
virtual |
Retrieve the style URI for this layer (either as a .qml file on disk or as a record in the users style table in their personal qgis.db)
Definition at line 806 of file qgsmaplayer.cpp.
References publicSource().
Referenced by loadDefaultStyle(), and saveDefaultStyle().
|
virtual |
Returns the sublayers of this layer (Useful for providers that manage their own layers, such as WMS)
Reimplemented in QgsRasterLayer.
Definition at line 754 of file qgsmaplayer.cpp.
|
inlinevirtualslot |
Time stamp of data source in the moment when data/metadata were loaded by provider.
Reimplemented in QgsRasterLayer.
Definition at line 410 of file qgsmaplayer.h.
Referenced by writeLayerXML().
|
inline |
Definition at line 96 of file qgsmaplayer.h.
Referenced by QgsLegendModel::addLayer(), QgsLegendModel::updateSymbolV2ItemText(), and writeLayerXML().
|
slot |
Accessor and mutator for the scale based visilibility flag.
Definition at line 722 of file qgsmaplayer.cpp.
References mScaleBasedVisibility.
Referenced by QgsVectorLayer::applyNamedStyle(), loadNamedStyle(), and readLayerXML().
QgsMapLayer::LayerType QgsMapLayer::type | ( | ) | const |
Get the type of the layer.
Definition at line 86 of file qgsmaplayer.cpp.
References mLayerType.
Referenced by QgsLegendModel::addLayer(), QgsMapLayerAction::canRunUsingLayer(), QgsRelation::createFromXML(), QgsMapLayerModel::data(), QgsMapRendererJob::drawOldLabeling(), QgsMapLayerProxyModel::filterAcceptsRow(), fromLayerDefinition(), QgsVectorLayer::geometryType(), QgsMapToolIdentify::identifyLayer(), QgsVectorLayer::metadata(), QgsMapRendererJob::needTemporaryImage(), QgsMapRendererJob::prepareJobs(), QgsRasterLayer::readXml(), QgsPluginLayerRegistry::removePluginLayerType(), and QgsMapRenderer::render().
QUndoStack * QgsMapLayer::undoStack | ( | ) |
Return pointer to layer's undo stack.
Definition at line 1341 of file qgsmaplayer.cpp.
References mUndoStack.
Referenced by QgsVectorLayerEditBuffer::addAttribute(), QgsVectorLayerEditBuffer::addFeature(), QgsVectorLayer::beginEditCommand(), QgsVectorLayerEditBuffer::changeAttributeValue(), QgsVectorLayerEditBuffer::changeGeometry(), QgsVectorLayer::commitChanges(), QgsVectorLayerEditBuffer::deleteAttribute(), QgsVectorLayerEditBuffer::deleteFeature(), QgsVectorLayer::destroyEditCommand(), QgsVectorLayer::endEditCommand(), QgsVectorLayerEditBuffer::isModified(), QgsVectorLayerEditBuffer::QgsVectorLayerEditBuffer(), QgsVectorLayerEditBuffer::rollBack(), and QgsVectorLayer::rollBack().
|
protected |
Write custom properties to project file.
Added in v1.4
Definition at line 683 of file qgsmaplayer.cpp.
References mCustomProperties, and QgsObjectCustomProperties::writeXml().
Referenced by writeLayerXML(), and QgsVectorLayer::writeSymbology().
bool QgsMapLayer::writeLayerXML | ( | QDomElement & | layerElement, |
QDomDocument & | document | ||
) |
stores state in Dom node
layerElement | is a Dom element corresponding to ``maplayer'' tag |
document | is a the dom document being written |
The Dom node corresponds to a Dom document project file XML element to be written by QgsProject.
This, in turn, calls writeXml(), which is over-rideable by sub-classes so that they can write their own specific state to the given Dom node.
Invoked by QgsProject::write().
Definition at line 432 of file qgsmaplayer.cpp.
References attribution(), attributionUrl(), QgsDataSourceURI::database(), dataUrl(), dataUrlFormat(), hasScaleBasedVisibility(), QgsDataSourceURI::host(), QgsProject::instance(), keywordList(), legendUrl(), legendUrlFormat(), maximumScale(), mCRS, metadataUrl(), metadataUrlFormat(), metadataUrlType(), minimumScale(), originalName(), QgsDataSourceURI::password(), QgsDataSourceURI::port(), QgsVectorLayer::providerType(), QgsDataSourceURI::setConnection(), source(), timestamp(), title(), QgsDataSourceURI::uri(), QgsDataSourceURI::username(), writeCustomProperties(), QgsProject::writePath(), QgsCoordinateReferenceSystem::writeXML(), and writeXml().
Referenced by asLayerDefinition(), and QgsProject::write().
|
pure virtual |
Write the symbology for the layer into the docment provided.
node | the node that will have the style element added to it. |
doc | the document that will have the QDomNode added. |
errorMessage | reference to string that will be updated with any error messages |
Implemented in QgsVectorLayer, and QgsRasterLayer.
Referenced by exportNamedStyle().
|
protectedvirtual |
called by writeLayerXML(), used by children to write state specific to them to project files.
Reimplemented in QgsVectorLayer, and QgsRasterLayer.
Definition at line 668 of file qgsmaplayer.cpp.
Referenced by writeLayerXML().
|
protected |
Description of the layer.
Definition at line 504 of file qgsmaplayer.h.
Referenced by readLayerXML().
|
protected |
Attribution of the layer.
Definition at line 512 of file qgsmaplayer.h.
Referenced by readLayerXML().
|
protected |
Definition at line 513 of file qgsmaplayer.h.
Referenced by readLayerXML().
|
private |
Blend mode for the layer.
Definition at line 545 of file qgsmaplayer.h.
Referenced by blendMode(), and setBlendMode().
|
private |
layer's spatial reference system.
private to make sure setCrs must be used and layerCrsChanged() is emitted
Definition at line 530 of file qgsmaplayer.h.
Referenced by crs(), QgsMapLayer(), readLayerXML(), setCrs(), writeLayerXML(), and ~QgsMapLayer().
|
private |
Layer's persistent storage of additional properties (may be used by plugins)
Definition at line 561 of file qgsmaplayer.h.
Referenced by customProperty(), readCustomProperties(), removeCustomProperty(), setCustomProperty(), and writeCustomProperties().
|
protected |
data source description string, varies by layer type
Definition at line 491 of file qgsmaplayer.h.
Referenced by QgsVectorLayer::getStyleFromDatabase(), QgsVectorLayer::listStylesInDatabase(), QgsVectorLayer::loadNamedStyle(), publicSource(), readLayerXML(), QgsRasterLayer::readXml(), QgsVectorLayer::readXml(), QgsVectorLayer::saveStyleToDatabase(), QgsRasterLayer::setDataProvider(), QgsVectorLayer::setDataProvider(), QgsVectorLayer::setSubsetString(), and source().
|
protected |
|
protected |
Definition at line 509 of file qgsmaplayer.h.
Referenced by readLayerXML().
|
protected |
Error.
Definition at line 525 of file qgsmaplayer.h.
|
protected |
Extent of the layer.
Definition at line 485 of file qgsmaplayer.h.
Referenced by extent(), QgsPluginLayer::setExtent(), and setExtent().
|
private |
Unique ID of this layer - used to refer to this layer in map layer registry.
Definition at line 539 of file qgsmaplayer.h.
Referenced by id(), QgsMapLayer(), and readLayerXML().
|
protected |
Definition at line 505 of file qgsmaplayer.h.
Referenced by readLayerXML().
|
protected |
Name of the layer - used for display.
Definition at line 494 of file qgsmaplayer.h.
Referenced by name(), QgsMapLayer(), QgsRasterLayer::setDataProvider(), and setLayerName().
|
protected |
Original name of the layer.
Definition at line 499 of file qgsmaplayer.h.
Referenced by QgsMapLayer(), and setLayerName().
|
private |
Type of the layer (eg.
vector, raster)
Definition at line 542 of file qgsmaplayer.h.
Referenced by type().
|
protected |
|
protected |
Definition at line 522 of file qgsmaplayer.h.
Referenced by readLayerXML().
|
private |
Maximum scale denominator at which this layer should be displayed.
Definition at line 553 of file qgsmaplayer.h.
Referenced by maximumScale(), QgsMapLayer(), and setMaximumScale().
|
protected |
MetadataUrl of the layer.
Definition at line 516 of file qgsmaplayer.h.
Referenced by readLayerXML().
|
protected |
Definition at line 518 of file qgsmaplayer.h.
Referenced by readLayerXML().
|
protected |
Definition at line 517 of file qgsmaplayer.h.
Referenced by readLayerXML().
|
private |
Minimum scale denominator at which this layer should be displayed.
Definition at line 551 of file qgsmaplayer.h.
Referenced by minimumScale(), QgsMapLayer(), and setMinimumScale().
|
private |
A flag that tells us whether to use the above vars to restrict layer visibility.
Definition at line 555 of file qgsmaplayer.h.
Referenced by hasScaleBasedVisibility(), QgsMapLayer(), and toggleScaleBasedVisibility().
|
private |
Tag for embedding additional information.
Definition at line 548 of file qgsmaplayer.h.
|
protected |
Definition at line 501 of file qgsmaplayer.h.
Referenced by readLayerXML().
|
private |
Collection of undoable operations for this layer.
Definition at line 558 of file qgsmaplayer.h.
Referenced by undoStack().
|
protected |
Indicates if the layer is valid and can be drawn.
Definition at line 488 of file qgsmaplayer.h.
Referenced by QgsRasterLayer::closeDataProvider(), isValid(), QgsRasterLayer::QgsRasterLayer(), QgsVectorLayer::QgsVectorLayer(), QgsRasterLayer::readXml(), QgsVectorLayer::readXml(), QgsRasterLayer::setDataProvider(), QgsVectorLayer::setDataProvider(), setValid(), QgsRasterLayer::update(), QgsRasterLayer::~QgsRasterLayer(), and QgsVectorLayer::~QgsVectorLayer().