修复分流转向比计算bug

This commit is contained in:
wangxu 2025-12-09 16:42:57 +08:00
parent 0452dae766
commit 58dd09c247
3 changed files with 4 additions and 2 deletions

View File

@ -156,7 +156,7 @@ class CrossDbHelper(TableDbHelperBase):
def query_csr_data(self, nodeid, key, crossid): def query_csr_data(self, nodeid, key, crossid):
sql = f""" sql = f"""
select * from traffic_{nodeid}.csr_data where key = '{key}' and crossid = '{crossid}' select * from traffic_{nodeid}.cross_csrs where `key` = '{key}' and crossid = '{crossid}'
""" """
return self.do_select(sql) return self.do_select(sql)

View File

@ -761,7 +761,7 @@ def gen_flow_turn_rate_index(avg_cross_delay_info, roads_dir_dict):
split_turns_set.add(2) split_turns_set.add(2)
else: else:
split_turns_set.add(1) split_turns_set.add(1)
car_num = road_delay_dict[roadid].delay_info.car_num car_num = road_delay_dict[roadid].delay_info.turn_ratio_1 + road_delay_dict[roadid].delay_info.turn_ratio_0 + road_delay_dict[roadid].delay_info.turn_ratio_2
in_flow_rate = int(car_num / cross_sum_car_num * 100) if cross_out_sum_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 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 s_rate = int(road_delay_dict[roadid].delay_info.turn_ratio_0 / car_num * 100) if car_num != 0 else 0

View File

@ -1151,6 +1151,8 @@ def cross_tide_problems(cross_tide_crosses, routing_crosses, date_type, records,
shield_state = 1 shield_state = 1
roads_dir_dict = routing_crosses[crossid]['roads_dir_dict'] roads_dir_dict = routing_crosses[crossid]['roads_dir_dict']
road_dir = {v['in']: k for k, v in roads_dir_dict.items()} road_dir = {v['in']: k for k, v in roads_dir_dict.items()}
if item.detail.inroadid_pair1[0] not in road_dir or item.detail.inroadid_pair1[1] not in road_dir:
continue
total_num += 1 total_num += 1
is_new, cont_times = 0, 0 is_new, cont_times = 0, 0
if crossid in records['tide'].keys(): if crossid in records['tide'].keys():