Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Store auxiliary data with edges #1342

Open
emiltin opened this issue Jan 12, 2015 · 7 comments
Open

Store auxiliary data with edges #1342

emiltin opened this issue Jan 12, 2015 · 7 comments
Milestone

Comments

@emiltin
Copy link
Contributor

emiltin commented Jan 12, 2015

in our "I Bike CPH" bike router app for ios and android, we provide GPS turn-by-turn navigation. we would like to use things like way type, surface, etc. to provide additional cues. this is relevant for bikes, since many bike paths don't have names.

a workaround is to encode the tags as part of the way name in the lua profile, for example "Vesterbrogade {'highway':'primary'}" or "{'highway':'cycleway','surface':'gravel'}. but this takes up extra space.

a more efficient way of storing tags and passing them to the front-end would be great. one idea would be to store the encoded tags as a separate name string, ie store "Vesterbrogade" and "{'highway':'primary'}" separately. since many ways would have the same tags, it would take up less space. but a better solution can probably be found.

@emiltin
Copy link
Contributor Author

emiltin commented Jan 12, 2015

related to #282.

@TheMarex
Copy link
Member

TheMarex commented Feb 3, 2015

What you basically want is a a mini key-value storage engine inside OSRM that maps edge/node ids to properties. Could be worthwhile to invest some time in this, as this often comes up. However implementing this is not trivial.
Should be doable without any runtime/memory penalty if you don't use it.

@emiltin
Copy link
Contributor Author

emiltin commented Feb 4, 2015

right. preferably, the lua script will be able set the keys/values for each way.

@systemed
Copy link
Member

systemed commented Feb 6, 2015

I use the way name workaround at cycle.travel. The results are heavily tokenised (one character for surface type, etc.) which saves some space and download time. But yes, a PBF-like key-val store wouldn't be a bad thing.

@TheMarex TheMarex added this to the 4.8.0 milestone May 24, 2015
@TheMarex TheMarex changed the title include way tags in instructions Store auxiliary data with edges May 24, 2015
@TheMarex
Copy link
Member

This would also unblock #77 since we could move the speed inside that field.

@marcioaguiar
Copy link

I'm also interested in this feature, specifically on the surface, lanes and width property. Maybe it could be customized on the profile?

@TheMarex TheMarex modified the milestones: 5.0, 4.9.0 Nov 17, 2015
@TheMarex TheMarex modified the milestones: 5.1.0, 5.0 Mar 9, 2016
@emiltin emiltin mentioned this issue Mar 10, 2016
5 tasks
@emiltin emiltin mentioned this issue Apr 15, 2016
7 tasks
@TheMarex TheMarex modified the milestones: 5.2.0, 5.1.0 Apr 25, 2016
@TheMarex TheMarex modified the milestones: 5.3.0, 5.2.0 May 11, 2016
@danpat
Copy link
Member

danpat commented May 18, 2016

If you can handle a second network round-trip, you can use this to get tag data:

https://github.com/mapbox/route-annotator

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants