def load_metadata(filename: str) -> pd.DataFrame:

    """

    Read the metadata.csv at filename, convert it to a pandas dataframe,

    and perform some cleaning and conversions to the data.

    """

    df = pd.read_csv(filename, encoding="ISO-8859-1")  # government not using utf8...

    orig_cols = [

        "Photo ID",

        "Film Length and Width",

        "Focal Length",

        "Center Latitude dec",

        "Center Longitude dec",

        "Flying Height in Feet",

        "SW Corner Long dec",

        "SW Corner Lat dec",

        "NE Corner Long dec",

        "NE Corner Lat dec",

    ]

    new_cols = ["id", "film", "focal", "lat", "lon", "alt", "xmin", "ymin", "xmax", "ymax"]

    df = df[orig_cols]

    df.columns = new_cols

    df["film"] = df["film"].apply(clean_film_size)  # ex: 224.5mm x 224.5mm -> 224.5

    df["focal"] = df["focal"].apply(clean_focal_len)  # ex 150mm -> 150

    df["alt"] = df["alt"].apply(ft_m)  # convert to meters

    df["file"] = df["id"].apply(filename_from_photoid)  # filename

 

    return df