I think it’s important to start from a position of shared understanding. leisure=golf_course has existed for a very long time, and has, to date, provided a very effective vehicle for mapping the boundary of a course. What it has failed to do up to this point, is provide a meaningful structure for the definition of courses within that boundary.
For example, leisure=golf_course can quite happily today have multiple versions of golf=hole + ref=5 within the same geospatial boundary. They could as you say be grouped by a site relation but we’ve documented why we don’t see that as a viable solution in the proposal. It gets worse when you then consider that each golf=hole has multiple different tee-sets within them - each with their own required structure and complexity.
“In this case most golf courses are a course with their own grounds.”
I would respectfully disagree. Golf courses technically have explicit boundaries of their own. Practice areas, driving ranges, out of bounds areas, patios etc - all hold distinct boundaries within the wider leisure=golf_course grounds. I think a part of this confusion comes from the misnomer of leisure=golf_course - it should actually be leisure=golf_club - but we’re not seeking to change very well established tags here … just extend the construct to cater for the complex requirements that exist within this micro-climate of OSM.
The Zoo/Marine Examples
I think the difference between your Zoo/Marine examples and the Golf scenario is that the relationships between different tee boxes, holes, and indeed the courses themselves are not just implied relationships - they are explicit.
An animal enclosure being within a zoo is an implied relationship - it is within the geospatial boundary of the other, therefore they are linked. Nobody disputes that. In the same way that a building=yes being within the bounds of a leisure=golf_course can be implied to be part of it. It is very common sense.
The difference with golf, is that the relationships of a specific tee box, and a specific hole on a course are not necessarily implied just because they are within the boundary of the wider golf facility.
For example: Way: Leeds Golf Centre (145565160) | OpenStreetMap
There are circa 27 golf holes within this leisure=golf_course. As a data consumer, it is not currently possible to:
- Know which holes belong to which course
- Know where tee boxes start and which course they relate to
- Differentiate the distance of a golf=hole + ref=x from the distance of a golf tee-set (bearing in mind, tee-sets are physically signposted and there are circa 100-120k of them globally)
Closing
The Golf relation proposal seeks to solve all of those issues, in a backwards-compatible way. It is an extension and strengthening of the tagging structure which will allow for more complete, detailed and accurate mapping.