enable relation parsing with libosmium

This commit is contained in:
Dennis Luxen 2014-11-18 18:53:19 +01:00
parent 428bb36ec6
commit 8e73a4a19d
2 changed files with 5 additions and 7 deletions

View File

@ -182,6 +182,9 @@ int Extractor::Run(int argc, char *argv[])
tbb::concurrent_vector<std::pair<std::size_t, ExtractionWay>> resulting_ways;
tbb::concurrent_vector<mapbox::util::optional<InputRestrictionContainer>> resulting_restrictions;
// setup restriction parser
RestrictionParser restriction_parser(scripting_environment.getLuaState());
while (osmium::memory::Buffer buffer = reader.read())
{
// create a vector of iterators into the buffer
@ -210,7 +213,6 @@ int Extractor::Run(int argc, char *argv[])
ExtractionNode result_node;
ExtractionWay result_way;
// RestrictionParser restriction_parser(scripting_environment);
switch (entity->type())
{
@ -222,8 +224,6 @@ int Extractor::Run(int argc, char *argv[])
boost::cref(static_cast<osmium::Node &>(*entity)),
boost::ref(result_node));
resulting_nodes.emplace_back(x, result_node);
// extractor_callbacks->ProcessNode(static_cast<osmium::Node &>(*entity),
// result_node);
break;
case osmium::item_type::way:
++number_of_ways;
@ -233,12 +233,10 @@ int Extractor::Run(int argc, char *argv[])
boost::cref(static_cast<osmium::Way &>(*entity)),
boost::ref(result_way));
resulting_ways.emplace_back(x, result_way);
// extractor_callbacks->ProcessWay(static_cast<osmium::Way &>(*entity), result_way);
break;
case osmium::item_type::relation:
++number_of_relations;
// resulting_restrictions.emplace_back(restriction_parser.TryParse(static_cast<osmium::Relation &>(*entity)));
// extractor_callbacks->ProcessRestriction(restriction_parser.TryParse(static_cast<osmium::Relation &>(*entity)));
resulting_restrictions.emplace_back(restriction_parser.TryParse(scripting_environment.getLuaState(), static_cast<osmium::Relation &>(*entity)));
break;
default:
++number_of_others;

View File

@ -51,7 +51,7 @@ class RestrictionParser
private:
void ReadUseRestrictionsSetting(lua_State *lua_state);
void ReadRestrictionExceptions(lua_State *lua_state);
bool ShouldIgnoreRestriction(lua_State *lua_state, const std::string &except_tag_string) const;
bool ShouldIgnoreRestriction(const std::string &except_tag_string) const;
// lua_State *lua_state;
std::vector<std::string> restriction_exceptions;