修复潮汐指数计算bug
This commit is contained in:
parent
07d3882100
commit
3888612e26
|
|
@ -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)
|
subtend_road_pair = gen_subtend_road_pair(roads_dir_dict)
|
||||||
for date in date_list:
|
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():
|
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)
|
tide_index_list.append(tide_index)
|
||||||
continue
|
continue
|
||||||
|
|
@ -694,7 +694,7 @@ def calc_tide_index(crossid, nodeid, date_list, roads_dir_dict, date_type=None):
|
||||||
continue
|
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
|
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 则无意义
|
# 如果进口道流量小于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)
|
tide_index_list.append(tide_index)
|
||||||
continue
|
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)
|
tide_index_list.append(tide_index)
|
||||||
continue
|
continue
|
||||||
subtend_road_pm_flow = pm_inroad_info_dict[subtend_road_pair[max_pm_flow_road]].delay_info.car_num
|
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)
|
tide_index_list.append(tide_index)
|
||||||
continue
|
continue
|
||||||
# 如果早晚高峰的最大流量进口道不处于同一个对向对中,则无意义
|
# 如果早晚高峰的最大流量进口道不处于同一个对向对中,则无意义
|
||||||
if max_pm_flow_road != max_am_flow_road and max_pm_flow_road != subtend_road_pair[max_am_flow_road]:
|
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)
|
tide_index_list.append(tide_index)
|
||||||
continue
|
continue
|
||||||
Fam = max(max_am_flow_road, subtend_road_am_flow) / min(max_am_flow_road, subtend_road_am_flow)
|
Fam = max(max_am_flow, subtend_road_am_flow) / min(max_am_flow, subtend_road_am_flow)
|
||||||
Fpm = max(max_pm_flow_road, subtend_road_pm_flow) / min(max_pm_flow_road, subtend_road_pm_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]:
|
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)
|
tide_index = round(min(Fam, Fpm) / max(Fam, Fpm), 2)
|
||||||
elif min(Fam, Fpm) <= 0:
|
if min(Fam, Fpm) <= 0:
|
||||||
tide_index = 0
|
tide_index = 0
|
||||||
elif max_pm_flow_road == max_am_flow_road:
|
if max_pm_flow_road == max_am_flow_road:
|
||||||
tide_index = Fam * Fpm
|
tide_index = round(Fam * Fpm, 2)
|
||||||
tide_index_list.append(tide_index)
|
tide_index_list.append(tide_index)
|
||||||
|
|
||||||
return tide_index_list
|
return tide_index_list
|
||||||
|
|
@ -739,8 +739,6 @@ def gen_subtend_road_pair(roads_dir_dict):
|
||||||
subtend_dir = src_reverse[dir]
|
subtend_dir = src_reverse[dir]
|
||||||
if subtend_dir in tmp_road_dir.keys() and tmp_road_dir[subtend_dir]['in'] != '-':
|
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']
|
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
|
return subtend_road_pair
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -87,7 +87,7 @@ def do_get_user_info(params, token):
|
||||||
user_area_ids = db_user.query_areaid_list(user['userno'])
|
user_area_ids = db_user.query_areaid_list(user['userno'])
|
||||||
user_area_info = []
|
user_area_info = []
|
||||||
for area_id in user_area_ids:
|
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 = make_common_res(0, 'ok')
|
||||||
res['data'] = user_area_info
|
res['data'] = user_area_info
|
||||||
res['token'] = user_t
|
res['token'] = user_t
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue