[GraphHopper] Looking for an engine for horse (and hiking) routing
Peter K
peathal at yahoo.de
Fri May 24 07:25:48 UTC 2013
Hi Nop,
feel free to optimize whereever you can - I appreciate every
improvement! The parser could be improved in many areas e.g. adapted so
that the protobuf protocol is supported (this would be faster IMO).
> There are many route-blocking barriers like gate, lift_gate,
cycle_barrier or bollard in the OSM data.
> Osm also marks Reversed Oneways with oneway=-1. Weird concept, but
used over 120000 times. It appears that the AcceptWay does not recognize
this?
yes, those things are not recognized. Feel free to open an issue with an
example or even better one or more failing unit tests. E.g. See
AcceptWayTest and OSMReaderTest
> 4. The speed value is determined when creating the graph. Usually I
would expect to have different speed profiles e.g.
> for trucks or cars that can be selected at runtime. Determining speed
for horses is even more dynamic.
> Does it have to be encoded into the graph or is it also possible to
calculate it at a later time?
For CH algorithm you cannot use runtime speed profiles. Otherwise look
into e.g. FastestCalc how this could be achieved.
> 5. How would you start adding elevation data?
See the previous discussion:
http://lists.openstreetmap.org/pipermail/graphhopper/2013-May/000118.html
and let me know in the ticket where information is missing.
> I noted that there is a 3D Graph class, but it looks like a stub.
exactly ;)
It was just a minor example to make sure subclassing the graphstorage works
> It appears that the Graph is intended to be built in one pass so the
information would have to be integrated immediately, correct?
not sure what you mean here. All information is read while parsing the
OSM file but one could update this information as well as adding further
edges/nodes is supported (except again for CH after preparation)
> 6. If I want to contribute some code, how would I do that? Please
remember that I have no idea how GIT works, and I don't want to start by
breaking things.
You won't break things. Fork graphhopper on github and create a new
branch at your fork (e.g. issue-43). Now make your modifications and
commits there. Then if you feel ready create a pull request. When all
tests pass (including your newly added and my integration tests here)
I'll be happy to merge it!
See also:
https://help.github.com/articles/fork-a-repo
https://help.github.com/articles/using-pull-requests
Regards,
Peter.
>
> Hi!
>
> Some progress. I got the import to run in IntelliJ on Windows and I'm
> watching how it is building the graph. Did not get around to look at
> routing. But here's the first questions: :-)
>
> 1. What level of refinement does the OSMReader have? I think I spotted
> some potential for optimization and I might have some suggestions to
> speed up parsing from the experience with my own compiler.
>
> 2. It seems that nodes are only stored as lat/lon combinations. There
> are many route-blocking barriers like gate, lift_gate, cycle_barrier
> or bollard in the OSM data. Are they ignored or am I missing something?
>
> 3. Osm also marks Reversed Oneways with oneway=-1. Weird concept, but
> used over 120000 times. It appears that the AcceptWay does not
> recognize this?
>
> 4. The speed value is determined when creating the graph. Usually I
> would expect to have different speed profiles e.g. for trucks or cars
> that can be selected at runtime. Determining speed for horses is even
> more dynamic. Does it have to be encoded into the graph or is it also
> possible to calculate it at a later time?
>
> 5. How would you start adding elevation data? I noted that there is a
> 3D Graph class, but it looks like a stub. It appears that the Graph is
> intended to be built in one pass so the information would have to be
> integrated immediately, correct? Also added a comment to the issue #43
>
> 6. If I want to contribute some code, how would I do that? Please
> remember that I have no idea how GIT works, and I don't want to start
> by breaking things.
>
>
> bye, Nop
More information about the GraphHopper
mailing list