diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a7f9c71b..a1fafef5 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,7 +6,7 @@ repos: - id: end-of-file-fixer - id: trailing-whitespace - repo: https://github.com/PyCQA/flake8 - rev: 7.0.0 + rev: 7.1.1 hooks: - id: flake8 args: ["--ignore=E501", "--select=F401,E201,E202,E203,E502,E241,E225,E306,E231,E226,E123,F811"] @@ -15,7 +15,7 @@ repos: # hooks: # - id: bandit - repo: https://github.com/PyCQA/pylint - rev: v3.2.3 + rev: v3.2.6 hooks: - id: pylint args: ["--disable=C,R,W,E1136"] diff --git a/datacube_ows/wcs1_utils.py b/datacube_ows/wcs1_utils.py index 93722529..b42fbe06 100644 --- a/datacube_ows/wcs1_utils.py +++ b/datacube_ows/wcs1_utils.py @@ -450,10 +450,10 @@ def get_tiff(req, data): dst.write(data[band].values, idx) dst.set_band_description(idx, req.layer.band_idx.band_label(band)) if cfg.wcs_tiff_statistics: - dst.update_tags(idx, STATISTICS_MINIMUM=data[band].values.min()) - dst.update_tags(idx, STATISTICS_MAXIMUM=data[band].values.max()) - dst.update_tags(idx, STATISTICS_MEAN=data[band].values.mean()) - dst.update_tags(idx, STATISTICS_STDDEV=data[band].values.std()) + dst.update_tags(idx, STATISTICS_MINIMUM=numpy.nanmin(data[band].values)) + dst.update_tags(idx, STATISTICS_MAXIMUM=numpy.nanmax(data[band].values)) + dst.update_tags(idx, STATISTICS_MEAN=numpy.nanmean(data[band].values)) + dst.update_tags(idx, STATISTICS_STDDEV=numpy.nanstd(data[band].values)) return memfile.read() diff --git a/datacube_ows/wcs2_utils.py b/datacube_ows/wcs2_utils.py index 7911c638..00c671bf 100644 --- a/datacube_ows/wcs2_utils.py +++ b/datacube_ows/wcs2_utils.py @@ -7,6 +7,7 @@ import collections import logging +import numpy from dateutil.parser import parse from odc.geo.geobox import GeoBox from ows.wcs.v20 import ScaleAxis, ScaleExtent, ScaleSize, Slice, Trim @@ -382,10 +383,10 @@ def get_tiff(request, data, crs, product, width, height, affine): dst.write(data[band].values, idx) dst.set_band_description(idx, product.band_idx.band_label(band)) if cfg.wcs_tiff_statistics: - dst.update_tags(idx, STATISTICS_MINIMUM=data[band].values.min()) - dst.update_tags(idx, STATISTICS_MAXIMUM=data[band].values.max()) - dst.update_tags(idx, STATISTICS_MEAN=data[band].values.mean()) - dst.update_tags(idx, STATISTICS_STDDEV=data[band].values.std()) + dst.update_tags(idx, STATISTICS_MINIMUM=numpy.nanmin(data[band].values)) + dst.update_tags(idx, STATISTICS_MAXIMUM=numpy.nanmax(data[band].values)) + dst.update_tags(idx, STATISTICS_MEAN=numpy.nanmean(data[band].values)) + dst.update_tags(idx, STATISTICS_STDDEV=numpy.nanstd(data[band].values)) return memfile.read()