code: def get_area_bbox(self, crs=None):
          
          bbox_list = [BBox(shape.bounds, crs=self.crs) for shape in self.shape_list]
          area_minx = min([bbox.lower_left[0] for bbox in bbox_list])
          area_miny = min([bbox.lower_left[1] for bbox in bbox_list])
          area_maxx = max([bbox.upper_right[0] for bbox in bbox_list])
          area_maxy = max([bbox.upper_right[1] for bbox in bbox_list])
          bbox = BBox([area_minx, area_miny, area_maxx, area_maxy], crs=self.crs)
          if crs is None:
              return bbox
          return bbox.transform(crs)
docs: Returns a bounding box of the entire area
  
          :param crs: Coordinate reference system in which the bounding box should be returned. If None the CRS will
                      be the default CRS of the splitter.
          :type crs: CRS or None
          :return: A bounding box of the area defined by the `shape_list`
          :rtype: BBox