From 1740c20ddb455653aa6929ccdafff48f5039e6be Mon Sep 17 00:00:00 2001 From: Mohammad Sajad Pourajam Date: Mon, 11 May 2026 00:36:02 +0330 Subject: [PATCH] UPDATE --- .../location-1__run-1__farm__cluster-map.png | Bin 0 -> 66000 bytes ...location-1__run-1__farm__cluster-sizes.png | Bin 0 -> 25708 bytes .../location-1__run-1__farm__elbow.png | Bin 0 -> 57134 bytes ...location-1__run-1__farm__feature-pairs.png | Bin 0 -> 163432 bytes docs/location_data_full_architecture.md | 5 - ...tion_data_remote_sensing_failure_report.md | 6 +- ..._data_remote_sensing_response_explained.md | 642 ++++++++++++++++++ .../test_location_data_remote_sensing_flow.py | 1 - location_data/LOCATION_DATA_FLOW.md | 2 +- location_data/admin.py | 1 - location_data/data_driven_subdivision.py | 321 ++++++++- ...16_remove_analysisgridobservation_lst_c.py | 14 + location_data/models.py | 1 - location_data/openeo_service.py | 167 +++-- location_data/satellite_snapshot.py | 1 - location_data/serializers.py | 2 - location_data/tasks.py | 2 - location_data/test_data_driven_subdivision.py | 79 ++- location_data/test_openeo_service.py | 49 +- location_data/test_remote_sensing_api.py | 2 - location_data/test_remote_sensing_tasks.py | 4 +- location_data/views.py | 3 - soile/services.py | 1 - 23 files changed, 1214 insertions(+), 89 deletions(-) create mode 100644 artifacts/remote_sensing_charts/location-1/run-1-farm/location-1__run-1__farm__cluster-map.png create mode 100644 artifacts/remote_sensing_charts/location-1/run-1-farm/location-1__run-1__farm__cluster-sizes.png create mode 100644 artifacts/remote_sensing_charts/location-1/run-1-farm/location-1__run-1__farm__elbow.png create mode 100644 artifacts/remote_sensing_charts/location-1/run-1-farm/location-1__run-1__farm__feature-pairs.png create mode 100644 docs/location_data_remote_sensing_response_explained.md create mode 100644 location_data/migrations/0016_remove_analysisgridobservation_lst_c.py diff --git a/artifacts/remote_sensing_charts/location-1/run-1-farm/location-1__run-1__farm__cluster-map.png b/artifacts/remote_sensing_charts/location-1/run-1-farm/location-1__run-1__farm__cluster-map.png new file mode 100644 index 0000000000000000000000000000000000000000..c2e315aaf623af98b8b3fd2a2d814d47a3405df2 GIT binary patch literal 66000 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 H;+OvhLI$8; literal 0 HcmV?d00001 diff --git a/artifacts/remote_sensing_charts/location-1/run-1-farm/location-1__run-1__farm__elbow.png b/artifacts/remote_sensing_charts/location-1/run-1-farm/location-1__run-1__farm__elbow.png new file mode 100644 index 0000000000000000000000000000000000000000..a51a1072971610ff26805d829537455fc91b949a GIT binary patch literal 57134 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 literal 0 HcmV?d00001 diff --git a/artifacts/remote_sensing_charts/location-1/run-1-farm/location-1__run-1__farm__feature-pairs.png b/artifacts/remote_sensing_charts/location-1/run-1-farm/location-1__run-1__farm__feature-pairs.png new file mode 100644 index 0000000000000000000000000000000000000000..3dacfd6c61e1ada52bb08d86ac40c70a2993cbac GIT binary patch literal 163432 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%0ASaqK&-`)v*!8{*W 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

-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 sse=36` +- `k=2 => sse=14.987928` +- ... +- `k=10 => sse=0.140512` + +سیستم از این curve برای انتخاب elbow استفاده کرده و در نهایت `k=2` را برداشته است. + +### `metadata.cluster_summaries` + +خلاصه هر cluster: + +- `cluster-0` + - `cell_count = 9` + - `centroid_lat = 49.999995` + - `centroid_lon = 50.000223` + +- `cluster-1` + - `cell_count = 3` + - `centroid_lat = 50.000174` + - `centroid_lon = 49.99985` + +یعنی تقسیم‌بندی نهایی مزرعه به دو زیر‌بلوک 9تایی و 3تایی انجام شده است. + +### `assignments` + +این آرایه برای هر cell مشخص می‌کند: + +- عضو کدام cluster است +- raw feature value آن چیست +- scaled feature value آن چیست + +مثلاً: + +- `loc-1__block-farm__chunk-900__r0000c0000` + - `cluster_label = 1` + - `raw_feature_values.ndvi = 0.662287...` + - `raw_feature_values.ndwi = -0.583760...` + - `raw_feature_values.soil_vv_db = -15.369688` + +این بخش برای تحلیل این‌که چرا یک cell داخل یک cluster خاص افتاده بسیار مفید است. + +## بخش `pagination` + +این بخش صفحه‌بندی را برای دو لیست نشان می‌دهد: + +- `cells` +- `assignments` + +در هر دو مورد: + +- `page = 1` +- `page_size = 100` +- `total_items = 12` +- `total_pages = 1` +- `has_next = false` +- `has_previous = false` + +یعنی تمام داده‌ها در یک صفحه جا شده‌اند. + +## نتیجه نهایی این response + +اگر بخواهیم این response را در یک جمله خلاصه کنیم: + +- سیستم در تاریخ `2026-05-10` یک تحلیل سنجش‌ازدور موفق روی 12 سلول grid انجام داده، metricهای `ndvi`, `ndwi`, `soil_vv_db` را بدون missing value ذخیره کرده، و مزرعه را با روش elbow-based KMeans به 2 زیر‌بلوک تقسیم کرده است. + +## مهم‌ترین فیلدها برای استفاده عملی + +اگر فقط چند بخش برای frontend یا debugging مهم باشد، این‌ها از همه مهم‌ترند: + +- `data.status` +- `data.run.selected_features` +- `data.run.metadata.summary` +- `data.run.metadata.stage_details.observations_persisted` +- `data.summary` +- `data.cells` +- `data.subdivision_result.metadata.cluster_summaries` +- `data.subdivision_result.assignments` + +## برداشت فنی از سلامت این run + +این response از نظر pipeline یک run سالم را نشان می‌دهد: + +- status نهایی `completed` است +- Celery در `SUCCESS` است +- هیچ metricی fail نشده +- همه cellها match شده‌اند +- هیچ observationی null کامل نیست +- clustering روی همه سلول‌ها اجرا شده +- output نهایی subdivision ساخته شده + +پس این response نمونه‌ی یک اجرای موفق و کامل remote sensing subdivision است. diff --git a/integration_tests/test_location_data_remote_sensing_flow.py b/integration_tests/test_location_data_remote_sensing_flow.py index bd80699..7ace646 100644 --- a/integration_tests/test_location_data_remote_sensing_flow.py +++ b/integration_tests/test_location_data_remote_sensing_flow.py @@ -77,7 +77,6 @@ class RemoteSensingApiFlowTests(IntegrationAPITestCase): temporal_end=self.temporal_end, ndvi=0.61, ndwi=0.22, - lst_c=24.5, soil_vv=0.13, soil_vv_db=-8.860566, dem_m=1550.0, diff --git a/location_data/LOCATION_DATA_FLOW.md b/location_data/LOCATION_DATA_FLOW.md index 38f3cd5..3c501b5 100644 --- a/location_data/LOCATION_DATA_FLOW.md +++ b/location_data/LOCATION_DATA_FLOW.md @@ -3,7 +3,7 @@ - ورودی این اپ، مختصات گوشه‌های کل زمین و boundary هر بلوکِ تعریف‌شده توسط کشاورز است. - هر بلوک جداگانه به grid های `30×30` متر تبدیل می‌شود و در `AnalysisGridCell` ذخیره می‌شود. - برای همه grid های همان بلوک، داده ماهواره‌ای یک بازه زمانی از `openEO` گرفته می‌شود و میانگین همان بازه به عنوان وضعیت نهایی هر grid در `AnalysisGridObservation` ذخیره می‌شود. -- feature های اصلی فعلی: `ndvi`, `ndwi`, `lst_c`, `soil_vv`, `soil_vv_db`, `dem_m`, `slope_deg`. +- feature های اصلی فعلی: `ndvi`, `ndwi`, `soil_vv`, `soil_vv_db`, `dem_m`, `slope_deg`. - بعد برای هر بلوک، روی feature های grid ها `KMeans` اجرا می‌شود؛ برای هر `K` مقدار `SSE / Inertia` ذخیره می‌شود و نمودار `K-SSE` هم ساخته می‌شود. - نقطه elbow همان تعداد مناسب زیر‌بلوک‌ها است و نتیجه در `RemoteSensingSubdivisionResult` و خود `BlockSubdivision` ذخیره می‌شود. - جریان قدیمی depth-based soil data و `soil_adapters.py` دیگر در workflow این اپ جایی ندارد. diff --git a/location_data/admin.py b/location_data/admin.py index a45dd89..c305966 100644 --- a/location_data/admin.py +++ b/location_data/admin.py @@ -96,7 +96,6 @@ class AnalysisGridObservationAdmin(admin.ModelAdmin): "temporal_end", "ndvi", "ndwi", - "lst_c", "created_at", ) list_filter = ("temporal_start", "temporal_end", "created_at") diff --git a/location_data/data_driven_subdivision.py b/location_data/data_driven_subdivision.py index d08b576..b688da4 100644 --- a/location_data/data_driven_subdivision.py +++ b/location_data/data_driven_subdivision.py @@ -1,10 +1,16 @@ from __future__ import annotations +from io import BytesIO +import math +import os +from pathlib import Path from dataclasses import dataclass import json import logging from typing import Any +from django.conf import settings +from django.core.files.base import ContentFile from django.db import transaction from .block_subdivision import detect_elbow_point, render_elbow_plot @@ -21,12 +27,12 @@ from .models import ( DEFAULT_CLUSTER_FEATURES = [ "ndvi", "ndwi", - "lst_c", "soil_vv_db", ] SUPPORTED_CLUSTER_FEATURES = tuple(DEFAULT_CLUSTER_FEATURES) DEFAULT_RANDOM_STATE = 42 DEFAULT_MAX_K = 10 +DEFAULT_REMOTE_SENSING_DIAGNOSTIC_DIR = "artifacts/remote_sensing_charts" logger = logging.getLogger(__name__) @@ -153,6 +159,20 @@ def create_remote_sensing_subdivision_result( ) ) RemoteSensingClusterAssignment.objects.bulk_create(assignment_rows) + diagnostic_artifacts = _persist_remote_sensing_diagnostic_artifacts( + result=result, + observations=dataset.observations, + labels=labels, + cluster_summaries=cluster_summaries, + selected_features=dataset.selected_features, + scaled_matrix=dataset.scaled_matrix, + inertia_curve=inertia_curve, + ) + if diagnostic_artifacts: + metadata = dict(result.metadata or {}) + metadata["diagnostic_artifacts"] = diagnostic_artifacts + result.metadata = metadata + result.save(update_fields=["metadata", "updated_at"]) if block_subdivision is not None: sync_block_subdivision_with_result( block_subdivision=block_subdivision, @@ -468,6 +488,7 @@ def sync_block_subdivision_with_result( "end_date": result.temporal_end.isoformat() if result.temporal_end else None, }, "inertia_curve": result.metadata.get("inertia_curve", []), + "diagnostic_artifacts": result.metadata.get("diagnostic_artifacts", {}), } block_subdivision.grid_points = [ @@ -550,6 +571,304 @@ def _count_non_null_features(observations: list[AnalysisGridObservation]) -> dic return counts +def _persist_remote_sensing_diagnostic_artifacts( + *, + result: RemoteSensingSubdivisionResult, + observations: list[AnalysisGridObservation], + labels: list[int], + cluster_summaries: list[dict[str, Any]], + selected_features: list[str], + scaled_matrix: list[list[float]], + inertia_curve: list[dict[str, float]], +) -> dict[str, Any]: + try: + artifact_dir = _build_remote_sensing_diagnostic_dir(result=result) + artifact_dir.mkdir(parents=True, exist_ok=True) + + specs = [ + ( + "elbow_plot", + render_elbow_plot( + inertia_curve=inertia_curve, + optimal_k=result.cluster_count, + block_code=result.block_code or "farm", + ), + "elbow", + ), + ( + "cluster_map", + _render_cluster_map_plot( + observations=observations, + labels=labels, + block_code=result.block_code or "farm", + ), + "cluster-map", + ), + ( + "cluster_sizes", + _render_cluster_size_plot( + cluster_summaries=cluster_summaries, + block_code=result.block_code or "farm", + ), + "cluster-sizes", + ), + ( + "feature_pairs", + _render_feature_pair_plot( + selected_features=selected_features, + scaled_matrix=scaled_matrix, + labels=labels, + block_code=result.block_code or "farm", + ), + "feature-pairs", + ), + ] + + files: dict[str, str] = {} + for artifact_key, content, suffix in specs: + if content is None: + continue + target_path = artifact_dir / f"{_build_remote_sensing_artifact_stem(result=result)}__{suffix}.png" + _write_content_file(target_path=target_path, content=content) + files[artifact_key] = _to_project_relative_path(target_path) + + return { + "directory": _to_project_relative_path(artifact_dir), + "files": files, + } + except (DataDrivenSubdivisionError, OSError) as exc: + logger.warning( + "Failed to persist remote sensing diagnostic artifacts for result_id=%s: %s", + result.id, + exc, + ) + return {} + + +def _build_remote_sensing_diagnostic_dir(*, result: RemoteSensingSubdivisionResult) -> Path: + configured_dir = str( + os.environ.get("REMOTE_SENSING_DIAGNOSTIC_DIR", DEFAULT_REMOTE_SENSING_DIAGNOSTIC_DIR) + ).strip() + base_dir = Path(getattr(settings, "BASE_DIR", Path.cwd())) + target_dir = Path(configured_dir) + if not target_dir.is_absolute(): + target_dir = base_dir / target_dir + block_component = _sanitize_path_component(result.block_code or "farm") + return target_dir / f"location-{result.soil_location_id}" / f"run-{result.run_id}-{block_component}" + + +def _build_remote_sensing_artifact_stem(*, result: RemoteSensingSubdivisionResult) -> str: + return ( + f"location-{result.soil_location_id}" + f"__run-{result.run_id}" + f"__{_sanitize_path_component(result.block_code or 'farm')}" + ) + + +def _write_content_file(*, target_path: Path, content: ContentFile) -> None: + target_path.parent.mkdir(parents=True, exist_ok=True) + content.open("rb") + try: + target_path.write_bytes(content.read()) + finally: + content.close() + + +def _to_project_relative_path(path: Path) -> str: + base_dir = Path(getattr(settings, "BASE_DIR", Path.cwd())) + try: + return str(path.relative_to(base_dir)) + except ValueError: + return str(path) + + +def _sanitize_path_component(value: str) -> str: + text = str(value or "").strip() or "unknown" + sanitized = "".join(character if character.isalnum() or character in {"-", "_", "."} else "_" for character in text) + return sanitized or "unknown" + + +def _render_cluster_map_plot( + *, + observations: list[AnalysisGridObservation], + labels: list[int], + block_code: str, +) -> ContentFile | None: + if not observations: + return None + plt = _import_matplotlib_pyplot() + unique_labels = sorted(set(int(label) for label in labels)) + colors = plt.cm.get_cmap("tab10", max(len(unique_labels), 1)) + fig, ax = plt.subplots(figsize=(8, 6)) + buffer = BytesIO() + try: + for color_index, cluster_label in enumerate(unique_labels): + cluster_points = [ + (float(observation.cell.centroid_lon), float(observation.cell.centroid_lat)) + for observation, label in zip(observations, labels) + if int(label) == cluster_label + ] + if not cluster_points: + continue + xs = [point[0] for point in cluster_points] + ys = [point[1] for point in cluster_points] + ax.scatter( + xs, + ys, + s=70, + alpha=0.9, + color=colors(color_index), + edgecolors="white", + linewidths=0.8, + label=f"Cluster {cluster_label}", + ) + ax.set_title(f"KMeans Spatial Cluster Map - {block_code}") + ax.set_xlabel("Longitude") + ax.set_ylabel("Latitude") + ax.grid(True, linestyle="--", linewidth=0.5, alpha=0.4) + if unique_labels: + ax.legend() + fig.tight_layout() + fig.savefig(buffer, format="png", dpi=150) + buffer.seek(0) + return ContentFile(buffer.getvalue()) + finally: + buffer.close() + plt.close(fig) + + +def _render_cluster_size_plot( + *, + cluster_summaries: list[dict[str, Any]], + block_code: str, +) -> ContentFile | None: + if not cluster_summaries: + return None + plt = _import_matplotlib_pyplot() + labels = [f"C{int(cluster['cluster_label'])}" for cluster in cluster_summaries] + counts = [int(cluster["cell_count"]) for cluster in cluster_summaries] + fig, ax = plt.subplots(figsize=(8, 5)) + buffer = BytesIO() + try: + bars = ax.bar(labels, counts, color="#2f6fed", alpha=0.85) + for bar, count in zip(bars, counts): + ax.text( + bar.get_x() + bar.get_width() / 2.0, + bar.get_height(), + str(count), + ha="center", + va="bottom", + fontsize=9, + ) + ax.set_title(f"Cluster Sizes - {block_code}") + ax.set_xlabel("Cluster") + ax.set_ylabel("Cell Count") + ax.grid(True, axis="y", linestyle="--", linewidth=0.5, alpha=0.4) + fig.tight_layout() + fig.savefig(buffer, format="png", dpi=150) + buffer.seek(0) + return ContentFile(buffer.getvalue()) + finally: + buffer.close() + plt.close(fig) + + +def _render_feature_pair_plot( + *, + selected_features: list[str], + scaled_matrix: list[list[float]], + labels: list[int], + block_code: str, +) -> ContentFile | None: + if not scaled_matrix or not selected_features: + return None + plt = _import_matplotlib_pyplot() + feature_count = len(selected_features) + pair_indexes = [(0, 0)] if feature_count == 1 else [ + (left_index, right_index) + for left_index in range(feature_count) + for right_index in range(left_index + 1, feature_count) + ] + subplot_count = len(pair_indexes) + columns = 2 if subplot_count > 1 else 1 + rows = math.ceil(subplot_count / columns) + fig, axes = plt.subplots(rows, columns, figsize=(7 * columns, 5 * rows)) + axes_list = axes.flatten().tolist() if hasattr(axes, "flatten") else [axes] + unique_labels = sorted(set(int(label) for label in labels)) + colors = plt.cm.get_cmap("tab10", max(len(unique_labels), 1)) + buffer = BytesIO() + try: + for axis, (left_index, right_index) in zip(axes_list, pair_indexes): + if feature_count == 1: + xs = list(range(1, len(scaled_matrix) + 1)) + ys = [row[0] for row in scaled_matrix] + for color_index, cluster_label in enumerate(unique_labels): + filtered = [ + (x_value, y_value) + for x_value, y_value, label in zip(xs, ys, labels) + if int(label) == cluster_label + ] + axis.scatter( + [item[0] for item in filtered], + [item[1] for item in filtered], + s=55, + color=colors(color_index), + alpha=0.85, + label=f"Cluster {cluster_label}", + ) + axis.set_xlabel("Observation Index") + axis.set_ylabel(f"{selected_features[0]} (scaled)") + axis.set_title(f"{selected_features[0]} distribution") + else: + x_values = [row[left_index] for row in scaled_matrix] + y_values = [row[right_index] for row in scaled_matrix] + for color_index, cluster_label in enumerate(unique_labels): + filtered = [ + (x_value, y_value) + for x_value, y_value, label in zip(x_values, y_values, labels) + if int(label) == cluster_label + ] + axis.scatter( + [item[0] for item in filtered], + [item[1] for item in filtered], + s=55, + color=colors(color_index), + alpha=0.85, + label=f"Cluster {cluster_label}", + ) + axis.set_xlabel(f"{selected_features[left_index]} (scaled)") + axis.set_ylabel(f"{selected_features[right_index]} (scaled)") + axis.set_title( + f"{selected_features[left_index]} vs {selected_features[right_index]}" + ) + axis.grid(True, linestyle="--", linewidth=0.5, alpha=0.4) + + for axis in axes_list[subplot_count:]: + axis.remove() + + if unique_labels and axes_list: + axes_list[0].legend() + fig.suptitle(f"KMeans Feature Diagnostics - {block_code}", fontsize=14) + fig.tight_layout(rect=(0, 0, 1, 0.97)) + fig.savefig(buffer, format="png", dpi=150) + buffer.seek(0) + return ContentFile(buffer.getvalue()) + finally: + buffer.close() + plt.close(fig) + + +def _import_matplotlib_pyplot(): + try: + import matplotlib + + matplotlib.use("Agg") + import matplotlib.pyplot as plt + except ImportError as exc: # pragma: no cover - runtime dependency guard + raise DataDrivenSubdivisionError("matplotlib برای ذخیره نمودارهای KMeans لازم است.") from exc + return plt + + def _build_clustering_log_context( *, observations: list[AnalysisGridObservation], diff --git a/location_data/migrations/0016_remove_analysisgridobservation_lst_c.py b/location_data/migrations/0016_remove_analysisgridobservation_lst_c.py new file mode 100644 index 0000000..f6dbac5 --- /dev/null +++ b/location_data/migrations/0016_remove_analysisgridobservation_lst_c.py @@ -0,0 +1,14 @@ +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("location_data", "0015_merge_20260509_1418"), + ] + + operations = [ + migrations.RemoveField( + model_name="analysisgridobservation", + name="lst_c", + ), + ] diff --git a/location_data/models.py b/location_data/models.py index 109792a..2f87b7e 100644 --- a/location_data/models.py +++ b/location_data/models.py @@ -363,7 +363,6 @@ class AnalysisGridObservation(models.Model): temporal_end = models.DateField(db_index=True) ndvi = models.FloatField(null=True, blank=True) ndwi = models.FloatField(null=True, blank=True) - lst_c = models.FloatField(null=True, blank=True) soil_vv = models.FloatField(null=True, blank=True) soil_vv_db = models.FloatField(null=True, blank=True) dem_m = models.FloatField(null=True, blank=True) diff --git a/location_data/openeo_service.py b/location_data/openeo_service.py index 831caad..0896759 100644 --- a/location_data/openeo_service.py +++ b/location_data/openeo_service.py @@ -29,23 +29,21 @@ DEFAULT_OPENEO_PROXY_URL = "socks5h://host.docker.internal:10808" DEFAULT_OPENEO_TIMEOUT_SECONDS = 600.0 DEFAULT_OPENEO_HTTP_RETRY_TOTAL = 5 DEFAULT_OPENEO_HTTP_RETRY_BACKOFF_FACTOR = 2.0 +DEFAULT_OPENEO_PAYLOAD_ARCHIVE_DIR = "logs/openeo_payloads" SENTINEL2_COLLECTION = "SENTINEL2_L2A" -SENTINEL3_LST_COLLECTION = "SENTINEL3_SLSTR_L2_LST" SENTINEL1_COLLECTION = "SENTINEL1_GRD" VALID_SCL_CLASSES = (4, 5, 6) METRIC_NAMES = ( "ndvi", "ndwi", - "lst_c", "soil_vv", "soil_vv_db", ) CLUSTER_METRIC_NAMES = ( "ndvi", "ndwi", - "lst_c", "soil_vv_db", ) @@ -479,7 +477,6 @@ def compute_remote_sensing_metrics( "backend_url": DEFAULT_OPENEO_BACKEND_URL, "collections_used": [ SENTINEL2_COLLECTION, - SENTINEL3_LST_COLLECTION, SENTINEL1_COLLECTION, ], "job_refs": {}, @@ -490,7 +487,6 @@ def compute_remote_sensing_metrics( metric_runners = [ ("ndvi", compute_ndvi), ("ndwi", compute_ndwi), - ("lst_c", compute_lst_c), ("soil_vv", compute_soil_vv), ] for metric_name, runner in metric_runners: @@ -640,40 +636,6 @@ def compute_ndwi( } -def compute_lst_c( - *, - connection, - feature_collection, - spatial_extent, - temporal_start, - temporal_end, - expected_feature_ids: list[str] | None = None, -) -> dict[str, Any]: - cube = connection.load_collection( - SENTINEL3_LST_COLLECTION, - spatial_extent=spatial_extent, - temporal_extent=[_normalize_date(temporal_start), _normalize_date(temporal_end)], - ) - band_name = infer_band_name(cube, preferred=("LST", "LST_in", "LST", "band_0")) - lst_k = cube.band(band_name) if band_name else cube - lst_c = lst_k - 273.15 - aggregated, job_ref = _run_aggregate_spatial_job( - lst_c.mean_time().aggregate_spatial(geometries=feature_collection, reducer="mean"), - metric_name="lst_c", - ) - payload_diagnostics = _log_raw_payload_summary(aggregated, metric_name="lst_c", job_ref=job_ref) - return { - "results": parse_aggregate_spatial_response( - aggregated, - "lst_c", - job_ref=job_ref, - expected_feature_ids=expected_feature_ids, - ), - "job_ref": job_ref, - "payload_diagnostics": payload_diagnostics, - } - - def compute_soil_vv( *, connection, @@ -739,14 +701,15 @@ def _run_aggregate_spatial_job(process: Any, *, metric_name: str) -> tuple[Any, "openEO batch job finished: %s", _serialize_for_log({"metric_name": metric_name, "job_ref": _extract_job_ref(job)}), ) - return _load_job_result_payload(job), _extract_job_ref(job) + return _load_job_result_payload(job, metric_name=metric_name), _extract_job_ref(job) logger.info("openEO process uses synchronous execution fallback for metric `%s`.", metric_name) return process.execute(), None -def _load_job_result_payload(job: Any) -> Any: +def _load_job_result_payload(job: Any, *, metric_name: str) -> Any: results = job.get_results() + job_ref = _extract_job_ref(job) if hasattr(results, "download_files"): with TemporaryDirectory(prefix="openeo-job-") as temp_dir: @@ -754,26 +717,46 @@ def _load_job_result_payload(job: Any) -> Any: downloaded_files = sorted(str(path.relative_to(temp_dir)) for path in Path(temp_dir).rglob("*") if path.is_file()) logger.info( "openEO batch job files downloaded: %s", - _serialize_for_log({"job_ref": _extract_job_ref(job), "files": downloaded_files}), + _serialize_for_log({"job_ref": job_ref, "files": downloaded_files}), ) - payload = _load_first_json_payload(Path(temp_dir), job_ref=_extract_job_ref(job)) + payload, payload_path = _load_first_json_payload_with_source(Path(temp_dir), job_ref=job_ref) if payload is not None: + if payload_path is not None: + _persist_raw_payload_file( + source_path=payload_path, + metric_name=metric_name, + job_ref=job_ref, + ) return payload if hasattr(results, "get_metadata"): metadata = results.get_metadata() if isinstance(metadata, dict) and metadata.get("data") is not None: + _persist_raw_payload_value( + payload=metadata["data"], + metric_name=metric_name, + job_ref=job_ref, + ) return metadata["data"] raise OpenEOExecutionError( - f"openEO batch job `{_extract_job_ref(job) or 'unknown'}` completed but no JSON result payload could be loaded." + f"openEO batch job `{job_ref or 'unknown'}` completed but no JSON result payload could be loaded." ) def _load_first_json_payload(directory: Path, *, job_ref: str | None = None) -> Any | None: - asset_payload = _load_stac_asset_payload(directory, job_ref=job_ref) + payload, _source_path = _load_first_json_payload_with_source(directory, job_ref=job_ref) + return payload + + +def _load_first_json_payload_with_source( + directory: Path, + *, + job_ref: str | None = None, +) -> tuple[Any | None, Path | None]: + asset_payload, asset_path = _load_stac_asset_payload(directory, job_ref=job_ref) if asset_payload is not None: - return asset_payload + return asset_payload, asset_path for candidate in sorted(directory.rglob("*.json")): payload = _read_json_file(candidate, job_ref=job_ref) @@ -781,11 +764,11 @@ def _load_first_json_payload(directory: Path, *, job_ref: str | None = None) -> continue if _looks_like_stac_metadata_payload(payload): continue - return payload - return None + return payload, candidate + return None, None -def _load_stac_asset_payload(directory: Path, *, job_ref: str | None = None) -> Any | None: +def _load_stac_asset_payload(directory: Path, *, job_ref: str | None = None) -> tuple[Any | None, Path | None]: for candidate in sorted(directory.rglob("*.json")): payload = _read_json_file(candidate, job_ref=job_ref) if not _looks_like_stac_metadata_payload(payload): @@ -817,8 +800,88 @@ def _load_stac_asset_payload(directory: Path, *, job_ref: str | None = None) -> } ), ) - return _read_json_file(asset_path, job_ref=job_ref) - return None + return _read_json_file(asset_path, job_ref=job_ref), asset_path + return None, None + + +def _persist_raw_payload_file( + *, + source_path: Path, + metric_name: str, + job_ref: str | None, +) -> None: + archive_path = _build_payload_archive_path( + metric_name=metric_name, + job_ref=job_ref, + source_name=source_path.name, + ) + if archive_path is None: + return + raw_bytes = source_path.read_bytes() + archive_path.parent.mkdir(parents=True, exist_ok=True) + archive_path.write_bytes(raw_bytes) + logger.info( + "openEO raw payload archived: %s", + _serialize_for_log( + { + "job_ref": job_ref, + "metric_name": metric_name, + "source_path": str(source_path), + "archive_path": str(archive_path), + } + ), + ) + + +def _persist_raw_payload_value( + *, + payload: Any, + metric_name: str, + job_ref: str | None, +) -> None: + archive_path = _build_payload_archive_path( + metric_name=metric_name, + job_ref=job_ref, + source_name="metadata.json", + ) + if archive_path is None: + return + archive_path.parent.mkdir(parents=True, exist_ok=True) + archive_path.write_text( + json.dumps(payload, ensure_ascii=True, indent=2, sort_keys=False, default=str), + encoding="utf-8", + ) + logger.info( + "openEO raw payload archived from metadata: %s", + _serialize_for_log( + { + "job_ref": job_ref, + "metric_name": metric_name, + "archive_path": str(archive_path), + } + ), + ) + + +def _build_payload_archive_path( + *, + metric_name: str, + job_ref: str | None, + source_name: str, +) -> Path | None: + archive_dir = str(os.environ.get("OPENEO_PAYLOAD_ARCHIVE_DIR", DEFAULT_OPENEO_PAYLOAD_ARCHIVE_DIR)).strip() + if not archive_dir: + return None + safe_job_ref = _sanitize_filename_component(job_ref or "unknown-job") + safe_metric_name = _sanitize_filename_component(metric_name or "unknown-metric") + safe_source_name = _sanitize_filename_component(source_name or "payload.json") + return Path(archive_dir) / f"{safe_job_ref}__{safe_metric_name}__{safe_source_name}" + + +def _sanitize_filename_component(value: str) -> str: + text = str(value or "").strip() or "unknown" + sanitized = "".join(character if character.isalnum() or character in {"-", "_", "."} else "_" for character in text) + return sanitized or "unknown" def _iter_stac_asset_paths(payload: Any, directory: Path) -> list[tuple[str, Path]]: @@ -997,7 +1060,7 @@ def _parse_list_results( value = _extract_aggregate_value(item) else: feature_id = str(_normalize_feature_id(index, expected_feature_ids=expected_feature_ids)) - value = item + value = _extract_aggregate_value(item) results[feature_id] = {metric_name: _coerce_float(value)} return results diff --git a/location_data/satellite_snapshot.py b/location_data/satellite_snapshot.py index 3de41c5..18462db 100644 --- a/location_data/satellite_snapshot.py +++ b/location_data/satellite_snapshot.py @@ -10,7 +10,6 @@ from .models import AnalysisGridObservation, RemoteSensingRun, SoilLocation SATELLITE_METRIC_FIELDS = ( "ndvi", "ndwi", - "lst_c", "soil_vv_db", "dem_m", "slope_deg", diff --git a/location_data/serializers.py b/location_data/serializers.py index 7e56ce9..36697bb 100644 --- a/location_data/serializers.py +++ b/location_data/serializers.py @@ -162,7 +162,6 @@ class RemoteSensingCellObservationSerializer(serializers.ModelSerializer): "temporal_end", "ndvi", "ndwi", - "lst_c", "soil_vv", "soil_vv_db", "metadata", @@ -173,7 +172,6 @@ class RemoteSensingSummarySerializer(serializers.Serializer): cell_count = serializers.IntegerField() ndvi_mean = serializers.FloatField(allow_null=True) ndwi_mean = serializers.FloatField(allow_null=True) - lst_c_mean = serializers.FloatField(allow_null=True) soil_vv_db_mean = serializers.FloatField(allow_null=True) diff --git a/location_data/tasks.py b/location_data/tasks.py index 61f4daf..b9b2a93 100644 --- a/location_data/tasks.py +++ b/location_data/tasks.py @@ -48,7 +48,6 @@ REMOTE_SENSING_TASK_RETRY_BACKOFF_MAX_SECONDS = 600 PERSISTED_OBSERVATION_FEATURES = ( "ndvi", "ndwi", - "lst_c", "soil_vv", "soil_vv_db", ) @@ -690,7 +689,6 @@ def _upsert_grid_observations( "run": run, "ndvi": values.get("ndvi"), "ndwi": values.get("ndwi"), - "lst_c": values.get("lst_c"), "soil_vv": values.get("soil_vv"), "soil_vv_db": values.get("soil_vv_db"), "metadata": metadata_template, diff --git a/location_data/test_data_driven_subdivision.py b/location_data/test_data_driven_subdivision.py index ab1bb89..01badd9 100644 --- a/location_data/test_data_driven_subdivision.py +++ b/location_data/test_data_driven_subdivision.py @@ -1,9 +1,14 @@ from datetime import date +import os +from tempfile import TemporaryDirectory +from unittest.mock import patch +from django.core.files.base import ContentFile from django.test import TestCase from location_data.data_driven_subdivision import ( EmptyObservationDatasetError, + _persist_remote_sensing_diagnostic_artifacts, build_clustering_dataset, sync_block_subdivision_with_result, ) @@ -137,6 +142,78 @@ class DataDrivenSubdivisionSyncTests(TestCase): self.subdivision.metadata["data_driven_subdivision"]["cluster_count"], 2, ) + self.assertIn("diagnostic_artifacts", self.subdivision.metadata["data_driven_subdivision"]) + + def test_persist_remote_sensing_diagnostic_artifacts_saves_expected_images(self): + cell = AnalysisGridCell.objects.create( + soil_location=self.location, + block_subdivision=self.subdivision, + block_code="block-1", + cell_code="cell-1", + chunk_size_sqm=900, + geometry=self.boundary, + centroid_lat="35.689200", + centroid_lon="51.389200", + ) + observation = AnalysisGridObservation.objects.create( + cell=cell, + run=self.run, + temporal_start=date(2025, 1, 1), + temporal_end=date(2025, 1, 31), + ndvi=0.5, + ndwi=0.2, + soil_vv_db=-8.0, + ) + result = RemoteSensingSubdivisionResult.objects.create( + soil_location=self.location, + run=self.run, + block_subdivision=self.subdivision, + block_code="block-1", + chunk_size_sqm=900, + temporal_start=date(2025, 1, 1), + temporal_end=date(2025, 1, 31), + cluster_count=1, + selected_features=["ndvi", "ndwi", "soil_vv_db"], + metadata={"inertia_curve": [{"k": 1, "sse": 0.0}]}, + ) + + with TemporaryDirectory() as temp_dir: + with patch.dict(os.environ, {"REMOTE_SENSING_DIAGNOSTIC_DIR": temp_dir}, clear=False), patch( + "location_data.data_driven_subdivision.render_elbow_plot", + return_value=ContentFile(b"elbow"), + ), patch( + "location_data.data_driven_subdivision._render_cluster_map_plot", + return_value=ContentFile(b"map"), + ), patch( + "location_data.data_driven_subdivision._render_cluster_size_plot", + return_value=ContentFile(b"sizes"), + ), patch( + "location_data.data_driven_subdivision._render_feature_pair_plot", + return_value=ContentFile(b"pairs"), + ): + artifacts = _persist_remote_sensing_diagnostic_artifacts( + result=result, + observations=[observation], + labels=[0], + cluster_summaries=[ + { + "cluster_label": 0, + "cell_count": 1, + "centroid_lat": 35.6892, + "centroid_lon": 51.3892, + "cell_codes": ["cell-1"], + } + ], + selected_features=["ndvi", "ndwi", "soil_vv_db"], + scaled_matrix=[[0.0, 0.0, 0.0]], + inertia_curve=[{"k": 1, "sse": 0.0}], + ) + self.assertEqual( + sorted(artifacts["files"].keys()), + ["cluster_map", "cluster_sizes", "elbow_plot", "feature_pairs"], + ) + for path in artifacts["files"].values(): + self.assertTrue(os.path.exists(path)) def test_build_clustering_dataset_raises_clear_error_when_all_selected_features_are_null(self): cell = AnalysisGridCell.objects.create( @@ -164,7 +241,7 @@ class DataDrivenSubdivisionSyncTests(TestCase): ): build_clustering_dataset( observations=[observation], - selected_features=["ndvi", "ndwi", "lst_c", "soil_vv_db"], + selected_features=["ndvi", "ndwi", "soil_vv_db"], run=self.run, location=self.location, ) diff --git a/location_data/test_openeo_service.py b/location_data/test_openeo_service.py index 34d59f7..703468c 100644 --- a/location_data/test_openeo_service.py +++ b/location_data/test_openeo_service.py @@ -16,6 +16,7 @@ from location_data.openeo_service import ( OpenEOExecutionError, _log_raw_payload_summary, _load_first_json_payload, + _load_job_result_payload, _resolve_openeo_proxy_url_from_env, _run_aggregate_spatial_job, log_openeo_request_summary, @@ -58,10 +59,10 @@ class OpenEOServiceParsingTests(SimpleTestCase): "cell-2": {"mean": 15.1}, } - result = parse_aggregate_spatial_response(payload, "lst_c") + result = parse_aggregate_spatial_response(payload, "ndwi") - self.assertEqual(result["cell-1"]["lst_c"], 12.4) - self.assertEqual(result["cell-2"]["lst_c"], 15.1) + self.assertEqual(result["cell-1"]["ndwi"], 12.4) + self.assertEqual(result["cell-2"]["ndwi"], 15.1) def test_parse_mapping_results_maps_numeric_keys_to_expected_feature_ids(self): payload = { @@ -71,12 +72,12 @@ class OpenEOServiceParsingTests(SimpleTestCase): result = parse_aggregate_spatial_response( payload, - "lst_c", + "ndwi", expected_feature_ids=["cell-1", "cell-2"], ) - self.assertEqual(result["cell-1"]["lst_c"], 12.4) - self.assertEqual(result["cell-2"]["lst_c"], 15.1) + self.assertEqual(result["cell-1"]["ndwi"], 12.4) + self.assertEqual(result["cell-2"]["ndwi"], 15.1) def test_parse_list_results_maps_positional_payload_to_expected_feature_ids(self): payload = [{"mean": 0.61}, {"mean": 0.47}] @@ -90,6 +91,18 @@ class OpenEOServiceParsingTests(SimpleTestCase): self.assertEqual(result["cell-1"]["ndvi"], 0.61) self.assertEqual(result["cell-2"]["ndvi"], 0.47) + def test_parse_list_results_extracts_scalar_from_nested_list_payloads(self): + payload = [[0.61], [0.47]] + + result = parse_aggregate_spatial_response( + payload, + "ndvi", + expected_feature_ids=["cell-1", "cell-2"], + ) + + self.assertEqual(result["cell-1"]["ndvi"], 0.61) + self.assertEqual(result["cell-2"]["ndvi"], 0.47) + def test_log_raw_payload_summary_warns_for_empty_payload(self): with self.assertLogs("location_data.openeo_service", level="WARNING") as captured: summary = _log_raw_payload_summary({}, metric_name="ndvi", job_ref="job-1") @@ -101,9 +114,9 @@ class OpenEOServiceParsingTests(SimpleTestCase): payload = {"cell-1": {"foo": 12.4}} with self.assertLogs("location_data.openeo_service", level="WARNING") as captured: - result = parse_aggregate_spatial_response(payload, "lst_c", job_ref="job-2") + result = parse_aggregate_spatial_response(payload, "ndwi", job_ref="job-2") - self.assertEqual(result["cell-1"]["lst_c"], 12.4) + self.assertEqual(result["cell-1"]["ndwi"], 12.4) self.assertIn("Feature mismatch for cell=cell-1, available_keys=['foo']", "\n".join(captured.output)) def test_linear_to_db(self): @@ -347,6 +360,26 @@ class OpenEOConnectionTests(SimpleTestCase): self.assertEqual(job_ref, "job-123") process.execute.assert_not_called() + def test_load_job_result_payload_archives_exact_raw_json_file(self): + job = Mock(job_id="job-123") + results = Mock() + job.get_results.return_value = results + raw_json = '{\n "cell-1": {"mean": 0.5}\n}\n' + + def write_json(target_dir): + Path(target_dir, "timeseries.json").write_text(raw_json, encoding="utf-8") + + results.download_files.side_effect = write_json + + with TemporaryDirectory() as archive_dir: + with patch.dict(os.environ, {"OPENEO_PAYLOAD_ARCHIVE_DIR": archive_dir}, clear=False): + payload = _load_job_result_payload(job, metric_name="ndvi") + archive_path = Path(archive_dir) / "job-123__ndvi__timeseries.json" + self.assertTrue(archive_path.exists()) + self.assertEqual(archive_path.read_text(encoding="utf-8"), raw_json) + + self.assertEqual(payload, {"cell-1": {"mean": 0.5}}) + def test_load_first_json_payload_prefers_stac_asset_data_over_metadata(self): with TemporaryDirectory() as temp_dir: Path(temp_dir, "item.json").write_text( diff --git a/location_data/test_remote_sensing_api.py b/location_data/test_remote_sensing_api.py index 6a4c16c..a7c2ada 100644 --- a/location_data/test_remote_sensing_api.py +++ b/location_data/test_remote_sensing_api.py @@ -151,7 +151,6 @@ class RemoteSensingApiTests(TestCase): temporal_end=self.temporal_end, ndvi=0.61, ndwi=0.22, - lst_c=24.5, soil_vv=0.13, soil_vv_db=-8.860566, dem_m=1550.0, @@ -433,7 +432,6 @@ class RemoteSensingApiTests(TestCase): temporal_end=self.temporal_end, ndvi=0.61, ndwi=0.22, - lst_c=24.5, soil_vv=0.13, soil_vv_db=-8.860566, dem_m=1550.0, diff --git a/location_data/test_remote_sensing_tasks.py b/location_data/test_remote_sensing_tasks.py index 82a6382..29942a9 100644 --- a/location_data/test_remote_sensing_tasks.py +++ b/location_data/test_remote_sensing_tasks.py @@ -88,7 +88,6 @@ class RemoteSensingTaskDiagnosticsTests(TestCase): observation = AnalysisGridObservation.objects.get(cell=self.cell) self.assertIsNone(observation.ndvi) self.assertIsNone(observation.ndwi) - self.assertIsNone(observation.lst_c) self.assertIsNone(observation.soil_vv) self.assertIsNone(observation.soil_vv_db) @@ -111,7 +110,7 @@ class RemoteSensingTaskDiagnosticsTests(TestCase): subdivision_result = Mock( id=99, cluster_count=1, - selected_features=["ndvi", "ndwi", "lst_c", "soil_vv_db"], + selected_features=["ndvi", "ndwi", "soil_vv_db"], metadata={"used_cell_count": 1, "skipped_cell_count": 0, "kmeans_params": {}}, skipped_cell_codes=[], ) @@ -120,7 +119,6 @@ class RemoteSensingTaskDiagnosticsTests(TestCase): "cell-1": { "ndvi": 0.52, "ndwi": 0.21, - "lst_c": None, "soil_vv": 10.0, "soil_vv_db": 10.0, } diff --git a/location_data/views.py b/location_data/views.py index b4dbf8b..46d4fe6 100644 --- a/location_data/views.py +++ b/location_data/views.py @@ -1085,14 +1085,12 @@ def _build_remote_sensing_summary(observations): cell_count=Avg("cell_id"), ndvi_mean=Avg("ndvi"), ndwi_mean=Avg("ndwi"), - lst_c_mean=Avg("lst_c"), soil_vv_db_mean=Avg("soil_vv_db"), ) summary = { "cell_count": observations.count(), "ndvi_mean": _round_or_none(aggregates.get("ndvi_mean")), "ndwi_mean": _round_or_none(aggregates.get("ndwi_mean")), - "lst_c_mean": _round_or_none(aggregates.get("lst_c_mean")), "soil_vv_db_mean": _round_or_none(aggregates.get("soil_vv_db_mean")), } return summary @@ -1103,7 +1101,6 @@ def _empty_remote_sensing_summary(): "cell_count": 0, "ndvi_mean": None, "ndwi_mean": None, - "lst_c_mean": None, "soil_vv_db_mean": None, } diff --git a/soile/services.py b/soile/services.py index 6066581..0e3cfff 100644 --- a/soile/services.py +++ b/soile/services.py @@ -224,7 +224,6 @@ def _soil_profile(sensor: Any) -> list[dict[str, Any]]: "silt": None, "clay": None, "ndvi": metrics.get("ndvi"), - "lst_c": metrics.get("lst_c"), "soil_vv_db": metrics.get("soil_vv_db"), "dem_m": metrics.get("dem_m"), "slope_deg": metrics.get("slope_deg"),