diff options
author | Jochen Topf <jochen@topf.org> | 2013-06-17 16:09:09 +0200 |
---|---|---|
committer | Jochen Topf <jochen@topf.org> | 2013-06-17 16:09:09 +0200 |
commit | 80df6bf43254283945c052af1018c1ef4cc9f038 (patch) | |
tree | 88c0077480b2e1c0d3418b096e76e51b04ae283a /tagstats | |
parent | 26193b95353ceffbeb0cca257c1dc7336735b4b6 (diff) | |
download | taginfo-80df6bf43254283945c052af1018c1ef4cc9f038.tar taginfo-80df6bf43254283945c052af1018c1ef4cc9f038.tar.gz |
Also count different relation member types
Diffstat (limited to 'tagstats')
-rw-r--r-- | tagstats/statistics_handler.hpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tagstats/statistics_handler.hpp b/tagstats/statistics_handler.hpp index 23b3a5e..ad5c91a 100644 --- a/tagstats/statistics_handler.hpp +++ b/tagstats/statistics_handler.hpp @@ -22,6 +22,8 @@ */ +#include <boost/foreach.hpp> + #include "sqlite.hpp" /** @@ -52,6 +54,9 @@ public: "relations", "relation_tags", "relation_members", + "relation_member_nodes", + "relation_member_ways", + "relation_member_relations", "max_relation_id", "max_tags_on_relation", "max_members_on_relation", @@ -135,6 +140,20 @@ public: m_stats.max_relation_version = m_version; } m_stats.sum_relation_version += m_version; + + BOOST_FOREACH(const Osmium::OSM::RelationMember& member, relation->members()) { + switch (member.type()) { + case 'n': + ++m_stats.relation_member_nodes; + break; + case 'w': + ++m_stats.relation_member_ways; + break; + case 'r': + ++m_stats.relation_member_relations; + break; + } + } } void final() { @@ -174,6 +193,9 @@ private: uint64_t relations; uint64_t relation_tags; uint64_t relation_members; + uint64_t relation_member_nodes; + uint64_t relation_member_ways; + uint64_t relation_member_relations; uint64_t max_relation_id; uint64_t max_tags_on_relation; uint64_t max_members_on_relation; |