def get_nearest_points_dirty(self, center_point, radius, unit='km'):
        """
        return approx list of point from circle with given center and radius
        it uses geohash and return with some error (see GEO_HASH_ERRORS)
        :param center_point: center of search circle
        :param radius: radius of search circle
        :return: list of GeoPoints from given area
        """
        if unit == 'mi':
            radius = utils.mi_to_km(radius)
        grid_size = GEO_HASH_GRID_SIZE[self.precision]
        if radius > grid_size / 2:
            # radius is too big for current grid, we cannot use 9 neighbors
            # to cover all possible points
            suggested_precision = 0
            for precision, max_size in GEO_HASH_GRID_SIZE.items():
                if radius > max_size / 2:
                    suggested_precision = precision - 1
                    break
            raise ValueError(
                'Too large radius, please rebuild GeoHashGrid with '
                'precision={0}'.format(suggested_precision)
            )
        me_and_neighbors = geohash.expand(self.get_point_hash(center_point))
        return chain(*(self.data.get(key, []) for key in me_and_neighbors))