diff --git a/app/eva_common.py b/app/eva_common.py index d3e9b15..1b7531f 100644 --- a/app/eva_common.py +++ b/app/eva_common.py @@ -667,7 +667,7 @@ def calc_tide_index(crossid, nodeid, date_list, roads_dir_dict, date_type=None): # 构建对向进口道对 subtend_road_pair = gen_subtend_road_pair(roads_dir_dict) for date in date_list: - max_am_flow, max_pm_flow, tide_index, max_am_flow_road, max_pm_flow_road = 0, 99999999999, 0, '', '' + max_am_flow, max_pm_flow, tide_index, max_am_flow_road, max_pm_flow_road = 0, 0, 0, '', '' if date not in date_am_delay_info_dict.keys() or date not in date_pm_delay_info_dict.keys(): tide_index_list.append(tide_index) continue @@ -694,7 +694,7 @@ def calc_tide_index(crossid, nodeid, date_list, roads_dir_dict, date_type=None): continue subtend_road_am_flow = am_inroad_info_dict[subtend_road_pair[max_am_flow_road]].delay_info.car_num if subtend_road_pair[max_am_flow_road] in am_inroad_info_dict.keys() else 0 # 如果进口道流量小于20 则无意义 - if min(subtend_road_am_flow, max_am_flow) < 20: + if min(subtend_road_am_flow, max_am_flow) < 10: tide_index_list.append(tide_index) continue @@ -709,21 +709,21 @@ def calc_tide_index(crossid, nodeid, date_list, roads_dir_dict, date_type=None): tide_index_list.append(tide_index) continue subtend_road_pm_flow = pm_inroad_info_dict[subtend_road_pair[max_pm_flow_road]].delay_info.car_num - if min(subtend_road_pm_flow, max_pm_flow) < 20: + if min(subtend_road_pm_flow, max_pm_flow) < 10: tide_index_list.append(tide_index) continue # 如果早晚高峰的最大流量进口道不处于同一个对向对中,则无意义 if max_pm_flow_road != max_am_flow_road and max_pm_flow_road != subtend_road_pair[max_am_flow_road]: tide_index_list.append(tide_index) continue - Fam = max(max_am_flow_road, subtend_road_am_flow) / min(max_am_flow_road, subtend_road_am_flow) - Fpm = max(max_pm_flow_road, subtend_road_pm_flow) / min(max_pm_flow_road, subtend_road_pm_flow) + Fam = max(max_am_flow, subtend_road_am_flow) / min(max_am_flow, subtend_road_am_flow) + Fpm = max(max_pm_flow, subtend_road_pm_flow) / min(max_pm_flow, subtend_road_pm_flow) if Fam >= 1.5 and Fpm >= 1.5 and max_pm_flow_road == subtend_road_pair[max_am_flow_road]: - tide_index = min(Fam, Fpm) / max(Fam, Fpm) - elif min(Fam, Fpm) <= 0: + tide_index = round(min(Fam, Fpm) / max(Fam, Fpm), 2) + if min(Fam, Fpm) <= 0: tide_index = 0 - elif max_pm_flow_road == max_am_flow_road: - tide_index = Fam * Fpm + if max_pm_flow_road == max_am_flow_road: + tide_index = round(Fam * Fpm, 2) tide_index_list.append(tide_index) return tide_index_list @@ -739,8 +739,6 @@ def gen_subtend_road_pair(roads_dir_dict): subtend_dir = src_reverse[dir] if subtend_dir in tmp_road_dir.keys() and tmp_road_dir[subtend_dir]['in'] != '-': subtend_road_pair[tmp_road_dir[dir]['in']] = tmp_road_dir[subtend_dir]['in'] - tmp_road_dir.pop(dir) - tmp_road_dir.pop(subtend_dir) return subtend_road_pair diff --git a/app/user_worker.py b/app/user_worker.py index 74bc97f..a19d5d5 100644 --- a/app/user_worker.py +++ b/app/user_worker.py @@ -87,7 +87,7 @@ def do_get_user_info(params, token): user_area_ids = db_user.query_areaid_list(user['userno']) user_area_info = [] for area_id in user_area_ids: - user_area_info.append(all_area_info[area_id]) + user_area_info.append(all_area_info[int(area_id)]) res = make_common_res(0, 'ok') res['data'] = user_area_info res['token'] = user_t