summaryrefslogtreecommitdiff
path: root/tagstats
diff options
context:
space:
mode:
authorJochen Topf <jochen@topf.org>2013-06-17 16:09:09 +0200
committerJochen Topf <jochen@topf.org>2013-06-17 16:09:09 +0200
commit80df6bf43254283945c052af1018c1ef4cc9f038 (patch)
tree88c0077480b2e1c0d3418b096e76e51b04ae283a /tagstats
parent26193b95353ceffbeb0cca257c1dc7336735b4b6 (diff)
downloadtaginfo-80df6bf43254283945c052af1018c1ef4cc9f038.tar
taginfo-80df6bf43254283945c052af1018c1ef4cc9f038.tar.gz
Also count different relation member types
Diffstat (limited to 'tagstats')
-rw-r--r--tagstats/statistics_handler.hpp22
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;