<div dir="ltr">There is already a way to integrate arbitrary raster data (e.g. SRTM elevation data). Take a look at:<br><div><br><a href="https://github.com/Project-OSRM/osrm-backend/wiki/Integrating-third-party-raster-data">https://github.com/Project-OSRM/osrm-backend/wiki/Integrating-third-party-raster-data</a><br><br></div><div>The Lua way_function gets a "way" as argument; this is a osmium::Way registered with the Lua environment here:<br></div><div><br><a href="https://github.com/Project-OSRM/osrm-backend/blob/a6aa0a4cb0d104569a84fb018a15af32671c6361/src/extractor/scripting_environment.cpp#L106-L109">https://github.com/Project-OSRM/osrm-backend/blob/a6aa0a4cb0d104569a84fb018a15af32671c6361/src/extractor/scripting_environment.cpp#L106-L109</a></div><div><br>and here's the osmium::Way documentation:<br><br><a href="http://docs.osmcode.org/libosmium/latest/classosmium_1_1Way.html">http://docs.osmcode.org/libosmium/latest/classosmium_1_1Way.html</a><br><br></div><div>You could register its .nodes() function and the osmium::WayNodeList type it returns for iterating over all osmium::NodeRefs in a osmium::WayNodeList:<br><br><a href="http://docs.osmcode.org/libosmium/latest/classosmium_1_1NodeRef.html">http://docs.osmcode.org/libosmium/latest/classosmium_1_1NodeRef.html</a><br><br></div><div>You then have access to locations in the Lua environment.<br><br></div><div>Cheers,<br></div><div>Daniel J H<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Mar 17, 2016 at 3:57 PM, Christian Helbling <span dir="ltr"><<a href="mailto:helbling@search.ch" target="_blank">helbling@search.ch</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Daniel, Hi List<br>
<span class=""><br>
On 08.03.2016 19:15, Daniel Patterson wrote:<br>
> Hi Christian,<br>
><br>
>   One the oldest tickets:<br>
><br>
>     <a href="https://github.com/Project-OSRM/osrm-backend/issues/77" rel="noreferrer" target="_blank">https://github.com/Project-OSRM/osrm-backend/issues/77</a><br>
><br>
>   is all about this.  Your observation is correct, there is currently no separation<br>
>   between durations and "routing weight".  We've been discussing implementing<br>
>   this recently (at Mapbox), but no definite plans yet.  It will increase the<br>
>   memory usage.<br>
><br>
</span>Would be really cool to have this at least as a build option.<br>
As we don't operate on planet-scale, memory is not that important.<br>
<span class=""><br>
<br>
>   If you take your second option, you can consider encoding the extra metadata<br>
>   you need in the "name" attribute, and split it out again when you receive your<br>
>   route results.  Note that OSRM emits a turn instruction every time the "name" changes,<br>
>   so you'd need to cater for that if you're displaying turn-by-turn instructions to users.<br>
<br>
</span>Well this might be a hacky solution for storing some duration to routing-factor.<br>
However, when I want to push elevation data through for some elevation profile, this seems to be the wrong<br>
place.<br>
<br>
I tried adding 'int ele' to QueryNode and FixedPointCoordinate.<br>
After some hacking around it seemd to work, except I got "Restriction references invalid node/way" warnings.<br>
Is there some bit-magic going on there?<br>
Also I think that this additional int might end up in all kinds of data-structures where it's not needed at all.<br>
In principle, additional per-node data should just be stored somewhere during extraction, and retreived by node-id<br>
after the algorithm ran.<br>
<br>
Are there any forks around that already save additional data per node and per way?<br>
Or is there an easy way to add that (I don't mind writing some C++)?<br>
<br>
<br>
Another question:<br>
Is there a way to get to the coordinates in way_function?<br>
This could be used for less frequent elevation queries (for example only once every 10m).<br>
<br>
<br>
Cheers<br>
Christian<br>
<span class=""><br>
<br>
<br>
>> On Mar 8, 2016, at 10:05 AM, Christian Helbling <<a href="mailto:helbling@search.ch">helbling@search.ch</a> <mailto:<a href="mailto:helbling@search.ch">helbling@search.ch</a>>> wrote:<br>
>><br>
>> Hello<br>
>><br>
>> I'm about to write a bicycle route planner and I'd like to use OSRM for that.<br>
>> However, there are some things I don't understand yet.<br>
>><br>
>> From what I read in the code and documentation it seems that OSRM optimizes by speed/time only.<br>
>> What I would like to do in my config is to have a penalty on big roads but still have a normal<br>
>> speed there when it is used anyway (for lack of alternative).<br>
>><br>
>> Is such a config possible?<br>
>> And if so, how would I do that?<br>
>><br>
>> If it's not, then i'm tempted to run OSRM with fake speeds representing the actual speeds plus penalties.<br>
>> Then when I got the result I would go through the result and recalculate the actual time needed.<br>
>> For that I would need to have access to some properties (road type, elevation data, ..) when I get the result.<br>
>> Is it possible to pipe additional data through OSRM?<br>
>><br>
>> Elevation data would be interesting in particular as I need that to draw an elevation profile anyway.<br>
>><br>
>><br>
>> Thanks in advance<br>
>> Christian<br>
>><br>
>> _______________________________________________<br>
>> OSRM-talk mailing list<br>
</span>>> <a href="mailto:OSRM-talk@openstreetmap.org">OSRM-talk@openstreetmap.org</a> <mailto:<a href="mailto:OSRM-talk@openstreetmap.org">OSRM-talk@openstreetmap.org</a>><br>
>> <a href="https://lists.openstreetmap.org/listinfo/osrm-talk" rel="noreferrer" target="_blank">https://lists.openstreetmap.org/listinfo/osrm-talk</a><br>
<div class="HOEnZb"><div class="h5">><br>
><br>
><br>
> _______________________________________________<br>
> OSRM-talk mailing list<br>
> <a href="mailto:OSRM-talk@openstreetmap.org">OSRM-talk@openstreetmap.org</a><br>
> <a href="https://lists.openstreetmap.org/listinfo/osrm-talk" rel="noreferrer" target="_blank">https://lists.openstreetmap.org/listinfo/osrm-talk</a><br>
><br>
<br>
<br>
_______________________________________________<br>
OSRM-talk mailing list<br>
<a href="mailto:OSRM-talk@openstreetmap.org">OSRM-talk@openstreetmap.org</a><br>
<a href="https://lists.openstreetmap.org/listinfo/osrm-talk" rel="noreferrer" target="_blank">https://lists.openstreetmap.org/listinfo/osrm-talk</a><br>
</div></div></blockquote></div><br></div>