Skip to content

Commit 22a9406

Browse files
committed
[processing] Fix multipart to singlepart handling of null geometry
(cherry-picked from 0455b66)
1 parent 7790cc8 commit 22a9406

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

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

+10-8
Original file line numberDiff line numberDiff line change
@@ -63,20 +63,22 @@ def processAlgorithm(self, progress):
6363
writer = self.getOutputFromName(self.OUTPUT).getVectorWriter(
6464
layer.pendingFields().toList(), geomType, layer.crs())
6565

66-
outFeat = QgsFeature()
67-
inGeom = QgsGeometry()
68-
6966
features = vector.features(layer)
7067
total = 100.0 / len(features)
7168
for current, f in enumerate(features):
72-
inGeom = f.geometry()
69+
outFeat = QgsFeature()
7370
attrs = f.attributes()
74-
75-
geometries = self.extractAsSingle(inGeom)
7671
outFeat.setAttributes(attrs)
7772

78-
for g in geometries:
79-
outFeat.setGeometry(g)
73+
if f.constGeometry():
74+
inGeom = QgsGeometry(f.constGeometry())
75+
geometries = self.extractAsSingle(inGeom)
76+
77+
for g in geometries:
78+
outFeat.setGeometry(g)
79+
writer.addFeature(outFeat)
80+
else:
81+
#input feature with null geometry
8082
writer.addFeature(outFeat)
8183

8284
progress.setPercentage(int(current * total))

0 commit comments

Comments
 (0)