1 #ifndef OSMIUM_GEOM_WKT_HPP 2 #define OSMIUM_GEOM_WKT_HPP 55 class WKTFactoryImpl {
57 std::string m_srid_prefix;
67 using point_type = std::string;
68 using linestring_type = std::string;
69 using polygon_type = std::string;
70 using multipolygon_type = std::string;
71 using ring_type = std::string;
75 m_precision(precision),
78 m_srid_prefix =
"SRID=";
79 m_srid_prefix += std::to_string(srid);
87 std::string str {m_srid_prefix};
95 void linestring_start() {
96 m_str = m_srid_prefix;
97 m_str +=
"LINESTRING(";
105 linestring_type linestring_finish(
size_t ) {
106 assert(!m_str.empty());
118 void multipolygon_start() {
119 m_str = m_srid_prefix;
120 m_str +=
"MULTIPOLYGON(";
123 void multipolygon_polygon_start() {
127 void multipolygon_polygon_finish() {
131 void multipolygon_outer_ring_start() {
135 void multipolygon_outer_ring_finish() {
136 assert(!m_str.empty());
140 void multipolygon_inner_ring_start() {
144 void multipolygon_inner_ring_finish() {
145 assert(!m_str.empty());
154 multipolygon_type multipolygon_finish() {
155 assert(!m_str.empty());
169 template <
typename TProjection = IdentityProjection>
176 #endif // OSMIUM_GEOM_WKT_HPP
Definition: factory.hpp:146
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:66
Definition: coordinates.hpp:46
void append_to_string(std::string &s, const char infix, int precision) const
Definition: coordinates.hpp:57