Skip to content

Commit 77d95b0

Browse files
committedApr 26, 2016
[processing] don't write NaN's to attribute table (fix #14639)
1 parent 63c71fe commit 77d95b0

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed
 

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

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -227,16 +227,24 @@ def processAlgorithm(self, progress):
227227
outFeat.setGeometry(geom)
228228

229229
attrs = f.attributes()
230-
attrs.insert(idxMin, float(masked.min()))
231-
attrs.insert(idxMax, float(masked.max()))
232-
attrs.insert(idxSum, float(masked.sum()))
230+
v = float(masked.min())
231+
attrs.insert(idxMin, None if numpy.isnan(v) else v)
232+
v = float(masked.max())
233+
attrs.insert(idxMax, None if numpy.isnan(v) else v)
234+
v = float(masked.sum())
235+
attrs.insert(idxSum, None if numpy.isnan(v) else v)
233236
attrs.insert(idxCount, int(masked.count()))
234-
attrs.insert(idxMean, float(masked.mean()))
235-
attrs.insert(idxStd, float(masked.std()))
237+
v = float(masked.mean())
238+
attrs.insert(idxMean, None if numpy.isnan(v) else v)
239+
v = float(masked.std())
240+
attrs.insert(idxStd, None if numpy.isnan(v) else v)
236241
attrs.insert(idxUnique, numpy.unique(masked.compressed()).size)
237-
attrs.insert(idxRange, float(masked.max()) - float(masked.min()))
238-
attrs.insert(idxVar, float(masked.var()))
239-
attrs.insert(idxMedian, float(numpy.ma.median(masked)))
242+
v = float(masked.max()) - float(masked.min())
243+
attrs.insert(idxRange, None if numpy.isnan(v) else v)
244+
v = float(masked.var())
245+
attrs.insert(idxVar, None if numpy.isnan(v) else v)
246+
v = float(numpy.ma.median(masked))
247+
attrs.insert(idxMedian, None if numpy.isnan(v) else v)
240248
if hasSciPy:
241249
attrs.insert(idxMode, float(mode(masked, axis=None)[0][0]))
242250

0 commit comments

Comments
 (0)
Please sign in to comment.