thanks - I was still at the LUA  stage (and quite a bit can be worked out from 
just this level).

The explanation below explains 0 and 1, but I couldn't see any explanation of 
the other values - despite some c++ code that set default TravelMode values of 
4 in a couple of places. No documentation in TravelMode.hpp????

The lack of documentation is an issue, and I was planning to write a few notes 
about the LUA profiles for others on my blog. They're bound to be incomplete, 
but they would be a start and could be updated/corrected as a living document.

Richard

On Nov 11, 2015, at 6:50 PM, Daniel Hofmann <hofm...@mapbox.com> wrote:

> Let me show you how you can find out more about specific variables like 
> mode_ferry:
> 
> your best bet is to search the code base, for example, see this initial 
> search for mode_ferry:
> 
> https://github.com/Project-OSRM/osrm-backend/search?utf8=%E2%9C%93&q=mode_ferry&type=Code
> 
> you can see how we set result.forward_mode and result.backward_mode to 
> mode_ferry there, so let's search for forward_mode:
> 
> https://github.com/Project-OSRM/osrm-backend/search?utf8=%E2%9C%93&q=forward_mode&type=Code
> 
> this gives us some lua profiles, which we ignore, since we want to see how 
> the OSRM implementation uses forward_mode and backward_mode; the last search 
> hit is scripting_environment.cpp:
> 
> https://github.com/Project-OSRM/osrm-backend/blob/8f6fc0146ba76d34d20c5b7a87b75249bbb12b82/extractor/scripting_environment.cpp#L121-L124
> 
> this is where we expose the ExtractionWay's set_forward_mode and 
> set_backward_mode member functions, aliasing them to the lua properties 
> forward_mode and backward_mode --- so let's go on searching for the 
> ExtractionWay type:
> 
> https://github.com/Project-OSRM/osrm-backend/blob/8f6fc0146ba76d34d20c5b7a87b75249bbb12b82/extractor/extraction_way.hpp#L112-L115
> 
> in those member functions, the forward_travel_mode and backward_travel_mode 
> are set accordingly. If you check their types a few lines below in the member 
> attribute declarations, you will see they are of type TravelMode. And here it 
> is:
> 
> https://github.com/Project-OSRM/osrm-backend/blob/8f6fc0146ba76d34d20c5b7a87b75249bbb12b82/data_structures/travel_mode.hpp#L34-L35
> 
> a quick search for TRAVEL_MODE_INACCESSIBLE reveals the following line in the 
> extractor:
> 
> https://github.com/Project-OSRM/osrm-backend/blob/9ef1f8cba31ec8323b357d233f1c552b1c7c9e09/extractor/extractor_callbacks.cpp#L95-L99
> 
> where ways are discarded, if they are inaccessible! Tada!
> 
> 
> As you can see, even though it is quite a bit of effort tracing back specific 
> variables, it can be done in a few minutes with only the most basic tools (I 
> did this entirely using the Github search functionality --- of course you can 
> use grep or your code browser of choice, too).
> 
> Hope that helps,
> Daniel J H
> 
> On Wed, Nov 11, 2015 at 7:06 PM, Richard Marsden <winw...@gmail.com> wrote:
> By coincidence I was working through the lua scripts trying to understand 
> them.
> 
> So what is the significance of the 1,2,3?  Just unique identifiers. As long 
> as they're non-zero, they will be enabled?
> 
> Richard
> 
> 
> On Nov 11, 2015, at 9:23 AM, Daniel Hofmann <hofm...@mapbox.com> wrote:
> 
>> If you take a look at the car profile, you will see a ferry_mode variable, 
>> that sets the travel mode:
>> 
>> https://github.com/Project-OSRM/osrm-backend/blob/8f6fc0146ba76d34d20c5b7a87b75249bbb12b82/profiles/car.lua#L151
>> 
>> If you set this to 0 (i.e. 'inaccessible") as defined here:
>> 
>> https://github.com/Project-OSRM/osrm-backend/blob/8f6fc0146ba76d34d20c5b7a87b75249bbb12b82/data_structures/travel_mode.hpp#L34-L35
>> 
>> then the extractor discards ferry routes because you marked them 
>> inaccessible.
>> 
>> On Wed, Nov 11, 2015 at 9:03 AM, Peter Becker <floyd....@gmail.com> wrote:
>> Hello, i dont want any ferries in my routes. Is this possible?
>> 
>> _______________________________________________
>> 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
> 
> _______________________________________________
> 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
_______________________________________________
OSRM-talk mailing list
OSRM-talk@openstreetmap.org
https://lists.openstreetmap.org/listinfo/osrm-talk

Reply via email to