@Override protected boolean goFurther(int baseNode) { if (baseNode == id) return true; goFurtherHook(baseNode); double currLat = nodeAccess.getLatitude(baseNode); double currLon = nodeAccess.getLongitude(baseNode); double currNormedDist = distCalc.calcNormalizedDist(queryLat, queryLon, currLat, currLon); if (currNormedDist < res.getQueryDistance()) { res.setQueryDistance(currNormedDist); res.setClosestNode(baseNode); return true; } return currNormedDist < maxRasterWidth2InMeterNormed; } }.start(graph.createEdgeExplorer(), id);
final QueryResult res = new QueryResult(queryLat, queryLon); res.setClosestNode(id); res.setQueryDistance(distCalc.calcNormalizedDist(queryLat, queryLon, mainLat, mainLon)); goFurtherHook(id); new BreadthFirstSearch() { res.setQueryDistance(distCalc.calcDenormalizedDist(res.getQueryDistance())); return res;
if (qr.isValid()) { qr.setQueryDistance(distCalc.calcDenormalizedDist(qr.getQueryDistance())); qr.calcSnappedPoint(distCalc); } else {
res.setQueryDistance(fromDist); res.setClosestEdge(iter.detach(false)); res.setClosestNode(node); fromLat, fromLon, toLat, toLon)); if (distEdge < foundDist) { res.setQueryDistance(distEdge); res.setClosestNode(node); res.setClosestEdge(iter);
res.setClosestEdge(iter.detach(false)); res.setClosestNode(node); res.setQueryDistance(dist); if (dist <= 0) break;
closestMatch.setQueryDistance(distCalc.calcDenormalizedDist(closestMatch.getQueryDistance())); closestMatch.calcSnappedPoint(distCalc);
@Override protected boolean goFurther(int baseNode) { if (baseNode == id) return true; goFurtherHook(baseNode); double currLat = nodeAccess.getLatitude(baseNode); double currLon = nodeAccess.getLongitude(baseNode); double currNormedDist = distCalc.calcNormalizedDist(queryLat, queryLon, currLat, currLon); if (currNormedDist < res.getQueryDistance()) { res.setQueryDistance(currNormedDist); res.setClosestNode(baseNode); return true; } return currNormedDist < maxRasterWidth2InMeterNormed; } }.start(graph.createEdgeExplorer(), id);
@Override protected boolean goFurther(int baseNode) { if (baseNode == id) return true; goFurtherHook(baseNode); double currLat = nodeAccess.getLatitude(baseNode); double currLon = nodeAccess.getLongitude(baseNode); double currNormedDist = distCalc.calcNormalizedDist(queryLat, queryLon, currLat, currLon); if (currNormedDist < res.getQueryDistance()) { res.setQueryDistance(currNormedDist); res.setClosestNode(baseNode); return true; } return currNormedDist < maxRasterWidth2InMeterNormed; } }.start(graph.createEdgeExplorer(), id);
@Override protected boolean goFurther( int baseNode ) { if (baseNode == id) return true; goFurtherHook(baseNode); double currLat = nodeAccess.getLatitude(baseNode); double currLon = nodeAccess.getLongitude(baseNode); double currNormedDist = distCalc.calcNormalizedDist(queryLat, queryLon, currLat, currLon); if (currNormedDist < res.getQueryDistance()) { res.setQueryDistance(currNormedDist); res.setClosestNode(baseNode); return true; } return currNormedDist < maxRasterWidth2InMeterNormed; } }.start(graph.createEdgeExplorer(), id);
final QueryResult res = new QueryResult(queryLat, queryLon); res.setClosestNode(id); res.setQueryDistance(distCalc.calcNormalizedDist(queryLat, queryLon, mainLat, mainLon)); goFurtherHook(id); new BreadthFirstSearch() { res.setQueryDistance(distCalc.calcDenormalizedDist(res.getQueryDistance())); return res;
final QueryResult res = new QueryResult(queryLat, queryLon); res.setClosestNode(id); res.setQueryDistance(distCalc.calcNormalizedDist(queryLat, queryLon, mainLat, mainLon)); goFurtherHook(id); new BreadthFirstSearch() { res.setQueryDistance(distCalc.calcDenormalizedDist(res.getQueryDistance())); return res;
final QueryResult res = new QueryResult(queryLat, queryLon); res.setClosestNode(id); res.setQueryDistance(distCalc.calcNormalizedDist(queryLat, queryLon, mainLat, mainLon)); goFurtherHook(id); new BreadthFirstSearch() res.setQueryDistance(distCalc.calcDenormalizedDist(res.getQueryDistance())); return res;
res.setQueryDistance(fromDist); res.setClosestEdge(iter.detach(false)); res.setClosestNode(node); fromLat, fromLon, toLat, toLon)); if (distEdge < foundDist) { res.setQueryDistance(distEdge); res.setClosestNode(node); res.setClosestEdge(iter);
res.setQueryDistance(fromDist); res.setClosestEdge(iter.detach(false)); res.setClosestNode(node); fromLat, fromLon, toLat, toLon)); if (distEdge < foundDist) { res.setQueryDistance(distEdge); res.setClosestNode(node); res.setClosestEdge(iter);
res.setClosestEdge(iter.detach(false)); res.setClosestNode(node); res.setQueryDistance(dist); if (dist <= 0) break;
res.setClosestEdge(iter.detach(false)); res.setClosestNode(node); res.setQueryDistance(dist); if (dist <= 0) break;
res.setQueryDistance(dist); if (dist <= 0) break;
closestMatch.setQueryDistance(distCalc.calcDenormalizedDist(closestMatch.getQueryDistance())); closestMatch.calcSnappedPoint(distCalc);
closestMatch.setQueryDistance(distCalc.calcDenormalizedDist(closestMatch.getQueryDistance())); closestMatch.calcSnappedPoint(distCalc);
closestMatch.setQueryDistance(distCalc.calcDenormalizedDist(closestMatch.getQueryDistance())); closestMatch.calcSnappedPoint(distCalc);