1 #ifndef OSMIUM_AREA_PROBLEM_REPORTER_STREAM_HPP
2 #define OSMIUM_AREA_PROBLEM_REPORTER_STREAM_HPP
67 *m_out <<
"node_id1=" << node_id1 <<
" node_id2=" << node_id2 <<
" location=" << location <<
"\n";
72 *m_out <<
"node_id=" << node_id <<
" location=" << location <<
"\n";
78 *m_out <<
"way1_id=" << way1_id <<
" way1_seg_start=" << way1_seg_start <<
" way1_seg_end=" << way1_seg_end
79 <<
" way2_id=" << way2_id <<
" way2_seg_start=" << way2_seg_start <<
" way2_seg_end=" << way2_seg_end <<
" intersection=" << intersection <<
"\n";
83 header(
"duplicate segment");
84 *m_out <<
"node_id1=" << nr1.
ref() <<
" location1=" << nr1.
location()
85 <<
" node_id2=" << nr2.
ref() <<
" location2=" << nr2.
location() <<
"\n";
90 *m_out <<
"node_id=" << nr.
ref() <<
" location=" << nr.
location();
92 *m_out <<
" on way " << way->id();
98 header(
"role should be outer");
99 *m_out <<
"way_id=" << way_id <<
" seg_start=" << seg_start <<
" seg_end=" << seg_end <<
"\n";
103 header(
"role should be inner");
104 *m_out <<
"way_id=" << way_id <<
" seg_start=" << seg_start <<
" seg_end=" << seg_end <<
"\n";
108 header(
"way in multiple rings");
109 *m_out <<
"way_id=" << way.
id() <<
'\n';
113 header(
"inner way with same tags as relation or outer");
114 *m_out <<
"way_id=" << way.
id() <<
'\n';
123 #endif // OSMIUM_AREA_PROBLEM_REPORTER_STREAM_HPP
osmium::object_id_type m_object_id
Definition: problem_reporter.hpp:66
~ProblemReporterStream() override=default
void report_way_in_multiple_rings(const osmium::Way &way) override
Definition: problem_reporter_stream.hpp:107
std::ostream * m_out
Definition: problem_reporter_stream.hpp:51
ProblemReporterStream(std::ostream &out)
Definition: problem_reporter_stream.hpp:55
Definition: entity_bits.hpp:70
Definition: problem_reporter_stream.hpp:49
void report_intersection(osmium::object_id_type way1_id, osmium::Location way1_seg_start, osmium::Location way1_seg_end, osmium::object_id_type way2_id, osmium::Location way2_seg_start, osmium::Location way2_seg_end, osmium::Location intersection) override
Definition: problem_reporter_stream.hpp:75
void header(const char *msg)
Definition: problem_reporter_stream.hpp:61
constexpr osmium::object_id_type ref() const noexcept
Definition: node_ref.hpp:65
void report_duplicate_node(osmium::object_id_type node_id1, osmium::object_id_type node_id2, osmium::Location location) override
Definition: problem_reporter_stream.hpp:65
void report_role_should_be_inner(osmium::object_id_type way_id, osmium::Location seg_start, osmium::Location seg_end) override
Definition: problem_reporter_stream.hpp:102
Namespace for everything in the Osmium library.
Definition: assembler.hpp:66
Definition: problem_reporter.hpp:58
osmium::item_type m_object_type
Definition: problem_reporter.hpp:63
void report_role_should_be_outer(osmium::object_id_type way_id, osmium::Location seg_start, osmium::Location seg_end) override
Definition: problem_reporter_stream.hpp:97
int64_t object_id_type
Type for OSM object (node, way, or relation) IDs.
Definition: types.hpp:45
void report_ring_not_closed(const osmium::NodeRef &nr, const osmium::Way *way=nullptr) override
Definition: problem_reporter_stream.hpp:88
Definition: location.hpp:80
osmium::Location & location() noexcept
Definition: node_ref.hpp:79
void report_duplicate_segment(const osmium::NodeRef &nr1, const osmium::NodeRef &nr2) override
Definition: problem_reporter_stream.hpp:82
object_id_type id() const noexcept
Get ID of this object.
Definition: object.hpp:112
char item_type_to_char(const item_type type) noexcept
Definition: item_type.hpp:124
void report_touching_ring(osmium::object_id_type node_id, osmium::Location location) override
Definition: problem_reporter_stream.hpp:70
size_t m_nodes
Definition: problem_reporter.hpp:69
Definition: node_ref.hpp:50
void report_inner_with_same_tags(const osmium::Way &way) override
Definition: problem_reporter_stream.hpp:112