**Question:** In which spaces can one define a geometrically meaningful notion of "direction"?

Here I should disambiguate that I mean something analogous to "**relative** direction", rather than ["cardinal/absolute direction"](https://en.wikipedia.org/wiki/Cardinal_direction). Although answers addressing the latter would also be welcome.

**Attempt:** One obvious thing that occurs to me is that any notion of relative direction has to vary with the point under consideration. I.e., we would have to be looking for a notion for which, given a space $X$, there is a different set of directions $\mathcal{D}(x)$ for every point $x \in X$. 

As discussed in [this related question](https://math.stackexchange.com/questions/1490585/does-the-notion-of-a-vector-having-direction-have-any-meaning-without-a-metric-b/2360309#2360309), vector spaces obviously have a well-defined notion of direction with respect to their additive identity. So a sufficient condition for a space to have a well-defined and geometrically meaningful notion of direction, seemingly, might be that there is a *canonical* vector space corresponding to each point of the space.

An obvious example of such a spaces are differentiable manifolds.

However, is this really a *necessary* condition for a geometrically meaningful notion of direction?

For example, on Riemannian manifolds, we can use the [exponential map](https://en.wikipedia.org/wiki/Exponential_map_(Riemannian_geometry)) around a point $p$, to take directions in $T\_pM$ (in the sense of vector spaces relative to their origins) and map them to (local) geodesics on the manifold $M$.

So would it not also be possible to define a notion of direction on the special class of metric spaces called [length spaces](https://people.math.ethz.ch/~lang/LengthSpaces.pdf), by defining some sort of geometrically meaningful equivalence relation on the set of all (local) geodesics leaving a given point $x$ in the space?