1 #ifndef OSMIUM_GEOM_PROJECTION_HPP
2 #define OSMIUM_GEOM_PROJECTION_HPP
69 std::unique_ptr<void, ProjCRSDeleter>
m_crs;
77 CRS(
const std::string& crs) :
85 CRS(
std::string(
"+init=epsg:") +
std::to_string(epsg)) {
89 return pj_is_latlong(m_crs.get()) != 0;
93 return pj_is_geocent(m_crs.get()) != 0;
105 int result = pj_transform(src.
get(), dest.
get(), 1, 1, &c.
x, &c.
y,
nullptr);
129 m_proj_string(proj_string),
130 m_crs_user(proj_string) {
135 m_proj_string(
std::string(
"+init=epsg:") +
std::to_string(epsg)),
142 if (m_epsg != 4326) {
167 #endif // OSMIUM_GEOM_PROJECTION_HPP
double y
Definition: coordinates.hpp:49
Definition: projection.hpp:63
CRS m_crs_wgs84
Definition: projection.hpp:122
Definition: reader_iterator.hpp:39
CRS(int epsg)
Definition: projection.hpp:84
bool is_latlong() const
Definition: projection.hpp:88
Projection(int epsg)
Definition: projection.hpp:133
CRS(const std::string &crs)
Definition: projection.hpp:77
std::string proj_string() const
Definition: projection.hpp:157
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:121
Definition: coordinates.hpp:46
CRS m_crs_user
Definition: projection.hpp:123
std::unique_ptr< void, ProjCRSDeleter > m_crs
Definition: projection.hpp:69
int epsg() const noexcept
Definition: projection.hpp:153
projPJ get() const
Definition: projection.hpp:71
Definition: projection.hpp:118
friend Coordinates transform(const CRS &src, const CRS &dest, Coordinates c)
Definition: projection.hpp:104
Definition: location.hpp:79
int m_epsg
Definition: projection.hpp:120
void operator()(void *crs)
Definition: projection.hpp:64
Coordinates operator()(osmium::Location location) const
Definition: projection.hpp:139
double lon() const
Definition: location.hpp:186
Definition: projection.hpp:61
Projection(const std::string &proj_string)
Definition: projection.hpp:127
double x
Definition: coordinates.hpp:48
bool is_geocent() const
Definition: projection.hpp:92
constexpr double rad_to_deg(double radians) noexcept
Convert angle from radians to degrees.
Definition: util.hpp:67