fix(burst-location): correct normal data window
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
from datetime import datetime
|
||||
from datetime import datetime, timedelta
|
||||
from typing import Any
|
||||
|
||||
import pandas as pd
|
||||
@@ -124,6 +124,8 @@ def run_burst_location_by_network(
|
||||
if normalized_data_source == "simulation":
|
||||
if not simulation_scheme_name:
|
||||
raise ValueError("模拟方案模式必须提供 simulation_scheme_name。")
|
||||
normal_start_dt = burst_start_dt
|
||||
normal_end_dt = burst_end_dt
|
||||
(
|
||||
burst_pressure_series,
|
||||
burst_pressure_samples,
|
||||
@@ -144,16 +146,21 @@ def run_burst_location_by_network(
|
||||
) = _build_observed_series_from_simulation(
|
||||
network=network,
|
||||
sensor_ids=selected_pressure_ids,
|
||||
start_dt=normal_start_dt or burst_start_dt,
|
||||
end_dt=normal_end_dt or burst_end_dt,
|
||||
start_dt=normal_start_dt,
|
||||
end_dt=normal_end_dt,
|
||||
data_type="pressure",
|
||||
series_name="normal_pressure",
|
||||
simulation_source="scheme",
|
||||
simulation_scheme_name=simulation_scheme_name,
|
||||
simulation_source="realtime",
|
||||
simulation_scheme_name=None,
|
||||
simulation_scheme_type=resolved_simulation_scheme_type,
|
||||
)
|
||||
observed_source = "simulation_scheme_timerange"
|
||||
observed_source = "simulation_scheme_burst_realtime_normal_timerange"
|
||||
else:
|
||||
if normal_pressure_from_payload is None and (
|
||||
normal_start_dt is None or normal_end_dt is None
|
||||
):
|
||||
normal_start_dt = burst_start_dt - timedelta(days=1)
|
||||
normal_end_dt = burst_end_dt - timedelta(days=1)
|
||||
(
|
||||
burst_pressure_series,
|
||||
burst_pressure_samples,
|
||||
@@ -172,16 +179,12 @@ def run_burst_location_by_network(
|
||||
) = _build_observed_series_from_scada(
|
||||
network=network,
|
||||
sensor_ids=selected_pressure_ids,
|
||||
start_dt=normal_start_dt or burst_start_dt,
|
||||
end_dt=normal_end_dt or burst_end_dt,
|
||||
start_dt=normal_start_dt,
|
||||
end_dt=normal_end_dt,
|
||||
data_type="pressure",
|
||||
series_name="normal_pressure",
|
||||
)
|
||||
observed_source = (
|
||||
"scada_burst_scada_normal_timerange"
|
||||
if normal_start_dt is not None and normal_end_dt is not None
|
||||
else "scada_timerange"
|
||||
)
|
||||
observed_source = "scada_burst_scada_normal_timerange"
|
||||
else:
|
||||
normal_pressure_series = normal_pressure_from_payload
|
||||
normal_pressure_samples = 1
|
||||
@@ -245,16 +248,21 @@ def run_burst_location_by_network(
|
||||
_build_observed_series_from_simulation(
|
||||
network=network,
|
||||
sensor_ids=selected_flow_ids,
|
||||
start_dt=normal_start_dt or burst_start_dt,
|
||||
end_dt=normal_end_dt or burst_end_dt,
|
||||
start_dt=normal_start_dt,
|
||||
end_dt=normal_end_dt,
|
||||
data_type="flow",
|
||||
series_name="normal_flow",
|
||||
simulation_source="scheme",
|
||||
simulation_scheme_name=simulation_scheme_name,
|
||||
simulation_source="realtime",
|
||||
simulation_scheme_name=None,
|
||||
simulation_scheme_type=resolved_simulation_scheme_type,
|
||||
)
|
||||
)
|
||||
else:
|
||||
if normal_flow_from_payload is None and (
|
||||
normal_start_dt is None or normal_end_dt is None
|
||||
):
|
||||
normal_start_dt = burst_start_dt - timedelta(days=1)
|
||||
normal_end_dt = burst_end_dt - timedelta(days=1)
|
||||
burst_flow_series, burst_flow_samples = _build_observed_series_from_scada(
|
||||
network=network,
|
||||
sensor_ids=selected_flow_ids,
|
||||
@@ -268,8 +276,8 @@ def run_burst_location_by_network(
|
||||
_build_observed_series_from_scada(
|
||||
network=network,
|
||||
sensor_ids=selected_flow_ids,
|
||||
start_dt=normal_start_dt or burst_start_dt,
|
||||
end_dt=normal_end_dt or burst_end_dt,
|
||||
start_dt=normal_start_dt,
|
||||
end_dt=normal_end_dt,
|
||||
data_type="flow",
|
||||
series_name="normal_flow",
|
||||
)
|
||||
@@ -313,6 +321,7 @@ def run_burst_location_by_network(
|
||||
normal_flow=normal_flow_series,
|
||||
min_dpressure=min_dpressure,
|
||||
basic_pressure=basic_pressure,
|
||||
visualize_partition=False,
|
||||
)
|
||||
|
||||
payload: dict[str, Any] = {
|
||||
|
||||
Reference in New Issue
Block a user