def get_nearest_points(self, center_point, radius, unit='km'):
        """
        return list of geo points from circle with given center and radius
        :param center_point: GeoPoint with center of search circle
        :param radius: radius of search circle
        :return: generator with tuple with GeoPoints and distance
        """
        assert isinstance(center_point, GeoPoint), \
            'point should be GeoPoint instance'
        for point in self.get_nearest_points_dirty(center_point, radius):
            distance = point.distance_to(center_point, unit)
            if distance <= radius:
                yield point, distance