Boost.Geometry documentation clearly implies that in (almost?) all cases header files can be included in either of two ways, either as a general "include everything" header (boost/geometry.hpp) or as a more specific header (e.g., boost/geometry/algorithms/is_valid.hpp). In most cases this works fine. However, in some cases the more specific headers are not sufficient and additional files must be included.
One example of this is that boost/geometry/algorithms/is_valid.hpp requires prior inclusion of boost/geometry/core/cs.hpp to define cs_tag. Additionally, it requires (not necessarily prior) inclusion of boost/geometry.hpp for other definitions. This latter situation applies to a number of other algorithms.
Thus, it appears that certain files in Boost.Geometry do not include an appropriate set of other files to provide all the required definitions, and therefore cannot be used as implied by the documentation.