boat
C++23 geospatial library
Loading...
Searching...
No Matches
transform.hpp File Reference
#include <boat/detail/numbers.hpp>
#include <boat/detail/string.hpp>
#include <boat/geometry/vocabulary.hpp>
#include <boost/geometry/algorithms/transform.hpp>
#include <boost/geometry/srs/epsg.hpp>
#include <boost/geometry/srs/transformation.hpp>
#include <boost/geometry/strategies/transform/matrix_transformers.hpp>
#include <boost/geometry/strategies/transform/srs_transformer.hpp>
#include <optional>
Include dependency graph for transform.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  boat
namespace  boat::geometry

Concepts

concept  boat::geometry::srs_spec
concept  boat::geometry::projection_or_transformation

Typedefs

using boat::geometry::srs_variant = std::variant<srs::epsg, srs::proj4>
using boat::geometry::mat_forward

Functions

auto boat::geometry::ortho (geographic::point const &v)
 Orthographic SRS centered at v.
srs_variant boat::geometry::to_srs_variant (auto const &meta)
 Prefers a positive epsg code to proj4; throws if neither is available.
auto boat::geometry::transformation (srs_spec auto const &a, srs_spec auto const &b)
auto boat::geometry::transformation (srs_spec auto const &v)
 Creates a transformation from WGS 84 longitude/latitude to v.
template<projection_or_transformation T>
auto boat::geometry::srs_forward (T const &v)
template<projection_or_transformation T>
auto boat::geometry::srs_inverse (T const &v)
auto boat::geometry::mat_inverse (matrix const &v)
template<tagged T1, same_tag< T1 > T2, class Strategy>
bool boat::geometry::transform (T1 const &geom1, T2 &geom2, Strategy const &strategy)
auto boat::geometry::transform (auto const &... strategies)
 Composes strategies and returns std::nullopt if a transformation fails.

Variables

template<class T>
constexpr bool boat::geometry::is_srs_spec = std::is_constructible_v<srs::projection<>, T>
template<class... Ts>
constexpr bool boat::geometry::is_srs_spec< std::variant< Ts... > > = (is_srs_spec<Ts> && ...)