<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi,<div class=""><br class=""></div><div class="">I’m working on an extension of the routing engine. My goal is to map a gpx track to a osm track and then extract all osm data of the resulting track. Right now I get only the distance, speed and points of an edge, but I would like also to know the osm tags such as surface, highway,… of each edge. Is there already something in place which can deliver this information or do I have to program it on my own? Can you maybe give me some hints.</div><div class=""><br class=""></div><div class="">example:</div><div class=""><br class=""></div><div class=""><pre style="background-color:#2b2b2b;color:#a9b7c6;font-family:'Menlo';font-size:12,0pt;" class="">GPXFile gpxFile = <span style="color:#cc7832;" class="">new </span>GPXFile().doImport(<span style="color:#6a8759;" class="">"./track-data/Garmin_150704_Seis_Konstantin.gpx"</span>)<span style="color:#cc7832;" class="">;<br class=""></span>List<GPXEntry> inputGPXEntries = gpxFile.getEntries()<span style="color:#cc7832;" class="">;<br class=""></span>MatchResult mr = mapMatching.doWork(inputGPXEntries)<span style="color:#cc7832;" class="">;<br class=""></span><span style="color:#cc7832;" class=""><br class=""></span><span style="color:#808080;" class="">// return GraphHopper edges with all associated GPX entries<br class=""></span>List<EdgeMatch> matches = mr.getEdgeMatches()<span style="color:#cc7832;" class="">;<br class=""></span><span style="color:#808080;" class="">// now do something with the edges like storing the edgeIds or doing fetchWayGeometry etc<br class=""></span><span style="color:#cc7832;" class="">for</span>(EdgeMatch match : matches) {<br class="">    <span style="color:#cc7832;" class="">long </span>flags = match.getEdgeState().getFlags()<span style="color:#cc7832;" class="">;<br class=""></span><span style="color:#cc7832;" class="">    </span>PointList <span style="background-color:#40332b;" class="">geometry</span> = match.getEdgeState().fetchWayGeometry(<span style="color:#6897bb;" class="">3</span>)<span style="color:#cc7832;" class="">;<br class=""></span><span style="color:#cc7832;" class="">    </span><span style="color:#808080;" class="">//System.out.println(geometry);<br class=""></span><span style="color:#808080;" class="">    </span>System.<span style="color:#9876aa;font-style:italic;" class="">out</span>.print(<span style="color:#6a8759;" class="">"Distance: " </span>+ match.getEdgeState().getDistance() + <span style="color:#6a8759;" class="">", Points per edge: " </span>+ <span style="background-color:#344134;" class="">geometry</span>.size() + <span style="color:#6a8759;" class="">", Speed: " </span>+ encoder.getSpeed(flags) + <span style="color:#6a8759;" class="">", Turn cost: " </span>+ encoder.getTurnCost(flags) + <span style="color:#6a8759;" class="">", Is forward: " </span>+ encoder.isForward(flags) + <span style="color:#6a8759;" class="">"</span><span style="color:#cc7832;" class="">\n</span><span style="color:#6a8759;" class="">"</span>)<span style="color:#cc7832;" class="">;<br class=""></span>}</pre><div class="">Thats all the infos I found so far about an edge. Is OSM data also stored somewhere?</div></div><div class=""><br class=""></div><div class="">All the best,</div><div class=""><br class=""></div><div class="">Martin</div></body></html>