  This paper studies the problem of approximating a function $f$ in a Banach
space $X$ from measurements $l_j(f)$, $j=1,\dots,m$, where the $l_j$ are linear
functionals from $X^*$. Most results study this problem for classical Banach
spaces $X$ such as the $L_p$ spaces, $1\le p\le \infty$, and for $K$ the unit
ball of a smoothness space in $X$. Our interest in this paper is in the model
classes $K=K(\epsilon,V)$, with $\epsilon>0$ and $V$ a finite dimensional
subspace of $X$, which consists of all $f\in X$ such that $dist(f,V)_X\le
\epsilon$. These model classes, called {\it approximation sets}, arise
naturally in application domains such as parametric partial differential
equations, uncertainty quantification, and signal processing.
  A general theory for the recovery of approximation sets in a Banach space is
given. This theory includes tight a priori bounds on optimal performance, and
algorithms for finding near optimal approximations. We show how the recovery
problem for approximation sets is connected with well-studied concepts in
Banach space theory such as liftings and the angle between spaces. Examples are
given that show how this theory can be used to recover several recent results
on sampling and data assimilation.
