[OSRM-talk] How to force match service to return public transport routes only?

Michal Palenik michal.palenik at freemap.sk
Mon Apr 30 16:48:47 UTC 2018


hi, I have it working
https://github.com/FreemapSlovakia/freemap-routing/blob/master/oma-bus.lua
(and train profile below)

michal

On Mon, Apr 30, 2018 at 09:26:22AM -0700, Daniel Patterson wrote:
> Hi Patrick,
> 
>   Nobody has written a "How to make a public transport profile" document
> for OSRM, you'll have to piece it together from examples and reading code.
> 
>   That said, the "testbot" profile here:
> https://github.com/Project-OSRM/osrm-backend/blob/master/profiles/testbot.lua
> 
>   is fairly simple.  There are 3 functions: `process_node`, `process_way`,
> and `process_turn`.  The `process_way` function is run for every way in the
> OSM file you input, and it decides whether to include it in the routing
> graph (by setting properties on the `result` object), or to exclude it (by
> simply returning without doing any work).
> 
>   As someone else pointed out in another thread, the `car.lua` profile is
> pretty complex - it's developed over time, and has a lot of logic in it
> that makes it hard to understand.  I'd start with the testbot profile
> above, and add the stuff you think you need.
> 
>   You might also want to take a look at
> https://github.com/Project-OSRM/osrm-frontend/tree/gh-pages/debug which is
> a web viewer that can show you what the routing graph looks like.
> 
> daniel
> 
> On Mon, Apr 30, 2018 at 8:39 AM, Patrick Agin <agin.patrick at gmail.com>
> wrote:
> 
> > Thanks again Daniel. Could you just give me an example (with a snippet of
> > code maybe) of a good implementation of point 1 (Lua profile that only
> > includes public transport ways in the graph). I just don't have any clue
> > about implementing this and I'm not aware of any docs that could help me
> > with that.
> > Patrick
> >
> > 2018-04-30 11:30 GMT-04:00 Daniel Patterson <daniel at mapbox.com>:
> >
> >> Hi Patrick,
> >>
> >>   This could be tricky, depending on how long the traces you're trying to
> >> match are.
> >>
> >>   The OSRM Lua profiles basically act as a filter - they decide which
> >> ways from OSM are included in the routing graph, and assign properties to
> >> edges in the graph.
> >>
> >>   The map-matching algorithm will try to snap your coordinate list to the
> >> most likely path across the routing graph.
> >>
> >>   In order to only snap to public transport paths, you'll need:
> >>
> >>     1) A Lua profile that only includes public transport ways in the
> >> graph.
> >>     2) A way to ensure that all the public transport paths are connected
> >> together (this could be difficult without including lots of extra stuff you
> >> don't want in the graph)
> >>     3) GPS traces that are somewhat close to the actual paths themselves,
> >> as mapped in OSM
> >>
> >>   (2) could be the really tricky bit here.  If the public transport paths
> >> are not connected, then any GPS trace you have that spans two public
> >> transport routes (say, a bus change, or a train change) but those routes
> >> aren't actually connected by the graph, will cause problems with the
> >> map-matching algorithm.
> >>
> >> daniel
> >>
> >> On Mon, Apr 30, 2018 at 7:23 AM, Patrick Agin <agin.patrick at gmail.com>
> >> wrote:
> >>
> >>> Hi everyone,
> >>> I'm trying to define a profile to force match service to take public
> >>> transport routes only. I tried to add residential in excludable so I can
> >>> add exclude=residential at query time but it does not change anything to
> >>> the returned answer. Can someone help or point me towards documentation
> >>> that could help (I've read profile.md but it does not help me much).
> >>> Thanks a lot,
> >>> Patrick (newbie with osrm)
> >>>
> >>> _______________________________________________
> >>> OSRM-talk mailing list
> >>> OSRM-talk at openstreetmap.org
> >>> https://lists.openstreetmap.org/listinfo/osrm-talk
> >>>
> >>>
> >>
> >> _______________________________________________
> >> OSRM-talk mailing list
> >> OSRM-talk at openstreetmap.org
> >> https://lists.openstreetmap.org/listinfo/osrm-talk
> >>
> >>
> >
> > _______________________________________________
> > OSRM-talk mailing list
> > OSRM-talk at openstreetmap.org
> > https://lists.openstreetmap.org/listinfo/osrm-talk
> >
> >

> _______________________________________________
> OSRM-talk mailing list
> OSRM-talk at openstreetmap.org
> https://lists.openstreetmap.org/listinfo/osrm-talk


-- 
michal palenik
www.freemap.sk
www.oma.sk



More information about the OSRM-talk mailing list