def get_map_bounds(df):
    """Finds the map bounding box for the given WaypointsDataFrame

    Args:
        df (pd.DataFrame): DataFrame with latitude and longitude columns

    Returns:
        ((float, float), (float, float)): Bounds as a 2x2 array, in the form of ((latitude_min, longitude_min), (latitude_max, longitude_max))
    """
    bounds = [
      [df.latitude.min(), df.longitude.min()],
      [df.latitude.max(), df.longitude.max()]
    ]
    padding = abs((sum(bounds[0])-sum(bounds[1]))/20)

    bounds[0][0] = bounds[0][0] - padding
    bounds[0][1] = bounds[0][1] - padding
    bounds[1][0] = bounds[1][0] + padding
    bounds[1][1] = bounds[1][1] + padding

    return bounds