Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[BUG] Avoid trying to split a line with itself
  • Loading branch information
Bernhard Ströbl authored and m-kuhn committed Mar 14, 2016
1 parent 5676430 commit bbcacfb
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions python/plugins/processing/algs/qgis/SplitLinesWithLines.py
Expand Up @@ -5,6 +5,7 @@
SplitLines.py
---------------------
Date : November 2014
Revised : February 2016
Copyright : (C) 2014 by Bernhard Ströbl
Email : bernhard dot stroebl at jena dot de
***************************************************************************
Expand Down Expand Up @@ -55,6 +56,7 @@ def processAlgorithm(self, progress):
layerA = dataobjects.getObjectFromUri(self.getParameterValue(self.INPUT_A))
layerB = dataobjects.getObjectFromUri(self.getParameterValue(self.INPUT_B))

sameLayer = self.getParameterValue(self.INPUT_A) == self.getParameterValue(self.INPUT_B)
fieldList = layerA.pendingFields()

writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fieldList,
Expand All @@ -79,6 +81,11 @@ def processAlgorithm(self, progress):
for i in lines:
request = QgsFeatureRequest().setFilterFid(i)
inFeatB = layerB.getFeatures(request).next()
# check if trying to self-intersect
if sameLayer:
if inFeatA.id() == inFeatB.id():
continue

splitGeom = QgsGeometry(inFeatB.geometry())

if inGeom.intersects(splitGeom):
Expand Down

0 comments on commit bbcacfb

Please sign in to comment.