From bce6fb4d263e93b8f093b8192103e6d0a21ece5a Mon Sep 17 00:00:00 2001 From: mathleur Date: Wed, 6 Mar 2024 09:50:50 +0100 Subject: [PATCH] fix xarray get --- polytope/datacube/backends/xarray.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/polytope/datacube/backends/xarray.py b/polytope/datacube/backends/xarray.py index dba5cba7f..5376bea7a 100644 --- a/polytope/datacube/backends/xarray.py +++ b/polytope/datacube/backends/xarray.py @@ -46,13 +46,17 @@ def get(self, requests: IndexTree): path_copy = deepcopy(path) for key in path_copy: axis = self._axes[key] - (path, unmapped_path) = axis.unmap_to_datacube(path, unmapped_path) - # TODO: here do nearest point search - path = self.fit_path(path) + key_value_path = {key: path_copy[key]} + (key_value_path, path, unmapped_path) = axis.unmap_path_key(key_value_path, path, unmapped_path) + path.update(key_value_path) + + unmapped_path = {} + self.refit_path(path, unmapped_path, path) for key in path: path[key] = list(path[key]) for key in unmapped_path: unmapped_path[key] = list(unmapped_path[key]) + subxarray = self.dataarray.sel(path, method="nearest") subxarray = subxarray.sel(unmapped_path) value = subxarray.values