Compute a BoundingBox enclosing all specified bboxes

        :param bboxes: a list of BoundingBoxes
        :return: BoundingBox

def from_bboxes(bboxes):
        """
        Compute a BoundingBox enclosing all specified bboxes

        :param bboxes: a list of BoundingBoxes
        :return: BoundingBox
        """
        north = max([b.north for b in bboxes])
        south = min([b.south for b in bboxes])
        west = min([b.west for b in bboxes])
        east = max([b.east for b in bboxes])
        return BoundingBox(north=north, west=west, south=south, east=east)