GraphHopperStorage createGHStorage(EncodingManager encodingManager) { return AbstractLocationIndexTester.this.createGHStorage(new RAMDirectory(), encodingManager, false); }
@Test public void testNoErrorOnEdgeCase_lastIndex() { final EncodingManager encodingManager = new EncodingManager("car"); int locs = 10000; Graph g = AbstractLocationIndexTester.this.createGHStorage(new MMapDirectory(location), encodingManager, false); NodeAccess na = g.getNodeAccess(); Random rand = new Random(12); for (int i = 0; i < locs; i++) { na.setNode(i, (float) rand.nextDouble() * 10 + 10, (float) rand.nextDouble() * 10 + 10); } idx = createIndex(g, 200); Helper.close((Closeable) g); }
@Test public void testSimpleGraph() { Graph g = AbstractLocationIndexTester.this.createGHStorage(new EncodingManager("car")); initSimpleGraph(g); idx = createIndex(g, -1); assertEquals(4, findID(idx, 5, 2)); assertEquals(3, findID(idx, 1.5, 2)); assertEquals(0, findID(idx, -1, -1)); if (hasEdgeSupport()) // now get the edge 1-4 and not node 6 { assertEquals(4, findID(idx, 4, 0)); } else { assertEquals(6, findID(idx, 4, 0)); } Helper.close((Closeable) g); }
@Test public void testDifferentVehicles() { final EncodingManager encodingManager = new EncodingManager("car,foot"); Graph g = AbstractLocationIndexTester.this.createGHStorage(encodingManager); initSimpleGraph(g); idx = createIndex(g, -1); assertEquals(1, findID(idx, 1, -1)); // now make all edges from node 1 accessible for CAR only EdgeIterator iter = g.createEdgeExplorer().setBaseNode(1); CarFlagEncoder carEncoder = (CarFlagEncoder) encodingManager.getEncoder("car"); while (iter.next()) { iter.setFlags(carEncoder.setProperties(50, true, true)); } idx.close(); idx = createIndex(g, -1); FootFlagEncoder footEncoder = (FootFlagEncoder) encodingManager.getEncoder("foot"); assertEquals(2, idx.findClosest(1, -1, DefaultEdgeFilter.allEdges(footEncoder)).getClosestNode()); Helper.close((Closeable) g); } }
@Test public void testSimpleGraph2() { Graph g = AbstractLocationIndexTester.this.createGHStorage(new EncodingManager("car")); initSimpleGraph(g); idx = createIndex(g, -1); assertEquals(4, findID(idx, 5, 2)); assertEquals(3, findID(idx, 1.5, 2)); assertEquals(0, findID(idx, -1, -1)); assertEquals(6, findID(idx, 4.5, -0.5)); if (hasEdgeSupport()) { assertEquals(4, findID(idx, 4, 1)); assertEquals(4, findID(idx, 4, 0)); } else { assertEquals(6, findID(idx, 4, 1)); assertEquals(6, findID(idx, 4, 0)); } assertEquals(6, findID(idx, 4, -2)); assertEquals(5, findID(idx, 3, 3)); Helper.close((Closeable) g); }
public Graph createSampleGraph(EncodingManager encodingManager) { Graph graph = AbstractLocationIndexTester.this.createGHStorage(encodingManager);