diff --git a/brouter-core/src/main/java/btools/router/OsmTrack.java b/brouter-core/src/main/java/btools/router/OsmTrack.java index ba2005f..df3ceef 100644 --- a/brouter-core/src/main/java/btools/router/OsmTrack.java +++ b/brouter-core/src/main/java/btools/router/OsmTrack.java @@ -163,7 +163,7 @@ public final class OsmTrack dos.close(); } - public static OsmTrack readBinary( String filename, OsmNodeNamed newEp, long[] nogoChecksums ) + public static OsmTrack readBinary( String filename, OsmNodeNamed newEp, long[] nogoChecksums, StringBuilder debugInfo ) { OsmTrack t = null; if ( filename != null ) @@ -211,6 +211,11 @@ public final class OsmTrack boolean nogoCheckOk = Math.abs( al[0] - nogoChecksums[0] ) <= 20 && Math.abs( al[1] - nogoChecksums[1] ) <= 20 && Math.abs( al[2] - nogoChecksums[2] ) <= 20; + + if ( debugInfo != null ) + { + debugInfo.append( "target-delta = " + dlon + "/" + dlat + " nogoCheckOk=" + nogoCheckOk ); + } if ( !nogoCheckOk ) return null; } catch (Exception e) diff --git a/brouter-core/src/main/java/btools/router/RoutingEngine.java b/brouter-core/src/main/java/btools/router/RoutingEngine.java index 8bbbace..e8d21ce 100644 --- a/brouter-core/src/main/java/btools/router/RoutingEngine.java +++ b/brouter-core/src/main/java/btools/router/RoutingEngine.java @@ -295,19 +295,30 @@ public class RoutingEngine extends Thread OsmTrack totaltrack = new OsmTrack(); int nUnmatched = waypoints.size(); + if ( hasInfo() ) + { + for( OsmNodeNamed wp : waypoints ) + { + logInfo( "wp=" + wp ); + } + } + // check for a track for that target OsmTrack nearbyTrack = null; if ( refTracks[waypoints.size()-2] == null ) { - nearbyTrack = OsmTrack.readBinary( routingContext.rawTrackPath, waypoints.get( waypoints.size()-1), routingContext.getNogoChecksums() ); + StringBuilder debugInfo = hasInfo() ? new StringBuilder() : null; + nearbyTrack = OsmTrack.readBinary( routingContext.rawTrackPath, waypoints.get( waypoints.size()-1), routingContext.getNogoChecksums(), debugInfo ); if ( nearbyTrack != null ) { - if ( hasInfo() ) - { - logInfo( "read referenceTrack, dirty=" + nearbyTrack.isDirty ); - } nUnmatched--; } + if ( hasInfo() ) + { + boolean found = nearbyTrack != null; + boolean dirty = found ? nearbyTrack.isDirty : false; + logInfo( "read referenceTrack, found=" + found + " dirty=" + dirty + " " + debugInfo ); + } } if ( matchedWaypoints == null ) // could exist from the previous alternative level diff --git a/brouter-routing-app/src/main/java/btools/routingapp/CoordinateReaderLocus.java b/brouter-routing-app/src/main/java/btools/routingapp/CoordinateReaderLocus.java index 907197f..8c33746 100644 --- a/brouter-routing-app/src/main/java/btools/routingapp/CoordinateReaderLocus.java +++ b/brouter-routing-app/src/main/java/btools/routingapp/CoordinateReaderLocus.java @@ -51,8 +51,8 @@ public class CoordinateReaderLocus extends CoordinateReader OsmNodeNamed n = new OsmNodeNamed(); String category = c.getString(0); n.name = c.getString(1); - n.ilon = (int)( ( Double.parseDouble( c.getString(2) ) + 180. )*1000000. + 0.5); - n.ilat = (int)( ( Double.parseDouble( c.getString(3) ) + 90. )*1000000. + 0.5); + n.ilon = (int)( ( c.getDouble(2) + 180. )*1000000. + 0.5); + n.ilat = (int)( ( c.getDouble(3) + 90. )*1000000. + 0.5); checkAddPoint( category, n ); } myDataBase.close(); diff --git a/brouter-routing-app/src/main/java/btools/routingapp/CoordinateReaderOrux.java b/brouter-routing-app/src/main/java/btools/routingapp/CoordinateReaderOrux.java index f92f2ff..9e8e14c 100644 --- a/brouter-routing-app/src/main/java/btools/routingapp/CoordinateReaderOrux.java +++ b/brouter-routing-app/src/main/java/btools/routingapp/CoordinateReaderOrux.java @@ -49,8 +49,8 @@ public class CoordinateReaderOrux extends CoordinateReader { OsmNodeNamed n = new OsmNodeNamed(); n.name = c.getString(0); - n.ilon = (int)( ( Double.parseDouble( c.getString(1) ) + 180. )*1000000. + 0.5); - n.ilat = (int)( ( Double.parseDouble( c.getString(2) ) + 90. )*1000000. + 0.5); + n.ilon = (int)( ( c.getDouble(1) + 180. )*1000000. + 0.5); + n.ilat = (int)( ( c.getDouble(2) + 90. )*1000000. + 0.5); String category = c.getString(3); checkAddPoint( category, n ); }