diff --git a/brouter-core/src/main/java/btools/router/OsmPathElement.java b/brouter-core/src/main/java/btools/router/OsmPathElement.java index f9b2750..d721ad8 100644 --- a/brouter-core/src/main/java/btools/router/OsmPathElement.java +++ b/brouter-core/src/main/java/btools/router/OsmPathElement.java @@ -75,7 +75,7 @@ public class OsmPathElement implements OsmPos { } public final int calcDistance(OsmPos p) { - return (int) (CheapRuler.distance(ilon, ilat, p.getILon(), p.getILat()) + 1.0); + return (int) Math.max(1.0, Math.round(CheapRuler.distance(ilon, ilat, p.getILon(), p.getILat()))); } public OsmPathElement origin; diff --git a/brouter-core/src/main/java/btools/router/RoutingContext.java b/brouter-core/src/main/java/btools/router/RoutingContext.java index 120c3ce..8af9c9f 100644 --- a/brouter-core/src/main/java/btools/router/RoutingContext.java +++ b/brouter-core/src/main/java/btools/router/RoutingContext.java @@ -462,7 +462,7 @@ public final class RoutingContext { } } } - return (int) (d + 0.5); + return (int) Math.max(1.0, Math.round(d)); } public OsmPathModel pm; diff --git a/brouter-mapaccess/src/main/java/btools/mapaccess/OsmNode.java b/brouter-mapaccess/src/main/java/btools/mapaccess/OsmNode.java index 35e9f88..92a6f42 100644 --- a/brouter-mapaccess/src/main/java/btools/mapaccess/OsmNode.java +++ b/brouter-mapaccess/src/main/java/btools/mapaccess/OsmNode.java @@ -100,7 +100,7 @@ public class OsmNode extends OsmLink implements OsmPos { } public final int calcDistance(OsmPos p) { - return (int) (CheapRuler.distance(ilon, ilat, p.getILon(), p.getILat()) + 1.0); + return (int) Math.max(1.0, Math.round(CheapRuler.distance(ilon, ilat, p.getILon(), p.getILat()))); } public String toString() {