[OSRM-talk] Add costs on route sections.
Stephen Woodbridge
woodbri at swoodbridge.com
Fri Sep 30 01:25:04 UTC 2016
Hi Pedro,
The way OSRM works is that you have to prepare the data before
generating the route. You can probably modify the prepare process by
writing additions to the LUA scripts it calls. But for large coverage
areas the prepare step takes a lot of time.
You also mentioned that this is a web based application, so typically
all web clients have to use the same routing instance which may be ok if
you application does not expect each web user to be able to have their
own privately modified graph for routing. For example if the route
modification is a server process and all web client use the same
modified graph then you would be ok.
But is each web client can modify the the graph based on their input and
then expects to solve the graph for a route based on their local
modifications, you probably don't want to use OSRM, something like
pgRouting might be more appropriate.
Others on the list can probably offer more detailed suggestions on where
to look for examples of code to change the graph prepare process. I
believe some work has been done to support traffic feeds and this sounds
like it is very similar to that.
-Steve
On 9/29/2016 8:19 PM, Pedro Luiz Cumino wrote:
> Hello all,
>
>
> I'm a new user of the ORSM engine. I can run the basic setup and the server.
>
>
> I'm working in build a route engine for web purpose in order to avoid
> certain areas.
>
>
> I'm wondering if it's possible to add costs to a certain group of route
> sections. This costs must be considered during the route
> calculation. The idea is better explained below:
>
>
> I have the report coming from an external service, which comes as a JSON
> object. It informs me the location where a sensor is present and must be
> considered when calculating the route, like a cost to the lane stretch
> pointed by the latitude and longitude from the sensors JSON object. The
> sensors classify the region as *high*, *medium* or *low* level of
> pollution. I need to set this cost to the lane stretch and then compare
> if it's worthwhile to select the lane stretch where the issue is present
> or if select another route is a better decision.
>
>
>
> How open is the route solver service in order to implement this kind of
> cost over a route? The idea at the end is to select the lower cost route
> by comparing the issue level, the time travelling and the travelled
> distance using my own algorithm.
>
>
>
> The Figures 1 and 2 illustrate what I'm looking for. Figure 1 shows the
> route A as the best one to be chosen, even with an issue place on it
> (the issue with the lowest level). The route B is the worst since it has
> the highest issue level/cost. The route D is possible to reach the end,
> but the cost would be too high to be chosen, what makes it the worst
> route. Figure 2 shows the route B as the best route to be chosen because
> the cost of the issue on B is lower than the cost that the total
> distance of D represents.
>
>
>
> Figure 1
> <https://geonet.esri.com/servlet/JiveServlet/showImage/2-630854-217931/route-solution.gif>
>
>
>
> Figure 2
> <https://geonet.esri.com/servlet/JiveServlet/showImage/2-630854-217935/route-solution-withBarriers.gif>
>
>
>
>
>
>
>
> In summary, I need a way to insert a cost to certain routes (using the
> information from coming from another service) and then calculate the
> route considering such costs. At the end, the algorithm to be
> implemented will consider both issues and route distances.
>
>
> Which files should I modify in order to accomplish it? Where can I find
> the routing algorithm used by the engine?
>
>
>
> Thanks in advance!
>
>
> --
> Atenciosamente,
> Kind regards,
>
> Pedro Luiz Cumino.
>
>
> _______________________________________________
> OSRM-talk mailing list
> OSRM-talk at openstreetmap.org
> https://lists.openstreetmap.org/listinfo/osrm-talk
>
---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus
More information about the OSRM-talk
mailing list