/** * Creates a CHGraph */ public CHGraph chGraphCreate(Weighting singleCHWeighting) { return setCHGraph(singleCHWeighting).create().getGraph(CHGraph.class, singleCHWeighting); }
Graph createGraph() { return new GraphBuilder(encodingManager).create(); }
Graph createGraph() { return new GraphBuilder(encodingManager).create(); }
GraphHopperStorage createStorage(EncodingManager eman) { return new GraphBuilder(eman).create(); }
protected GraphHopperStorage createStorage(EncodingManager em) { return new GraphBuilder(em).create(); }
GraphHopperStorage createGHStorage() { return new GraphBuilder(encodingManager).setCHGraph(weighting).create(); }
protected GraphHopperStorage createGHStorage(EncodingManager em, List<? extends Weighting> weightings, boolean is3D) { return new GraphBuilder(em).set3D(is3D).create(); }
@Before public void setUp() { encodingManager = new EncodingManager("car"); graph = new GraphBuilder(encodingManager).create(); }
@Before public void setUp() { encoder = new CarFlagEncoder(); em = new EncodingManager(Arrays.asList(encoder), 8); graph = new GraphBuilder(em).create(); // 0-1 graph.edge(0, 1, 1, true); AbstractRoutingAlgorithmTester.updateDistancesFor(graph, 0, 0.00, 0.00); AbstractRoutingAlgorithmTester.updateDistancesFor(graph, 1, 0.01, 0.01); }
@Test public void testEmptyList() { Graph g = new GraphBuilder(carManager).create(); Path p = new Dijkstra(g, new ShortestWeighting(carEncoder), tMode).calcPath(0, 1); InstructionList il = p.calcInstructions(usTR); assertEquals(0, il.size()); assertEquals(0, il.createStartPoints().size()); }
@Test public void testMediumRead() throws IOException { Graph graph = new GraphBuilder(encodingManager).create(); new PrincetonReader(graph).setStream(new GZIPInputStream(PrincetonReader.class.getResourceAsStream("mediumEWD.txt.gz"))).read(); assertEquals(250, graph.getNodes()); EdgeExplorer explorer = graph.createEdgeExplorer(carOutEdges); assertEquals(13, count(explorer.setBaseNode(244))); assertEquals(11, count(explorer.setBaseNode(16))); } }
@Test public void testRead() { Graph graph = new GraphBuilder(encodingManager).create(); new PrincetonReader(graph).setStream(PrincetonReader.class.getResourceAsStream("tinyEWD.txt")).read(); assertEquals(8, graph.getNodes()); EdgeExplorer explorer = graph.createEdgeExplorer(carOutEdges); assertEquals(2, count(explorer.setBaseNode(0))); assertEquals(3, count(explorer.setBaseNode(6))); }
@Before public void setUp() { ReaderWay way = new ReaderWay(27l); way.setTag("highway", "primary"); way.setTag("maxspeed", "10"); way.setTag("maxheight", "4.4"); graph = new GraphBuilder(em).create(); // 0-1 graph.edge(0, 1, 1, true); AbstractRoutingAlgorithmTester.updateDistancesFor(graph, 0, 0.00, 0.00); AbstractRoutingAlgorithmTester.updateDistancesFor(graph, 1, 0.01, 0.01); graph.getEdgeIteratorState(0, 1).setFlags(encoder.handleWayTags(way, 1, 0)); }
@Test public void testFound() { GraphHopperStorage g = new GraphBuilder(carManager).create(); Path p = new Path(g, new FastestWeighting(encoder)); assertFalse(p.isFound()); assertEquals(0, p.getDistance(), 1e-7); assertEquals(0, p.calcNodes().size()); g.close(); }
@Test public void testTime() { FlagEncoder tmpEnc = new Bike2WeightFlagEncoder(); GraphHopperStorage g = new GraphBuilder(new EncodingManager(tmpEnc)).create(); Weighting w = new FastestWeighting(tmpEnc); long flags = tmpEnc.setSpeed(tmpEnc.setReverseSpeed(tmpEnc.setAccess(0, true, true), 10), 15); EdgeIteratorState edge = GHUtility.createMockedEdgeIteratorState(100000, flags); assertEquals(375 * 60 * 1000, w.calcMillis(edge, false, EdgeIterator.NO_EDGE)); assertEquals(600 * 60 * 1000, w.calcMillis(edge, true, EdgeIterator.NO_EDGE)); g.close(); } }
@Test public void reverseEdge() { Graph graph = new GraphBuilder(encodingManager).create(); EdgeIteratorState edge = graph.edge(0, 1); ReaderWay osmWay = new ReaderWay(0); osmWay.setTag("highway", "primary"); osmWay.setTag("maxspeed:forward", "10"); long flags = encoder.handleWayTags(osmWay, 1, 0); edge.setFlags(flags); assertEquals(10, encoder.getMaxspeed(edge, motorVehicleInt, false), .1); assertEquals(-1, encoder.getMaxspeed(edge, motorVehicleInt, true), .1); edge = edge.detach(true); assertEquals(-1, encoder.getMaxspeed(edge, motorVehicleInt, false), .1); assertEquals(10, encoder.getMaxspeed(edge, motorVehicleInt, true), .1); }
@Test public void testDisconnected179() { GraphHopperStorage graph = new GraphBuilder(encodingManager).create(); initGraph(graph); GraphHopper instance = new GraphHopper(). setStoreOnFlush(false). setEncodingManager(encodingManager).setCHEnabled(false). loadGraph(graph); GHResponse rsp = instance.route(new GHRequest(42, 10, 42, 10.4)); assertTrue(rsp.hasErrors()); try { rsp.getBest().getPoints(); assertTrue(false); } catch (Exception ex) { } instance.close(); }
@Test public void testCannotBeLoadedWithNormalGraphHopperStorageClass() { graph = newGHStorage(new RAMDirectory(defaultGraphLoc, true), false).create(defaultSize); graph.flush(); graph.close(); graph = new GraphBuilder(encodingManager).setLocation(defaultGraphLoc).setMmap(false).setStore(true).create(); try { graph.loadExisting(); fail(); } catch (Exception ex) { } graph = newGHStorage(new RAMDirectory(defaultGraphLoc, true), false); assertTrue(graph.loadExisting()); // empty graph still has invalid bounds assertEquals(graph.getBounds(), BBox.createInverse(false)); }
@Test public void testGraph() { Graph g = new GraphBuilder(encodingManager).create(); g.edge(0, 1).setDistance(10).setFlags(footEncoder.setProperties(10, true, true)); g.edge(0, 2).setDistance(10).setFlags(footEncoder.setProperties(5, true, true)); g.edge(1, 3).setDistance(10).setFlags(footEncoder.setProperties(10, true, true)); EdgeExplorer out = g.createEdgeExplorer(DefaultEdgeFilter.outEdges(footEncoder)); assertEquals(GHUtility.asSet(1, 2), GHUtility.getNeighbors(out.setBaseNode(0))); assertEquals(GHUtility.asSet(0, 3), GHUtility.getNeighbors(out.setBaseNode(1))); assertEquals(GHUtility.asSet(0), GHUtility.getNeighbors(out.setBaseNode(2))); }
@Test public void testCalcInstructionsForDataFlagEncoder() { final Graph g = new GraphBuilder(dataFlagManager).create(); final NodeAccess na = g.getNodeAccess(); na.setNode(1, 48.982618, 13.122021); na.setNode(2, 48.982565, 13.121597); na.setNode(3, 48.982611, 13.121012); na.setNode(4, 48.982336, 13.121002); ReaderWay w = new ReaderWay(1); w.setTag("highway", "tertiary"); g.edge(1, 2, 5, true).setFlags(dataFlagEncoder.handleWayTags(w, 1, 0)); g.edge(2, 4, 5, true).setFlags(dataFlagEncoder.handleWayTags(w, 1, 0)); g.edge(2, 3, 5, true).setFlags(dataFlagEncoder.handleWayTags(w, 1, 0)); Path p = new Dijkstra(g, new GenericWeighting(dataFlagEncoder, new HintsMap()), TraversalMode.NODE_BASED).calcPath(1, 3); assertTrue(p.isFound()); InstructionList wayList = p.calcInstructions(tr); assertEquals(3, wayList.size()); }