QGIS API Documentation
2.6.0-Brighton
|
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. | |
void | setMinimumScale (float theMinScale) |
Accessor and mutator for the minimum scale denominator member. | |
float | minimumScale () const |
void | setMaximumScale (float theMaxScale) |
Accessor and mutator for the maximum scale denominator member. | |
float | maximumScale () const |
void | toggleScaleBasedVisibility (bool theVisibilityFlag) |
Accessor and mutator for the scale based visilibility flag. | |
bool | hasScaleBasedVisibility () const |
Q_DECL_DEPRECATED void | clearCacheImage () |
Clear cached image. | |
void | triggerRepaint () |
Will advice the map canvas (and any other interested party) that this layer requires to be repainted. | |
virtual QString | metadata () |
Obtain Metadata for this layer. | |
virtual QDateTime | timestamp () const |
Time stamp of data source in the moment when data/metadata were loaded by provider. |
Signals | |
void | drawingProgress (int theProgress, int theTotalSteps) |
void | statusChanged (QString theStatus) |
Emit a signal with status (e.g. | |
void | layerNameChanged () |
Emit a signal that the layer name has been changed. | |
void | layerCrsChanged () |
Emit a signal that layer's CRS has been reset. | |
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. | |
void | screenUpdateRequested () |
void | recalculateExtents () |
This is used to send a request that any mapcanvas using this layer update its extents. | |
void | dataChanged () |
data of layer changed | |
void | blendModeChanged (const QPainter::CompositionMode &blendMode) |
Signal emitted when the blend mode is changed, through QgsMapLayer::setBlendMode() | |
void | rendererChanged () |
Signal emitted when renderer is changed. | |
void | legendChanged () |
Signal emitted when legend of the layer has changed. |
Public Member Functions | |
QgsMapLayer (QgsMapLayer::LayerType type=VectorLayer, QString lyrname=QString::null, QString source=QString::null) | |
Constructor. | |
virtual | ~QgsMapLayer () |
Destructor. | |
QgsMapLayer::LayerType | type () const |
Get the type of the layer. | |
QString | id () const |
Get this layer's unique ID, this ID is used to access this layer from map layer registry. | |
void | setLayerName (const QString &name) |
Set the display name of the layer. | |
const QString & | name () const |
Get the display name of the layer. | |
const QString & | originalName () const |
Get the original name of the layer. | |
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. | |
QPainter::CompositionMode | blendMode () const |
Read blend mode for layer. | |
virtual void | reload () |
Synchronises with changes in the datasource. | |
virtual QgsMapLayerRenderer * | createMapRenderer (QgsRenderContext &rendererContext) |
Return new instance of QgsMapLayerRenderer that will be used for rendering of given context. | |
virtual bool | draw (QgsRenderContext &rendererContext) |
This is the method that does the actual work of drawing the layer onto a paint device. | |
virtual void | drawLabels (QgsRenderContext &rendererContext) |
Draw labels. | |
virtual QgsRectangle | extent () |
Return the extent of the layer. | |
bool | isValid () |
QString | publicSource () const |
const QString & | source () const |
Returns the source for the layer. | |
virtual QStringList | subLayers () const |
Returns the sublayers of this layer (Useful for providers that manage their own layers, such as WMS) | |
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) | |
virtual void | setSubLayerVisibility (QString name, bool vis) |
Set the visibility of the given sublayer name. | |
virtual bool | isEditable () const |
True if the layer can be edited. | |
bool | readLayerXML (const QDomElement &layerElement) |
sets state from Dom document | |
bool | writeLayerXML (QDomElement &layerElement, QDomDocument &document, QString relativeBasePath=QString::null) |
stores state in Dom node | |
void | setCustomProperty (const QString &key, const QVariant &value) |
Set a custom property for layer. | |
QVariant | customProperty (const QString &value, const QVariant &defaultValue=QVariant()) const |
Read a custom property from layer. | |
void | removeCustomProperty (const QString &key) |
Remove a custom property from layer. | |
virtual Q_DECL_DEPRECATED QString | lastErrorTitle () |
virtual Q_DECL_DEPRECATED QString | lastError () |
virtual QgsError | error () const |
Get current status error. | |
const QgsCoordinateReferenceSystem & | crs () const |
Returns layer's spatial reference system. | |
void | setCrs (const QgsCoordinateReferenceSystem &srs, bool emitSignal=true) |
Sets layer's spatial reference system. | |
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) | |
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) | |
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) | |
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. | |
virtual void | exportSldStyle (QDomDocument &doc, QString &errorMsg) |
Export the properties of this layer as SLD style in a QDomDocument. | |
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) | |
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) | |
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. | |
virtual bool | writeSymbology (QDomNode &node, QDomDocument &doc, QString &errorMessage) const =0 |
Write the symbology for the layer into the docment provided. | |
QUndoStack * | undoStack () |
Return pointer to layer's undo stack. | |
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 () |
void | setLegend (QgsMapLayerLegend *legend) |
Assign a legend controller to the map layer. | |
QgsMapLayerLegend * | legend () const |
Can be null. |
Static Public Member Functions | |
static QDomDocument | asLayerDefinition (QList< QgsMapLayer * > layers, QString relativeBasePath=QString::null) |
Returns the given layer as a layer definition document Layer definitions store the data source as well as styling and custom properties. | |
static QList< QgsMapLayer * > | fromLayerDefinition (QDomDocument &document) |
Creates a new layer from a layer defininition document. | |
static QList< QgsMapLayer * > | fromLayerDefinitionFile (const QString qlrfile) |
static QString | capitaliseLayerName (const QString &name) |
A convenience function to (un)capitalise the layer name. |
Protected Member Functions | |
virtual void | setExtent (const QgsRectangle &rect) |
Set the extent. | |
void | setValid (bool valid) |
set whether layer is valid or not - should be used in constructor. | |
virtual bool | readXml (const QDomNode &layer_node) |
called by readLayerXML(), used by children to read state specific to them from project files. | |
virtual bool | writeXml (QDomNode &layer_node, QDomDocument &document) |
called by writeLayerXML(), used by children to write state specific to them to project files. | |
void | readCustomProperties (const QDomNode &layerNode, const QString &keyStartsWith="") |
Read custom properties from project file. | |
void | writeCustomProperties (QDomNode &layerNode, QDomDocument &doc) const |
Write custom properties to project file. | |
void | connectNotify (const char *signal) |
debugging member - invoked when a connect() is made to this object | |
void | appendError (const QgsErrorMessage &theMessage) |
Add error message. | |
void | setError (const QgsError &theError) |
Set error message. |
Protected Attributes | |
QgsRectangle | mExtent |
Extent of the layer. | |
bool | mValid |
Indicates if the layer is valid and can be drawn. | |
QString | mDataSource |
data source description string, varies by layer type | |
QString | mLayerName |
Name of the layer - used for display. | |
QString | mLayerOrigName |
Original name of the layer. | |
QString | mTitle |
QString | mAbstract |
Description of the layer. | |
QString | mKeywordList |
QString | mDataUrl |
DataUrl of the layer. | |
QString | mDataUrlFormat |
QString | mAttribution |
Attribution of the layer. | |
QString | mAttributionUrl |
QString | mMetadataUrl |
MetadataUrl of the layer. | |
QString | mMetadataUrlType |
QString | mMetadataUrlFormat |
QString | mLegendUrl |
WMS legend. | |
QString | mLegendUrlFormat |
QgsError | mError |
Error. |
Base class for all map layer types.
This is the base class for all map layer types (vector, raster).
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 |
|
virtual |
Destructor.
|
inline |
|
inlineprotected |
Add error message.
|
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.
|
inline |
|
inline |
QPainter::CompositionMode QgsMapLayer::blendMode | ( | ) | const |
Read blend mode for layer.
|
signal |
Signal emitted when the blend mode is changed, through QgsMapLayer::setBlendMode()
|
inline |
|
static |
A convenience function to (un)capitalise the layer name.
|
slot |
Clear cached image.
|
protected |
debugging member - invoked when a connect() is made to this object
|
inlinevirtual |
Return new instance of QgsMapLayerRenderer that will be used for rendering of given context.
Reimplemented in QgsVectorLayer, QgsRasterLayer, and QgsPluginLayer.
const QgsCoordinateReferenceSystem & QgsMapLayer::crs | ( | ) | const |
Returns layer's spatial reference system.
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.
|
signal |
data of layer changed
|
inline |
|
inline |
|
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.
|
signal |
|
virtual |
|
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.
|
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 |
|
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 |
|
virtual |
Return the extent of the layer.
Reimplemented in QgsVectorLayer.
|
static |
Creates a new layer from a layer defininition document.
|
static |
|
slot |
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.
|
virtualslot |
Event handler for when a coordinate transform fails due to bad vertex error.
|
virtual |
True if the layer can be edited.
Reimplemented in QgsVectorLayer.
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
|
inline |
|
virtual |
|
virtual |
|
signal |
Emit a signal that layer's CRS has been reset.
|
signal |
Emit a signal that the layer name has been changed.
QgsMapLayerLegend * QgsMapLayer::legend | ( | ) | const |
Can be null.
|
signal |
Signal emitted when legend of the layer has changed.
|
inline |
|
inline |
|
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. |
|
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.
|
virtual |
|
virtual |
|
slot |
|
virtualslot |
Obtain Metadata for this layer.
Reimplemented in QgsVectorLayer, and QgsRasterLayer.
|
inline |
|
inline |
|
inline |
|
slot |
QString const & QgsMapLayer::name | ( | ) | const |
Get the display name of the layer.
Read property of QString layerName.
|
inlinevirtual |
|
inline |
Get the original name of the layer.
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.
|
protected |
Read custom properties from project file.
layerNode | note to read from |
keyStartsWith | reads only properties starting with the specified string (or all if the string is empty) |
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().
|
inlinevirtual |
Reimplemented in QgsVectorLayer.
|
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.
|
protectedvirtual |
called by readLayerXML(), used by children to read state specific to them from project files.
Reimplemented in QgsVectorLayer, and QgsRasterLayer.
|
signal |
This is used to send a request that any mapcanvas using this layer update its extents.
|
inlinevirtual |
Synchronises with changes in the datasource.
Reimplemented in QgsVectorLayer, and QgsRasterLayer.
void QgsMapLayer::removeCustomProperty | ( | const QString & | key | ) |
Remove a custom property from layer.
Properties are stored in a map and saved in project file.
|
signal |
Signal emitted when renderer is changed.
|
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.
|
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. |
|
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. |
|
virtual |
|
signal |
|
inline |
|
inline |
|
inline |
void QgsMapLayer::setBlendMode | ( | const QPainter::CompositionMode & | blendMode | ) |
Write blend mode for layer.
void QgsMapLayer::setCacheImage | ( | QImage * | ) |
void QgsMapLayer::setCrs | ( | const QgsCoordinateReferenceSystem & | srs, |
bool | emitSignal = true |
||
) |
Sets layer's spatial reference system.
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.
|
inline |
|
inline |
|
inlineprotected |
Set error message.
|
protectedvirtual |
Set the extent.
Reimplemented in QgsVectorLayer, and QgsPluginLayer.
|
inline |
void QgsMapLayer::setLayerName | ( | const QString & | name | ) |
Set the display name of the layer.
Write property of QString layerName.
name | New name for the layer |
|
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.
void QgsMapLayer::setLegend | ( | QgsMapLayerLegend * | legend | ) |
Assign a legend controller to the map layer.
The object will be responsible for providing legend items.
legend | Takes ownership of the object. Can be null pointer |
|
inline |
|
inline |
|
slot |
Accessor and mutator for the maximum scale denominator member.
|
inline |
|
inline |
|
inline |
|
slot |
Accessor and mutator for the minimum scale denominator member.
|
virtual |
Set the visibility of the given sublayer name.
Reimplemented in QgsRasterLayer.
|
inline |
|
protected |
set whether layer is valid or not - should be used in constructor.
QString const & QgsMapLayer::source | ( | ) | const |
Returns the source for the layer.
|
signal |
Emit a signal with status (e.g.
to be caught by QgisApp and display a msg on status bar)
|
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)
|
virtual |
Returns the sublayers of this layer (Useful for providers that manage their own layers, such as WMS)
Reimplemented in QgsRasterLayer.
|
inlinevirtualslot |
Time stamp of data source in the moment when data/metadata were loaded by provider.
Reimplemented in QgsRasterLayer.
|
inline |
|
slot |
Accessor and mutator for the scale based visilibility flag.
|
slot |
Will advice the map canvas (and any other interested party) that this layer requires to be repainted.
Will emit a repaintRequested() signal.
QgsMapLayer::LayerType QgsMapLayer::type | ( | ) | const |
Get the type of the layer.
QUndoStack * QgsMapLayer::undoStack | ( | ) |
Return pointer to layer's undo stack.
|
protected |
Write custom properties to project file.
bool QgsMapLayer::writeLayerXML | ( | QDomElement & | layerElement, |
QDomDocument & | document, | ||
QString | relativeBasePath = QString::null |
||
) |
stores state in Dom node
layerElement | is a Dom element corresponding to ``maplayer'' tag |
document | is a the dom document being written |
relativeBasePath | base path for relative paths |
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().
|
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.
|
protectedvirtual |
called by writeLayerXML(), used by children to write state specific to them to project files.
Reimplemented in QgsVectorLayer, and QgsRasterLayer.
|
protected |
Description of the layer.
|
protected |
Attribution of the layer.
|
protected |
|
protected |
data source description string, varies by layer type
|
protected |
DataUrl of the layer.
|
protected |
|
protected |
Error.
|
protected |
Extent of the layer.
|
protected |
|
protected |
Name of the layer - used for display.
|
protected |
Original name of the layer.
|
protected |
WMS legend.
|
protected |
|
protected |
MetadataUrl of the layer.
|
protected |
|
protected |
|
protected |
|
protected |
Indicates if the layer is valid and can be drawn.