From 313def7f7ce506a2b3da51ec8cb2c3c655ff6f96 Mon Sep 17 00:00:00 2001 From: Arndt Brenschede Date: Sat, 7 Apr 2018 13:04:14 +0200 Subject: [PATCH] fixed bug for TR near start/end --- brouter-core/src/main/java/btools/router/OsmPath.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/brouter-core/src/main/java/btools/router/OsmPath.java b/brouter-core/src/main/java/btools/router/OsmPath.java index f16be77..b01fcbe 100644 --- a/brouter-core/src/main/java/btools/router/OsmPath.java +++ b/brouter-core/src/main/java/btools/router/OsmPath.java @@ -183,8 +183,10 @@ abstract class OsmPath implements OsmLinkHolder ele2 = transferNode.selev; } + boolean isStartpoint = lon0 == -1 && lat0 == -1; + // check turn restrictions (n detail mode (=final pass) no TR to not mess up voice hints) - if ( nsection == 0 ) + if ( nsection == 0 && !isStartpoint ) { boolean hasAnyPositive = false; boolean hasPositive = false; @@ -267,6 +269,7 @@ System.out.println( "bad TR candidate: " + id ); resetState(); lon0 = -1; // reset turncost-pipe lat0 = -1; + isStartpoint = true; if ( recordTransferNodes ) { @@ -290,7 +293,6 @@ System.out.println( "bad TR candidate: " + id ); linkdisttotal += dist; // apply a start-direction if appropriate (by faking the origin position) - boolean isStartpoint = lon0 == -1 && lat0 == -1; if ( isStartpoint ) { if ( rc.startDirectionValid )