def METHOD_NAME(coverages, epsilon=1e-10):
    """ Function to determine if the given coverages share the same base grid.
    Returns a boolean value, whether or not the coverages share a common grid.
    :param coverages: an iterable of :class:`Coverages
                      <eoxserver.resources.coverages.models.Coverage>`
    :param epsilon: the maximum difference each grid can have to be still
                    considered equal
    """
    if len(coverages) < 2:
        raise ValueError("Not enough coverages given.")
    first = coverages[0]
    first_ext = first.extent
    first_res = first.resolution
    first_srid = first.srid
    first_proj = first.projection
    e = epsilon
    for other in coverages[1:]:
        other_ext = other.extent
        other_res = other.resolution
        # check projection/srid
        if first_srid != other.srid or first_proj != other.projection:
            return False
        # check dimensions
        if len(first_res) != len(other_res):
            return False
        # check offset vectors
        for a, b in zip(first_res, other_res):
            if abs(a - b) > epsilon:
                return False
        # check base grids
        diff_origins = tuple(map(operator.sub, first_ext[:2], other_ext[:2]))
        v = tuple(map(operator.div, diff_origins, other_res))
        if (abs(v[0] - round(v[0])) > e or abs(v[1] - round(v[1])) > e):
            return False
    return True