diff --git a/python/PyQt6/analysis/auto_generated/raster/qgsrastercalculator.sip.in b/python/PyQt6/analysis/auto_generated/raster/qgsrastercalculator.sip.in index 2d8483b60c7..f98330f05ff 100644 --- a/python/PyQt6/analysis/auto_generated/raster/qgsrastercalculator.sip.in +++ b/python/PyQt6/analysis/auto_generated/raster/qgsrastercalculator.sip.in @@ -146,6 +146,24 @@ The optional ``feedback`` argument can be used for progress reporting and cancel Returns a description of the last error encountered. .. versionadded:: 3.4 +%End + + void setCreateOptions( const QStringList &list ); +%Docstring +Sets a list of data source creation options to use when creating the output raster file. + +.. seealso:: :py:func:`createOptions` + +.. versionadded:: 3.44 +%End + + QStringList createOptions() const; +%Docstring +Returns the list of data source creation options which will be used when creating the output raster file. + +.. seealso:: :py:func:`setCreateOptions` + +.. versionadded:: 3.44 %End }; diff --git a/python/analysis/auto_generated/raster/qgsrastercalculator.sip.in b/python/analysis/auto_generated/raster/qgsrastercalculator.sip.in index 95338847590..f4f90e85154 100644 --- a/python/analysis/auto_generated/raster/qgsrastercalculator.sip.in +++ b/python/analysis/auto_generated/raster/qgsrastercalculator.sip.in @@ -146,6 +146,24 @@ The optional ``feedback`` argument can be used for progress reporting and cancel Returns a description of the last error encountered. .. versionadded:: 3.4 +%End + + void setCreateOptions( const QStringList &list ); +%Docstring +Sets a list of data source creation options to use when creating the output raster file. + +.. seealso:: :py:func:`createOptions` + +.. versionadded:: 3.44 +%End + + QStringList createOptions() const; +%Docstring +Returns the list of data source creation options which will be used when creating the output raster file. + +.. seealso:: :py:func:`setCreateOptions` + +.. versionadded:: 3.44 %End }; diff --git a/src/analysis/raster/qgsrastercalculator.cpp b/src/analysis/raster/qgsrastercalculator.cpp index dbd91e0d2b7..27d897babad 100644 --- a/src/analysis/raster/qgsrastercalculator.cpp +++ b/src/analysis/raster/qgsrastercalculator.cpp @@ -698,7 +698,7 @@ GDALDriverH QgsRasterCalculator::openOutputDriver() gdal::dataset_unique_ptr QgsRasterCalculator::openOutputFile( GDALDriverH outputDriver ) { //open output file - char **papszOptions = nullptr; + char **papszOptions = QgsGdalUtils::papszFromStringList( mCreateOptions ); gdal::dataset_unique_ptr outputDataset( GDALCreate( outputDriver, mOutputFile.toUtf8().constData(), mNumOutputColumns, mNumOutputRows, 1, GDT_Float32, papszOptions ) ); if ( !outputDataset ) { diff --git a/src/analysis/raster/qgsrastercalculator.h b/src/analysis/raster/qgsrastercalculator.h index ab8530e291a..3ff1b6251dc 100644 --- a/src/analysis/raster/qgsrastercalculator.h +++ b/src/analysis/raster/qgsrastercalculator.h @@ -160,6 +160,22 @@ class ANALYSIS_EXPORT QgsRasterCalculator */ QString lastError() const; + /** + * Sets a list of data source creation options to use when creating the output raster file. + * + * \see createOptions() + * \since QGIS 3.44 + */ + void setCreateOptions( const QStringList &list ) { mCreateOptions = list; } + + /** + * Returns the list of data source creation options which will be used when creating the output raster file. + * + * \see setCreateOptions() + * \since QGIS 3.44 + */ + QStringList createOptions() const { return mCreateOptions; } + private: //default constructor forbidden. We need formula, output file, output format and output raster resolution obligatory QgsRasterCalculator() = delete; @@ -199,6 +215,7 @@ class ANALYSIS_EXPORT QgsRasterCalculator int mNumOutputRows = 0; QString mLastError; + QStringList mCreateOptions; /***/ QVector mRasterEntries;