[processing] Fix invalid geometries made by densify when input geom is null

This commit is contained in:
Nyall Dawson 2016-11-07 09:22:50 +10:00
parent e426dbc86b
commit eefa7115bf
2 changed files with 10 additions and 14 deletions

View File

@ -72,13 +72,11 @@ class DensifyGeometries(GeoAlgorithm):
features = vector.features(layer)
total = 100.0 / len(features)
for current, f in enumerate(features):
featGeometry = f.geometry()
attrs = f.attributes()
newGeometry = self.densifyGeometry(featGeometry, int(vertices),
isPolygon)
feature = QgsFeature()
feature.setGeometry(newGeometry)
feature.setAttributes(attrs)
feature = f
if feature.hasGeometry():
new_geometry = self.densifyGeometry(feature.geometry(), int(vertices),
isPolygon)
feature.setGeometry(new_geometry)
writer.addFeature(feature)
progress.setPercentage(int(current * total))

View File

@ -69,13 +69,11 @@ class DensifyGeometriesInterval(GeoAlgorithm):
features = vector.features(layer)
total = 100.0 / len(features)
for current, f in enumerate(features):
featGeometry = f.geometry()
attrs = f.attributes()
newGeometry = self.densifyGeometry(featGeometry, interval,
isPolygon)
feature = QgsFeature()
feature.setGeometry(newGeometry)
feature.setAttributes(attrs)
feature = f
if feature.hasGeometry():
new_geometry = self.densifyGeometry(feature.geometry(), interval,
isPolygon)
feature.setGeometry(new_geometry)
writer.addFeature(feature)
progress.setPercentage(int(current * total))