a-b-street / osm2lanes

A common library and set of test cases for transforming OSM tags to lane specifications
https://a-b-street.github.io/osm2lanes/
Apache License 2.0
34 stars 2 forks source link

Analyze Tag Usage Frequency #175

Open droogmic opened 2 years ago

droogmic commented 2 years ago

It would be good to have an ordered list of tags (key + val) used in ways, such that we can prioritize support. We can then make milestones tracking our coverage of all tags used in >1% of ways, then 0.1% of ways, etc.

e.g. https://taginfo.openstreetmap.org/tags/oneway=yes is used in 1.77% of ways.

droogmic commented 2 years ago

https://taginfo.openstreetmap.org/keys/highway#combinations

> 1%

> 0.1%

dabreegster commented 2 years ago

Should we exclude name and ref from this list? I can't see a very direct reason they'd influence current osm2lanes output, or a reason why to plumb them along in the output.

droogmic commented 2 years ago

I was thinking that client using this library may just want to say "tell me about way 12345". It's very little effort on our side and may remove the need to parse tags on their side.

We also know that name and ref apply to all lanes.

On Sun, 8 May 2022, 13:49 Dustin Carlino, @.***> wrote:

Should we exclude name and ref from this list? I can't see a very direct reason they'd influence current osm2lanes output, or a reason why to plumb them along in the output.

— Reply to this email directly, view it on GitHub https://github.com/a-b-street/osm2lanes/issues/175#issuecomment-1120403795, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACEL2Z73RFK6DPR4DYIKOBDVI6S53ANCNFSM5U2BTHQQ . You are receiving this because you authored the thread.Message ID: @.***>

dabreegster commented 2 years ago

Similarly, lit and bridge and other attributes are common to the entire road. Maybe we should plumb through things like this, or maybe we should hand people the Tags too? Otherwise it could be scope creep to have fields in the struct to represent everything

droogmic commented 2 years ago

We could process the relevant tags like we do now, passthrough known tags like name and ref, and then the remaining ones are in a "remainder" Tags object. This solves another problem we have: how to have the website's roundtrip system output tags you can actually paste back into osm without losing information.

We could also use an input config decide if the output Tags should have all tags or just the unprocessed remainders.

On Sun, 8 May 2022, 14:24 Dustin Carlino, @.***> wrote:

Similarly, lit and bridge and other attributes are common to the entire road. Maybe we should plumb through things like this, or maybe we should hand people the Tags too? Otherwise it could be scope creep to have fields in the struct to represent everything

— Reply to this email directly, view it on GitHub https://github.com/a-b-street/osm2lanes/issues/175#issuecomment-1120409442, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACEL2Z72LBAUN7QDEDBKURDVI6XABANCNFSM5U2BTHQQ . You are receiving this because you authored the thread.Message ID: @.***>

BudgieInWA commented 2 years ago

What a great idea! I have been thinking to myself "is tag X actually combined with tag Y in the wild, or can we skip support for the combo". The taginfo combinations tab is a great resource, and I've been learning how to use OverpassQL properly, to answer questions like that too.