from __future__ import annotations
from typing import Any, Dict, List, Optional, Protocol
import numpy.ma as ma
import pystac
import xarray as xr
from mapchete.protocols import GridProtocol
from mapchete.types import Bounds, NodataVals
from rasterio.crs import CRS
from rasterio.enums import Resampling
from mapchete_eo.types import DateTimeLike
from mapchete.io.raster import ReferencedRaster
[docs]
class EOProductProtocol(Protocol):
id: str
bounds: Bounds
crs: CRS
__geo_interface__: Optional[Dict[str, Any]]
[docs]
@classmethod
def from_stac_item(self, item: pystac.Item, **kwargs) -> EOProductProtocol: ...
[docs]
def get_mask(self) -> ReferencedRaster: ...
self,
assets: Optional[List[str]] = None,
eo_bands: Optional[List[str]] = None,
grid: Optional[GridProtocol] = None,
resampling: Resampling = Resampling.nearest,
nodatavals: NodataVals = None,
x_axis_name: str = "x",
y_axis_name: str = "y",
**kwargs,
) -> xr.Dataset: ...
self,
assets: Optional[List[str]] = None,
eo_bands: Optional[List[str]] = None,
grid: Optional[GridProtocol] = None,
resampling: Resampling = Resampling.nearest,
nodatavals: NodataVals = None,
**kwargs,
) -> ma.MaskedArray: ...
[docs]
def get_property(self, property: str) -> Any: ...
@property
def item(self) -> pystac.Item: ...
[docs]
class DateTimeProtocol(Protocol):
datetime: DateTimeLike
[docs]
class GetPropertyProtocol(Protocol):
[docs]
def get_property(self, property: str) -> Any: ...