@@ -87,8 +87,8 @@ QVariantMap QgsJoinWithLinesAlgorithm::processAlgorithm( const QVariantMap ¶
87
87
if ( parameters.value ( QStringLiteral ( " SPOKES" ) ) == parameters.value ( QStringLiteral ( " HUBS" ) ) )
88
88
throw QgsProcessingException ( QObject::tr ( " Same layer given for both hubs and spokes" ) );
89
89
90
- std::unique_ptr< QgsFeatureSource > hubSource ( parameterAsSource ( parameters, QStringLiteral ( " HUBS" ), context ) );
91
- std::unique_ptr< QgsFeatureSource > spokeSource ( parameterAsSource ( parameters, QStringLiteral ( " SPOKES" ), context ) );
90
+ std::unique_ptr< QgsProcessingFeatureSource > hubSource ( parameterAsSource ( parameters, QStringLiteral ( " HUBS" ), context ) );
91
+ std::unique_ptr< QgsProcessingFeatureSource > spokeSource ( parameterAsSource ( parameters, QStringLiteral ( " SPOKES" ), context ) );
92
92
if ( !hubSource || !spokeSource )
93
93
throw QgsProcessingException ( QObject::tr ( " Could not load source layers" ) );
94
94
@@ -192,7 +192,7 @@ QVariantMap QgsJoinWithLinesAlgorithm::processAlgorithm( const QVariantMap ¶
192
192
return p;
193
193
};
194
194
195
- QgsFeatureIterator hubFeatures = hubSource->getFeatures ( QgsFeatureRequest ().setSubsetOfAttributes ( hubFields2Fetch ) );
195
+ QgsFeatureIterator hubFeatures = hubSource->getFeatures ( QgsFeatureRequest ().setSubsetOfAttributes ( hubFields2Fetch ), QgsProcessingFeatureSource::FlagSkipGeometryValidityChecks );
196
196
double step = hubSource->featureCount () > 0 ? 100.0 / hubSource->featureCount () : 1 ;
197
197
int i = 0 ;
198
198
QgsFeature hubFeature;
@@ -224,7 +224,7 @@ QVariantMap QgsJoinWithLinesAlgorithm::processAlgorithm( const QVariantMap ¶
224
224
spokeRequest.setSubsetOfAttributes ( spokeFields2Fetch );
225
225
spokeRequest.setFilterExpression ( QgsExpression::createFieldEqualityExpression ( fieldSpokeName, hubFeature.attribute ( fieldHubIndex ) ) );
226
226
227
- QgsFeatureIterator spokeFeatures = spokeSource->getFeatures ( spokeRequest );
227
+ QgsFeatureIterator spokeFeatures = spokeSource->getFeatures ( spokeRequest, QgsProcessingFeatureSource::FlagSkipGeometryValidityChecks );
228
228
QgsFeature spokeFeature;
229
229
while ( spokeFeatures.nextFeature ( spokeFeature ) )
230
230
{
0 commit comments