@staticmethod
def calc_resolutions(bounding_box, tile_size, zoom_level, tile_scheme):
    """
        Returns the pixel_x_size, pixel_y_size given the following values.

        :param tile_scheme: Gives the dimensions of the tile grid given a zoom level
        :type tile_scheme: TileScheme

        :param bounding_box:  The bounds of the data in the CRS coordinates (meters, decimal degrees etc.)
        :type bounding_box: BoundingBox

        :ivar tile_size: the size of each tile in pixel
        :type tile_size: ``int(with), int(height)``

        :param zoom_level: the zoom level to calculate the resolution for
        :type zoom_level: int

        :return: tuple of pixel_x_size and pixel_y_size
        :rtype: tuple(float, float)
        """
    width = float(bounding_box.max_x - bounding_box.min_x)
    height = float(bounding_box.max_y - bounding_box.min_y)
    matrix_width, matrix_height = tile_scheme.get_matrix_dimensions(zoom_level
        =zoom_level)
    return width / float(tile_size[0]) / float(matrix_width), height / float(
        tile_size[1]) / float(matrix_height)
