提交问题诊断联调问题修复

This commit is contained in:
wangxu 2025-11-03 16:53:19 +08:00
parent 8c3a39b5c8
commit 549271b462
1 changed files with 29 additions and 20 deletions

View File

@ -539,12 +539,17 @@ def gen_flow_turn_rate_index(avg_cross_delay_info, roads_dir_dict):
l_rate, s_rate, r_rate = '-', '-', '-'
out_l_rate, out_s_rate, out_r_rate = '-', '-', '-'
in_flow_rate, out_flow_rate = '-', '-'
l_num, s_num, r_num = 0, 0, 0
out_l_num, out_s_num, out_r_num = 0, 0, 0
if roadid != '-' and roadid in road_delay_dict.keys():
car_num = road_delay_dict[roadid].delay_info.car_num
in_flow_rate = round(car_num / cross_sum_car_num, 2) if cross_out_sum_car_num != 0 else '-'
l_rate = round(road_delay_dict[roadid].delay_info.turn_ratio_1 / car_num, 2) if car_num != 0 else '-'
s_rate = round(road_delay_dict[roadid].delay_info.turn_ratio_0 / car_num, 2) if car_num != 0 else '-'
r_rate = round(road_delay_dict[roadid].delay_info.turn_ratio_2 / car_num, 2) if car_num != 0 else '-'
l_num = road_delay_dict[roadid].delay_info.turn_ratio_1
s_num = road_delay_dict[roadid].delay_info.turn_ratio_0
r_num = road_delay_dict[roadid].delay_info.turn_ratio_2
out_road_id = roads_dir_dict[dir]['out']
if out_road_id != '-' and out_road_id in outroad_info_dict.keys():
out_car_num = outroad_info_dict[out_road_id].turn_info.car_num
@ -552,6 +557,7 @@ def gen_flow_turn_rate_index(avg_cross_delay_info, roads_dir_dict):
out_l_rate = round(outroad_info_dict[out_road_id].turn_info.turn_ratio_1 / out_car_num, 2) if out_car_num != 0 else '-'
out_s_rate = round(outroad_info_dict[out_road_id].turn_info.turn_ratio_0 / out_car_num, 2) if out_car_num != 0 else '-'
out_r_rate = round(outroad_info_dict[out_road_id].turn_info.turn_ratio_2 / out_car_num, 2) if out_car_num != 0 else '-'
out_l_num, out_s_num, out_r_num = outroad_info_dict[out_road_id].turn_info.turn_ratio_1, outroad_info_dict[out_road_id].turn_info.turn_ratio_0, outroad_info_dict[out_road_id].turn_info.turn_ratio_2
road_flow_turn_rate[roadid] = {
'src_dir': dir,
'in_flow_rate': in_flow_rate,
@ -561,7 +567,13 @@ def gen_flow_turn_rate_index(avg_cross_delay_info, roads_dir_dict):
'r_rate': r_rate,
'out_l_rate': out_l_rate,
'out_s_rate': out_s_rate,
'out_r_rate': out_r_rate
'out_r_rate': out_r_rate,
'l_num': l_num,
's_num': s_num,
'r_num': r_num,
'out_l_num': out_l_num,
'out_s_num': out_s_num,
'out_r_num': out_r_num
}
tmp_dict = {v['src_dir']: k for k, v in road_flow_turn_rate.items()}
sorted_tmp_dict = sort_dict_by_clockwise(tmp_dict)
@ -1022,10 +1034,12 @@ def gen_high_park_problems(road_delay_infos, roads_dir_dict, cross_phase):
src_detail.append({
'text': '车辆需要多次排队才能通过'
})
detail.append({
'src_dir': dir_str_dict[src_dir] + '进口',
'child_detail': src_detail
})
detail.append([
{
'src_dir': dir_str_dict[src_dir] + '进口',
'child_detail': src_detail
}
])
turn_type_str = ''.join([int_turn_type2str[int(item.split(':')[0])] for item in err_src_dict[src_dir]])
src_suggestions.append(
{
@ -1145,11 +1159,11 @@ def gen_cross_imbalance_problems(road_delay_infos, roads_dir_dict, cross_phase):
{
'child_detail': [
{
'src_dir': dir_str_dict[max_src] + '进口',
'max_src_dir': dir_str_dict[max_src] + '进口',
'text': '的停车次数(' + str(round(max_stop_times_road.delay_info.stop_times, 2)) + ')与'
},
{
'src_dir': dir_str_dict[min_src] + '进口',
'min_src_dir': dir_str_dict[min_src] + '进口',
'text': f"""的停车次数({str(round(max_stop_times_road.delay_info.stop_times, 2))})相差过大,两者之比为{int(round(max_stop_times_road.delay_info.stop_times, 2) / round(min_stop_times_road.delay_info.stop_times, 2) * 100)}%,分配的绿灯时长不匹配"""
}
]
@ -1526,22 +1540,19 @@ def gen_inroad_num_problems(road_delay_infos, inroad_static_info_dict, roads_dir
total_num = 1
for src_dir in err_src_dirs.keys():
err_road_dict = err_src_dirs[src_dir]
src_detail = [
{
'src_dir': dir_str_dict[src_dir] + '进口'
}
]
src_detail = {
'src_dir': dir_str_dict[src_dir] + '进口',
'child_detail': []
}
for turn_type in err_road_dict:
src_detail.append({
'child_detail': [
src_detail['child_detail'].append(
{
'turn_type': turn_type['turn_type'],
'text': '分流转向比过大(' + str(int(round(turn_type['flow_rate'], 2) * 100)) + '%),但分配的转向车道占比不足(' + str(int(round(turn_type['lane_num_rate'], 2) * 100)) + '%),分配车道资源不匹配'
}
]
})
)
detail.append(
src_detail
[src_detail]
)
suggestions.append({
'child_detail': [
@ -1595,9 +1606,7 @@ def gen_in_out_lane_num_gap_problems(cross_ledger_info):
for src_dir in err_src_dict.keys():
detail.append([
{
'src_dir': dir_str_dict[src_dir] + '进口'
},
{
'src_dir': dir_str_dict[src_dir] + '进口',
'child_detail': [
{
'text': '进口道车道数(' + str(err_src_dict[src_dir]['in']) + ')比对向出口道车道数(' + str(err_src_dict[src_dir]['out']) + ')多,车辆冰岛减速可能会造成路口车辆积压'