From 22bc04aa9dd983a32206b384fec3627747de3b4e Mon Sep 17 00:00:00 2001 From: Patrick Brosi Date: Wed, 24 Jan 2024 14:06:54 +0100 Subject: [PATCH] dont delete orphan edges anymore, might remove some candidates for edge snapping --- src/pfaedle/osm/OsmBuilder.cpp | 30 ------------------------------ src/pfaedle/osm/OsmBuilder.h | 1 - 2 files changed, 31 deletions(-) diff --git a/src/pfaedle/osm/OsmBuilder.cpp b/src/pfaedle/osm/OsmBuilder.cpp index dc462a0..ce30315 100644 --- a/src/pfaedle/osm/OsmBuilder.cpp +++ b/src/pfaedle/osm/OsmBuilder.cpp @@ -137,18 +137,12 @@ void OsmBuilder::read(const std::string& path, const OsmReadOpts& opts, LOG(DEBUG) << "Snapping stations..."; snapStats(opts, g, bbox, gridSize, res, orphanStations); - LOG(DEBUG) << "Deleting orphan edges..."; - deleteOrphEdgs(g, opts); - LOG(DEBUG) << "Collapsing edges..."; collapseEdges(g); LOG(DEBUG) << "Writing edge geoms..."; writeGeoms(g, opts); - LOG(DEBUG) << "Deleting orphan edges..."; - deleteOrphEdgs(g, opts); - LOG(DEBUG) << "Deleting orphan nodes..."; deleteOrphNds(g, opts); @@ -1566,30 +1560,6 @@ void OsmBuilder::deleteOrphNds(Graph* g, const OsmReadOpts& opts) { } } -// _____________________________________________________________________________ -void OsmBuilder::deleteOrphEdgs(Graph* g, const OsmReadOpts& opts) { - size_t ROUNDS = 3; - for (size_t c = 0; c < ROUNDS; c++) { - for (auto i = g->getNds().begin(); i != g->getNds().end();) { - if ((*i)->getInDeg() + (*i)->getOutDeg() != 1 || (*i)->pl().getSI() || - (*i)->pl().isTurnCycle()) { - ++i; - continue; - } - - // check if the removal of this edge would transform a steep angle - // full turn at an intersection into a node 2 eligible for contraction - // if so, dont delete - if (keepFullTurn(*i, opts.fullTurnAngle)) { - ++i; - continue; - } - - i = g->delNd(*i); - } - } -} - // _____________________________________________________________________________ bool OsmBuilder::edgesSim(const Edge* a, const Edge* b) { if (static_cast(a->pl().oneWay()) ^ static_cast(b->pl().oneWay())) diff --git a/src/pfaedle/osm/OsmBuilder.h b/src/pfaedle/osm/OsmBuilder.h index 73b8e9e..e92f483 100644 --- a/src/pfaedle/osm/OsmBuilder.h +++ b/src/pfaedle/osm/OsmBuilder.h @@ -180,7 +180,6 @@ class OsmBuilder { double gridSize, Restrictor* res, const NodeSet& orphanStations); static void writeGeoms(Graph* g, const OsmReadOpts& opts); - static void deleteOrphEdgs(Graph* g, const OsmReadOpts& opts); static void deleteOrphNds(Graph* g, const OsmReadOpts& opts); static double dist(const Node* a, const Node* b);