修复分流转向比异常值

This commit is contained in:
wangxu 2025-11-04 17:27:53 +08:00
parent bbe69879d6
commit 22c54bdf8d
1 changed files with 10 additions and 10 deletions

View File

@ -563,10 +563,10 @@ def gen_flow_turn_rate_index(avg_cross_delay_info, roads_dir_dict):
else:
split_turns_set.add(1)
car_num = road_delay_dict[roadid].delay_info.car_num
in_flow_rate = round(car_num / cross_sum_car_num, 2) * 100 if cross_out_sum_car_num != 0 else 0
l_rate = round(road_delay_dict[roadid].delay_info.turn_ratio_1 / car_num, 2) * 100 if car_num != 0 else 0
s_rate = round(road_delay_dict[roadid].delay_info.turn_ratio_0 / car_num, 2) * 100 if car_num != 0 else 0
r_rate = round(road_delay_dict[roadid].delay_info.turn_ratio_2 / car_num, 2) * 100 if car_num != 0 else 0
in_flow_rate = int(car_num / cross_sum_car_num * 100) if cross_out_sum_car_num != 0 else 0
l_rate = int(road_delay_dict[roadid].delay_info.turn_ratio_1 / car_num * 100) if car_num != 0 else 0
s_rate = int(road_delay_dict[roadid].delay_info.turn_ratio_0 / car_num * 100) if car_num != 0 else 0
r_rate = int(road_delay_dict[roadid].delay_info.turn_ratio_2 / car_num * 100) if car_num != 0 else 0
if 0 not in split_turns_set:
s_rate = '-'
if 1 not in split_turns_set:
@ -577,7 +577,7 @@ def gen_flow_turn_rate_index(avg_cross_delay_info, roads_dir_dict):
s_num = road_delay_dict[roadid].delay_info.turn_ratio_0
r_num = road_delay_dict[roadid].delay_info.turn_ratio_2
rate_list = fix_to_100(l_rate, s_rate, r_rate)
l_rate, s_rate, r_rate = rate_list[0] if rate_list[0] == '-' else round(rate_list[0], 2), rate_list[1] if rate_list[1] == '-' else round(rate_list[1], 2), rate_list[2] if rate_list[2] == '-' else round(rate_list[2], 2)
l_rate, s_rate, r_rate = rate_list[0] if rate_list[0] == '-' else int(rate_list[0]), rate_list[1] if rate_list[1] == '-' else int(rate_list[1]), rate_list[2] if rate_list[2] == '-' else int(rate_list[2])
out_road_id = roads_dir_dict[dir]['out']
if out_road_id != '-' and out_road_id in outroad_info_dict.keys():
out_road_info = g_roadnet.query_road(out_road_id)
@ -596,10 +596,10 @@ def gen_flow_turn_rate_index(avg_cross_delay_info, roads_dir_dict):
else:
merge_turns_set.add(1)
out_car_num = outroad_info_dict[out_road_id].turn_info.car_num
out_flow_rate = round(out_car_num / cross_out_sum_car_num, 2) * 100 if cross_out_sum_car_num != 0 else 0
out_l_rate = round(outroad_info_dict[out_road_id].turn_info.turn_ratio_1 / out_car_num, 2) * 100 if out_car_num != 0 else 0
out_s_rate = round(outroad_info_dict[out_road_id].turn_info.turn_ratio_0 / out_car_num, 2) * 100 if out_car_num != 0 else 0
out_r_rate = round(outroad_info_dict[out_road_id].turn_info.turn_ratio_2 / out_car_num, 2) * 100 if out_car_num != 0 else 0
out_flow_rate = int(out_car_num / cross_out_sum_car_num * 100) if cross_out_sum_car_num != 0 else 0
out_l_rate = int(outroad_info_dict[out_road_id].turn_info.turn_ratio_1 / out_car_num * 100) if out_car_num != 0 else 0
out_s_rate = int(outroad_info_dict[out_road_id].turn_info.turn_ratio_0 / out_car_num * 100) if out_car_num != 0 else 0
out_r_rate = int(outroad_info_dict[out_road_id].turn_info.turn_ratio_2 / out_car_num * 100) if out_car_num != 0 else 0
if 0 not in merge_turns_set:
out_s_rate = '-'
if 1 not in merge_turns_set:
@ -608,7 +608,7 @@ def gen_flow_turn_rate_index(avg_cross_delay_info, roads_dir_dict):
out_r_rate = '-'
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
rate_list = fix_to_100(out_l_rate, out_s_rate, out_r_rate)
out_l_rate, out_s_rate, out_r_rate = rate_list[0] if rate_list[0] == '-' else round(rate_list[0], 2), rate_list[1] if rate_list[1] == '-' else round(rate_list[1], 2), rate_list[2] if rate_list[2] == '-' else round(rate_list[2], 2)
out_l_rate, out_s_rate, out_r_rate = rate_list[0] if rate_list[0] == '-' else int(rate_list[0]), rate_list[1] if rate_list[1] == '-' else int(rate_list[1]), rate_list[2] if rate_list[2] == '-' else int(rate_list[2])
road_flow_turn_rate[roadid] = {
'src_dir': dir,
'in_flow_rate': in_flow_rate,