Skip to content

Commit

Permalink
address review comments
Browse files Browse the repository at this point in the history
  • Loading branch information
alexbruy authored and nyalldawson committed Jul 4, 2024
1 parent 7bd8c07 commit 5e53e18
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@
<ogr:max>Test</ogr:max>
<ogr:min_length>0</ogr:min_length>
<ogr:max_length>4</ogr:max_length>
<ogr:mean_length xsi:nil="true"/>
<ogr:minority>Test</ogr:minority>
<ogr:majority xsi:nil="true"/>
<ogr:mean_length>3</ogr:mean_length>
<ogr:minority xsi:nil="true"/>
<ogr:majority>Test</ogr:majority>
</ogr:statistics_text>
</ogr:featureMember>
</ogr:FeatureCollection>
19 changes: 10 additions & 9 deletions src/analysis/processing/qgsalgorithmbasicstatistics.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -174,15 +174,15 @@ QVariantMap QgsBasicStatisticsAlgorithm::processAlgorithm( const QVariantMap &pa

if ( field.isNumeric() )
{
outputs = calculateNumericStatistics( field, features, count, sink.get(), data, feedback );
outputs = calculateNumericStatistics( fieldIndex, features, count, sink.get(), data, feedback );
}
else if ( field.isDateOrTime() )
{
outputs = calculateDateTimeStatistics( field, features, count, sink.get(), data, feedback );
outputs = calculateDateTimeStatistics( fieldIndex, field, features, count, sink.get(), data, feedback );
}
else
{
outputs = calculateStringStatistics( field, features, count, sink.get(), data, feedback );
outputs = calculateStringStatistics( fieldIndex, features, count, sink.get(), data, feedback );
}

if ( !outputHtml.isEmpty() )
Expand Down Expand Up @@ -213,7 +213,7 @@ QVariantMap QgsBasicStatisticsAlgorithm::processAlgorithm( const QVariantMap &pa
return outputs;
}

QVariantMap QgsBasicStatisticsAlgorithm::calculateNumericStatistics( QgsField field, QgsFeatureIterator features, const long long count, QgsFeatureSink *sink, QStringList &data, QgsProcessingFeedback *feedback )
QVariantMap QgsBasicStatisticsAlgorithm::calculateNumericStatistics( const int fieldIndex, QgsFeatureIterator features, const long long count, QgsFeatureSink *sink, QStringList &data, QgsProcessingFeedback *feedback )
{
const double step = count > 0 ? 100.0 / count : 1;
long long current = 0;
Expand All @@ -228,7 +228,7 @@ QVariantMap QgsBasicStatisticsAlgorithm::calculateNumericStatistics( QgsField fi
break;
}

stat.addVariant( f.attribute( field.name() ) );
stat.addVariant( f.attribute( fieldIndex ) );
feedback->setProgress( current * step );
current++;
}
Expand Down Expand Up @@ -299,7 +299,7 @@ QVariantMap QgsBasicStatisticsAlgorithm::calculateNumericStatistics( QgsField fi
return outputs;
}

QVariantMap QgsBasicStatisticsAlgorithm::calculateDateTimeStatistics( QgsField field, QgsFeatureIterator features, const long long count, QgsFeatureSink *sink, QStringList &data, QgsProcessingFeedback *feedback )
QVariantMap QgsBasicStatisticsAlgorithm::calculateDateTimeStatistics( const int fieldIndex, QgsField field, QgsFeatureIterator features, const long long count, QgsFeatureSink *sink, QStringList &data, QgsProcessingFeedback *feedback )
{
const double step = count > 0 ? 100.0 / count : 1;
long long current = 0;
Expand All @@ -314,7 +314,7 @@ QVariantMap QgsBasicStatisticsAlgorithm::calculateDateTimeStatistics( QgsField f
break;
}

stat.addValue( f.attribute( field.name() ) );
stat.addValue( f.attribute( fieldIndex ) );
feedback->setProgress( current * step );
current++;
}
Expand Down Expand Up @@ -353,7 +353,7 @@ QVariantMap QgsBasicStatisticsAlgorithm::calculateDateTimeStatistics( QgsField f
return outputs;
}

QVariantMap QgsBasicStatisticsAlgorithm::calculateStringStatistics( QgsField field, QgsFeatureIterator features, const long long count, QgsFeatureSink *sink, QStringList &data, QgsProcessingFeedback *feedback )
QVariantMap QgsBasicStatisticsAlgorithm::calculateStringStatistics( const int fieldIndex, QgsFeatureIterator features, const long long count, QgsFeatureSink *sink, QStringList &data, QgsProcessingFeedback *feedback )
{
const double step = count > 0 ? 100.0 / count : 1;
long long current = 0;
Expand All @@ -368,7 +368,7 @@ QVariantMap QgsBasicStatisticsAlgorithm::calculateStringStatistics( QgsField fie
break;
}

stat.addValue( f.attribute( field.name() ) );
stat.addValue( f.attribute( fieldIndex ) );
feedback->setProgress( current * step );
current++;
}
Expand Down Expand Up @@ -410,6 +410,7 @@ QVariantMap QgsBasicStatisticsAlgorithm::calculateStringStatistics( QgsField fie
<< outputs.value( QStringLiteral( "MAX" ) )
<< outputs.value( QStringLiteral( "MIN_LENGTH" ) )
<< outputs.value( QStringLiteral( "MAX_LENGTH" ) )
<< outputs.value( QStringLiteral( "MEAN_LENGTH" ) )
<< outputs.value( QStringLiteral( "MINORITY" ) )
<< outputs.value( QStringLiteral( "MAJORITY" ) ) );
sink->addFeature( f, QgsFeatureSink::FastInsert );
Expand Down
6 changes: 3 additions & 3 deletions src/analysis/processing/qgsalgorithmbasicstatistics.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,9 @@ class QgsBasicStatisticsAlgorithm : public QgsProcessingAlgorithm

private:

QVariantMap calculateNumericStatistics( QgsField field, QgsFeatureIterator features, const long long count, QgsFeatureSink *sink, QStringList &data, QgsProcessingFeedback *feedback );
QVariantMap calculateDateTimeStatistics( QgsField field, QgsFeatureIterator features, const long long count, QgsFeatureSink *sink, QStringList &data, QgsProcessingFeedback *feedback );
QVariantMap calculateStringStatistics( QgsField field, QgsFeatureIterator features, const long long count, QgsFeatureSink *sink, QStringList &data, QgsProcessingFeedback *feedback );
QVariantMap calculateNumericStatistics( const int fieldIndex, QgsFeatureIterator features, const long long count, QgsFeatureSink *sink, QStringList &data, QgsProcessingFeedback *feedback );
QVariantMap calculateDateTimeStatistics( const int fieldIndex, QgsField field, QgsFeatureIterator features, const long long count, QgsFeatureSink *sink, QStringList &data, QgsProcessingFeedback *feedback );
QVariantMap calculateStringStatistics( const int fieldIndex, QgsFeatureIterator features, const long long count, QgsFeatureSink *sink, QStringList &data, QgsProcessingFeedback *feedback );
};

///@endcond PRIVATE
Expand Down

0 comments on commit 5e53e18

Please sign in to comment.