Libosmium
2.20.0
Fast and flexible C++ library for working with OpenStreetMap data
|
#include <problem_reporter.hpp>
Protected Attributes | |
osmium::item_type | m_object_type = osmium::item_type::undefined |
osmium::object_id_type | m_object_id = 0 |
size_t | m_nodes = 0 |
When assembling a multipolygon/area from a multipolygon relation or a closed way several problems can be detected. This includes intersections between lines, wrong role attributes on relation members etc. These problems are reported by the area::Assembler class to the ProblemReporter class or one of its child classes.
This is the parent class which does nothing with the reports. Child classes are expected to implement different ways of reporting the problems.
|
default |
|
default |
|
defaultnoexcept |
|
virtualdefaultnoexcept |
|
inlinenoexcept |
|
default |
|
defaultnoexcept |
|
inlinevirtual |
Report a duplicate node, ie. two nodes with the same location.
node_id1 | ID of the first node. |
node_id2 | ID of the second node. |
location | Location of both nodes. |
Reimplemented in osmium::area::ProblemReporterException, osmium::area::ProblemReporterOGR, and osmium::area::ProblemReporterStream.
|
inlinevirtual |
Report a duplicate segments. Two or more segments are directly on top of each other. This can be a problem, if there is a spike for instance, or it could be okay, if there are touching inner rings.
Reimplemented in osmium::area::ProblemReporterException, osmium::area::ProblemReporterOGR, and osmium::area::ProblemReporterStream.
|
inlinevirtual |
Report a way that is more than once in a relation.
way | The way |
Reimplemented in osmium::area::ProblemReporterException, osmium::area::ProblemReporterOGR, and osmium::area::ProblemReporterStream.
|
inlinevirtual |
Report a way with role inner that has the same tags as the relation or outer ways.
way | The way. |
Reimplemented in osmium::area::ProblemReporterException, osmium::area::ProblemReporterOGR, and osmium::area::ProblemReporterStream.
|
inlinevirtual |
Report an intersection between two segments.
way1_id | ID of the first involved way. |
way1_seg_start | Location where the segment of the first way with the intersection starts |
way1_seg_end | Location where the segment of the first way with the intersection ends |
way2_id | ID of the second involved way. |
way2_seg_start | Location where the segment of the second way with the intersection starts |
way2_seg_end | Location where the segment of the second way with the intersection ends |
intersection | Location of the intersection. This might be slightly off the correct location due to rounding. |
Reimplemented in osmium::area::ProblemReporterException, osmium::area::ProblemReporterOGR, and osmium::area::ProblemReporterStream.
|
inlinevirtual |
Report an invalid location in a way.
way_id | ID of the way the node is in. |
node_id | ID of the node with the invalid location. |
Reimplemented in osmium::area::ProblemReporterException, and osmium::area::ProblemReporterStream.
|
inlinevirtual |
Report a duplicate segments. Two or more segments are directly on top of each other. This can be a problem, if there is a spike for instance, or it could be okay, if there are touching inner rings.
Reimplemented in osmium::area::ProblemReporterException, osmium::area::ProblemReporterOGR, and osmium::area::ProblemReporterStream.
|
inlinevirtual |
Report an open ring.
nr | NodeRef of one end of the ring. |
way | Optional pointer to way the end node is in. |
Reimplemented in osmium::area::ProblemReporterException, osmium::area::ProblemReporterOGR, and osmium::area::ProblemReporterStream.
|
inlinevirtual |
Report a segment that should have role "inner", but has a different role.
way_id | ID of the way this segment is in. |
seg_start | Start of the segment with the wrong role. |
seg_end | End of the segment with the wrong role. |
Reimplemented in osmium::area::ProblemReporterException, osmium::area::ProblemReporterOGR, and osmium::area::ProblemReporterStream.
|
inlinevirtual |
Report a segment that should have role "outer", but has a different role.
way_id | ID of the way this segment is in. |
seg_start | Start of the segment with the wrong role. |
seg_end | End of the segment with the wrong role. |
Reimplemented in osmium::area::ProblemReporterException, osmium::area::ProblemReporterOGR, and osmium::area::ProblemReporterStream.
|
inlinevirtual |
Report a node/location where rings touch. This is often wrong, but not necessarily so.
node_id | ID of the node. |
location | Location of the node. |
Reimplemented in osmium::area::ProblemReporterException, osmium::area::ProblemReporterOGR, and osmium::area::ProblemReporterStream.
|
inlinevirtual |
In addition to reporting specific problems, this is used to report all ways belonging to areas having problems.
way | The way |
Reimplemented in osmium::area::ProblemReporterOGR.
|
inlinevirtual |
Report a way that is in multiple rings.
way | The way. |
Reimplemented in osmium::area::ProblemReporterException, osmium::area::ProblemReporterOGR, and osmium::area::ProblemReporterStream.
|
inlinenoexcept |
|
inlinenoexcept |
Set the object the next problem reports will be on.
object_type | The type of the object. |
object_id | The ID of the object. |
|
protected |
|
protected |
|
protected |