1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #ifndef BOOST_GEOMETRY_SRS_EPSG_HPP
- #define BOOST_GEOMETRY_SRS_EPSG_HPP
- #include <boost/geometry/srs/projection.hpp>
- #include <boost/geometry/srs/projections/epsg.hpp>
- #include <boost/geometry/srs/projections/epsg_params.hpp>
- #include <boost/geometry/srs/projections/epsg_traits.hpp>
- namespace boost { namespace geometry
- {
- namespace projections
- {
- template <>
- struct dynamic_parameters<srs::epsg>
- {
- static const bool is_specialized = true;
- static inline srs::dpar::parameters<> apply(srs::epsg const& params)
- {
- return projections::detail::epsg_to_parameters(params.code);
- }
- };
- template <int Code, typename CT>
- class proj_wrapper<srs::static_epsg<Code>, CT>
- : public proj_wrapper
- <
- typename projections::detail::epsg_traits<Code>::parameters_type,
- CT
- >
- {
- typedef projections::detail::epsg_traits<Code> epsg_traits;
- typedef proj_wrapper
- <
- typename epsg_traits::parameters_type,
- CT
- > base_t;
- public:
- proj_wrapper()
- : base_t(epsg_traits::parameters())
- {}
- explicit proj_wrapper(srs::static_epsg<Code> const&)
- : base_t(epsg_traits::parameters())
- {}
- };
- }
- }}
- #endif
|