-
-
Notifications
You must be signed in to change notification settings - Fork 862
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
Refactor types system for access= and fee= OSM tags #1312
Comments
@pastk are there any other OSM tags that should be refactored in the same manner? |
Lifecycle tags and prefixes like Bridges and tunnels? Can use for better PP display. Otherwise not needed? Access-related separate tags like sac_scale=* and trail_visibility=* for hiking paths and footways. Display in PP, use for route estimations, render differently too. incline=* for routing, but maybe not used widely enough (need to filter out highway=steps or incline=up/down as not useful). |
if possible add also:
|
What about the limit of 7 types per feature? |
Don't see problems here. We add 1-2 tag types to the POIs. |
It will be great to use such approach for sport tag. |
Sport already works like this. You can add sport=* type to any POI. |
Theoretically it means that we can show show sport as it was suggested here. |
|
A better idea could be to collect info from all issues and make "meta" issues like this: |
+1 for this, I'm trying to improve parking icons & defining types with access results in a mess:
with a system for handling access & fee internally, this would be reduced to
for #3896 From pastk:
|
@biodranik |
The current encoding supports only max 7 types per feature. Increasing types count may unnecessary increase files size and reduce rendering speed. We can invent some hacky ways to store more than 7 types, but ideally it would be way easier to support max 7 types. |
Also location=underground (or similar) |
Classification:
Note that e.g. parking=surface/multi-storey/street_side/underground/etc. is applicabe to amenity=parking only so is better considered as a part of base type: amenity-parking-street_side/underground etc. ATM we have some special OM-invented types like hwtag=lit/oneway/private/etc and psurface=paved_good/unpaved_good/etc. They could be left as special cases or re-considered as attributes. Also we have "dynamic/run-time" tags like "name/population/bbox". At least presence of "name=*" could be considered an attribute. "population/bbox" (potentially "density" for dynamic styling in future) work much like attributes too (especially if we consider using pre-defined ranges like population=huge/big/medium/small). Requirements:
Sample cases we'd like to support:[access=private] [fee=yes/no] [disused:*] [wheelchair=*] [name=yes] [sac_scale=*] [route=hiking/foot/mtb/etc.] [tunnel=yes/culvert/etc] [bbox=huge/small/etc] [bicycle=yes/no/designated] [organic=yes/no/only] [sport=*] [cuisine=*] Implementation thoughts:A big advantage of the current rendering system is that drawing rules are pre-defined for each type so there is no need to construct a rendering style for each attribs combination at the runtime. I'm not sure if an overhead of constructing a rendering style at runtime will be significant or not. Maybe I'm overestimating it. There is another option of keeping the fast-rendering advantage for the most common attribs combinations at least. E.g. [access=] + [fee=] attribs generate a limited number of combinations, so we can pre-generate feature sub-types and drules for e.g. all amenity-parking[access/fee] style combos. But it should be automated as the current manual process is too tedious. Another advantage of having pre-defined feature sub-types for attribs combos is that this approach doesn't increase types storage size: atm most types use 2 bytes for storage which is 16k possible values, but atm we have 1.6k types only, so we can easily inflate number of types 10-fold without adding any extra bytes. [cuisine=*] generates too many combinations, so its not feasible to store as a part of feature type id. |
Take out access=, fee= from classificator types and replace with separate tag types like hwtag now.
Advantages:
The text was updated successfully, but these errors were encountered: