<div dir="ltr"><div><div><div>Actually we base map matching on the distance of _the fastest path_ here:<br><br><a href="https://github.com/Project-OSRM/osrm-backend/blob/a63b43c259d49fc4915810eb4bfdd86bc78bce93/src/engine/routing_algorithms/map_matching.cpp#L220-L226">https://github.com/Project-OSRM/osrm-backend/blob/a63b43c259d49fc4915810eb4bfdd86bc78bce93/src/engine/routing_algorithms/map_matching.cpp#L220-L226</a><br><br></div>I got confused a bit this morning because `getNetworkDistance` does this two levels of indirection approach.<br><br></div>So if you set edge weights in the profiles accordingly (based on if a way is a transit-relevant way or not) orsm will find the fastest route and then does map matching on it based on its distance.<br><br></div>Hope that helps<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, May 22, 2017 at 10:38 AM, Daniel Hofmann <span dir="ltr"><<a href="mailto:hofmann@mapbox.com" target="_blank">hofmann@mapbox.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Did you see the profile docs here? Granted they could be more detailed but should get you started. If you have anything to add we're always happy for pull requests :)<br><div><div><br><a href="https://github.com/Project-OSRM/osrm-backend/blob/master/docs/profiles.md" target="_blank">https://github.com/Project-<wbr>OSRM/osrm-backend/blob/master/<wbr>docs/profiles.md</a><br><br></div><div>What I can suggest is to<br></div><div>- always provide timestamps otherwise defaults will be used internally<br></div><div>- investigate the map matching's tidy option for blob removal (think: waiting at a traffic signal)<br><br></div><div>Unfortunately map matching is distance based so modifying edge weights or speeds in the profiles won't help.<br></div><div>And completely discarding ways won't help you either since you specifically want to capture detours.<br></div><div><br>Maybe have a look at Figure 7 in the map matching paper "Hidden Markov Map Matching Through Noise and Sparseness. And then just give it a try with your data and see how it goes.<br><br></div><div>There are probably other ways to do your analysis, e.g. map match your traces on a regular profile and then compare the results against a osrm route query on a transit-ish profile.<br>For this transit-ish profile you could set low weights (note: modify weights, keep speeds for correct ETAs) except for actual transit routes. I don't know if the transit data is good enough for this, though.<br></div><div><br>Interested in what you find out.<br> </div></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Mon, May 22, 2017 at 2:02 AM, Nate Wessel <span dir="ltr"><<a href="mailto:nate.wessel@mail.utoronto.ca" target="_blank">nate.wessel@mail.utoronto.ca</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
  

    
  
  <div bgcolor="#FFFFFF" text="#000000">
    <p>Hi all,</p>
    <p>I have recently been using OSRM to do map-matching for transit
      vehicles, with locations from historical GPS data. The
      documentation on creating profiles is pretty minimal from what I
      can tell, so I've just been able to make a few modifications to
      the car.lua profile to allow vehicles to go on streetcar tracks,
      agency service roads, etc. <br>
    </p>
    <p>The data I've been playing with so far has a ~20second sampling
      frequency, which has worked well, but I'm about to start working
      with data that has a lower sampling rate (30-60secs) and I'm
      worried that I'll get a lot of spurious matches. I was wondering
      if it is possible to modify the profile such that a strong
      preference is given to known transit routes (which are tagged with
      route relations in OSM). Transit almost always follows a known
      route, but sometimes it detours, and it's important to my research
      to be able to capture that in matched GPS data. <br>
    </p>
    <p>What might be a good way to add this to a routing profile? Does
      everything in the profile come down to speed, access, and
      node-related penalties? Would I want to artificially inflate the
      "speed" of transit-served streets? Is there more thorough
      documentation on profiles somewhere than what is provided <a href="https://github.com/Project-OSRM/osrm-backend/wiki/Profiles" target="_blank">here</a>?<br>
    </p>
    <p>The profile I've been using is:<br>
      <a class="m_5028221649654519926m_-7056068112129337223moz-txt-link-freetext" href="https://github.com/SAUSy-Lab/retro-gtfs/blob/master/etc/ttc.lua" target="_blank">https://github.com/SAUSy-Lab/r<wbr>etro-gtfs/blob/master/etc/ttc.<wbr>lua</a></p>
    <p>Any help would be greatly appreciated!<span class="m_5028221649654519926HOEnZb"><font color="#888888"><br>
    </font></span></p><span class="m_5028221649654519926HOEnZb"><font color="#888888">
    <div class="m_5028221649654519926m_-7056068112129337223moz-signature">-- <br>
      Nate Wessel <br>
      Jack of all trades, Master of Geography <br>
      <a href="http://sausy.ca" target="_blank">SAUSy Lab</a>, Sid Smith Hall</div>
  </font></span></div>

<br></div></div>______________________________<wbr>_________________<br>
OSRM-talk mailing list<br>
<a href="mailto:OSRM-talk@openstreetmap.org" target="_blank">OSRM-talk@openstreetmap.org</a><br>
<a href="https://lists.openstreetmap.org/listinfo/osrm-talk" rel="noreferrer" target="_blank">https://lists.openstreetmap.or<wbr>g/listinfo/osrm-talk</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div>