def get_route(): """ :return: """ global planing json_data = request.get_data() dic = json.loads(json_data) print('route_plan:', dic) origin = gcj02_to_wgs84(np.array([[dic['lon_origin'], dic['lat_origin']]]))[0] destination = gcj02_to_wgs84(np.array([[dic['lon_destination'], dic['lat_destination']]]))[0] print(origin, destination) route, costs = route_plan(origin, destination) try: routes = list() for i in range(3): if len(route[i]) == 0 or costs[i] is None: return jsonify([]) route_dic = dict() route_dic['route'] = list() for point in route[i]: gcj_point = wgs_gcj(point) point_dic = dict() point_dic['lng'] = gcj_point[0] point_dic['lat'] = gcj_point[1] route_dic['route'].append(point_dic) route_dic['time'] = costs[i][1] route_dic['distance'] = costs[i][0] routes.append(route_dic) # print(routes) return jsonify(routes) except TypeError or KeyError: return jsonify([])
def get_billboards(info): """ :param info: :return: """ geo_list = area_list(int(info['area'])) time_type = int(info['targetTime']) day_type = int(info['targetDay']) data_df = pd.read_csv('Billboard.csv') indexs = [] for i in range(len(data_df)): if data_df.iloc[i, 0][:-2] in geo_list: indexs.append(i) data_df = data_df.iloc[indexs, :] # using the weights to cal the final flow if time_type == 1: data_df['flow'] *= data_df['day'] elif time_type == 2: data_df['flow'] *= data_df['night'] if day_type == 1: data_df['flow'] *= data_df['weekday'] elif day_type == 2: data_df['flow'] *= data_df['weekend'] data_df = data_df.sort_values(by='flow', ascending=False).iloc[[x for x in range(10)], :] data_arr = data_df.sort_values(by='arrival', ascending=False).iloc[[x for x in range(5)], [0, 1, 2]].values result = list() for i in range(5): board_dict = dict() position = wgs_gcj(decode_exactly(data_arr[i, 0])[0:2]) board_dict['boardLon'] = position[1] board_dict['boardLat'] = position[0] board_dict['boardFlow'] = int(data_arr[i, 1]) board_dict['boradRate'] = round(data_arr[i, 2], 3) result.append(board_dict) return result
"""