Source code for openeo_udf.api.tools
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""OpenEO Python UDF interface"""
from typing import Tuple
import numpy
import xarray
from openeo_udf.api.datacube import DataCube
__license__ = "Apache License, Version 2.0"
__author__ = "Soeren Gebbert"
__copyright__ = "Copyright 2018, Soeren Gebbert"
__maintainer__ = "Soeren Gebbert"
__email__ = "soerengebbert@googlemail.com"
[docs]def create_datacube(name:str, value: float, shape: Tuple=(3, 2, 2), dims: Tuple=("t", "x", "y")) -> DataCube:
"""Create a datacube from shape and dimension parameter. The number of shapes and
dimensions must be equal."""
coords = {}
for dim, size in zip(dims, shape):
coords[dim] = list(range(size))
array = xarray.DataArray(numpy.zeros(shape=shape), coords=coords, dims=dims)
array.data += value
array.name = name
hc = DataCube(array=array)
return hc