[processing] ensure that outputs of vector overlay operations are multiparts (#3622)

This commit is contained in:
Mathieu Pellerin 2016-10-19 19:58:23 +07:00 committed by Matthias Kuhn
parent 010fc7c640
commit cf6004959e
4 changed files with 4 additions and 4 deletions

View File

@ -67,7 +67,7 @@ class Clip(GeoAlgorithm):
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(
source_layer.fields(),
source_layer.wkbType(),
QgsWkbTypes.multiType(source_layer.wkbType()),
source_layer.crs())
# first build up a list of clip geometries

View File

@ -69,7 +69,7 @@ class Difference(GeoAlgorithm):
self.getParameterValue(Difference.OVERLAY))
ignoreInvalid = self.getParameterValue(Difference.IGNORE_INVALID)
geomType = layerA.wkbType()
geomType = QgsWkbTypes.multiType(layerA.wkbType())
writer = self.getOutputFromName(
Difference.OUTPUT).getVectorWriter(layerA.fields(),
geomType,

View File

@ -75,7 +75,7 @@ class Intersection(GeoAlgorithm):
vlayerB = dataobjects.getObjectFromUri(
self.getParameterValue(self.INPUT2))
geomType = vlayerA.wkbType()
geomType = QgsWkbTypes.multiType(vlayerA.wkbType())
fields = vector.combineVectorFields(vlayerA, vlayerB)
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(fields,
geomType, vlayerA.crs())

View File

@ -65,7 +65,7 @@ class SymmetricalDifference(GeoAlgorithm):
layerB = dataobjects.getObjectFromUri(
self.getParameterValue(self.OVERLAY))
geomType = layerA.wkbType()
geomType = QgsWkbTypes.multiType(layerA.wkbType())
fields = vector.combineVectorFields(layerA, layerB)
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(
fields, geomType, layerA.crs())