QVariantMap QgsReclassifyAlgorithmBase::processAlgorithm( const QVariantMap ¶meters, QgsProcessingContext &context, QgsProcessingFeedback *feedback ) { QVector< QgsReclassifyUtils::RasterClass > classes = createClasses( mBoundsType, parameters, context, feedback ); QgsReclassifyUtils::reportClasses( classes, feedback ); QgsReclassifyUtils::checkForOverlaps( classes, feedback ); const QString outputFile = parameterAsOutputLayer( parameters, QStringLiteral( "OUTPUT" ), context ); QFileInfo fi( outputFile ); const QString outputFormat = QgsRasterFileWriter::driverForExtension( fi.suffix() ); std::unique_ptr< QgsRasterFileWriter > writer = qgis::make_unique< QgsRasterFileWriter >( outputFile ); writer->setOutputProviderKey( QStringLiteral( "gdal" ) ); writer->setOutputFormat( outputFormat ); std::unique_ptr<QgsRasterDataProvider > provider( writer->createOneBandRaster( mDataType, mNbCellsXProvider, mNbCellsYProvider, mExtent, mCrs ) ); if ( !provider ) throw QgsProcessingException( QObject::tr( "Could not create raster output: %1" ).arg( outputFile ) ); if ( !provider->isValid() ) throw QgsProcessingException( QObject::tr( "Could not create raster output %1: %2" ).arg( outputFile, provider->error().message( QgsErrorMessage::Text ) ) ); provider->setNoDataValue( 1, mNoDataValue ); QgsReclassifyUtils::reclassify( classes, mInterface.get(), mBand, mExtent, mNbCellsXProvider, mNbCellsYProvider, provider.get(), mNoDataValue, mUseNoDataForMissingValues, feedback ); QVariantMap outputs; outputs.insert( QStringLiteral( "OUTPUT" ), outputFile ); return outputs; }
DataPlot::DataPlot( QWidget* ) { createClasses(); SetPlotParameters(); SetGridParameters(); SetCurveParameters(); SetRCurveParameters(); plotDataPoints<< QPointF (0.0,0.0); }