<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <p>Hi Daniel, <br>
    </p>
    <p>Thanks for the link to the documentation! I had indeed not seen
      that - it was very helpful. <br>
    </p>
    <p>I'm a little unclear though on what the difference between
      "weight" and speed and length. Is "weight" equivalent to the
      "cost" of traversing an edge, which would presumably be a function
      of speed and length? Or does a higher weight give preference to an
      edge over others? <br>
    </p>
    <p>And what happens if I have an edge with a high weight and a low
      speed or vice versa? i.e. how do weight and speed (and duration?)
      interact in the selection of a shortest path? Are these all names
      for the same thing?<br>
    </p>
    <p>Thanks,<br>
    </p>
    <div class="moz-signature">Nate Wessel <br>
      Jack of all trades, Master of Geography <br>
      <a href="http://sausy.ca">SAUSy Lab</a>, Sid Smith Hall</div>
    <div class="moz-cite-prefix"><br>
      On 05/22/2017 08:28 AM, Daniel Hofmann wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAG=qy8cXUjWG8tAi3OW3gmmnZ-__eeGY+ZQ-AOiXzHuAEvssAw@mail.gmail.com">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <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"
                moz-do-not-send="true">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"
              moz-do-not-send="true">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" moz-do-not-send="true">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" moz-do-not-send="true">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" moz-do-not-send="true">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" moz-do-not-send="true">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"
                                moz-do-not-send="true">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" moz-do-not-send="true">OSRM-talk@openstreetmap.org</a><br>
                  <a
                    href="https://lists.openstreetmap.org/listinfo/osrm-talk"
                    rel="noreferrer" target="_blank"
                    moz-do-not-send="true">https://lists.openstreetmap.or<wbr>g/listinfo/osrm-talk</a><br>
                  <br>
                </blockquote>
              </div>
              <br>
            </div>
          </blockquote>
        </div>
        <br>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
OSRM-talk mailing list
<a class="moz-txt-link-abbreviated" href="mailto:OSRM-talk@openstreetmap.org">OSRM-talk@openstreetmap.org</a>
<a class="moz-txt-link-freetext" href="https://lists.openstreetmap.org/listinfo/osrm-talk">https://lists.openstreetmap.org/listinfo/osrm-talk</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>