Skip to content

Commit eefa711

Browse files
committedNov 6, 2016
[processing] Fix invalid geometries made by densify when input geom is null
1 parent e426dbc commit eefa711

File tree

2 files changed

+10
-14
lines changed

2 files changed

+10
-14
lines changed
 

‎python/plugins/processing/algs/qgis/DensifyGeometries.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -72,13 +72,11 @@ def processAlgorithm(self, progress):
7272
features = vector.features(layer)
7373
total = 100.0 / len(features)
7474
for current, f in enumerate(features):
75-
featGeometry = f.geometry()
76-
attrs = f.attributes()
77-
newGeometry = self.densifyGeometry(featGeometry, int(vertices),
78-
isPolygon)
79-
feature = QgsFeature()
80-
feature.setGeometry(newGeometry)
81-
feature.setAttributes(attrs)
75+
feature = f
76+
if feature.hasGeometry():
77+
new_geometry = self.densifyGeometry(feature.geometry(), int(vertices),
78+
isPolygon)
79+
feature.setGeometry(new_geometry)
8280
writer.addFeature(feature)
8381
progress.setPercentage(int(current * total))
8482

‎python/plugins/processing/algs/qgis/DensifyGeometriesInterval.py

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -69,13 +69,11 @@ def processAlgorithm(self, progress):
6969
features = vector.features(layer)
7070
total = 100.0 / len(features)
7171
for current, f in enumerate(features):
72-
featGeometry = f.geometry()
73-
attrs = f.attributes()
74-
newGeometry = self.densifyGeometry(featGeometry, interval,
75-
isPolygon)
76-
feature = QgsFeature()
77-
feature.setGeometry(newGeometry)
78-
feature.setAttributes(attrs)
72+
feature = f
73+
if feature.hasGeometry():
74+
new_geometry = self.densifyGeometry(feature.geometry(), interval,
75+
isPolygon)
76+
feature.setGeometry(new_geometry)
7977
writer.addFeature(feature)
8078

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

0 commit comments

Comments
 (0)
Please sign in to comment.