def get_points_from_gpmf()

in mapillary_tools/geotag/geotag_from_gopro.py [0:0]


def get_points_from_gpmf(path: str) -> T.List[types.GPXPoint]:
    gpmf_data = extract_and_parse_bin(path)

    rows = len(gpmf_data)

    points: T.List[types.GPXPoint] = []
    for i, frame in enumerate(gpmf_data):
        t = frame["time"]

        if i < rows - 1:
            next_ts = gpmf_data[i + 1]["time"]
        else:
            next_ts = t + datetime.timedelta(seconds=1)

        interpolate_times(frame, next_ts)

        for point in frame["gps"]:
            points.append(
                types.GPXPoint(
                    time=point["time"],
                    lat=point["lat"],
                    lon=point["lon"],
                    alt=point["alt"],
                    # frame["gps_fix"],
                )
            )

    return points