[OSRM-talk] Map-matching transit vehicles: giving preference to known routes?
Nate Wessel
nate.wessel at mail.utoronto.ca
Wed May 24 14:15:09 UTC 2017
Hi Daniel,
Thanks for the link to the documentation! I had indeed not seen that -
it was very helpful.
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?
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?
Thanks,
Nate Wessel
Jack of all trades, Master of Geography
SAUSy Lab <http://sausy.ca>, Sid Smith Hall
On 05/22/2017 08:28 AM, Daniel Hofmann wrote:
> Actually we base map matching on the distance of _the fastest path_ here:
>
> https://github.com/Project-OSRM/osrm-backend/blob/a63b43c259d49fc4915810eb4bfdd86bc78bce93/src/engine/routing_algorithms/map_matching.cpp#L220-L226
>
> I got confused a bit this morning because `getNetworkDistance` does
> this two levels of indirection approach.
>
> 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.
>
> Hope that helps
>
> On Mon, May 22, 2017 at 10:38 AM, Daniel Hofmann <hofmann at mapbox.com
> <mailto:hofmann at mapbox.com>> wrote:
>
> 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 :)
>
> https://github.com/Project-OSRM/osrm-backend/blob/master/docs/profiles.md
> <https://github.com/Project-OSRM/osrm-backend/blob/master/docs/profiles.md>
>
> What I can suggest is to
> - always provide timestamps otherwise defaults will be used internally
> - investigate the map matching's tidy option for blob removal
> (think: waiting at a traffic signal)
>
> Unfortunately map matching is distance based so modifying edge
> weights or speeds in the profiles won't help.
> And completely discarding ways won't help you either since you
> specifically want to capture detours.
>
> 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.
>
> 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.
> 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.
>
> Interested in what you find out.
>
> On Mon, May 22, 2017 at 2:02 AM, Nate Wessel
> <nate.wessel at mail.utoronto.ca
> <mailto:nate.wessel at mail.utoronto.ca>> wrote:
>
> Hi all,
>
> 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.
>
> 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.
>
> 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 here
> <https://github.com/Project-OSRM/osrm-backend/wiki/Profiles>?
>
> The profile I've been using is:
> https://github.com/SAUSy-Lab/retro-gtfs/blob/master/etc/ttc.lua
> <https://github.com/SAUSy-Lab/retro-gtfs/blob/master/etc/ttc.lua>
>
> Any help would be greatly appreciated!
>
> --
> Nate Wessel
> Jack of all trades, Master of Geography
> SAUSy Lab <http://sausy.ca>, Sid Smith Hall
>
> _______________________________________________
> OSRM-talk mailing list
> OSRM-talk at openstreetmap.org <mailto:OSRM-talk at openstreetmap.org>
> https://lists.openstreetmap.org/listinfo/osrm-talk
> <https://lists.openstreetmap.org/listinfo/osrm-talk>
>
>
>
>
>
> _______________________________________________
> OSRM-talk mailing list
> OSRM-talk at openstreetmap.org
> https://lists.openstreetmap.org/listinfo/osrm-talk
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/osrm-talk/attachments/20170524/f0594c5f/attachment.html>
More information about the OSRM-talk
mailing list