mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-11-04 00:04:25 -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 QgsRect & 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 getMetadata() = 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 errorCaptionString() = 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 errorString() = 0;
 | 
						|
 | 
						|
 | 
						|
protected:
 | 
						|
 | 
						|
};
 | 
						|
 |