Skip to content

Commit bbcacfb

Browse files
Bernhard Ströblm-kuhn
Bernhard Ströbl
authored andcommitted
[BUG] Avoid trying to split a line with itself
1 parent 5676430 commit bbcacfb

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

python/plugins/processing/algs/qgis/SplitLinesWithLines.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
SplitLines.py
66
---------------------
77
Date : November 2014
8+
Revised : February 2016
89
Copyright : (C) 2014 by Bernhard Ströbl
910
Email : bernhard dot stroebl at jena dot de
1011
***************************************************************************
@@ -55,6 +56,7 @@ def processAlgorithm(self, progress):
5556
layerA = dataobjects.getObjectFromUri(self.getParameterValue(self.INPUT_A))
5657
layerB = dataobjects.getObjectFromUri(self.getParameterValue(self.INPUT_B))
5758

59+
sameLayer = self.getParameterValue(self.INPUT_A) == self.getParameterValue(self.INPUT_B)
5860
fieldList = layerA.pendingFields()
5961

6062
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fieldList,
@@ -79,6 +81,11 @@ def processAlgorithm(self, progress):
7981
for i in lines:
8082
request = QgsFeatureRequest().setFilterFid(i)
8183
inFeatB = layerB.getFeatures(request).next()
84+
# check if trying to self-intersect
85+
if sameLayer:
86+
if inFeatA.id() == inFeatB.id():
87+
continue
88+
8289
splitGeom = QgsGeometry(inFeatB.geometry())
8390

8491
if inGeom.intersects(splitGeom):

0 commit comments

Comments
 (0)