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

Add 'cyclestreet'-field #888

Merged
merged 5 commits into from May 5, 2023
Merged

Add 'cyclestreet'-field #888

merged 5 commits into from May 5, 2023

Conversation

pietervdvn
Copy link
Contributor

Cyclestreets are a special legal designation in some countries, where motorized vehicles are not allowed to overtake cyclists (see the wiki page).

This PR adds a 'cyclestreet'-field and adds it as extra option to residential (and thus also unclassified) roads

This type of road is mostly in use in Belgium, the Netherlands, Germany and Finland. Ideally, this field is thus only an option in these countries but I couldn't figure out how to trigger this.

@github-actions
Copy link

🍱 Preview the tagging presets of this pull request here: https://pr-888--ideditor-presets-preview.netlify.app/id/dist/#locale=en.

@1ec5
Copy link
Contributor

1ec5 commented Apr 26, 2023

This type of road is mostly in use in Belgium, the Netherlands, Germany and Finland. Ideally, this field is thus only an option in these countries but I couldn't figure out how to trigger this.

Yes, it would be a good idea to limit this field to the countries that have accepted this key, to avoid exacerbating the existing confusion between this key and bicycle_road and also prevent U.S. mappers from using this key for “bike boulevards”. Here’s an example of limiting a field to the U.S.:

"locationSet": {
"include": [
"US"
]
}

@pietervdvn
Copy link
Contributor Author

Thanks for the hint, I've added an include-set (and ran the linter in the meantime).

Copy link
Contributor

Choose a reason for hiding this comment

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

Is a cyclestreet guaranteed to be a highway=residential, or can it also be on a road classified differently, like unclassified or service?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The unclassified-highway copies all 'extra'-tags from residential. This new field should thus appear at unclassified as well.

For the other types, I ran the numbers with a global overpass-entry and a little script:

Amount highway-type
7864 residential (71.2%)
1378 unclassified (12.4%)
806 tertiary (7.3%)
339 living_street (3%)
152 secondary
139 service
115 pedestrian
79 cycleway
53 track
33 primary
25 footway
21 path
9 null
7 construction
3 tertiary_link
3 proposed
2 primary_link
1 street_lamp
1 secondary_link

I have to admit I'm a bit surprised by the high amount of tertiary roads in there, I suspected them to be less.

Also, it doesn't really make sense on some values, at least not from the perspective of a Belgian ;) (e.g. primary or 'street_lamp')

Copy link
Member

@tyrasd tyrasd left a comment

Choose a reason for hiding this comment

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

Hi. Thanks a lot for this PR. I noticed a couple of things:

  • Starting with a small technicality: We use the convention that regional fields should use a file name suffix indicating which countries it applies to. Could you please rename it to cyclestreet-BE-NL.json?
  • Germany does not use the cyclestreet tag, but instead the bicycle_road. Could you please remove DE from the locationSet here?
  • In Finland, both cylcestreet and bicycle_road are currently used very rarely (only on 6 km and 7 km, respectively). The OSM wiki lists the corresponding road sign on the pages for both tags, which is confusing. If the description is correct, the more matching tag seems to be cyclestreet, but it would be nice if this could be clarified before we include it in the presets. For now, we could omit FI.
  • I think the use on highway=tertiary roads is not unreasonable for a street which has some local importance in the road network, but still gives preference to cyclists. I found these to be somewhat common in city centers, like in this example. Could you add the field also to the preset for highway=tertiary?
  • Similarly, the combined use with highway=living_street does also seem to be possible (e.g. when a larger cyclestreet-zone contains individual roads which are signposted as living streets). I'd be inclined to allow the field also in the living street preset.

@tyrasd
Copy link
Member

tyrasd commented Apr 27, 2023

One additional tricky thing is that we eventually would also like add a field for the bicycle_road tag. So, I'm wondering whether we would need to choose a slightly more descriptive field label, to properly distinguish between the two tags/fields. Note that the as the term cyclestreet at least in principle applies to both concepts/tags. Can it be assumed that no country will ever use both tags? 🧐

//edit: ok, after reading up on this the wiki again, I would tend to agree with the author(s):

[…] As the exact legal restrictions differ somewhat and may change in the different countries, trying to group them into two different tags is not a meaningful endeavor, as in no country, both the less restrictive and the more restrictive variants exist at the same time. […] Hence, data consumers should treat cyclestreet=yes as synonymous to bicycle_road=yes […]

This would allow us to use the same field label for both this field and the (future) one for the bicycle_road tag.

@pietervdvn
Copy link
Contributor Author

Hey @tyrasd ,

I have renamed the file and added it to 'tertiary' and 'living_street'.

There is - at least in Belgium - a meaningful difference between 'cyclestreet' and 'bicycle_road'. A cyclestreet is a street where cars are allowed, but may not overtake. This is often an already existing road where cars are slowed down a bit.

As I interpreted the wiki, a bicycle_road resembles what we would tag with 'cycleway', a purpose-built, wide road where cars are not allowed.

Copy link
Member

@tyrasd tyrasd 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 the updates @pietervdvn, however it seems like the cyclestreet-BE-NL.json is missing in the last commit of this PR. 😉

@tyrasd
Copy link
Member

tyrasd commented May 5, 2023

As I interpreted the wiki, a bicycle_road resembles what we would tag with 'cycleway', a purpose-built, wide road where cars are not allowed.

For a bit of additional context: In the case of Germany, most bicycle_road=yes roads are actually not purpose-build, but rather converted residential roads (where car traffic is either allowed at low speeds example or restricted to residents example). For these, the highway=cycleway tag would not be a good fit IMO.

Anyway, from the iD editor point of view, it is fine that Belgium and Netherlands uses a dedicated / more specialized tag. I'm happy to support these regional variations. I was initially only a bit worried that we might have to support both tags in parallel in some countries.

@pietervdvn
Copy link
Contributor Author

Thanks for the updates @pietervdvn, however it seems like the cyclestreet-BE-NL.json is missing in the last commit of this PR. wink

Derp, I've actually added it now.

@tyrasd tyrasd merged commit 5f36b83 into openstreetmap:main May 5, 2023
5 checks passed
@pietervdvn
Copy link
Contributor Author

Thanks for merging!

@tyrasd
Copy link
Member

tyrasd commented May 5, 2023

Thanks for the PR. 🙇

FYI: I've now also added a field for bicycle_road in 388871f. Note that the two fields are sharing the same translation-strings. So when translating in transifex, you only will only find the one for the bicycle_road. But its translations will apply to the fields of both tags.

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

Successfully merging this pull request may close these issues.

None yet

3 participants