docs: def resize(self, ratio=None, ratio_x=None, ratio_y=None, dest_width=None, dest_height=None, dest_resolution=None,
                 resampling=Resampling.cubic):
          """
          Provide either ratio, or ratio_x and ratio_y, or dest_width and/or dest_height.
  
          :return: GeoRaster2
          """
          # validate input:
          if sum([ratio is not None, ratio_x is not None and ratio_y is not None,
                  dest_height is not None or dest_width is not None, dest_resolution is not None]) != 1:
              raise GeoRaster2Error(
                  'please provide either ratio, or {ratio_x,ratio_y}, or {dest_height, dest_width}, or dest_resolution')
  
          if dest_width is not None and dest_height is not None:
              ratio_x = float(dest_width) / self.width
              ratio_y = float(dest_height) / self.height
          elif dest_width is not None:
              ratio = float(dest_width) / self.width
          elif dest_height is not None:
              ratio = float(dest_height) / self.height
          elif dest_resolution is not None:
              ratio = self.resolution() / dest_resolution
          if ratio is not None:
              ratio_x, ratio_y = ratio, ratio
  
          return self._resize(ratio_x, ratio_y, resampling)