Adjust lower bound for crossroad angle in sliproads handler, #4348/2
This commit is contained in:
parent
fbb2970044
commit
7f8e467523
@ -394,7 +394,7 @@ operator()(const NodeID /*nid*/, const EdgeID source_edge_id, Intersection inter
|
|||||||
using namespace util::coordinate_calculation;
|
using namespace util::coordinate_calculation;
|
||||||
|
|
||||||
// In addition, if it's a right/left turn we expect the rightmost/leftmost
|
// In addition, if it's a right/left turn we expect the rightmost/leftmost
|
||||||
// turn at `c` to be more or less ~90 degree for a Sliproad scenario.
|
// turn at `c` to be more than a minimal angle (40°) for a Sliproad scenario.
|
||||||
double deviation_from_straight = 0;
|
double deviation_from_straight = 0;
|
||||||
|
|
||||||
if (is_right_sliproad_turn)
|
if (is_right_sliproad_turn)
|
||||||
@ -423,7 +423,7 @@ operator()(const NodeID /*nid*/, const EdgeID source_edge_id, Intersection inter
|
|||||||
const auto length = haversineDistance(coordinates[intersection_node_id],
|
const auto length = haversineDistance(coordinates[intersection_node_id],
|
||||||
coordinates[main_road_intersection->node]);
|
coordinates[main_road_intersection->node]);
|
||||||
|
|
||||||
const double perpendicular_angle = 90 + FUZZY_ANGLE_DIFFERENCE;
|
const double minimal_crossroad_angle_of_intersection = 40.;
|
||||||
|
|
||||||
if (length >= MIN_LENGTH)
|
if (length >= MIN_LENGTH)
|
||||||
{
|
{
|
||||||
@ -433,7 +433,7 @@ operator()(const NodeID /*nid*/, const EdgeID source_edge_id, Intersection inter
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Check sliproads with skew main intersections
|
// Check sliproads with skew main intersections
|
||||||
if (deviation_from_straight > perpendicular_angle &&
|
if (deviation_from_straight > 180. - minimal_crossroad_angle_of_intersection &&
|
||||||
!node_based_graph.GetEdgeData(sliproad.eid).road_classification.IsLinkClass())
|
!node_based_graph.GetEdgeData(sliproad.eid).road_classification.IsLinkClass())
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
|
Loading…
Reference in New Issue
Block a user