mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-11-03 00:14:12 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			470 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			470 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
/************************************************************************
 | 
						|
 * This file has been generated automatically from                      *
 | 
						|
 *                                                                      *
 | 
						|
 * src/core/raster/qgsrasterblock.h                                     *
 | 
						|
 *                                                                      *
 | 
						|
 * Do not edit manually ! Edit header and run scripts/sipify.pl again   *
 | 
						|
 ************************************************************************/
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
class QgsRasterBlock
 | 
						|
{
 | 
						|
%Docstring(signature="appended")
 | 
						|
Raster data container.
 | 
						|
%End
 | 
						|
 | 
						|
%TypeHeaderCode
 | 
						|
#include "qgsrasterblock.h"
 | 
						|
%End
 | 
						|
  public:
 | 
						|
    QgsRasterBlock();
 | 
						|
 | 
						|
    QgsRasterBlock( Qgis::DataType dataType, int width, int height );
 | 
						|
%Docstring
 | 
						|
Constructor which allocates data block in memory
 | 
						|
 | 
						|
:param dataType: raster data type
 | 
						|
:param width: width of data matrix
 | 
						|
:param height: height of data matrix
 | 
						|
%End
 | 
						|
 | 
						|
    virtual ~QgsRasterBlock();
 | 
						|
 | 
						|
    bool reset( Qgis::DataType dataType, int width, int height );
 | 
						|
%Docstring
 | 
						|
Reset block
 | 
						|
 | 
						|
:param dataType: raster data type
 | 
						|
:param width: width of data matrix
 | 
						|
:param height: height of data matrix
 | 
						|
 | 
						|
:return: ``True`` on success
 | 
						|
%End
 | 
						|
 | 
						|
 | 
						|
    bool isValid() const /HoldGIL/;
 | 
						|
%Docstring
 | 
						|
Returns ``True`` if the block is valid (correctly filled with data).
 | 
						|
An empty block may still be valid (if zero size block was requested).
 | 
						|
If the block is not valid, error may be retrieved by :py:func:`~QgsRasterBlock.error` method.
 | 
						|
%End
 | 
						|
 | 
						|
    void setValid( bool valid ) /HoldGIL/;
 | 
						|
%Docstring
 | 
						|
Mark block as valid or invalid
 | 
						|
%End
 | 
						|
 | 
						|
    bool isEmpty() const;
 | 
						|
%Docstring
 | 
						|
Returns ``True`` if block is empty, i.e. its size is 0 (zero rows or cols).
 | 
						|
This method does not return ``True`` if size is not zero and all values are
 | 
						|
'no data' (null).
 | 
						|
%End
 | 
						|
 | 
						|
    static int typeSize( Qgis::DataType dataType ) /HoldGIL/;
 | 
						|
%Docstring
 | 
						|
Returns the size in bytes for the specified ``dataType``.
 | 
						|
%End
 | 
						|
 | 
						|
    int dataTypeSize() const /HoldGIL/;
 | 
						|
%Docstring
 | 
						|
Data type size in bytes.
 | 
						|
%End
 | 
						|
 | 
						|
    static bool typeIsNumeric( Qgis::DataType type );
 | 
						|
%Docstring
 | 
						|
Returns ``True`` if data type is numeric
 | 
						|
%End
 | 
						|
 | 
						|
    static bool typeIsColor( Qgis::DataType type );
 | 
						|
%Docstring
 | 
						|
Returns ``True`` if data type is color
 | 
						|
%End
 | 
						|
 | 
						|
    Qgis::DataType dataType() const  /HoldGIL/;
 | 
						|
%Docstring
 | 
						|
Returns data type
 | 
						|
%End
 | 
						|
 | 
						|
    static Qgis::DataType typeWithNoDataValue( Qgis::DataType dataType, double *noDataValue );
 | 
						|
%Docstring
 | 
						|
For given data type returns wider type and sets no data value
 | 
						|
%End
 | 
						|
 | 
						|
    bool hasNoDataValue() const /HoldGIL/;
 | 
						|
%Docstring
 | 
						|
``True`` if the block has no data value.
 | 
						|
 | 
						|
:return: ``True`` if the block has no data value
 | 
						|
 | 
						|
.. seealso:: :py:func:`noDataValue`
 | 
						|
%End
 | 
						|
 | 
						|
    bool hasNoData() const /HoldGIL/;
 | 
						|
%Docstring
 | 
						|
Returns ``True`` if the block may contain no data. It does not guarantee
 | 
						|
that it really contains any no data. It can be used to speed up processing.
 | 
						|
Not the difference between this method and :py:func:`~QgsRasterBlock.hasNoDataValue`.
 | 
						|
 | 
						|
:return: ``True`` if the block may contain no data
 | 
						|
%End
 | 
						|
 | 
						|
    void setNoDataValue( double noDataValue ) /HoldGIL/;
 | 
						|
%Docstring
 | 
						|
Sets cell value that will be considered as "no data".
 | 
						|
 | 
						|
.. seealso:: :py:func:`noDataValue`
 | 
						|
 | 
						|
.. versionadded:: 3.0
 | 
						|
%End
 | 
						|
 | 
						|
    void resetNoDataValue() /HoldGIL/;
 | 
						|
%Docstring
 | 
						|
Reset no data value: if there was a no data value previously set,
 | 
						|
it will be discarded.
 | 
						|
 | 
						|
.. seealso:: :py:func:`noDataValue`
 | 
						|
 | 
						|
.. versionadded:: 3.0
 | 
						|
%End
 | 
						|
 | 
						|
    double noDataValue() const /HoldGIL/;
 | 
						|
%Docstring
 | 
						|
Returns no data value. If the block does not have a no data value the
 | 
						|
returned value is undefined.
 | 
						|
 | 
						|
:return: No data value
 | 
						|
 | 
						|
.. seealso:: :py:func:`hasNoDataValue`
 | 
						|
%End
 | 
						|
 | 
						|
    static QByteArray valueBytes( Qgis::DataType dataType, double value );
 | 
						|
%Docstring
 | 
						|
Gets byte array representing a value.
 | 
						|
 | 
						|
:param dataType: data type
 | 
						|
:param value: value
 | 
						|
 | 
						|
:return: byte array representing the value
 | 
						|
%End
 | 
						|
 | 
						|
    double value( int row, int column ) const /HoldGIL/;
 | 
						|
%Docstring
 | 
						|
Read a single value if type of block is numeric. If type is color,
 | 
						|
returned value is undefined.
 | 
						|
 | 
						|
:param row: row index
 | 
						|
:param column: column index
 | 
						|
 | 
						|
:return: value
 | 
						|
 | 
						|
.. seealso:: :py:func:`valueAndNoData`
 | 
						|
%End
 | 
						|
 | 
						|
 | 
						|
    double value( qgssize index ) const /HoldGIL/;
 | 
						|
%Docstring
 | 
						|
Reads a single value if type of block is numeric. If type is color,
 | 
						|
returned value is undefined.
 | 
						|
 | 
						|
:param index: data matrix index (long type in Python)
 | 
						|
 | 
						|
:return: value
 | 
						|
 | 
						|
.. seealso:: :py:func:`valueAndNoData`
 | 
						|
%End
 | 
						|
 | 
						|
 | 
						|
 | 
						|
    QRgb color( int row, int column ) const /HoldGIL/;
 | 
						|
%Docstring
 | 
						|
Read a single color
 | 
						|
 | 
						|
:param row: row index
 | 
						|
:param column: column index
 | 
						|
 | 
						|
:return: color
 | 
						|
%End
 | 
						|
 | 
						|
    QRgb color( qgssize index ) const /HoldGIL/;
 | 
						|
%Docstring
 | 
						|
Read a single value
 | 
						|
 | 
						|
:param index: data matrix index (long type in Python)
 | 
						|
 | 
						|
:return: color
 | 
						|
%End
 | 
						|
 | 
						|
    bool isNoData( int row, int column ) const /HoldGIL/;
 | 
						|
%Docstring
 | 
						|
Checks if value at position is no data
 | 
						|
 | 
						|
:param row: row index
 | 
						|
:param column: column index
 | 
						|
 | 
						|
:return: ``True`` if value is no data
 | 
						|
 | 
						|
.. seealso:: :py:func:`valueAndNoData`
 | 
						|
%End
 | 
						|
 | 
						|
    bool isNoData( qgssize row, qgssize column ) const /HoldGIL/;
 | 
						|
%Docstring
 | 
						|
Check if value at position is no data
 | 
						|
 | 
						|
:param row: row index
 | 
						|
:param column: column index
 | 
						|
 | 
						|
:return: ``True`` if value is no data
 | 
						|
 | 
						|
.. seealso:: :py:func:`valueAndNoData`
 | 
						|
%End
 | 
						|
 | 
						|
    bool isNoData( qgssize index ) const /HoldGIL/;
 | 
						|
%Docstring
 | 
						|
Check if value at position is no data
 | 
						|
 | 
						|
:param index: data matrix index (long type in Python)
 | 
						|
 | 
						|
:return: ``True`` if value is no data
 | 
						|
 | 
						|
.. seealso:: :py:func:`valueAndNoData`
 | 
						|
%End
 | 
						|
 | 
						|
    bool setValue( int row, int column, double value ) /HoldGIL/;
 | 
						|
%Docstring
 | 
						|
Set value on position
 | 
						|
 | 
						|
:param row: row index
 | 
						|
:param column: column index
 | 
						|
:param value: the value to be set
 | 
						|
 | 
						|
:return: ``True`` on success
 | 
						|
%End
 | 
						|
 | 
						|
    bool setValue( qgssize index, double value ) /HoldGIL/;
 | 
						|
%Docstring
 | 
						|
Set value on index (indexed line by line)
 | 
						|
 | 
						|
:param index: data matrix index (long type in Python)
 | 
						|
:param value: the value to be set
 | 
						|
 | 
						|
:return: ``True`` on success
 | 
						|
%End
 | 
						|
 | 
						|
    bool setColor( int row, int column, QRgb color ) /HoldGIL/;
 | 
						|
%Docstring
 | 
						|
Set color on position
 | 
						|
 | 
						|
:param row: row index
 | 
						|
:param column: column index
 | 
						|
:param color: the color to be set, QRgb value
 | 
						|
 | 
						|
:return: ``True`` on success
 | 
						|
%End
 | 
						|
 | 
						|
    bool setColor( qgssize index, QRgb color ) /HoldGIL/;
 | 
						|
%Docstring
 | 
						|
Set color on index (indexed line by line)
 | 
						|
 | 
						|
:param index: data matrix index (long type in Python)
 | 
						|
:param color: the color to be set, QRgb value
 | 
						|
 | 
						|
:return: ``True`` on success
 | 
						|
%End
 | 
						|
 | 
						|
 | 
						|
    bool setIsNoData( int row, int column ) /HoldGIL/;
 | 
						|
%Docstring
 | 
						|
Set no data on pixel
 | 
						|
 | 
						|
:param row: row index
 | 
						|
:param column: column index
 | 
						|
 | 
						|
:return: ``True`` on success
 | 
						|
%End
 | 
						|
 | 
						|
    bool setIsNoData( qgssize index ) /HoldGIL/;
 | 
						|
%Docstring
 | 
						|
Set no data on pixel
 | 
						|
 | 
						|
:param index: data matrix index (long type in Python)
 | 
						|
 | 
						|
:return: ``True`` on success
 | 
						|
%End
 | 
						|
 | 
						|
    bool setIsNoData();
 | 
						|
%Docstring
 | 
						|
Set the whole block to no data
 | 
						|
 | 
						|
:return: ``True`` on success
 | 
						|
%End
 | 
						|
 | 
						|
    bool setIsNoDataExcept( QRect exceptRect );
 | 
						|
%Docstring
 | 
						|
Set the whole block to no data except specified rectangle
 | 
						|
 | 
						|
:return: ``True`` on success
 | 
						|
%End
 | 
						|
 | 
						|
    void setIsData( int row, int column ) /HoldGIL/;
 | 
						|
%Docstring
 | 
						|
Remove no data flag on pixel. If the raster block does not have an explicit
 | 
						|
no data value set then an internal map of no data pixels is maintained for the block.
 | 
						|
In this case it is possible to reset a pixel to flag it as having valid data using this
 | 
						|
method. This method has no effect for raster blocks with an explicit no data value set.
 | 
						|
 | 
						|
:param row: row index
 | 
						|
:param column: column index
 | 
						|
 | 
						|
.. versionadded:: 2.10
 | 
						|
%End
 | 
						|
 | 
						|
    void setIsData( qgssize index ) /HoldGIL/;
 | 
						|
%Docstring
 | 
						|
Remove no data flag on pixel. If the raster block does not have an explicit
 | 
						|
no data value set then an internal map of no data pixels is maintained for the block.
 | 
						|
In this case it is possible to reset a pixel to flag it as having valid data using this
 | 
						|
method. This method has no effect for raster blocks with an explicit no data value set.
 | 
						|
 | 
						|
:param index: data matrix index (long type in Python)
 | 
						|
 | 
						|
.. versionadded:: 2.10
 | 
						|
%End
 | 
						|
 | 
						|
    QByteArray data() const;
 | 
						|
%Docstring
 | 
						|
Gets access to raw data.
 | 
						|
The returned QByteArray instance is not a copy of the data: it only refers to the array
 | 
						|
owned by the QgsRasterBlock, therefore it is only valid while the QgsRasterBlock object
 | 
						|
still exists. Writing to the returned QByteArray will not affect the original data:
 | 
						|
a deep copy of the data will be made and only the local copy will be modified.
 | 
						|
 | 
						|
.. note::
 | 
						|
 | 
						|
   in Python the method returns ordinary bytes object as the
 | 
						|
 | 
						|
.. versionadded:: 3.0
 | 
						|
%End
 | 
						|
 | 
						|
    void setData( const QByteArray &data, int offset = 0 );
 | 
						|
%Docstring
 | 
						|
Rewrite raw pixel data.
 | 
						|
If the data array is shorter than the internal array within the raster block object,
 | 
						|
pixels at the end will stay untouched. If the data array is longer than the internal
 | 
						|
array, only the initial data from the input array will be used.
 | 
						|
Optionally it is possible to set non-zero offset (in bytes) if the input data should
 | 
						|
overwrite data somewhere in the middle of the internal buffer.
 | 
						|
 | 
						|
.. versionadded:: 3.0
 | 
						|
%End
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
    static QString printValue( double value );
 | 
						|
%Docstring
 | 
						|
Print double value with all necessary significant digits.
 | 
						|
It is ensured that conversion back to double gives the same number.
 | 
						|
 | 
						|
:param value: the value to be printed
 | 
						|
 | 
						|
:return: string representing the value
 | 
						|
%End
 | 
						|
 | 
						|
 | 
						|
    bool convert( Qgis::DataType destDataType );
 | 
						|
%Docstring
 | 
						|
Convert data to different type.
 | 
						|
 | 
						|
:param destDataType: dest data type
 | 
						|
 | 
						|
:return: ``True`` on success
 | 
						|
%End
 | 
						|
 | 
						|
    QImage image() const;
 | 
						|
%Docstring
 | 
						|
Returns an image containing the block data, if the block's data type is color.
 | 
						|
%End
 | 
						|
 | 
						|
    bool setImage( const QImage *image );
 | 
						|
%Docstring
 | 
						|
Sets the block data via an ``image``.
 | 
						|
 | 
						|
:return: ``True`` on success
 | 
						|
%End
 | 
						|
 | 
						|
 | 
						|
 | 
						|
    void applyNoDataValues( const QgsRasterRangeList &rangeList );
 | 
						|
 | 
						|
    void applyScaleOffset( double scale, double offset );
 | 
						|
%Docstring
 | 
						|
Apply band scale and offset to raster block values
 | 
						|
 | 
						|
.. versionadded:: 2.3
 | 
						|
%End
 | 
						|
 | 
						|
    QgsError error() const;
 | 
						|
%Docstring
 | 
						|
Returns the last error
 | 
						|
%End
 | 
						|
 | 
						|
    void setError( const QgsError &error );
 | 
						|
%Docstring
 | 
						|
Sets the last error
 | 
						|
%End
 | 
						|
 | 
						|
    QString toString() const;
 | 
						|
 | 
						|
    static QRect subRect( const QgsRectangle &extent, int width, int height, const QgsRectangle &subExtent );
 | 
						|
%Docstring
 | 
						|
For extent and width, height find rectangle covered by subextent.
 | 
						|
The output rect has x oriented from left to right and y from top to bottom
 | 
						|
(upper-left to lower-right orientation).
 | 
						|
 | 
						|
:param extent: extent, usually the larger
 | 
						|
:param width: numbers of columns in theExtent
 | 
						|
:param height: numbers of rows in theExtent
 | 
						|
:param subExtent: extent, usually smaller than theExtent
 | 
						|
 | 
						|
:return: the rectangle covered by sub extent
 | 
						|
%End
 | 
						|
 | 
						|
    int width() const /HoldGIL/;
 | 
						|
%Docstring
 | 
						|
Returns the width (number of columns) of the raster block.
 | 
						|
 | 
						|
.. seealso:: :py:func:`height`
 | 
						|
 | 
						|
.. versionadded:: 2.10
 | 
						|
%End
 | 
						|
 | 
						|
    int height() const /HoldGIL/;
 | 
						|
%Docstring
 | 
						|
Returns the height (number of rows) of the raster block.
 | 
						|
 | 
						|
.. seealso:: :py:func:`width`
 | 
						|
 | 
						|
.. versionadded:: 2.10
 | 
						|
%End
 | 
						|
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
/************************************************************************
 | 
						|
 * This file has been generated automatically from                      *
 | 
						|
 *                                                                      *
 | 
						|
 * src/core/raster/qgsrasterblock.h                                     *
 | 
						|
 *                                                                      *
 | 
						|
 * Do not edit manually ! Edit header and run scripts/sipify.pl again   *
 | 
						|
 ************************************************************************/
 |