1 #ifndef OSMIUM_GEOM_WKT_HPP 2 #define OSMIUM_GEOM_WKT_HPP 55 class WKTFactoryImpl {
57 std::string m_srid_prefix;
64 using point_type = std::string;
65 using linestring_type = std::string;
66 using polygon_type = std::string;
67 using multipolygon_type = std::string;
68 using ring_type = std::string;
72 m_precision(precision),
75 m_srid_prefix =
"SRID=";
76 m_srid_prefix += std::to_string(srid);
84 std::string str {m_srid_prefix};
92 void linestring_start() {
93 m_str = m_srid_prefix;
94 m_str +=
"LINESTRING(";
102 linestring_type linestring_finish(
size_t ) {
103 assert(!m_str.empty());
115 void multipolygon_start() {
116 m_str = m_srid_prefix;
117 m_str +=
"MULTIPOLYGON(";
120 void multipolygon_polygon_start() {
124 void multipolygon_polygon_finish() {
128 void multipolygon_outer_ring_start() {
132 void multipolygon_outer_ring_finish() {
133 assert(!m_str.empty());
137 void multipolygon_inner_ring_start() {
141 void multipolygon_inner_ring_finish() {
142 assert(!m_str.empty());
151 multipolygon_type multipolygon_finish() {
152 assert(!m_str.empty());
166 template <
typename TProjection = IdentityProjection>
173 #endif // OSMIUM_GEOM_WKT_HPP
Definition: factory.hpp:148
wkt_type
Definition: wkt.hpp:48
void swap(Buffer &lhs, Buffer &rhs)
Definition: buffer.hpp:731
Namespace for everything in the Osmium library.
Definition: assembler.hpp:73
Definition: coordinates.hpp:46
void append_to_string(std::string &s, const char infix, int precision) const
Definition: coordinates.hpp:57