diff --git a/app/eva_common.py b/app/eva_common.py index 6c22946..1df1335 100644 --- a/app/eva_common.py +++ b/app/eva_common.py @@ -1614,8 +1614,8 @@ def gen_inroad_num_problems(road_delay_infos, inroad_static_info_dict, roads_dir left_lane_num_half, straight_lane_num_half, right_lane_num_half = count_lsr_half(lane_info) lane_num_info, count_num = count_lsr(lane_info) sum_half_num = left_lane_num_half + straight_lane_num_half + right_lane_num_half - left_lane_num_rate = int(round(left_lane_num_half / sum_half_num, 2) * 100) if sum_half_num > 0 else 0 - straight_lane_num_rate = int(round(straight_lane_num_half / sum_half_num, 2) * 100) if sum_half_num > 0 else 0 + left_lane_num_rate = round(left_lane_num_half / sum_half_num, 2) * 100 if sum_half_num > 0 else 0 + straight_lane_num_rate = round(straight_lane_num_half / sum_half_num, 2) * 100 if sum_half_num > 0 else 0 for turn_type in [0, 1]: if turn_type not in turn_delay_dict.keys(): continue @@ -1627,7 +1627,7 @@ def gen_inroad_num_problems(road_delay_infos, inroad_static_info_dict, roads_dir lane_num_rate = left_lane_num_rate flow_car_num = turn_delay_dict[turn_type].delay_info.car_num flow_rate = flow_car_num / road_car_num - if flow_rate > 0.2 and hour_car_num > 20 and lane_num_rate < 50: + if flow_rate > 0.2 and hour_car_num > 20 and lane_num_rate * 2 < flow_rate * 100: if src_dir in err_src_dirs.keys(): err_src_dirs[src_dir].append({ 'turn_type': turn_type_str, @@ -1657,7 +1657,7 @@ def gen_inroad_num_problems(road_delay_infos, inroad_static_info_dict, roads_dir 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))) + '%),分配车道资源不匹配' + 'text': '分流转向比过大(' + str(int((turn_type['flow_rate']) * 100)) + '%),但分配的转向车道占比不足(' + str(int((turn_type['lane_num_rate']))) + '%),分配车道资源不匹配' } ) detail.append( diff --git a/app/monitor_common.py b/app/monitor_common.py index 9ea0360..72e566a 100644 --- a/app/monitor_common.py +++ b/app/monitor_common.py @@ -1715,6 +1715,8 @@ def gen_cross_problem_detail(routing_crosses, high_park_problems, too_many_stop_ phase_infos = phase_tp['problems'][crossid] phase_list = [] for item in phase_infos: + if item['final_state_int'] in (4, 5): + continue if item['level_color_int'] < phase_color: phase_color = item['level_color_int'] if item['final_state_int'] < phase_final_state: