Keep a cost of -1 for nogos which should never been entered to prevent them from being fed in the priority queue
This commit is contained in:
parent
910d6a0870
commit
3479fd7323
5 changed files with 37 additions and 25 deletions
|
|
@ -17,7 +17,11 @@ public class OsmNodeNamed extends OsmNode
|
|||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return ilon + "," + ilat + "," + name + "," + nogoWeight;
|
||||
if ( Double.isNaN(nogoWeight ) ) {
|
||||
return ilon + "," + ilat + "," + name;
|
||||
} else {
|
||||
return ilon + "," + ilat + "," + name + "," + nogoWeight;
|
||||
}
|
||||
}
|
||||
|
||||
public static OsmNodeNamed decodeNogo( String s )
|
||||
|
|
@ -30,7 +34,7 @@ public class OsmNodeNamed extends OsmNode
|
|||
int idx3 = s.indexOf( ',', idx2+1 );
|
||||
if ( idx3 == -1) {
|
||||
n.name = s.substring( idx2 + 1 );
|
||||
n.nogoWeight = 100000;
|
||||
n.nogoWeight = Double.NaN;
|
||||
} else {
|
||||
n.name = s.substring( idx2+1, idx3 );
|
||||
n.nogoWeight = Double.parseDouble( s.substring( idx3 + 1 ) );
|
||||
|
|
|
|||
|
|
@ -427,7 +427,11 @@ abstract class OsmPath implements OsmLinkHolder
|
|||
}
|
||||
if ( rc.nogomatch != null )
|
||||
{
|
||||
cost += rc.nogomatch.nogoWeight;
|
||||
if ( Double.isNaN(rc.nogomatch.nogoWeight) ) {
|
||||
cost = -1;
|
||||
} else {
|
||||
cost += rc.nogomatch.nogoWeight;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
@ -462,7 +466,12 @@ abstract class OsmPath implements OsmLinkHolder
|
|||
// check for nogo-matches (after the *actual* start of segment)
|
||||
if ( rc.nogomatch != null )
|
||||
{
|
||||
cost += rc.nogomatch.nogoWeight;
|
||||
if ( Double.isNaN(rc.nogomatch.nogoWeight) ) {
|
||||
cost = -1;
|
||||
return;
|
||||
} else {
|
||||
cost += rc.nogomatch.nogoWeight;
|
||||
}
|
||||
}
|
||||
|
||||
// add target-node costs
|
||||
|
|
|
|||
|
|
@ -180,7 +180,6 @@ final class StdPath extends OsmPath
|
|||
return 0.;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public int elevationCorrection( RoutingContext rc )
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue