Change from rtree.q{begin,end} to rtree.query (Boost 1.55 support)
This commit is contained in:
		
							parent
							
								
									55a38c9e01
								
							
						
					
					
						commit
						f40b7975f2
					
				| @ -8,7 +8,9 @@ | ||||
| #include <rapidjson/istreamwrapper.h> | ||||
| 
 | ||||
| #include <boost/filesystem.hpp> | ||||
| #include <boost/function_output_iterator.hpp> | ||||
| 
 | ||||
| #include <fstream> | ||||
| #include <string> | ||||
| 
 | ||||
| namespace osrm | ||||
| @ -125,21 +127,19 @@ sol::table LocationDependentData::operator()(sol::state &state, const osmium::Wa | ||||
|     const point_t point(location.lon(), location.lat()); | ||||
| 
 | ||||
|     auto table = sol::table(state, sol::create); | ||||
|     auto merger = [this, &table](const rtree_t::value_type &rtree_entry) { | ||||
|         for (const auto &key_value : polygons[rtree_entry.second].second) | ||||
|         { | ||||
|             boost::apply_visitor(table_setter(table, key_value.first), key_value.second); | ||||
|         } | ||||
|     }; | ||||
| 
 | ||||
|     // Search the R-tree and collect a Lua table of tags that correspond to the location
 | ||||
|     for (auto it = rtree.qbegin( | ||||
|              boost::geometry::index::intersects(point) && | ||||
|              boost::geometry::index::satisfies([this, &point](const rtree_t::value_type &v) { | ||||
|                  return boost::geometry::within(point, polygons[v.second].first); | ||||
|              })); | ||||
|          it != rtree.qend(); | ||||
|          ++it) | ||||
|     { | ||||
|         for (const auto &pair : polygons[it->second].second) | ||||
|         { | ||||
|             boost::apply_visitor(table_setter(table, pair.first), pair.second); | ||||
|         } | ||||
|     } | ||||
|     rtree.query(boost::geometry::index::intersects(point) && | ||||
|                     boost::geometry::index::satisfies([this, &point](const rtree_t::value_type &v) { | ||||
|                         return boost::geometry::within(point, polygons[v.second].first); | ||||
|                     }), | ||||
|                 boost::make_function_output_iterator(std::ref(merger))); | ||||
| 
 | ||||
|     return table; | ||||
| } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user