From 4354dcf6fe865bdea1dc6355adfaaa31979a9894 Mon Sep 17 00:00:00 2001 From: Nyall Dawson Date: Fri, 9 Sep 2022 11:45:23 +1000 Subject: [PATCH] Default grid size parameters to not set --- .../processing/qgsalgorithmcalculateoverlaps.cpp | 10 ++++++---- src/analysis/processing/qgsalgorithmdifference.cpp | 13 +++++++++---- .../processing/qgsalgorithmintersection.cpp | 12 +++++++----- .../qgsalgorithmsymmetricaldifference.cpp | 10 ++++++---- src/analysis/processing/qgsalgorithmunion.cpp | 10 ++++++---- 5 files changed, 34 insertions(+), 21 deletions(-) diff --git a/src/analysis/processing/qgsalgorithmcalculateoverlaps.cpp b/src/analysis/processing/qgsalgorithmcalculateoverlaps.cpp index e003829ecb0b..a4dc06a86417 100644 --- a/src/analysis/processing/qgsalgorithmcalculateoverlaps.cpp +++ b/src/analysis/processing/qgsalgorithmcalculateoverlaps.cpp @@ -53,8 +53,8 @@ void QgsCalculateVectorOverlapsAlgorithm::initAlgorithm( const QVariantMap & ) addParameter( new QgsProcessingParameterMultipleLayers( QStringLiteral( "LAYERS" ), QObject::tr( "Overlay layers" ), QgsProcessing::TypeVectorPolygon ) ); addParameter( new QgsProcessingParameterFeatureSink( QStringLiteral( "OUTPUT" ), QObject::tr( "Overlap" ) ) ); - std::unique_ptr< QgsProcessingParameterNumber > gridSize = std::make_unique< QgsProcessingParameterNumber >( QStringLiteral( "GRIDSIZE" ), - QObject::tr( "Grid size" ), QgsProcessingParameterNumber::Double, QVariant( - 1 ), true ); + std::unique_ptr< QgsProcessingParameterNumber > gridSize = std::make_unique< QgsProcessingParameterNumber >( QStringLiteral( "GRID_SIZE" ), + QObject::tr( "Grid size" ), QgsProcessingParameterNumber::Double, QVariant(), true, 0 ); gridSize->setFlags( gridSize->flags() | QgsProcessingParameterDefinition::FlagAdvanced ); addParameter( gridSize.release() ); } @@ -135,9 +135,11 @@ QVariantMap QgsCalculateVectorOverlapsAlgorithm::processAlgorithm( const QVarian da.setSourceCrs( mCrs, context.transformContext() ); da.setEllipsoid( context.ellipsoid() ); - const double gridSize = parameterAsDouble( parameters, QStringLiteral( "GRIDSIZE" ), context ); QgsGeometryParameters geometryParameters; - geometryParameters.setGridSize( gridSize ); + if ( parameters.value( QStringLiteral( "GRID_SIZE" ) ).isValid() ) + { + geometryParameters.setGridSize( parameterAsDouble( parameters, QStringLiteral( "GRID_SIZE" ), context ) ); + } // loop through input const double step = mInputCount > 0 ? 100.0 / mInputCount : 0; diff --git a/src/analysis/processing/qgsalgorithmdifference.cpp b/src/analysis/processing/qgsalgorithmdifference.cpp index 70f913fe6c58..e311f97425c1 100644 --- a/src/analysis/processing/qgsalgorithmdifference.cpp +++ b/src/analysis/processing/qgsalgorithmdifference.cpp @@ -83,8 +83,9 @@ void QgsDifferenceAlgorithm::initAlgorithm( const QVariantMap & ) addParameter( new QgsProcessingParameterFeatureSource( QStringLiteral( "INPUT" ), QObject::tr( "Input layer" ) ) ); addParameter( new QgsProcessingParameterFeatureSource( QStringLiteral( "OVERLAY" ), QObject::tr( "Overlay layer" ) ) ); addParameter( new QgsProcessingParameterFeatureSink( QStringLiteral( "OUTPUT" ), QObject::tr( "Difference" ) ) ); - std::unique_ptr< QgsProcessingParameterNumber > gridSize = std::make_unique< QgsProcessingParameterNumber >( QStringLiteral( "GRIDSIZE" ), - QObject::tr( "Grid size" ), QgsProcessingParameterNumber::Double, QVariant( - 1 ), true ); + + std::unique_ptr< QgsProcessingParameterNumber > gridSize = std::make_unique< QgsProcessingParameterNumber >( QStringLiteral( "GRID_SIZE" ), + QObject::tr( "Grid size" ), QgsProcessingParameterNumber::Double, QVariant(), true, 0 ); gridSize->setFlags( gridSize->flags() | QgsProcessingParameterDefinition::FlagAdvanced ); addParameter( gridSize.release() ); } @@ -112,9 +113,13 @@ QVariantMap QgsDifferenceAlgorithm::processAlgorithm( const QVariantMap ¶met long count = 0; const long total = sourceA->featureCount(); - const double gridSize = parameterAsDouble( parameters, QStringLiteral( "GRIDSIZE" ), context ); + QgsGeometryParameters geometryParameters; - geometryParameters.setGridSize( gridSize ); + if ( parameters.value( QStringLiteral( "GRID_SIZE" ) ).isValid() ) + { + geometryParameters.setGridSize( parameterAsDouble( parameters, QStringLiteral( "GRID_SIZE" ), context ) ); + } + QgsOverlayUtils::difference( *sourceA, *sourceB, *sink, context, feedback, count, total, QgsOverlayUtils::OutputA, geometryParameters ); return outputs; diff --git a/src/analysis/processing/qgsalgorithmintersection.cpp b/src/analysis/processing/qgsalgorithmintersection.cpp index c20739092c5c..c7e61a2e7008 100644 --- a/src/analysis/processing/qgsalgorithmintersection.cpp +++ b/src/analysis/processing/qgsalgorithmintersection.cpp @@ -74,11 +74,10 @@ void QgsIntersectionAlgorithm::initAlgorithm( const QVariantMap & ) addParameter( new QgsProcessingParameterFeatureSink( QStringLiteral( "OUTPUT" ), QObject::tr( "Intersection" ) ) ); - std::unique_ptr< QgsProcessingParameterNumber > gridSize = std::make_unique< QgsProcessingParameterNumber >( QStringLiteral( "GRIDSIZE" ), - QObject::tr( "Grid size" ), QgsProcessingParameterNumber::Double, QVariant( - 1 ), true ); + std::unique_ptr< QgsProcessingParameterNumber > gridSize = std::make_unique< QgsProcessingParameterNumber >( QStringLiteral( "GRID_SIZE" ), + QObject::tr( "Grid size" ), QgsProcessingParameterNumber::Double, QVariant(), true, 0 ); gridSize->setFlags( gridSize->flags() | QgsProcessingParameterDefinition::FlagAdvanced ); addParameter( gridSize.release() ); - } @@ -116,9 +115,12 @@ QVariantMap QgsIntersectionAlgorithm::processAlgorithm( const QVariantMap ¶m long count = 0; const long total = sourceA->featureCount(); - const double gridSize = parameterAsDouble( parameters, QStringLiteral( "GRIDSIZE" ), context ); + QgsGeometryParameters geometryParameters; - geometryParameters.setGridSize( gridSize ); + if ( parameters.value( QStringLiteral( "GRID_SIZE" ) ).isValid() ) + { + geometryParameters.setGridSize( parameterAsDouble( parameters, QStringLiteral( "GRID_SIZE" ), context ) ); + } QgsOverlayUtils::intersection( *sourceA, *sourceB, *sink, context, feedback, count, total, fieldIndicesA, fieldIndicesB, geometryParameters ); diff --git a/src/analysis/processing/qgsalgorithmsymmetricaldifference.cpp b/src/analysis/processing/qgsalgorithmsymmetricaldifference.cpp index 8803b5d423f3..21d1cadd175d 100644 --- a/src/analysis/processing/qgsalgorithmsymmetricaldifference.cpp +++ b/src/analysis/processing/qgsalgorithmsymmetricaldifference.cpp @@ -67,8 +67,8 @@ void QgsSymmetricalDifferenceAlgorithm::initAlgorithm( const QVariantMap & ) addParameter( new QgsProcessingParameterFeatureSink( QStringLiteral( "OUTPUT" ), QObject::tr( "Symmetrical difference" ) ) ); - std::unique_ptr< QgsProcessingParameterNumber > gridSize = std::make_unique< QgsProcessingParameterNumber >( QStringLiteral( "GRIDSIZE" ), - QObject::tr( "Grid size" ), QgsProcessingParameterNumber::Double, QVariant( - 1 ), true ); + std::unique_ptr< QgsProcessingParameterNumber > gridSize = std::make_unique< QgsProcessingParameterNumber >( QStringLiteral( "GRID_SIZE" ), + QObject::tr( "Grid size" ), QgsProcessingParameterNumber::Double, QVariant(), true, 0 ); gridSize->setFlags( gridSize->flags() | QgsProcessingParameterDefinition::FlagAdvanced ); addParameter( gridSize.release() ); } @@ -103,10 +103,12 @@ QVariantMap QgsSymmetricalDifferenceAlgorithm::processAlgorithm( const QVariantM long count = 0; const long total = sourceA->featureCount() + sourceB->featureCount(); - const double gridSize = parameterAsDouble( parameters, QStringLiteral( "GRIDSIZE" ), context ); QgsGeometryParameters geometryParameters; - geometryParameters.setGridSize( gridSize ); + if ( parameters.value( QStringLiteral( "GRID_SIZE" ) ).isValid() ) + { + geometryParameters.setGridSize( parameterAsDouble( parameters, QStringLiteral( "GRID_SIZE" ), context ) ); + } QgsOverlayUtils::difference( *sourceA, *sourceB, *sink, context, feedback, count, total, QgsOverlayUtils::OutputAB, geometryParameters ); if ( feedback->isCanceled() ) diff --git a/src/analysis/processing/qgsalgorithmunion.cpp b/src/analysis/processing/qgsalgorithmunion.cpp index 2048c7b2e45a..6a6385ed3ba4 100644 --- a/src/analysis/processing/qgsalgorithmunion.cpp +++ b/src/analysis/processing/qgsalgorithmunion.cpp @@ -68,8 +68,8 @@ void QgsUnionAlgorithm::initAlgorithm( const QVariantMap & ) addParameter( new QgsProcessingParameterFeatureSink( QStringLiteral( "OUTPUT" ), QObject::tr( "Union" ) ) ); - std::unique_ptr< QgsProcessingParameterNumber > gridSize = std::make_unique< QgsProcessingParameterNumber >( QStringLiteral( "GRIDSIZE" ), - QObject::tr( "Grid size" ), QgsProcessingParameterNumber::Double, QVariant( - 1 ), true ); + std::unique_ptr< QgsProcessingParameterNumber > gridSize = std::make_unique< QgsProcessingParameterNumber >( QStringLiteral( "GRID_SIZE" ), + QObject::tr( "Grid size" ), QgsProcessingParameterNumber::Double, QVariant(), true, 0 ); gridSize->setFlags( gridSize->flags() | QgsProcessingParameterDefinition::FlagAdvanced ); addParameter( gridSize.release() ); } @@ -109,10 +109,12 @@ QVariantMap QgsUnionAlgorithm::processAlgorithm( const QVariantMap ¶meters, long count = 0; const long total = sourceA->featureCount() * 2 + sourceB->featureCount(); - const double gridSize = parameterAsDouble( parameters, QStringLiteral( "GRIDSIZE" ), context ); QgsGeometryParameters geometryParameters; - geometryParameters.setGridSize( gridSize ); + if ( parameters.value( QStringLiteral( "GRID_SIZE" ) ).isValid() ) + { + geometryParameters.setGridSize( parameterAsDouble( parameters, QStringLiteral( "GRID_SIZE" ), context ) ); + } QgsOverlayUtils::intersection( *sourceA, *sourceB, *sink, context, feedback, count, total, fieldIndicesA, fieldIndicesB, geometryParameters ); if ( feedback->isCanceled() )