clean up and refactor half-baked development commits and squash them into a new version.
Changes: * support for multiple GTFS feeds as input in filtering, read default global and local configuration files * be a bit more memory conservative * make caching optional * dont delete orphan edge if it would transform a degree 3 node with a possible full turn into a degree 2 node eligible for contraction * dedicated filters for funicular and gondola * make max snap level option more intuitive * allow filter rules for level 0 * additional fallback for station snapping * dont try to route for MOT unequal to trip in -T mode, force-snap to orphaned OSM station if not snap was possible * write bounds to filtered osm * remove unused surrounding heuristic * use bus lanes info * be a bit more tolerant for bus oneway streets * create missing directories * error if no cfg is present, clean up evaluation Makefile
This commit is contained in:
parent
2cc2d2dc23
commit
63f0b61ea1
60 changed files with 4532 additions and 1576 deletions
|
|
@ -37,6 +37,31 @@ BOX BBoxIdx::getFullWebMercBox() const {
|
|||
_root.box.getUpperRight().getY(), _root.box.getUpperRight().getX()));
|
||||
}
|
||||
|
||||
// _____________________________________________________________________________
|
||||
BOX BBoxIdx::getFullBox() const { return _root.box; }
|
||||
|
||||
// _____________________________________________________________________________
|
||||
std::vector<util::geo::Box<double>> BBoxIdx::getLeafs() const {
|
||||
std::vector<util::geo::Box<double>> ret;
|
||||
getLeafsRec(_root, &ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
// _____________________________________________________________________________
|
||||
void BBoxIdx::getLeafsRec(const BBoxIdxNd& nd,
|
||||
std::vector<util::geo::Box<double>>* ret) const {
|
||||
if (!nd.childs.size()) {
|
||||
ret->push_back(nd.box);
|
||||
return;
|
||||
}
|
||||
|
||||
for (const auto& child : nd.childs) {
|
||||
getLeafsRec(child, ret);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// _____________________________________________________________________________
|
||||
bool BBoxIdx::treeHas(const Point<double>& p, const BBoxIdxNd& nd) const {
|
||||
if (!nd.childs.size()) return util::geo::contains(p, nd.box);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue