File tree 1 file changed +7
-0
lines changed
python/plugins/processing/algs/qgis
1 file changed +7
-0
lines changed Original file line number Diff line number Diff line change 5
5
SplitLines.py
6
6
---------------------
7
7
Date : November 2014
8
+ Revised : February 2016
8
9
Copyright : (C) 2014 by Bernhard Ströbl
9
10
Email : bernhard dot stroebl at jena dot de
10
11
***************************************************************************
@@ -55,6 +56,7 @@ def processAlgorithm(self, progress):
55
56
layerA = dataobjects .getObjectFromUri (self .getParameterValue (self .INPUT_A ))
56
57
layerB = dataobjects .getObjectFromUri (self .getParameterValue (self .INPUT_B ))
57
58
59
+ sameLayer = self .getParameterValue (self .INPUT_A ) == self .getParameterValue (self .INPUT_B )
58
60
fieldList = layerA .pendingFields ()
59
61
60
62
writer = self .getOutputFromName (self .OUTPUT ).getVectorWriter (fieldList ,
@@ -79,6 +81,11 @@ def processAlgorithm(self, progress):
79
81
for i in lines :
80
82
request = QgsFeatureRequest ().setFilterFid (i )
81
83
inFeatB = layerB .getFeatures (request ).next ()
84
+ # check if trying to self-intersect
85
+ if sameLayer :
86
+ if inFeatA .id () == inFeatB .id ():
87
+ continue
88
+
82
89
splitGeom = QgsGeometry (inFeatB .geometry ())
83
90
84
91
if inGeom .intersects (splitGeom ):
You can’t perform that action at this time.
0 commit comments