feat(workbench): add runtime GIS and sample integrations

This commit is contained in:
2026-09-22 10:44:31 +08:00
parent a3b4e75317
commit 7ab9b36a5e
62 changed files with 6685 additions and 51 deletions
+10
View File
@@ -80,6 +80,8 @@ def _create_validated_placement(
min_diameter: int,
created_by: str,
sensor_locations: list[str],
sensor_type: str = "pressure",
method: str | None = None,
) -> dict[str, Any]:
validate_sensor_placement_nodes(project_code, sensor_locations)
return sensor_placement_repository.create_sensor_placement(
@@ -88,6 +90,8 @@ def _create_validated_placement(
min_diameter=min_diameter,
created_by=created_by,
sensor_locations=sensor_locations,
sensor_type=sensor_type,
method=method,
)
@@ -97,6 +101,7 @@ def optimize_sensor_placement_by_sensitivity(
sensor_count: int,
min_diameter: int,
created_by: str,
sensor_type: str = "pressure",
) -> dict[str, Any]:
"""Run sensitivity placement and persist the validated result."""
@@ -112,6 +117,8 @@ def optimize_sensor_placement_by_sensitivity(
min_diameter=min_diameter,
created_by=created_by,
sensor_locations=sensor_locations,
sensor_type=sensor_type,
method="sensitivity",
)
@@ -121,6 +128,7 @@ def optimize_sensor_placement_by_kmeans(
sensor_count: int,
min_diameter: int,
created_by: str,
sensor_type: str = "pressure",
) -> dict[str, Any]:
"""Export the model, run K-means placement, and persist the result."""
@@ -136,6 +144,8 @@ def optimize_sensor_placement_by_kmeans(
min_diameter=min_diameter,
created_by=created_by,
sensor_locations=sensor_locations,
sensor_type=sensor_type,
method="kmeans",
)