Source code for eotransform_xarray.transformers.to_dataset

from typing import Optional

from eotransform.protocol.transformer import Transformer
from xarray import DataArray, Dataset


[docs]class ToDataset(Transformer[DataArray, Dataset]): class MissingDataError(ValueError): ... def __init__(self, name: Optional[str] = None, promote_attrs: bool = False): self._name = name self._promote_attrs = promote_attrs def __call__(self, x: DataArray) -> Dataset: if not x.name and not self._name: msg = f"No name has been defined in the transforms ctor, and the array provided has no name either:\n{x}" raise ToDataset.MissingDataError(msg) return x.to_dataset(name=self._name, promote_attrs=self._promote_attrs)