コード例 #1
0
def get_frame_data(info):
    # load data
    def map_depth(item):
        result = ",".join([
            str(round(map_range(item[0], info.frame_time - 60, info.frame_time, 0, 100), 3)),
            str(round(map_range(item[1], map_depth.start, map_depth.end, 0, 100), 3))
        ])

        # print("{0} became {1}".format(item, result))
        return result

    depth_data = data_manager.select_depths(info.frame_time - 60, info.frame_time)

    if len(depth_data) > 0:
        map_depth.start = depth_data[-1][1] - 50
        map_depth.end = depth_data[-1][1] + 50
        depth_text = "{0:0.2f} ft".format(depth_data[-1][1])
        depth_path_data = "M" + " ".join(map(map_depth, depth_data))
    else:
        depth_text = "-- ft"
        depth_path_data = ""

    def map_temperature(item):
        result = ",".join([
            str(round(map_range(item[0], info.frame_time - 60, info.frame_time, 0, 100), 3)),
            str(round(map_range(item[1], 40, 55, 100, 0), 3))
        ])

        # print("{0} became {1}".format(item, result))
        return result

    temperature_data = data_manager.select_temperatures(info.frame_time - 60, info.frame_time)

    if len(temperature_data) > 0:
        temperature_text = "{0:0.2f} °F".format(temperature_data[-1][1])
        temperature_path_data = "M" + " ".join(map(map_temperature, temperature_data))
    else:
        temperature_text = "-- °F"
        temperature_path_data = ""

    # for testing
    depth_chart = Chart("Depth", depth_text, depth_path_data)
    depth_chart.x = 5
    depth_chart.y = 972 - 5 - 110

    temperature_chart = Chart("Temperature", temperature_text, temperature_path_data)
    temperature_chart.x = 5 + 5 + 100 + 5 + 5
    temperature_chart.y = 972 - 5 - 110

    # print(depth_path_data)
    return Data(info.frame_time, depth_chart, temperature_chart, info.input_path)