ONNX
gtano's picture
Big upload
67a3943 verified
import xarray as xr
from pathlib import Path
import numpy as np
from affine import Affine
from rasterio import CRS
def from_spatial_to_profile(zarr):
profile = {}
profile["driver"] = "GTiff"
profile["dtype"] = zarr.dtypes["band_data"].name
profile["width"] = zarr.dims["x"]
profile["height"] = zarr.dims["y"]
profile["count"] = zarr.dims["band"]
profile["crs"] = CRS.from_epsg(zarr["spatial_ref"].attrs["crs_wkt"].split(",")[-1].split("\"")[1])
vals = zarr["spatial_ref"].attrs["GeoTransform"].split(" ")
profile["transform"] = Affine(float(vals[1]),float(vals[2]),float(vals[0]),float(vals[4]),float(vals[5]),float(vals[3]))
return profile
def read_zarr(
path: Path
) -> np.ndarray:
"""Read a zarr file using xarray.
Args:
path (Path): Path to the zarr file.
Returns:
np.ndarray: zarr data as numpy array.
"""
data = xr.open_zarr(path)["band_data"]
return data.values
def read_zarr_profile(path:Path):
data = xr.open_zarr(path)
profile = from_spatial_to_profile(data)
return profile