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

change default highway value for golf cart paths to "path" #327

Merged
merged 3 commits into from May 20, 2022

Conversation

tyrasd
Copy link
Member

@tyrasd tyrasd commented Jan 5, 2022

This is to fix #48:

I went with the approach to just use highway=path (+ golf_cart=designated) because it: avoids explicitly adding an implicit access restriction and is similar to the well established tagging scheme for multi-use paths (such as foot+bike paths), as well as the corresponding golf=path preset.

This PR also activates the access field, so users can set see and set further access information.

@tyrasd
Copy link
Member Author

tyrasd commented Jan 5, 2022

@1ec5, @matkoniecz: what do you think about this approach?

@matkoniecz
Copy link
Contributor

Sadly, I am unfamiliar with cart paths so in this case I cannot offer guidance

(I learned about them via gravitystorm/openstreetmap-carto#3734 - see especially gravitystorm/openstreetmap-carto#3734 (comment) )

@systemed
Copy link

Very strong +1 for this. highway=service is typically parsed as a routable way, which means the current preset is breaking (inter alia) bicycle routing. A golf cartpath is not usually public access, so highway=service is a misleading tag.

highway=path is famously a dumpster fire of a tag, so moving cartpaths into said dumpster fire does at least bound the problem.

That said, access=no; golf_cart=customers would seem more appropriate than golf_cart=designated. It isn't a by-rights path for anyone in a golf cart, it's a path that members of the golf club can use in their golf cart.

@bhousel
Copy link
Member

bhousel commented Mar 30, 2022

Just so we're all on the same page and speaking honestly about how we got here..

The golf mappers originally proposed dedicated golf=cartpath and golf=path tags, so that their mapping wouldn't conflict with other features that were part of the routable graph defined by the highway=* tags, and I accepted their in iD with this PR. My recollection was that their proposal was documented on the wiki (at least as a proposal).
openstreetmap/iD#5862 (comment)

It was the osm-carto folks who got upset about this (once people started requesting that these paths get rendered) and insisted that we switch to using highway=* tags. Issue 3734 is a trip, and people should read it:
gravitystorm/openstreetmap-carto#3734
openstreetmap/iD#6165

@systemed
Copy link

I feel your pain on that one!

Copy link
Contributor

@1ec5 1ec5 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this fix – I think it’s important to minimize the risk of large vehicles traveling over these paths. highway=path follows the principle of least surprise (by adopting an unsurprisingly chaotic tag).

If I recall correctly, highway=path was relatively commonly used for golf cart paths in the U.S. prior to openstreetmap/iD#5862. I mentioned it in passing in gravitystorm/openstreetmap-carto#3734, but I don’t recall why the preset wound up with highway=service instead of highway=path when it became clear that some highway=* value was needed. Based on the response to chadrockey/TGC-Designer-Tools#64, it’s likely that golf mappers will adhere to whatever this preset uses without edit-warring, as long as the preset retains golf=cartpath.

Note that the golf=path preset is very similarly tagged as highway=path foot=designated. As things stand, this will result in many non-golf-specific renderers giving both kinds of paths the same appearance. Consider using highway=footway for that preset.

Do we need to introduce any deprecations for the older tagging scheme being replaced here?

My recollection was that their proposal was documented on the wiki (at least as a proposal).

I looked but haven’t been able to find a formal proposal from that time, unfortunately. There were a lot of parallel discussions at the time.

Later on, the discussions in #48 and elsewhere led to a proposal for highway=golf_cart_path, which would make golf=cartpath redundant. An RFC went out for that proposal in 2020, kicking off lots of discussion and back-and-forth over the optimal primary feature tag. It would be premature to adopt the proposal in its current form, since existing renderers wouldn’t recognize highway=golf_cart_path at all. However, I think the mailing list and wiki discussions garnered sufficient support for the idea of some highway value other than service.

@bhousel
Copy link
Member

bhousel commented Apr 6, 2022

However, I think the mailing list and wiki discussions garnered sufficient support for the idea of some highway value other than service.

The commit openstreetmap/iD@df7a2f9 that closed openstreetmap/iD#6165 contained:

  • a preset for a cartpath combined with a highway=path and
  • a preset for a cartpath combined with a highway=service

So mappers always did have this choice of which one to use.

@1ec5
Copy link
Contributor

1ec5 commented Apr 6, 2022

This PR would modify the latter to use highway=path, but there’s still a semantic distinction between the two presets, so the suggestion was to also preserve that distinction in the primary feature tags, not just in the access tags.

@bhousel
Copy link
Member

bhousel commented Apr 6, 2022

This PR would modify the latter to use highway=path, but there’s still a semantic distinction between the two presets, so the suggestion was to also preserve that distinction in the primary feature tags, not just in the access tags.

openstreetmap/iD#5862 (comment) indicates that the purpose of these was for multiuse situations, like where the golf carts are expected to be driving through a parking lot or service area:

For situations where both situations apply: example: a retirement community built around a golf course where the course's cart paths serve the purpose for the game as well as transportation routes for the residents, then the most appropriate tagging will be highway path/track with the golf:cartpath tag added.

(they originally were proposing highway=track and I steered them towards highway=service)

@bhousel
Copy link
Member

bhousel commented Apr 6, 2022

Ok I'm doing way more digging into this history of this than I'd like to, but the reason for this is because I know we had this correct back in openstreetmap/iD@e045c0f

and it got messed up somewhere along the way, I guess here: openstreetmap/iD@df7a2f9

The intent of these presets was:

  • a path-like preset with golf=path named "Golf Walking Path"
    (for where carts are not driving. highway=path was added later, to appease carto)
  • a path-like preset with golf=cartpath named "Golf Cartpath"
    (highway=path was added later, to appease carto)
  • a service-llike preset with golf=cartpath and highway=service named "Golf Cart Multipurpose"
    (later "Golf Cartpath / Service Road", name has gone through several iterations for clarity but service should not be dropped - it is literally for where carts drive on service roads)

I remember having a lot of discussion with Chad about what he wanted these for. I even drew an icon for it.

@1ec5
Copy link
Contributor

1ec5 commented Apr 6, 2022

  • a service-llike preset with golf=cartpath and highway=service named "Golf Cart Multipurpose"
    (later "Golf Cartpath / Service Road", name has gone through several iterations for clarity but service should not be dropped - it is literally for where carts drive on service roads)

Oof, so this preset basically got conflated with the normal “Golf Cartpath” preset. That would explain all the problematic highway=service usage out there. Thanks for digging up this history.

The case where golf carts can drive on actual service roads sounds like a good fit for the Access field rather than a separate preset. Since the last time these presets were modified, golf_cart was approved as an access key for any kind of road or path. A new Golf Carts row in the Access field would also give golf mappers an obvious alternative to turning residential roads into golf cart paths or drawing golf cart paths right on top of them, as they so often do today around golf clubs. (Throw in an oblivious driveway mapper and we’ve got ourselves a real mess! 😩) Maybe the extra row could be limited to just the Residential Road and Service Road presets, since golf carts are unlikely to be street-legal for higher-classed roads anyways.

As long as we restore the golf cart path/service road combination in the form of an expanded Access field, it should be safe to revert the plain “Golf Cart Path” preset to highway=path, right? That would leave at least as many distinctions as you had in the presets at one point.

and show the access field (as for all highway based presets), so users can set respective further access details
and use highway=footway for walking paths
@tyrasd
Copy link
Member Author

tyrasd commented May 13, 2022

Ok, I didn't know that these were three presets originally. I have solved the issue of not being able to easily map "multipurpose" service+cartpaths by adding a field for the highway tag for golf cartpaths where one can choose between a "cartpath" (the default) and "service road". This has the side benefit that manually entered highway values (e.g. `residential) will also be recognized.

@tyrasd tyrasd added the enhancement New feature or request label May 13, 2022
@tyrasd tyrasd merged commit 406c147 into main May 20, 2022
@tyrasd tyrasd deleted the golf-cartpath branch May 20, 2022 10:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Golf Cartpath is insufficiently distinguished from service roads for cars
5 participants