@classmethod
def numeric_hash_to_location(cls, numeric_hash, precision=None):
    """
        Given a numeric hash return a location

        Precision needs to be given to account for leading zeroes.

        Parameters
        ----------
        numeric_hash : int
        precision : int

        Returns
        -------
        Location
        """
    if precision is None:
        precision = 25
    octant = numeric_hash % 8
    numeric_hash = numeric_hash // 8
    i = 3
    levels = []
    while i < precision:
        levels.append(numeric_hash % 4)
        numeric_hash = numeric_hash // 4
        i += 2
    return cls.levels_to_location(octant, levels)
