mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-24 00:47:57 -05:00
128 lines
3.8 KiB
Plaintext
128 lines
3.8 KiB
Plaintext
|
|
/** Base class for raster data providers
|
|
*
|
|
* \note This class has been copied and pasted from
|
|
* QgsVectorDataProvider, and does not yet make
|
|
* sense for Raster layers.
|
|
*/
|
|
|
|
class QgsRasterDataProvider : QgsDataProvider
|
|
{
|
|
%TypeHeaderCode
|
|
#include <qgsrasterdataprovider.h>
|
|
%End
|
|
|
|
public:
|
|
|
|
//! If you add to this, please also add to capabilitiesString()
|
|
enum Capability
|
|
{
|
|
NoCapabilities = 0,
|
|
Identify = 1
|
|
// Capability2 = 1 << 1, etc
|
|
};
|
|
|
|
|
|
QgsRasterDataProvider();
|
|
|
|
QgsRasterDataProvider( const QString & uri );
|
|
|
|
virtual ~QgsRasterDataProvider();
|
|
|
|
/**
|
|
* Add the list of WMS layer names to be rendered by this server
|
|
*/
|
|
virtual void addLayers(const QStringList & layers,
|
|
const QStringList & styles = QStringList()) = 0;
|
|
|
|
//! get raster image encodings supported by (e.g.) the WMS Server, expressed as MIME types
|
|
virtual QStringList supportedImageEncodings() = 0;
|
|
|
|
/**
|
|
* Get the image encoding (as a MIME type) used in the transfer from (e.g.) the WMS server
|
|
*/
|
|
virtual QString imageEncoding() const = 0;
|
|
|
|
/**
|
|
* Set the image encoding (as a MIME type) used in the transfer from (e.g.) the WMS server
|
|
*/
|
|
virtual void setImageEncoding(const QString & mimeType) = 0;
|
|
|
|
/**
|
|
* Set the image projection (in WMS CRS format) used in the transfer from (e.g.) the WMS server
|
|
*/
|
|
virtual void setImageCrs(const QString & crs) = 0;
|
|
|
|
|
|
// TODO: Document this better.
|
|
/** \brief Renders the layer as an image
|
|
*/
|
|
virtual QImage* draw(const QgsRectangle & viewExtent, int pixelWidth, int pixelHeight) = 0;
|
|
|
|
/** Returns a bitmask containing the supported capabilities
|
|
Note, some capabilities may change depending on whether
|
|
a spatial filter is active on this provider, so it may
|
|
be prudent to check this value per intended operation.
|
|
*/
|
|
virtual int capabilities() const;
|
|
|
|
/**
|
|
* Returns the above in friendly format.
|
|
*/
|
|
QString capabilitiesString() const;
|
|
|
|
|
|
// TODO: Get the supported formats by this provider
|
|
|
|
// TODO: Get the file masks supported by this provider, suitable for feeding into the file open dialog box
|
|
|
|
|
|
/**
|
|
* Get metadata in a format suitable for feeding directly
|
|
* into a subset of the GUI raster properties "Metadata" tab.
|
|
*/
|
|
virtual QString metadata() = 0;
|
|
|
|
/**
|
|
* \brief Identify details from a server (e.g. WMS) from the last screen update
|
|
*
|
|
* \param point[in] The pixel coordinate (as it was displayed locally on screen)
|
|
*
|
|
* \return A text document containing the return from the WMS server
|
|
*
|
|
* \note WMS Servers prefer to receive coordinates in image space, therefore
|
|
* this function expects coordinates in that format.
|
|
*
|
|
* \note The arbitraryness of the returned document is enforced by WMS standards
|
|
* up to at least v1.3.0
|
|
*/
|
|
virtual QString identifyAsText(const QgsPoint& point) = 0;
|
|
|
|
/**
|
|
* \brief Returns the caption error text for the last error in this provider
|
|
*
|
|
* If an operation returns 0 (e.g. draw()), this function
|
|
* returns the text of the error associated with the failure.
|
|
* Interactive users of this provider can then, for example,
|
|
* call a QMessageBox to display the contents.
|
|
*
|
|
*/
|
|
virtual QString lastErrorTitle() = 0;
|
|
|
|
/**
|
|
* \brief Returns the verbose error text for the last error in this provider
|
|
*
|
|
* If an operation returns 0 (e.g. draw()), this function
|
|
* returns the text of the error associated with the failure.
|
|
* Interactive users of this provider can then, for example,
|
|
* call a QMessageBox to display the contents.
|
|
*
|
|
*/
|
|
virtual QString lastError() = 0;
|
|
|
|
|
|
protected:
|
|
|
|
};
|
|
|