| Forum | GitHub | Maps | Blog

MapMatching 2 candidates error


Hi all,
I’m trying to set up a mapMatching java service by using Graphhopper, but i’m facing an issue in some of my input gpx data. I’m receiving a car travel in gpx format and I’m trying to match it with roads.

The error that sometimes comes up during mapMatching algorithm is like this (I’d like to attach the input gpx file, but as a new member I cannot upload files):

java.lang.IllegalArgumentException: Sequence is broken for submitted track at time step 1125 (5476 points). observation:44.83681862117197,10.356027969007814,23.073458981588942, 1550260288000, 2 candidates: [distance: 121.10727693488627 to 44.836573001069716,10.357524313573338,36.0, distance: 121.10727693488627 to 44.836573001069716,10.357524313573338,36.0]. If a match is expected consider increasing max_visited_nodes.

MapMatching step:

MapMatching mapMatching =new MapMatching(graphHopper, algorithmOptions);

MatchResult result=mapMatching.doWork(gpxEntries);

PathWrapper pathWrapper = ;new PathWrapper();
PathMerger().doWork(pathWrapper;Collections.singletonList(result.getMergedPath()),new TranslationMap().doImport().getWithFallBack(Locale.ENGLISH));
InstructionList instructions = pathWrapper.getInstructions();

return instructions.createGPX(trackId, gpxEntries.get(0).getTime(), true, false, true, false, Constants.VERSION);

And my configs are all set to default except for:
-TraversalMode.EDGE_BASED_2DIR_UTURN (also tried the others)
-graph.elevation.provider: gmted (also tried the others) edge_and_node
-graph.flag_encoders: car | turn_costs=true (also tried “car” alone) true

I’d like to understand what should be the best configuration set up to achieve my objective. Any ideas?