Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008 #include "ToShowSelectCollection.h"
00009 #include <boost/property_tree/ptree.hpp>
00010 #include <boost/property_tree/xml_parser.hpp>
00011 #include "../sqllib/sqllib.h"
00012
00013 namespace osmdb
00014 {
00015
00016 ToShowSelectCollection::ToShowSelectCollection(const std::string& path_base, psql::Database& db, int min, int max)
00017 {
00018 offset = min;
00019 for (int i = min; i <= max; ++i)
00020 {
00021 std::ostringstream ss;
00022 ss << path_base;
00023 if (path_base[path_base.size()-1] != '/')
00024 ss << "/";
00025 ss << i << ".xml";
00026 boost::property_tree::ptree entries;
00027 boost::property_tree::xml_parser::read_xml(ss.str(), entries, boost::property_tree::xml_parser::trim_whitespace);
00028 statements.push_back(sqllib::get_toshow_edges_select(entries, db));
00029 select_statements.push_back(sqllib::get_selected_edges_select(entries, db));
00030 }
00031 }
00032
00033 psql::Statement<psql::BindTypes<double, double, double, double>, psql::RetTypes<double, double, double, double, double, double, double, double, double, int, int> >& ToShowSelectCollection::get_edges_for_zoom(int zoom)
00034 {
00035 return statements[zoom-offset];
00036 }
00037
00038 psql::Statement<psql::BindTypes<double, double, double, double>, psql::RetTypes<int64_t, double, double, double, double, double, int, int> >& ToShowSelectCollection::get_select_edges(int zoom)
00039 {
00040 return select_statements[zoom-offset];
00041 }
00042
00043 }
00044
00045
00046