Re: [OSRM-talk] OSRM-talk Digest, Vol 82, Issue 4
How could I take part in the talk? > 在 2019年12月23日,下午8:01,osrm-talk-requ...@openstreetmap.org 写道: > > Send OSRM-talk mailing list submissions to > osrm-talk@openstreetmap.org > > To subscribe or unsubscribe via the World Wide Web, visit > https://lists.openstreetmap.org/listinfo/osrm-talk > or, via email, send a message with subject or body 'help' to > osrm-talk-requ...@openstreetmap.org > > You can reach the person managing the list at > osrm-talk-ow...@openstreetmap.org > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of OSRM-talk digest..." > > > Today's Topics: > > 1. Bicycle routing, crossing large roads: how to get information > on the roads crossed (Jeroen Hoek) > > > -- > > Message: 1 > Date: Sun, 22 Dec 2019 19:01:59 +0100 > From: Jeroen Hoek > To: osrm-talk@openstreetmap.org > Subject: [OSRM-talk] Bicycle routing, crossing large roads: how to get > information on the roads crossed > Message-ID: <0f2fa4b0-8d2c-19fe-58e3-a3017fd62...@jeroenhoek.nl> > Content-Type: text/plain; charset=utf-8 > > Hello, > > I am looking into a bicycle routing problem and need some help on how to > access certain information from within the bicycle profile. > > The routing problem may be summarized as follows. Two routes are > available; one of these crosses a large road (say, highway=primary), > with an uncontrolled and unmarked crossing; the other is slightly > longer, and crosses no roads at all, instead passing under the same road > via a tunnel. > > The second route should be preferred if the detour is fairly brief. That > is, in routing terms the level crossing should be penalized in certain > cases, such as crossing higher priority roads (i.e., secondary and > upwards), and additionally, penalized for having unmarked or > uncontrolled crossings. The number of lanes may further penalize this route. > > This would let the bicycle profile prefer safer routes if reasonable in > terms of delay incurred. It could apply to the foot profile as well. > > Example with the undesirable, but legal crossing: > > https://www.openstreetmap.org/directions?engine=fossgis_osrm_bike&route=53.20425%2C5.77589%3B53.20565%2C5.77266#map=19/53.20525/5.77427&layers=N > > The preferred route would start like this: > > https://www.openstreetmap.org/directions?engine=fossgis_osrm_bike&route=53.20425%2C5.77589%3B53.20528%2C5.77433#map=19/53.20506/5.77455&layers=N > > Looking at the API provided I can see that I can get at the crossing-tag > (if any) in process_node, but it looks like the information I need to > conclude that a route crosses a large road is not available. The > process_turn method has it, but that method seems to be only called when > the a node marks a point where permissible routes branch. > > However, in my sample case there is no branching for the bicycle route: > the highway=primary being crossed does not allow bicycles, so at the > crossings with this road there are no alternative paths, and thus > process_turn is not called at that node. > > Is there another way to find out what type of road(s) I am crossing? > > Kind regards, > > Jeroen Hoek > (GitHub: jdhoek, OpenStreetMap: JeroenHoek) > > > > -- > > Subject: Digest Footer > > ___ > OSRM-talk mailing list > OSRM-talk@openstreetmap.org > https://lists.openstreetmap.org/listinfo/osrm-talk > > > -- > > End of OSRM-talk Digest, Vol 82, Issue 4 > ___ OSRM-talk mailing list OSRM-talk@openstreetmap.org https://lists.openstreetmap.org/listinfo/osrm-talk
Re: [OSRM-talk] Bicycle routing, crossing large roads: how to get information on the roads crossed
Jeroen Hook wrote: > Is there another way to find out what type of road(s) I am crossing? I think the easiest solution would be to allow bicycles on your highway=primary, but set it to be a restricted access road (or just to have a really high cost). That way you’d still call process_turn, but in reality the primary road wouldn't be used for routing. My private cycle.travel fork does something like this in its equivalent of process_turn (e.g. https://cycle.travel/map?from=51.7546,-1.2612&to=51.7554,-1.2616), though it’s a (pretty extensive) fork of 4.9.x so not directly comparable. Alternatively, you could do some preprocessing to mark intersections, depending on the size of your source data. For a different project I wrote https://github.com/systemed/intersector which identifies junctions in an .osm.pbf. If you were to patch it to output node IDs, then look up those node IDs in process_node, you could assign crossing penalties that way. Richard ___ OSRM-talk mailing list OSRM-talk@openstreetmap.org https://lists.openstreetmap.org/listinfo/osrm-talk
Re: [OSRM-talk] Bicycle routing, crossing large roads: how to get information on the roads crossed
Unfortunately, I don't have a good solution to offer, but I wanted to add my two cents. I did a ton of research on this exact problem a couple of years ago and virtually none of the open source routing platforms I came across were properly equipped to handle it. It seems to be an issue that only bicycle-oriented folks think about. The solution for my problem was to implement in pgRouting where I can do additional processing to assign costs as you've described. It's not the way I'd prefer to do it but until bicycle routing becomes more sophisticated on other routing platforms that's what I've settled on. I don't have the technical expertise to contribute code to OSRM but I'd be more than happy to share my experience with bicycle network planning with anyone looking to improve OSRM's handling of bicycles on this and other questions. Spencer On Mon, Dec 23, 2019 at 6:35 AM Richard Fairhurst wrote: > Jeroen Hook wrote: > > Is there another way to find out what type of road(s) I am crossing? > > > I think the easiest solution would be to allow bicycles on your > highway=primary, but set it to be a restricted access road (or just to have > a really high cost). That way you’d still call process_turn, but in reality > the primary road wouldn't be used for routing. > > My private cycle.travel fork does something like this in its equivalent > of process_turn (e.g. > https://cycle.travel/map?from=51.7546,-1.2612&to=51.7554,-1.2616), though > it’s a (pretty extensive) fork of 4.9.x so not directly comparable. > > Alternatively, you could do some preprocessing to mark intersections, > depending on the size of your source data. For a different project I wrote > https://github.com/systemed/intersector which identifies junctions in an > .osm.pbf. If you were to patch it to output node IDs, then look up those > node IDs in process_node, you could assign crossing penalties that way. > > Richard > ___ > OSRM-talk mailing list > OSRM-talk@openstreetmap.org > https://lists.openstreetmap.org/listinfo/osrm-talk > ___ OSRM-talk mailing list OSRM-talk@openstreetmap.org https://lists.openstreetmap.org/listinfo/osrm-talk
Re: [OSRM-talk] Bicycle routing, crossing large roads: how to get information on the roads crossed
I've tried it as well. no success... similar case is for pedestrian (crossing a major, unroatable road; or a railway; or a river with no bridge) wheelchair users, strollers or nordic skiing users crossing a car road a next step would be to have a custom penalty on a node, toll booth, stop sign, kerb (or any semi accessible barrier, stile),.. https://github.com/Project-OSRM/osrm-backend/issues/3862 michal On Mon, Dec 23, 2019 at 07:42:44AM -0800, Spencer Gardner wrote: > Unfortunately, I don't have a good solution to offer, but I wanted to add > my two cents. I did a ton of research on this exact problem a couple of > years ago and virtually none of the open source routing platforms I came > across were properly equipped to handle it. It seems to be an issue that > only bicycle-oriented folks think about. The solution for my problem was to > implement in pgRouting where I can do additional processing to assign costs > as you've described. It's not the way I'd prefer to do it but until bicycle > routing becomes more sophisticated on other routing platforms that's what > I've settled on. > > I don't have the technical expertise to contribute code to OSRM but I'd be > more than happy to share my experience with bicycle network planning with > anyone looking to improve OSRM's handling of bicycles on this and other > questions. > > Spencer > > On Mon, Dec 23, 2019 at 6:35 AM Richard Fairhurst > wrote: > > > Jeroen Hook wrote: > > > > Is there another way to find out what type of road(s) I am crossing? > > > > > > I think the easiest solution would be to allow bicycles on your > > highway=primary, but set it to be a restricted access road (or just to have > > a really high cost). That way you’d still call process_turn, but in reality > > the primary road wouldn't be used for routing. > > > > My private cycle.travel fork does something like this in its equivalent > > of process_turn (e.g. > > https://cycle.travel/map?from=51.7546,-1.2612&to=51.7554,-1.2616), though > > it’s a (pretty extensive) fork of 4.9.x so not directly comparable. > > > > Alternatively, you could do some preprocessing to mark intersections, > > depending on the size of your source data. For a different project I wrote > > https://github.com/systemed/intersector which identifies junctions in an > > .osm.pbf. If you were to patch it to output node IDs, then look up those > > node IDs in process_node, you could assign crossing penalties that way. > > > > Richard > > ___ > > OSRM-talk mailing list > > OSRM-talk@openstreetmap.org > > https://lists.openstreetmap.org/listinfo/osrm-talk > > > ___ > OSRM-talk mailing list > OSRM-talk@openstreetmap.org > https://lists.openstreetmap.org/listinfo/osrm-talk -- michal palenik www.freemap.sk www.oma.sk ___ OSRM-talk mailing list OSRM-talk@openstreetmap.org https://lists.openstreetmap.org/listinfo/osrm-talk