Skip to content

Commit f4f4ca3

Browse files
committedApr 26, 2017
Raise GeoAlgorithmExecutionException when encountering invalid
geometries in QgsProcessingUtils::getFeatures
1 parent e6a33e8 commit f4f4ca3

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed
 

‎python/plugins/processing/tools/general.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,12 @@
3838
from qgis.core import (QgsApplication,
3939
QgsProcessingContext,
4040
QgsProject)
41+
from qgis.PyQt.QtCore import (QCoreApplication)
4142
from processing.core.Processing import Processing
4243
from processing.core.parameters import ParameterSelection
4344
from processing.gui.Postprocessing import handleAlgorithmResults
4445
from processing.core.ProcessingConfig import ProcessingConfig
46+
from processing.core.GeoAlgorithmExecutionException import GeoAlgorithmExecutionException
4547

4648

4749
def algorithmOptions(id):
@@ -111,4 +113,10 @@ def createContext():
111113
invalid_features_method = ProcessingConfig.getSetting(ProcessingConfig.FILTER_INVALID_GEOMETRIES)
112114
context.setInvalidGeometryCheck(invalid_features_method)
113115

116+
def raise_error(f):
117+
raise GeoAlgorithmExecutionException(QCoreApplication.translate("FeatureIterator",
118+
'Features with invalid geometries found. Please fix these geometries or specify the "Ignore invalid input features" flag'))
119+
120+
context.setInvalidGeometryCallback(raise_error)
121+
114122
return context

0 commit comments

Comments
 (0)
Please sign in to comment.