Source code for eotransform_xarray.transformers.reshape_by_coords

from eotransform_xarray.transformers import TransformerOfXArrayData, XArrayData


[docs]class ReshapeByCoords(TransformerOfXArrayData): def __init__(self, reshape_dim, coords): self._reshape_dim = reshape_dim self._coords = coords def __call__(self, x: XArrayData) -> XArrayData: multi_coord = ''.join(self._coords) return x.swap_dims({self._reshape_dim: self._coords[0]}) \ .set_index({multi_coord: self._coords}) \ .unstack(multi_coord)