1 #ifndef OSMIUM_GEOM_PROJECTION_HPP 2 #define OSMIUM_GEOM_PROJECTION_HPP 69 std::unique_ptr<void, ProjCRSDeleter>
m_crs;
73 CRS(
const std::string& crs) :
81 CRS(
std::string(
"+init=epsg:") +
std::to_string(epsg)) {
92 return pj_is_latlong(m_crs.get()) != 0;
96 return pj_is_geocent(m_crs.get()) != 0;
110 int result = pj_transform(src.
get(), dest.
get(), 1, 1, &c.
x, &c.
y,
nullptr);
132 m_proj_string(proj_string),
133 m_crs_user(proj_string) {
138 m_proj_string(
std::string(
"+init=epsg:") +
std::to_string(epsg)),
145 if (m_epsg != 4326) {
161 return m_proj_string;
170 #endif // OSMIUM_GEOM_PROJECTION_HPP double y
Definition: coordinates.hpp:49
Definition: projection.hpp:63
Definition: reader_iterator.hpp:39
CRS(int epsg)
Definition: projection.hpp:80
bool is_latlong() const
Definition: projection.hpp:91
Projection(int epsg)
Definition: projection.hpp:136
CRS(const std::string &crs)
Definition: projection.hpp:73
std::string proj_string() const
Definition: projection.hpp:160
Coordinates transform(const CRS &src, const CRS &dest, Coordinates c)
Definition: projection.hpp:109
double lat() const
Definition: location.hpp:205
Namespace for everything in the Osmium library.
Definition: assembler.hpp:59
constexpr double deg_to_rad(double degree) noexcept
Convert angle from degrees to radians.
Definition: util.hpp:62
std::string m_proj_string
Definition: projection.hpp:124
Definition: coordinates.hpp:46
CRS m_crs_user
Definition: projection.hpp:126
std::unique_ptr< void, ProjCRSDeleter > m_crs
Definition: projection.hpp:69
int epsg() const noexcept
Definition: projection.hpp:156
projPJ get() const
Definition: projection.hpp:87
Definition: projection.hpp:121
Definition: location.hpp:79
int m_epsg
Definition: projection.hpp:123
void operator()(void *crs)
Definition: projection.hpp:64
Coordinates operator()(osmium::Location location) const
Definition: projection.hpp:142
double lon() const
Definition: location.hpp:186
Definition: projection.hpp:61
Projection(const std::string &proj_string)
Definition: projection.hpp:130
double x
Definition: coordinates.hpp:48
bool is_geocent() const
Definition: projection.hpp:95
constexpr double rad_to_deg(double radians) noexcept
Convert angle from radians to degrees.
Definition: util.hpp:67