RTree is not adding the geometric line in the entries

34 Views Asked by At

I am using davidmoten RTree to index the edges from the graph. however, rtree is not adding the edges in the entry. RTreeIndexer.class

public static RTree<Integer, Line> createRTree(CoreGraph graph) {
        RTree<Integer, Line> rtree = RTree.create();

        Map<Integer, Map<Integer, Double>> adjMap = graph.getAdjancencyMap();

        for (Entry<Integer, Map<Integer, Double>> entry : adjMap.entrySet()) {
            int startNodeId = entry.getKey();
            double startLong = graph.getNodeFromMap(startNodeId).getLongitude();
            double startLatit = graph.getNodeFromMap(startNodeId).getLatitude();
            Map<Integer, Double> adjList = entry.getValue();

            for (Entry<Integer, Double> adjacentNodes : adjList.entrySet()) {
                int endNodeId = adjacentNodes.getKey();
                double endLong = graph.getNodeFromMap(endNodeId).getLongitude();
                double endLatit = graph.getNodeFromMap(endNodeId).getLatitude();
                Line line = Geometries.line(startLong, startLatit, endLong, endLatit);
                int edgeId = graph.getEdgeId(startNodeId, endNodeId);
                if (rtree.isEmpty()) {
                    rtree.add(edgeId, line);
                }

            }
        }
        return rtree;

    }
0

There are 0 best solutions below