hydromt.data_adapter.RasterDatasetAdapter#

class hydromt.data_adapter.RasterDatasetAdapter(path: str, driver: str | None = None, filesystem: str = 'local', crs: int | str | dict | None = None, nodata: dict | float | int | None = None, rename: dict = {}, unit_mult: dict = {}, unit_add: dict = {}, meta: dict = {}, attrs: dict = {}, driver_kwargs: dict = {}, zoom_levels: dict = {}, name: str = '', catalog_name: str = '', **kwargs)[source]#

Implementation for the RasterDatasetAdapter.

Initiate data adapter for geospatial raster data.

This object contains all properties required to read supported raster files into a single unified RasterDataset, i.e. xarray.Dataset with geospatial attributes. In addition it keeps meta data to be able to reproduce which data is used.

Parameters:
  • path (str, Path) – Path to data source. If the dataset consists of multiple files, the path may contain {variable}, {year}, {month} placeholders as well as path search pattern using a ‘*’ wildcard.

  • driver ({'raster', 'netcdf', 'zarr', 'raster_tindex'}, optional) – Driver to read files with, for ‘raster’ open_mfraster(), for ‘netcdf’ xarray.open_mfdataset(), and for ‘zarr’ xarray.open_zarr() By default the driver is inferred from the file extension and falls back to ‘raster’ if unknown.

  • filesystem ({'local', 'gcs', 's3'}, optional) – Filesystem where the data is stored (local, cloud, http etc.). By default, local.

  • crs (int, dict, or str, optional) – Coordinate Reference System. Accepts EPSG codes (int or str); proj (str or dict) or wkt (str). Only used if the data has no native CRS.

  • nodata (float, int, optional) – Missing value number. Only used if the data has no native missing value. Nodata values can be differentiated between variables using a dictionary.

  • rename (dict, optional) – Mapping of native data source variable to output source variable name as required by hydroMT.

  • unit_mult (dict, optional) – Scaling multiplication and addition to change to map from the native data unit to the output data unit as required by hydroMT.

  • unit_add (dict, optional) – Scaling multiplication and addition to change to map from the native data unit to the output data unit as required by hydroMT.

  • meta (dict, optional) – Metadata information of dataset, prefably containing the following keys: {‘source_version’, ‘source_url’, ‘source_license’, ‘paper_ref’, ‘paper_doi’, ‘category’}

  • placeholders (dict, optional) – Placeholders to expand yaml entry to multiple entries (name and path) based on placeholder values

  • attrs (dict, optional) – Additional attributes relating to data variables. For instance unit or long name of the variable.

  • driver_kwargs – Additional key-word arguments passed to the driver.

  • dict – Additional key-word arguments passed to the driver.

  • optional – Additional key-word arguments passed to the driver.

  • name (str, optional) – Name of the dataset and catalog, optional for now.

  • catalog_name (str, optional) – Name of the dataset and catalog, optional for now.

  • zoomlevels (dict, optional) – Dictionary with zoom levels and associated resolution in the unit of the data CRS.

__init__(path: str, driver: str | None = None, filesystem: str = 'local', crs: int | str | dict | None = None, nodata: dict | float | int | None = None, rename: dict = {}, unit_mult: dict = {}, unit_add: dict = {}, meta: dict = {}, attrs: dict = {}, driver_kwargs: dict = {}, zoom_levels: dict = {}, name: str = '', catalog_name: str = '', **kwargs)[source]#

Initiate data adapter for geospatial raster data.

This object contains all properties required to read supported raster files into a single unified RasterDataset, i.e. xarray.Dataset with geospatial attributes. In addition it keeps meta data to be able to reproduce which data is used.

Parameters:
  • path (str, Path) – Path to data source. If the dataset consists of multiple files, the path may contain {variable}, {year}, {month} placeholders as well as path search pattern using a ‘*’ wildcard.

  • driver ({'raster', 'netcdf', 'zarr', 'raster_tindex'}, optional) – Driver to read files with, for ‘raster’ open_mfraster(), for ‘netcdf’ xarray.open_mfdataset(), and for ‘zarr’ xarray.open_zarr() By default the driver is inferred from the file extension and falls back to ‘raster’ if unknown.

  • filesystem ({'local', 'gcs', 's3'}, optional) – Filesystem where the data is stored (local, cloud, http etc.). By default, local.

  • crs (int, dict, or str, optional) – Coordinate Reference System. Accepts EPSG codes (int or str); proj (str or dict) or wkt (str). Only used if the data has no native CRS.

  • nodata (float, int, optional) – Missing value number. Only used if the data has no native missing value. Nodata values can be differentiated between variables using a dictionary.

  • rename (dict, optional) – Mapping of native data source variable to output source variable name as required by hydroMT.

  • unit_mult (dict, optional) – Scaling multiplication and addition to change to map from the native data unit to the output data unit as required by hydroMT.

  • unit_add (dict, optional) – Scaling multiplication and addition to change to map from the native data unit to the output data unit as required by hydroMT.

  • meta (dict, optional) – Metadata information of dataset, prefably containing the following keys: {‘source_version’, ‘source_url’, ‘source_license’, ‘paper_ref’, ‘paper_doi’, ‘category’}

  • placeholders (dict, optional) – Placeholders to expand yaml entry to multiple entries (name and path) based on placeholder values

  • attrs (dict, optional) – Additional attributes relating to data variables. For instance unit or long name of the variable.

  • driver_kwargs – Additional key-word arguments passed to the driver.

  • dict – Additional key-word arguments passed to the driver.

  • optional – Additional key-word arguments passed to the driver.

  • name (str, optional) – Name of the dataset and catalog, optional for now.

  • catalog_name (str, optional) – Name of the dataset and catalog, optional for now.

  • zoomlevels (dict, optional) – Dictionary with zoom levels and associated resolution in the unit of the data CRS.

Methods

__init__(path[, driver, filesystem, crs, ...])

Initiate data adapter for geospatial raster data.

get_data([bbox, geom, buffer, zoom_level, ...])

Return a clipped, sliced and unified RasterDataset.

get_filesystem(**kwargs)

Return an initialised filesystem object.

resolve_paths([time_tuple, variables, ...])

Resolve {year}, {month} and {variable} keywords in self.path.

summary()

Return a dictionary summary of the data adapter.

to_dict()

Return a dictionary view of the data source.

to_file(data_root, data_name[, bbox, ...])

Save a data slice to file.

Attributes

data_type

Return the datatype of the addapter.