edmt.workflow.builder

Module Contents

edmt.workflow.builder.ee_initialized(project: str | None = None) None

Initialize Earth Engine only once.

Notes: - Uses the public ee.data.is_initialized() instead of private ee.data._initialized. - Newer EE setups typically require a Cloud project for Initialize().

edmt.workflow.builder.gdf_to_ee_geometry(gdf: geopandas.GeoDataFrame) ee.Geometry
edmt.workflow.builder._norm(x: str | None) str
edmt.workflow.builder._copy_time(img: ee.Image) ee.Image
edmt.workflow.builder._ndvi_from_nir_red(nir: ee.Image, red: ee.Image) ee.Image
edmt.workflow.builder._evi_from_nir_red_blue(nir: ee.Image, red: ee.Image, blue: ee.Image) ee.Image
edmt.workflow.builder.Frequency
edmt.workflow.builder._advance_end(start: ee.Date, frequency: str) ee.Date
edmt.workflow.builder._dates_for_frequency(start_date: str, end_date: str, frequency: str) ee.List
edmt.workflow.builder._timeseries_to_df(fc: ee.FeatureCollection) pandas.DataFrame
edmt.workflow.builder._build_lst(satellite: str, start_date: str, end_date: str) Tuple[ee.ImageCollection, Dict[str, Any]]
edmt.workflow.builder._build_ndvi(satellite: str, start_date: str, end_date: str) Tuple[ee.ImageCollection, Dict[str, Any]]
edmt.workflow.builder._build_evi(satellite: str, start_date: str, end_date: str) Tuple[ee.ImageCollection, Dict[str, Any]]
edmt.workflow.builder._build_ndvi_evi(satellite: str, start_date: str, end_date: str) Tuple[ee.ImageCollection, Dict[str, Any]]
edmt.workflow.builder._build_chirps(start_date: str, end_date: str) Tuple[ee.ImageCollection, Dict[str, Any]]
edmt.workflow.builder._empty(prod: str, start: ee.Date) ee.Feature
edmt.workflow.builder._compute(prod: str, start: ee.Date, period_ic: ee.ImageCollection, geometry: ee.Geometry, scale: int, meta: Dict[str, Any]) ee.Feature
edmt.workflow.builder.ReducerName
edmt.workflow.builder._compute_img(product: str, start_date: str, end_date: str, ic: ee.ImageCollection, meta: Dict[str, Any], roi: ee.Geometry | None = None, reducer: ReducerName = 'mean') ee.Image

Build a single composite ee.Image for a product using (ic, meta) from get_satellite_collection().

  • CHIRPS: reducer='sum' => total mm over period; else statistic of daily mm/day

  • NDVI/EVI: statistic over index band

  • NDVI_EVI: statistic over both bands (NDVI & EVI)

  • LST: statistic over band then convert to °C using meta (DN->K->C or K->C)

edmt.workflow.builder._period_dates(start_date: str, end_date: str, frequency: str) Tuple[str, int]
edmt.workflow.builder._empty_img(start: ee.Date, end: ee.Date, freq: str, prod: str) ee.Image
edmt.workflow.builder._build_period_img(prod: str, r: str, start: ee.Date, end: ee.Date, period_ic: ee.ImageCollection, meta: Dict[str, Any], roi: ee.Geometry | None) ee.Image

Build one composite image for the period (server-side safe).

edmt.workflow.builder.ee_to_points(image: ee.Image, scale: int = 30, num_pixels: int = 5000) geopandas.GeoDataFrame

Sample pixels as points and return GeoDataFrame.