@Override public String getName() { return edges.get(current).getName(); }
static List<String> getAltNames(Graph graph, SPTEntry ee) { if (ee == null || !EdgeIterator.Edge.isValid(ee.edge)) return Collections.emptyList(); EdgeIteratorState iter = graph.getEdgeIteratorState(ee.edge, Integer.MIN_VALUE); if (iter == null) return Collections.emptyList(); String str = iter.getName(); if (str.isEmpty()) return Collections.emptyList(); return Collections.singletonList(str); }
@Override public final boolean accept(EdgeIteratorState iter) { if (!edgeFilter.accept(iter)) { return false; } if (pointHint.isEmpty()) { return true; } String name = iter.getName(); if (name == null || name.isEmpty()) { return false; } name = removeRelation(name); String edgeName = prepareName(name); return isJaroWinklerSimilar(pointHint, edgeName); }
tripDescriptor.getTripId(), tripDescriptor.getRouteId(), edges(partition).map(edgeLabel -> edgeLabel.edgeIteratorState).collect(Collectors.toList()).get(0).getName(), stops, partition.stream().mapToDouble(t -> t.edge.distance).sum(),
private void createEdges(int origTraversalKey, int origRevTraversalKey, GHPoint3D prevSnapped, int prevWayIndex, GHPoint3D currSnapped, int wayIndex, PointList fullPL, EdgeIteratorState closestEdge, int prevNodeId, int nodeId, long reverseFlags) { int max = wayIndex + 1; // basePoints must have at least the size of 2 to make sure fetchWayGeometry(3) returns at least 2 PointList basePoints = new PointList(max - prevWayIndex + 1, mainNodeAccess.is3D()); basePoints.add(prevSnapped.lat, prevSnapped.lon, prevSnapped.ele); for (int i = prevWayIndex; i < max; i++) { basePoints.add(fullPL, i); } basePoints.add(currSnapped.lat, currSnapped.lon, currSnapped.ele); PointList baseReversePoints = basePoints.clone(true); double baseDistance = basePoints.calcDistance(Helper.DIST_PLANE); int virtEdgeId = mainEdges + virtualEdges.size(); // edges between base and snapped point VirtualEdgeIteratorState baseEdge = new VirtualEdgeIteratorState(origTraversalKey, virtEdgeId, prevNodeId, nodeId, baseDistance, closestEdge.getFlags(), closestEdge.getName(), basePoints); VirtualEdgeIteratorState baseReverseEdge = new VirtualEdgeIteratorState(origRevTraversalKey, virtEdgeId, nodeId, prevNodeId, baseDistance, reverseFlags, closestEdge.getName(), baseReversePoints); baseEdge.setReverseEdge(baseReverseEdge); baseReverseEdge.setReverseEdge(baseEdge); virtualEdges.add(baseEdge); virtualEdges.add(baseReverseEdge); }
/** * If the name and prevName changes this method checks if either the current street is continued on a * different edge or if the edge we are turning onto is continued on a different edge. * If either of these properties is true, we can be quite certain that a turn instruction should be provided. */ public boolean isLeavingCurrentStreet(String prevName, String name) { if (InstructionsHelper.isNameSimilar(name, prevName)) { return false; } // If flags are changing, there might be a chance we find these flags on a different edge boolean checkFlag = currentEdge.getFlags() != prevEdge.getFlags(); for (EdgeIteratorState edge : allowedOutgoingEdges) { String edgeName = edge.getName(); long edgeFlag = edge.getFlags(); // leave the current street || enter a different street if (isTheSameStreet(prevName, prevEdge.getFlags(), edgeName, edgeFlag, checkFlag) || isTheSameStreet(name, currentEdge.getFlags(), edgeName, edgeFlag, checkFlag)) { return true; } } return false; }
@Test public void testNameIndex() { graph = createGHStorage(); EdgeIteratorState iter1 = graph.edge(0, 1, 10, true); iter1.setName("named street1"); EdgeIteratorState iter2 = graph.edge(0, 1, 10, true); iter2.setName("named street2"); assertEquals("named street1", graph.getEdgeIteratorState(iter1.getEdge(), iter1.getAdjNode()).getName()); assertEquals("named street2", graph.getEdgeIteratorState(iter2.getEdge(), iter2.getAdjNode()).getName()); }
|| InstructionsHelper.isNameSimilar(otherContinue.getName(), prevName) || prevFlag != flag || prevFlag == otherContinue.getFlags()
@Test public void testCopyProperties() { graph = createGHStorage(); EdgeIteratorState edge = graph.edge(1, 3, 10, false).setName("testing").setWayGeometry(Helper.createPointList(1, 2)); EdgeIteratorState newEdge = graph.edge(1, 3, 10, false); edge.copyPropertiesTo(newEdge); assertEquals(edge.getName(), newEdge.getName()); assertEquals(edge.getDistance(), newEdge.getDistance(), 1e-7); assertEquals(edge.getFlags(), newEdge.getFlags()); assertEquals(edge.fetchWayGeometry(0), newEdge.fetchWayGeometry(0)); }
String name = edge.getName(); InstructionAnnotation annotation = encoder.getAnnotation(flags, tr);
@Test public void testSave_and_fileFormat() throws IOException { graph = newGHStorage(new RAMDirectory(defaultGraphLoc, true), true).create(defaultSize); NodeAccess na = graph.getNodeAccess(); assertTrue(na.is3D()); na.setNode(0, 10, 10, 0); na.setNode(1, 11, 20, 1); na.setNode(2, 12, 12, 0.4); EdgeIteratorState iter2 = graph.edge(0, 1, 100, true); iter2.setWayGeometry(Helper.createPointList3D(1.5, 1, 0, 2, 3, 0)); EdgeIteratorState iter1 = graph.edge(0, 2, 200, true); iter1.setWayGeometry(Helper.createPointList3D(3.5, 4.5, 0, 5, 6, 0)); graph.edge(9, 10, 200, true); graph.edge(9, 11, 200, true); graph.edge(1, 2, 120, false); iter1.setName("named street1"); iter2.setName("named street2"); checkGraph(graph); graph.flush(); graph.close(); graph = newGHStorage(new MMapDirectory(defaultGraphLoc), true); assertTrue(graph.loadExisting()); assertEquals(12, graph.getNodes()); checkGraph(graph); assertEquals("named street1", graph.getEdgeIteratorState(iter1.getEdge(), iter1.getAdjNode()).getName()); assertEquals("named street2", graph.getEdgeIteratorState(iter2.getEdge(), iter2.getAdjNode()).getName()); graph.edge(3, 4, 123, true).setWayGeometry(Helper.createPointList3D(4.4, 5.5, 0, 6.6, 7.7, 0)); checkGraph(graph); }
@Override public String getName() { return edges.get(current).getName(); }
@Override public String getName() { return edges.get(current).getName(); }
@Override public String getName() { return edges.get(current).getName(); }
static List<String> getAltNames( Graph graph, SPTEntry ee ) { if (ee == null || !EdgeIterator.Edge.isValid(ee.edge)) return Collections.emptyList(); EdgeIteratorState iter = graph.getEdgeIteratorState(ee.edge, Integer.MIN_VALUE); if (iter == null) return Collections.emptyList(); String str = iter.getName(); if (str.isEmpty()) return Collections.emptyList(); return Collections.singletonList(str); }
static List<String> getAltNames(Graph graph, SPTEntry ee) { if (ee == null || !EdgeIterator.Edge.isValid(ee.edge)) return Collections.emptyList(); EdgeIteratorState iter = graph.getEdgeIteratorState(ee.edge, Integer.MIN_VALUE); if (iter == null) return Collections.emptyList(); String str = iter.getName(); if (str.isEmpty()) return Collections.emptyList(); return Collections.singletonList(str); }
static List<String> getAltNames(Graph graph, SPTEntry ee) { if (ee == null || !EdgeIterator.Edge.isValid(ee.edge)) return Collections.emptyList(); EdgeIteratorState iter = graph.getEdgeIteratorState(ee.edge, Integer.MIN_VALUE); if (iter == null) return Collections.emptyList(); String str = iter.getName(); if (str.isEmpty()) return Collections.emptyList(); return Collections.singletonList(str); }