Coder Social home page Coder Social logo

Comments (4)

karussell avatar karussell commented on May 16, 2024

Thanks! This is indeed wrong - I've updated it to your code.

And you seem to try to use the map matching with hopper.setCHEnabled(true) where you would need to call graph.getBaseGraph before passing to the constructors. Currently a graph with enabled CH is not 'officially' supported and therefor not recommended.

from map-matching.

karims avatar karims commented on May 16, 2024

I have the same problem and it is not resolved.

When I use:

GraphStorage graph = hopper.getGraph();
        //LocationIndexMatch locationIndex = new LocationIndexMatch(graph, new LocationIndexTree(hopper.getGraph(), new RAMDirectory()));
        LocationIndexMatch locationIndex = new LocationIndexMatch(graph, new RAMDirectory());
        locationIndex.prepareIndex();
        MapMatching mapMatching = new MapMatching(graph, locationIndex, encoder);

I get compilation error:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    The constructor LocationIndexMatch(GraphStorage, RAMDirectory) is undefined

When I tried with:

LocationIndexMatch locationIndex = new LocationIndexMatch(graph, new LocationIndexTree(hopper.getGraph(), new RAMDirectory()));

I get this error:

Exception in thread "main" java.lang.IllegalThreadStateException: already created
    at com.graphhopper.storage.RAMDataAccess.create(RAMDataAccess.java:86)
    at com.graphhopper.storage.RAMDataAccess.create(RAMDataAccess.java:33)
    at com.graphhopper.storage.index.LocationIndexTree.prepareIndex(LocationIndexTree.java:319)
....

This is my full code block copied form README.md

    private void start( String[] args )
    {
        GraphHopper hopper = new GraphHopper().                
//                disableCHShortcuts().
                setEncodingManager(new EncodingManager("CAR")).
                setGraphHopperLocation("graphhopper-out-folder2/").
                setOSMFile("/Users/karim/Documents/workspace-other/mapmatching/src/main/java/com/eta/resources/india-latest.osm");
        CarFlagEncoder encoder = new CarFlagEncoder();
        hopper.setCHEnable(false);
        hopper.importOrLoad();

     // create MapMatching object, can and should be shared accross threads
        GraphStorage graph = hopper.getGraph();
        LocationIndexMatch locationIndex = new LocationIndexMatch(graph, new LocationIndexTree(hopper.getGraph(), new RAMDirectory()));
        //LocationIndexMatch locationIndex = new LocationIndexMatch(graph, new RAMDirectory());
        locationIndex.prepareIndex();
        MapMatching mapMatching = new MapMatching(graph, locationIndex, encoder);

        // do the actual matching, get the GPX entries from a file or via stream
        List<GPXEntry> inputGPXEntries = getList();
        MatchResult mr = mapMatching.doWork(inputGPXEntries);

        // return GraphHopper edges with all associated GPX entries
        List<EdgeMatch> matches = mr.getEdgeMatches();
        // now do something with the edges like storing the edgeIds or doing fetchWayGeometry etc
        for (Iterator iterator = matches.iterator(); iterator.hasNext();) {
            EdgeMatch edgeMatch = (EdgeMatch) iterator.next();
            System.out.println(edgeMatch.getEdgeState());

        }
}

from map-matching.

karussell avatar karussell commented on May 16, 2024

The readme is updated to reflect this change. For future reference look also into the unit tests.

from map-matching.

karims avatar karims commented on May 16, 2024

Thanks a lot :)

from map-matching.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.