docs: def make_from_catalogue(cls, catalogue, spacing, dilate):
          '''
          Defines the grid on the basis of the catalogue
          '''
          new = cls()
          cat_bbox = get_catalogue_bounding_polygon(catalogue)
  
          if dilate > 0:
              cat_bbox = cat_bbox.dilate(dilate)
  
          # Define Grid spacing
          new.update({'xmin': np.min(cat_bbox.lons),
                      'xmax': np.max(cat_bbox.lons),
                      'xspc': spacing,
                      'ymin': np.min(cat_bbox.lats),
                      'ymax': np.max(cat_bbox.lats),
                      'yspc': spacing,
                      'zmin': 0.,
                      'zmax': np.max(catalogue.data['depth']),
                      'zspc': np.max(catalogue.data['depth'])})
  
          if new['zmin'] == new['zmax'] == new['zspc'] == 0:
              new['zmax'] = new['zspc'] = 1
  
          return new