1 #ifndef OSMIUM_AREA_STATS_HPP
2 #define OSMIUM_AREA_STATS_HPP
74 area_simple_case += other.area_simple_case;
75 area_touching_rings_case += other.area_touching_rings_case;
76 duplicate_nodes += other.duplicate_nodes;
77 duplicate_segments += other.duplicate_segments;
78 from_relations += other.from_relations;
79 from_ways += other.from_ways;
80 inner_rings += other.inner_rings;
81 inner_with_same_tags += other.inner_with_same_tags;
82 intersections += other.intersections;
83 member_ways += other.member_ways;
84 no_tags_on_relation += other.no_tags_on_relation;
85 no_way_in_mp_relation += other.no_way_in_mp_relation;
87 open_rings += other.open_rings;
88 outer_rings += other.outer_rings;
89 short_ways += other.short_ways;
90 single_way_in_mp_relation += other.single_way_in_mp_relation;
91 touching_rings += other.touching_rings;
92 ways_in_multiple_rings += other.ways_in_multiple_rings;
93 wrong_role += other.wrong_role;
99 template <
typename TChar,
typename TTraits>
100 inline std::basic_ostream<TChar, TTraits>& operator<<(std::basic_ostream<TChar, TTraits>& out,
const area_stats& s) {
102 <<
" area_simple_case=" << s.area_simple_case
103 <<
" area_touching_rings_case=" << s.area_touching_rings_case
104 <<
" duplicate_nodes=" << s.duplicate_nodes
105 <<
" duplicate_segments=" << s.duplicate_segments
106 <<
" from_relations=" << s.from_relations
107 <<
" from_ways=" << s.from_ways
108 <<
" inner_rings=" << s.inner_rings
109 <<
" inner_with_same_tags=" << s.inner_with_same_tags
110 <<
" intersections=" << s.intersections
111 <<
" member_ways=" << s.member_ways
112 <<
" no_tags_on_relation=" << s.no_tags_on_relation
113 <<
" no_way_in_mp_relation=" << s.no_way_in_mp_relation
114 <<
" nodes=" << s.nodes
115 <<
" open_rings=" << s.open_rings
116 <<
" outer_rings=" << s.outer_rings
117 <<
" short_ways=" << s.short_ways
118 <<
" single_way_in_mp_relation=" << s.single_way_in_mp_relation
119 <<
" touching_rings=" << s.touching_rings
120 <<
" ways_in_multiple_rings=" << s.ways_in_multiple_rings
121 <<
" wrong_role=" << s.wrong_role;
128 #endif // OSMIUM_AREA_STATS_HPP
uint64_t member_ways
Number of ways in the area.
Definition: stats.hpp:60
uint64_t area_really_complex_case
Most difficult case with rings touching in multiple points.
Definition: stats.hpp:50
uint64_t wrong_role
Member has wrong role (not "outer", "inner", or empty)
Definition: stats.hpp:70
uint64_t no_way_in_mp_relation
Multipolygon relation with no way members.
Definition: stats.hpp:62
area_stats & operator+=(const area_stats &other) noexcept
Definition: stats.hpp:72
Definition: entity_bits.hpp:72
uint64_t outer_rings
Number of outer rings in the area.
Definition: stats.hpp:65
uint64_t short_ways
Number of ways with less than two nodes.
Definition: stats.hpp:66
uint64_t duplicate_segments
Segments duplicated (going back and forth)
Definition: stats.hpp:54
Namespace for everything in the Osmium library.
Definition: assembler.hpp:73
uint64_t from_relations
Area created from multipolygon relation.
Definition: stats.hpp:55
uint64_t area_touching_rings_case
More difficult case with touching rings.
Definition: stats.hpp:52
uint64_t from_ways
Area created from way.
Definition: stats.hpp:56
uint64_t inner_with_same_tags
Number of inner ways with same tags as area.
Definition: stats.hpp:58
uint64_t intersections
Number of intersections between segments.
Definition: stats.hpp:59
uint64_t inner_rings
Number of inner rings.
Definition: stats.hpp:57
uint64_t ways_in_multiple_rings
Different segments of a way ended up in different rings.
Definition: stats.hpp:69
uint64_t open_rings
Number of open rings in the area.
Definition: stats.hpp:64
uint64_t no_tags_on_relation
No tags on relation (old-style multipolygon with tags on outer ways)
Definition: stats.hpp:61
uint64_t nodes
Number of nodes in the area.
Definition: stats.hpp:63
uint64_t single_way_in_mp_relation
Multipolygon relation containing a single way.
Definition: stats.hpp:67
uint64_t area_simple_case
Simple case, no touching rings.
Definition: stats.hpp:51
uint64_t duplicate_nodes
Consecutive identical nodes or consecutive nodes with same location.
Definition: stats.hpp:53
uint64_t touching_rings
Rings touching in a node.
Definition: stats.hpp:68