mirror of
https://github.com/qgis/QGIS.git
synced 2025-03-01 00:46:20 -05:00
[processing] Fix hasGeometry() method when output is a geometry-less vector table
From the dox for QgsProcessing.TypeVector: "When used for a sink this indicates the sink has no geometry.". If an algorithm is using this value to indicate "maybe has geometry" for an output, then that algorithm is incorrect and should be using TypeVectorAnyGeometry instead.
This commit is contained in:
parent
e1b3524b5d
commit
583b602e76
@ -3754,11 +3754,11 @@ bool QgsProcessingParameterFeatureSink::hasGeometry() const
|
||||
case QgsProcessing::TypeVectorPoint:
|
||||
case QgsProcessing::TypeVectorLine:
|
||||
case QgsProcessing::TypeVectorPolygon:
|
||||
case QgsProcessing::TypeVector:
|
||||
return true;
|
||||
|
||||
case QgsProcessing::TypeRaster:
|
||||
case QgsProcessing::TypeFile:
|
||||
case QgsProcessing::TypeVector:
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
@ -4314,11 +4314,11 @@ bool QgsProcessingParameterVectorDestination::hasGeometry() const
|
||||
case QgsProcessing::TypeVectorPoint:
|
||||
case QgsProcessing::TypeVectorLine:
|
||||
case QgsProcessing::TypeVectorPolygon:
|
||||
case QgsProcessing::TypeVector:
|
||||
return true;
|
||||
|
||||
case QgsProcessing::TypeRaster:
|
||||
case QgsProcessing::TypeFile:
|
||||
case QgsProcessing::TypeVector:
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
@ -4665,7 +4665,7 @@ void TestQgsProcessing::parameterFeatureSink()
|
||||
QVERIFY( QgsProcessingParameterFeatureSink( "test", QString(), QgsProcessing::TypeVectorPolygon ).hasGeometry() );
|
||||
QVERIFY( !QgsProcessingParameterFeatureSink( "test", QString(), QgsProcessing::TypeRaster ).hasGeometry() );
|
||||
QVERIFY( !QgsProcessingParameterFeatureSink( "test", QString(), QgsProcessing::TypeFile ).hasGeometry() );
|
||||
QVERIFY( QgsProcessingParameterFeatureSink( "test", QString(), QgsProcessing::TypeVector ).hasGeometry() );
|
||||
QVERIFY( !QgsProcessingParameterFeatureSink( "test", QString(), QgsProcessing::TypeVector ).hasGeometry() );
|
||||
|
||||
// invalidSinkError
|
||||
QVariantMap params;
|
||||
@ -4783,7 +4783,7 @@ void TestQgsProcessing::parameterVectorOut()
|
||||
QVERIFY( QgsProcessingParameterVectorDestination( "test", QString(), QgsProcessing::TypeVectorPolygon ).hasGeometry() );
|
||||
QVERIFY( !QgsProcessingParameterVectorDestination( "test", QString(), QgsProcessing::TypeRaster ).hasGeometry() );
|
||||
QVERIFY( !QgsProcessingParameterVectorDestination( "test", QString(), QgsProcessing::TypeFile ).hasGeometry() );
|
||||
QVERIFY( QgsProcessingParameterVectorDestination( "test", QString(), QgsProcessing::TypeVector ).hasGeometry() );
|
||||
QVERIFY( !QgsProcessingParameterVectorDestination( "test", QString(), QgsProcessing::TypeVector ).hasGeometry() );
|
||||
|
||||
// test layers to load on completion
|
||||
def.reset( new QgsProcessingParameterVectorDestination( "x", QStringLiteral( "desc" ), QgsProcessing::TypeVectorAnyGeometry, QString(), true ) );
|
||||
|
Loading…
x
Reference in New Issue
Block a user