修复高频停车转向展示异常bug

This commit is contained in:
wangxu 2025-11-11 18:02:20 +08:00
parent 5dfe9e79ca
commit 0ad2f6cbb2
1 changed files with 5 additions and 6 deletions

View File

@ -281,8 +281,7 @@ def gen_overview_index(avg_cross_delay_info, inroad_static_info_dict, nodeid, da
move_speed = avg_cross_delay_info.delay_info.move_speed / 100 if car_num >= 10 else '-' move_speed = avg_cross_delay_info.delay_info.move_speed / 100 if car_num >= 10 else '-'
park_time = avg_cross_delay_info.delay_info.park_time if car_num >= 10 else '-' park_time = avg_cross_delay_info.delay_info.park_time if car_num >= 10 else '-'
delay_time = avg_cross_delay_info.delay_info.delay_time if car_num >= 10 else '-' delay_time = avg_cross_delay_info.delay_info.delay_time if car_num >= 10 else '-'
high_stop_turn_ratio_desc, main_flow_src_desc = gen_high_stop_turn_ratio_desc(avg_cross_delay_info.inroad_delay_infos, inroad_static_info_dict, car_num) if car_num >= 10 else '', '' high_stop_turn_ratio_desc = gen_high_stop_turn_ratio_desc(avg_cross_delay_info.inroad_delay_infos, inroad_static_info_dict, car_num) if car_num >= 10 else []
tide_index_list = calc_tide_index(crossid, nodeid, date_list, roads_dir_dict) tide_index_list = calc_tide_index(crossid, nodeid, date_list, roads_dir_dict)
usable_tide_list = [item for item in tide_index_list if item != 0] usable_tide_list = [item for item in tide_index_list if item != 0]
tide_index = round(sum(usable_tide_list) / len(usable_tide_list), 2) if len(usable_tide_list) > 0 else 0 tide_index = round(sum(usable_tide_list) / len(usable_tide_list), 2) if len(usable_tide_list) > 0 else 0
@ -297,8 +296,8 @@ def gen_overview_index(avg_cross_delay_info, inroad_static_info_dict, nodeid, da
'park_time': park_time, 'park_time': park_time,
'delay_time': delay_time, 'delay_time': delay_time,
'service_level': service_level, 'service_level': service_level,
'high_stop_turn_ratio_desc': high_stop_turn_ratio_desc, 'high_stop_turn_ratio_desc': high_stop_turn_ratio_desc[0] if len(high_stop_turn_ratio_desc) > 0 else '',
'main_flow_src_desc': main_flow_src_desc, 'main_flow_src_desc': high_stop_turn_ratio_desc[1] if len(high_stop_turn_ratio_desc) > 1 else '',
'tide_index': tide_index 'tide_index': tide_index
} }
return overview_res return overview_res
@ -326,7 +325,7 @@ def gen_high_stop_turn_ratio_desc(inroad_delay_infos, inroad_static_info_dict, c
src_dict[src_dir].append(turn_type) src_dict[src_dir].append(turn_type)
for item in src_dict.keys(): for item in src_dict.keys():
src_desc_list.append(item + '/'.join(src_dict[item])) src_desc_list.append(item + '/'.join(src_dict[item]))
return ''.join(src_desc_list) if src_desc_list else '', ''.join(main_flow_src_list) if main_flow_src_list else '' return [''.join(src_desc_list) if src_desc_list else '', ''.join(main_flow_src_list) if main_flow_src_list else '']
def found_max_car_num_flow(inroad_car_num, inroad_info): def found_max_car_num_flow(inroad_car_num, inroad_info):
@ -868,7 +867,7 @@ def parse_single_cross_delay_info(crossid, nodeid, data_list, data_type, roads_d
turn_type = flow_delay_info.turn_type turn_type = flow_delay_info.turn_type
if turn_type not in (0, 1): if turn_type not in (0, 1):
continue continue
if flow_delay_info.delay_info.car_num >= 5: if flow_delay_info.delay_info.car_num >= 3:
flow_data = [ flow_data = [
# 停车次数 # 停车次数
round(flow_delay_info.delay_info.stop_times, 2), round(flow_delay_info.delay_info.stop_times, 2),