-
-
Notifications
You must be signed in to change notification settings - Fork 367
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 "None, but a sign allows cycling on sidewalk" as an option for cycleway overlay/quest #5575
Add "None, but a sign allows cycling on sidewalk" as an option for cycleway overlay/quest #5575
Conversation
Linking to #4913 |
Linking #5596 (comment), which talks about a change on how |
Hey Wieland, are you still working on the next iteration of your streetcompleteness thing? If yes, could you make it a heatmap of quest densities? That would be so cool! 😁 |
I'm not sure I'm "ready", but would apprechiate some feedback on the current state. The features work as intended as far as I can see. I'm new to doing unit tests, I implemented some, but I'm unsure if they are enough/correct. I am also still a bit unsure about tagging, especially in which cases |
That would certainly be quite a challenge, but I'll see what I can do! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just had a quick look first, this is not a complete review.
I am also still a bit unsure about tagging, especially in which cases bicycle= should be removed. Should choosing PATH remove bicycle=? Should choosing one of the options that indicate a cycleway remove bicycle:signed=, or maybe even add it?
I think such things should be changed if keeping the current value would contradict the newly selected option. If it was e.g. bicycle:signed=no
before but user selects "exclusive cycleway" now, then bicycle:signed=no
should be removed.
app/src/main/java/de/westnordost/streetcomplete/osm/cycleway/Cycleway.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/de/westnordost/streetcomplete/osm/cycleway/Cycleway.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/de/westnordost/streetcomplete/osm/cycleway_separate/SeparateCyclewayItem.kt
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alright, first full review:
Wouldn't it make sense, for completeness sake to have in the end three options?
- Footway, no signs about bicycles
- Footway, but a sign allows bicycles
- A sign prohibits bicycles
This would also allow all options that can be parsed to be displayed in the overlay.
Currently, e.g. highway=footway+ bicycle=no + bicycle:signed=yes
results in it being displayed as "Not designated for cyclists (cycling may still be allowed)".
The NOT_ALLOWED
option would necessarily continue to not imply a footway, to cover taggings like highway=path + bicycle=no + bicycle:signed=yes
One thing we can also consider then is to remove the PATH
option to reduce complexity and number of choices - i.e. merge PATH
and NON_DESIGNATED
option. One one hand, this simplifies the selection options mentioned above, because no need to imply a footway, on the other hand, ways signed as footways () have implicit restrictions on bicycles in e.g. Germany as far as I know, so whether it is
foot=designated
or just foot=yes
probably should make a difference for cyclists when evaluating the data. In other words, to be able to make this distinction in SC might be useful for data consumers. (Although, highway=footway
/ foot=designated
doesn't necessarily mean that there is a sign. E.g. the typical footways within a housing estate will likely be tagged that way, but there will be no signs.)
app/src/main/java/de/westnordost/streetcomplete/osm/cycleway_separate/SeparateCyclewayParser.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/de/westnordost/streetcomplete/osm/cycleway/CyclewayParser.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/de/westnordost/streetcomplete/osm/cycleway/CyclewayParser.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/de/westnordost/streetcomplete/osm/cycleway/CyclewayCreator.kt
Outdated
Show resolved
Hide resolved
app/src/main/java/de/westnordost/streetcomplete/osm/cycleway/CyclewayParser.kt
Outdated
Show resolved
Hide resolved
For now, I have implemented and enabled all three options in the overlay. |
app/src/main/java/de/westnordost/streetcomplete/overlays/cycleway/SeparateCyclewayForm.kt
Outdated
Show resolved
Hide resolved
(doing some research) Well, I wouldn't be so sure... In nearby Croatia, for example, such sign indeed means it is forbidden for any vehicle ("vozilo/a"). However ZOSPNC 2.1.28. defines "vehicle" somewhat differently, i.e. makes exception for "children's means of transport, personal or motorized means of transport for persons with disabilities or the elderly, if they do not move at a speed higher than the speed of human walking" So, kid on kids bicycle, as well as wheelchair user (provided they move slow enough) are not considered vehicles by law and are allowed on all such footways. Contrast that to OSM, where How the low defines in some further away country (e.g. in Asia or Africa), I wouldn't dream to claim to comprehend. So, while tagging it as (i.e. the issue seems somewhat akin to maxspeed issue with complex solution like https://westnordost.github.io/osm-legal-default-speeds) TL;DR: I would rather prefer that SC would add only fully factually correct and verifiable data, but if it had to simplify with such partly-incorrect information like You're absolutely right about |
Just for completeness sake, it's the same way in germany. But since this is universal for everywhere in germany, we don't tag it onto every sidewalk. (It's not recorded in https://www.openstreetmap.org/relation/8131479 (yet), but if at all, it should be recorded there.) |
@wielandb Right, right, I am absolutely for not opening cans of worms... I thought your comment regarding Maybe your initial suggestion is the best one, after all. And adapt the wording accondingly:
(I marked the modifictions with insert and |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great, let's put this into the release I am going to do today!
app/src/main/java/de/westnordost/streetcomplete/osm/cycleway/CyclewayParser.kt
Outdated
Show resolved
Hide resolved
strings uploaded to POEditor now, will release v58 this evening. |
I see you've been editing German translation the same time as I did. I am done now, feel free to review and see if you find better translations. 🎉 |
Can I clarify the difference between: "Footway, but a sign allows cycling " and "Designated shared-use path"? In Australia there is no distinction, legal or otherwise. |
I.e. the first would be designated as a footway, but there is some additional sign that allows also bicycles (the latter obviously just being "guests"). The second would be designated as a foot+bike path. The picture you see on the second last page in this document would be a shared-use path. Depending on country and legislation, the difference between the two can indeed be marginal or not really exist. |
That's fine. I just think having both options might end up being confusing
for your audience in countries where there is no meaningful distinction
between the two.
Perhaps having the "footway, cycling permitted" option available only in
relevant countries similar to, e.g. advisory bike lane, would be a good
idea? That way, users can request to opt in for their jurisdiction if
"designated shared use path" is deemed not sufficient.
…On Sun, 2 June 2024, 00:22 Tobias Zwick, ***@***.***> wrote:
first is highway=footway / foot=designated, second is foot=designated +
bicycle=designated.
I.e. the first would be designated as a footway, but there is some
additional sign that *allows* also bicycles (the latter obviously just
being "guests").
The second would be designated as a foot+bike path. The picture you see on
the second last page in this document
<https://hdp-au-prod-app-tam-yourvoice-files.s3.ap-southeast-2.amazonaws.com/7416/1887/6734/DRAFT_Active_Transport_Strategy_document.pdf>
would be a shared-use path.
Depending on country and legislation, the difference between the two can
indeed be marginal.
—
Reply to this email directly, view it on GitHub
<#5575 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AETVUIWAJOH2FEIKBFF7XDDZFHKKNAVCNFSM6AAAAABISTP4D2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBTGQ3DMMJVHA>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
It would be more problematic (and complex) to not display this option in certain countries, because unlike bike lanes, these are not subtags that could then just be ignored. I.e. a situation where in a country were (officially) one of these options does not exist would need to be handled gracefully, without potentially removing valid data. So, for one thing, we would need to be extra careful which countries would be added to a presumed |
I'm still not entirely clear on what the legal or practical difference is
between the two categories.
Is it that pedestrians have right of way in the first case but not in the
second? Do bikes as "guests" have to ride slower or differently than if
"designated"?
And how will this be communicated to users of the app (through an icon or
other means) as to how to identify the right category if this distinction
doesn't exist in their location?
I ask because there is a risk that people may get confused and start
changing sections from bicycle "designated" to "yes", or vice versa, when
the two have different connotations in some routing apps (for example,
bicycle "yes" on a footpath in Victoria where I live is typically used to
identify where there is NO signage, but cyclists informally use it anyway -
so not legally, but do in practice).
…On Sun, 2 June 2024, 02:05 Tobias Zwick, ***@***.***> wrote:
It would be more problematic (and complex) to not display this option in
certain countries, because unlike bike lanes, these are not subtags that
could then just be ignored. I.e. a situation where in a country were
(officially) one of these options does not exist would need to be handled
gracefully, without potentially removing valid data.
So, for one thing, we would need to be extra careful which countries would
be added to a presumed bicycleOnFootwayIsOkSignDoesntExist.yml list. But
we also need some rules, agreed on by the community, how to handle cases
where despite apparently an official sign missing, such tagging is still
found in the wild in said country. And these rules should of course be
globally valid because these tags should not mean different things in
different countries.
—
Reply to this email directly, view it on GitHub
<#5575 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AETVUISR33WUOKWKL4INHBLZFHWMRAVCNFSM6AAAAABISTP4D2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBTGQ4TQNJYG4>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
What legal difference it makes depends on the legislation. In Germany, it does make a difference. Your example sounds like an instance of, well..., creative tagging usage. If it is not legal, then But anyway, there is also the option "Footway, no explicit sign about cycling", and in fact, this is the option you are going to see in StreetComplete for As for icons, well, I just released it, so you can see for yourself. For the first option, a pedestrian is shown and on the lower corner you see "🚲 OK" in what looks like a sign or annotation. For the second, a pedestrian and a bicycle is shown together. |
Yes, I was quite confused by that German distinction too...
I understand (and support!) the need for "release early, release often", but with my translator hat on, I'd really appreciate if translators were given more than few hours notice to do their work, especially on weekends (when people are sometimes even known to be offline!)... say, at least 2-3 days between publishing strings and doing a release? |
Is it only a thing in Deutschland? |
Probably not only there (though I have not done research where else it might be the case); but it is definitely not a thing in Croatia (which is why it confused me). |
Since this was merged, a few tests in |
Oh, shit, I should have checked that... I hope it is just a mistake in the tests! |
Oh no! At least on my machine, all tests passed when making the final commit. Will check this ASAP.
|
I skimmed through the failing tests. Fortunately it just looks like some tests were not adapted to the new behavior, so need for a hotfix or anything. Many tests are named like they test whether a certain tag is added/removed on certain combinations. @Test fun `apply allowed on footway adds the bicycle signed tag`() {
assertTrue(
ALLOWED_ON_FOOTWAY.appliedTo(mapOf(
"highway" to "footway",
)).contains( // or containsAll if it is several that should be checked.
StringMapEntryAdd("bicycle:signed", "yes")
)
)
} (compare with current version) |
Anyway, frankie2784, I only explained why it is more effort and complex to implement that. Something like this is certainly a valid and meaningful feature request but to make this a reality, first research is needed in which countries a distinction between those two options is made, either in legislation or by the local community.
A good place to start might be the forum.
|
I created this post: |
Should |
Yeah, I would say you are right. If there is a sign, permissive sounds wrong. After all, the surveyor can't and should not need know whether the signed access restriction was put there by the owner or by the municipality. The former could at any time revoke it, but if you think about it, the municipality can at any time revoke it, too. On the other hand, if there is something like a hand-written sign like "hey bikers, feel free to use this shortcut through my property here!" or whatever, maybe indeed |
Created #5672 to fix this |
This PR adds the possibility to tag that cycling is allowed on the sidewalk by a sign in the cycleway quest and overlay, and that a sign allows cycling on a footway in the separate cycleway overlay.
sidewalk:[side]:bicycle=yes