Skip to content

Add access information to roads#146

Open
pnorman wants to merge 2 commits into
shortbread-tiles:mainfrom
pnorman:1.1/access
Open

Add access information to roads#146
pnorman wants to merge 2 commits into
shortbread-tiles:mainfrom
pnorman:1.1/access

Conversation

@pnorman

@pnorman pnorman commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

This adds access information for car, bicycle, and foot to appropriate features in the streets layer.

I went with 13+ for access because that's where it's useful. Showing foot and bicycle access is of little value if you're not also showing highway=footway/cycleway/path features.

cc @simonpoole because I know he has strong opinions on mode-specific access information on general purpose maps.

Fixes #38

This adds access information for car, bicycle, and foot
to appropriate features in the streets layer.
@simonpoole

Copy link
Copy Markdown

The issue at the time was osm-carto just rendering access based on the value of the (literal) "access" tag, which led to massive amount of very wrong tagging (I suspect that is for the major part still present). Don't think there is any danger of that here.

@pnorman

pnorman commented Jun 21, 2026

Copy link
Copy Markdown
Contributor Author

cc @shortbread-tiles/steering-committee for vote

@systemed

systemed commented Jun 21, 2026

Copy link
Copy Markdown

Agree this is worth doing, and the approach taken here is very good. Two considerations:

  • It doesn't make sense to have both bicycle and bicycle_access (and horse but not horse_access, and foot_access but not foot). I would suggest we standardise on one single set of tags, either bicycle/horse/car/foot or bicycle_access/horse_access/car_access/foot_access. Our semver policy would suggest the former.
  • =permissive does not match the rest of the limited values in real-world usage. =permissive effectively means "you can pretty much always go here, though legally it's by permission of the landowner". I would suggest mapping =permissive either to yes or to a new permissive value. (FWIW, in cycle.travel I treat it as yes.)

@pnorman

pnorman commented Jun 22, 2026

Copy link
Copy Markdown
Contributor Author

It doesn't make sense to have both bicycle and bicycle_access

My thoughts at the time were that the new bicycle_access was defined differently from bicycle. Thinking about it now it's not a problem for values that map to yes or no as a style handling current access tagging has to handle those. The problem is that a style working with the values that map to limited would break.

I'm skeptical about the value of horse access information for a general purpose map. Motor_vehicle, bicycle, and foot are the three most common ways for someone to get around while they need access information. Horse is a much more niche access mode. If we keep horse in 2.0 I think we need to justify why it but not moped, motorcycle, truck, and other access restrictions that are more useful to most people.

I don't mind adding it in 1.1.

I agree on permissive mapping to yes

@systemed

Copy link
Copy Markdown

Agree on horse - could be dropped from 2.0 and is probably a bit immaterial until then.

Our semver policy doesn't explicitly prohibit changing values in a point release. It might fall under the nebulous "forward-compatible" banner, but Shortbread is sufficiently young I think we can allow ourselves a bit of latitude on a small minority of values for one as yet little-used field.

So for 1.1 I would suggest we:

  • add car and foot with the new yes/limited/no values
  • move bicycle to the new yes/limited/no values
  • quietly forget about horse 🐴

@pnorman

pnorman commented Jun 23, 2026

Copy link
Copy Markdown
Contributor Author

I've changed permissive to map to yes. I'll squish the commits once the other issues are settled.

I'd like feedback from other maintainers about dropping the existing values for somewhat accessible access and replacing it with a new value styles won't know about as well as going from empty string to not present for no access information. I'm okay with this change and being a bit laxer for 1.1 then we would be with 1.2 or 2.1.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature Request: Access restriction on roads

3 participants