/* This is a small tool that counts the number of nodes, ways, and relations in the input file. The code in this example file is released into the Public Domain. */ #include #include #include #include #include struct CountHandler : public osmium::handler::Handler { uint64_t nodes = 0; uint64_t ways = 0; uint64_t relations = 0; void node(osmium::Node&) { ++nodes; } void way(osmium::Way&) { ++ways; } void relation(osmium::Relation&) { ++relations; } }; int main(int argc, char* argv[]) { if (argc != 2) { std::cerr << "Usage: " << argv[0] << " OSMFILE\n"; exit(1); } osmium::io::File infile(argv[1]); osmium::io::Reader reader(infile); CountHandler handler; osmium::apply(reader, handler); reader.close(); std::cout << "Nodes: " << handler.nodes << "\n"; std::cout << "Ways: " << handler.ways << "\n"; std::cout << "Relations: " << handler.relations << "\n"; }