|
@@ -255,12 +255,12 @@ def generate_earliest_warning_distance_pgvil_chart(function_calculator, output_d
|
|
|
warning_dist = getattr(function_calculator, 'warning_dist', None)
|
|
|
warning_time = getattr(function_calculator, 'warning_time', None)
|
|
|
|
|
|
- if warning_dist.empty:
|
|
|
+ if len(warning_dist) == 0:
|
|
|
logger.warning(f"Cannot generate {"earliestWarningDistance_LST"} chart: empty data")
|
|
|
return None
|
|
|
|
|
|
# Calculate metric value
|
|
|
- metric_value = float(warning_dist.iloc[0]) if len(warning_dist) >= 0.0 else max_threshold
|
|
|
+ metric_value = float(warning_dist[0]) if len(warning_dist) >= 0.0 else max_threshold
|
|
|
|
|
|
# Save CSV data
|
|
|
csv_filename = os.path.join(output_dir, f"earliestWarningDistance_PGVIL_data.csv")
|
|
@@ -268,7 +268,7 @@ def generate_earliest_warning_distance_pgvil_chart(function_calculator, output_d
|
|
|
'simTime': warning_time,
|
|
|
'warning_distance': warning_dist,
|
|
|
'min_threshold': min_threshold,
|
|
|
- 'max_threshold': max_threshold,
|
|
|
+ 'max_threshold': max_threshold
|
|
|
})
|
|
|
df_csv.to_csv(csv_filename, index=False)
|
|
|
logger.info(f"earliestWarningDistance_PGVIL data saved to: {csv_filename}")
|
|
@@ -348,7 +348,7 @@ def generate_latest_warning_ttc_pgvil_chart(function_calculator, output_dir: str
|
|
|
warning_time = getattr(function_calculator, 'warning_time', None)
|
|
|
ttc = getattr(function_calculator, 'ttc', None)
|
|
|
|
|
|
- if warning_dist.empty:
|
|
|
+ if len(warning_dist) == 0:
|
|
|
logger.warning("Cannot generate TTC warning chart: empty data")
|
|
|
return None
|
|
|
|
|
@@ -357,7 +357,7 @@ def generate_latest_warning_ttc_pgvil_chart(function_calculator, output_dir: str
|
|
|
# 保存 CSV 数据
|
|
|
csv_filename = os.path.join(output_dir, f"latestwarningdistance_ttc_pgvil_data.csv")
|
|
|
df_csv = pd.DataFrame({
|
|
|
- 'simTime': ego_df['simTime'],
|
|
|
+ 'simTime': warning_time,
|
|
|
'warning_distance': warning_dist,
|
|
|
'warning_speed': warning_speed,
|
|
|
'ttc': ttc,
|
|
@@ -650,17 +650,17 @@ def generate_latest_warning_distance_pgvil_chart(function_calculator, output_dir
|
|
|
warning_dist = getattr(function_calculator, 'warning_dist', None)
|
|
|
warning_time = getattr(function_calculator, 'warning_time', None)
|
|
|
|
|
|
- if warning_dist.empty:
|
|
|
+ if len(warning_dist) == 0:
|
|
|
logger.warning(f"Cannot generate latestWarningDistance_PGVIL chart: empty data")
|
|
|
return None
|
|
|
|
|
|
# Calculate metric value
|
|
|
- metric_value = float(warning_dist.iloc[-1]) if len(warning_dist) > 0 else max_threshold
|
|
|
+ metric_value = float(warning_dist[-1]) if len(warning_dist) > 0 else max_threshold
|
|
|
|
|
|
# Save CSV data
|
|
|
csv_filename = os.path.join(output_dir, f"latestWarningDistance_PGVIL_data.csv")
|
|
|
df_csv = pd.DataFrame({
|
|
|
- 'simTime': ego_df['simTime'],
|
|
|
+ 'simTime': warning_time,
|
|
|
'warning_distance': warning_dist,
|
|
|
'min_threshold': min_threshold,
|
|
|
'max_threshold': max_threshold
|
|
@@ -837,16 +837,17 @@ def generate_earliest_warning_distance_ttc_pgvil_chart(function_calculator, outp
|
|
|
min_threshold = thresholds["min"]
|
|
|
|
|
|
# Get calculated warning distance and speed
|
|
|
- warning_dist = getattr(function_calculator, 'correctwarning', None)
|
|
|
+ warning_dist = getattr(function_calculator, 'warning_dist', None)
|
|
|
warning_speed = getattr(function_calculator, 'warning_speed', None)
|
|
|
ttc = getattr(function_calculator, 'ttc', None)
|
|
|
+ warning_time = getattr(function_calculator, 'warning_time', None)
|
|
|
|
|
|
# Calculate metric value
|
|
|
metric_value = float(ttc[0]) if len(ttc) > 0 else max_threshold
|
|
|
# Save CSV data
|
|
|
csv_filename = os.path.join(output_dir, f"{metric_name.lower()}_data.csv")
|
|
|
df_csv = pd.DataFrame({
|
|
|
- 'simTime': ego_df[(ego_df['ifwarning'] == correctwarning) & (ego_df['ifwarning'].notna())]['simTime'],
|
|
|
+ 'simTime': warning_time,
|
|
|
'warning_distance': warning_dist,
|
|
|
'warning_speed': warning_speed,
|
|
|
'ttc': ttc,
|