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

Implement cycleways #671

Merged
merged 16 commits into from
Nov 4, 2017
Merged

Implement cycleways #671

merged 16 commits into from
Nov 4, 2017

Conversation

westnordost
Copy link
Member

Fixes #139

For public review.

# Conflicts:
#	app/src/main/assets/quests.png
#	app/src/main/assets/streetcomplete_quests.yaml
#	app/src/main/java/de/westnordost/streetcomplete/MainActivity.java
#	app/src/main/java/de/westnordost/streetcomplete/quests/QuestModule.java
#	app/src/main/java/de/westnordost/streetcomplete/tangram/MapFragment.java
#	app/src/main/res/values/strings.xml
# Conflicts:
#	app/src/main/res/values/strings.xml
@matkoniecz
Copy link
Member

Very impressive interface!

Nothing fits "road oneway for vehicles, not oneway for bicycles, no separate lane" normally tagged cycleway=opposite.

Nothing fits for "road oneway for vehicles, not oneway for bicycles, separate bicycle contraflow lane" - cycle lane option is displaying both general purpose lane (that may not exist in one direction) and cyclist lane.

maybe skip also surface=gravel and similar roads? http://www.openstreetmap.org/way/25116628#map=19/50.07320/19.88894 and similar are extremely unlikely to have cycleway infrastructure.

On oneway roads some answers make no sense and some may imply oneway:bicycle=no.

Open quest, rotate phone - question marks on unanswered parts are disappering (may affect also other parts of interface).

Would it be a good idea to have option to quickly select "no, there is no cycling infrastructure of any kind here"? Currently it requires tapping one direction, selecting none, tapping second direction, selecting none, selecting OK.

Generally, I am not sure whatever it makes sense to spam cycleway:both=no everywhere - but maybe it is result of

  • living in a city that is unfriendly to cyclists (so there is low amount of cycleways for tagging)
  • living in areas with well mapped cycling infrastructure (so what exists is mapped)
  • preferring mapping cycleways as separate ways

@matkoniecz
Copy link
Member

Maybe skip also roads with low max speed? I think that maxspeed=20/30 roads are unlikely to have separate cycleways.

@westnordost
Copy link
Member Author

Nothing fits "road oneway for vehicles, not oneway for bicycles, no separate lane" normally tagged cycleway=opposite.

Hmm because this is not really what this quest asks for. It asks for cycleways, not whether a oneway-road is not oneway for bicycles.

@westnordost
Copy link
Member Author

Nothing fits for "road oneway for vehicles, not oneway for bicycles, separate bicycle contraflow lane" - cycle lane option is displaying both general purpose lane (that may not exist in one direction) and cyclist lane.

In that case, you are supposed to select simply what you see. I.e. you stand at the entrance of a oneway road and you see a cycleway lane on the left side (contraflow), you simply select "lane" for the left side (seen from your point of view) and "nothing" for right side. The quest automatically detects that this is indeed a contraflow-lane and tags it appropriately (oneway:bicycle=no, cycleway:left=lane, cycleway:left:oneway=-1).
See AddCyclewayTest.java

@westnordost
Copy link
Member Author

Open quest, rotate phone - question marks on unanswered parts are disappering (may affect also other parts of interface).

BUG

@westnordost
Copy link
Member Author

Would it be a good idea to have option to quickly select "no, there is no cycling infrastructure of any kind here"? Currently it requires tapping one direction, selecting none, tapping second direction, selecting none, selecting OK.

Hmm, I think it is fast enough as it is. It is basically 4 clicks vs. 2 clicks in that case.
I initially had a click-area in the middle of that street, when clicked, it would set both the left and the right side to the selected cycleway. But it was not self-explanatory enough and also too small to well distinguish from the other click areas.

@matkoniecz
Copy link
Member

you simply select "lane" for the left side (seen from your point of view) and "nothing" for right side

It was not obvious for me that 1) it is OK to leave empty part of answer 2) app will be smart enough to recognize it as contraflow.

@westnordost
Copy link
Member Author

No, it is not OK to leave a part empty. "Nothing" is an option in the dialog. It says "No cycleway" or "none" or something in English.

app will be smart enough to recognize it as contraflow.

You have no faith in me ;.-(

@matkoniecz
Copy link
Member

matkoniecz commented Nov 2, 2017

Nothing fits "road oneway for vehicles, not oneway for bicycles, no separate lane" normally tagged cycleway=opposite.

Hmm because this is not really what this quest asks for. It asks for cycleways, not whether a oneway-road is not oneway for bicycles.

So app should add cycleway:both=none? Note that correct answer for explicitly marked contraflow without its own lane is cycleway:right=none, cycleway:left=opposite (or cycleway=opposite).

@matkoniecz
Copy link
Member

No, it is not OK to leave a part empty. "Nothing" is an option in the dialog. It says "No cycleway" or "none" or something in English.

So to tag "lane in one direction for everybody, contraflow lane in opposite direction" (cycleway=opposite_lane) one should select "cycle lane" option and "none" option?

This results in interface displaying road with bicycle lane in one direction and general-purpose lanes in both directions. App will add correct information but user is unaware about that.

There should be way to achieve situation where app displays only cycleway lane in one direction and only general-purpose lane in other direction.

@westnordost
Copy link
Member Author

westnordost commented Nov 2, 2017

So app should add cycleway:both=none? Note that correct answer is cycleway:right=none, cycleway:left=opposite (or cycleway=opposite).

The app does not use the opposite-tagging, there is an alternative way to tag it, namely oneway:bicycle=no.
I created a forum discussion about that recently. Sadly, it's in the German forum. Perhaps you want to use Google Translate if you are interested: https://forum.openstreetmap.org/viewtopic.php?id=59810

Only OSM experts would know that when thinking in tags, "a oneway road without cycleways but where cyclists can go in both directions" would be some kind of "cycleway".

@westnordost
Copy link
Member Author

westnordost commented Nov 2, 2017

So to tag "lane in one direction for everybody, contraflow lane in opposite direction" (cycleway=opposite_lane) one should select "cycle lane" option and "none" option?

You mean there are cycleway lanes on both sides? Then, select both lane for left and for right. Just select what you see, do not worry about contraflow.
Or what do you mean with general-purpose lane? Explicitly shared lane with cars aka sharrows? Then select that.

@matkoniecz
Copy link
Member

So to tag "lane in one direction for everybody, contraflow lane in opposite direction" (cycleway=opposite_lane) one should select "cycle lane" option and "none" option?

You mean there are cycleway lanes on both sides? Then, select both lane for left and for right. Just select what you see, do not worry about contraflow.

No, there is only contraflow lane. Typical in Poland.

800px-kontrapas_poznan_ul_wroniecka

@matkoniecz
Copy link
Member

matkoniecz commented Nov 2, 2017

Only OSM experts would know that when thinking in tags, "a oneway road without cycleways but where cyclists can go in both directions" would be some kind of "cycleway".

Also for roads with explicit markings? Like in this case (especially as this symbol already appears as one of possibilities)

images duckduckgo com

This is a second typical way of introducing contraflow in Poland.

@westnordost
Copy link
Member Author

first picture

right: cycleway lane
left: no cycleway

second picture

right: explicit shared lane
left: no cycleway

@matkoniecz
Copy link
Member

first picture

right: cycleway lane
left: no cycleway

This results in interface displaying road with bicycle lane in one direction and general-purpose lanes in both directions. App will add correct information but user is unaware about that.

second picture

right: explicit shared lane
left: no cycleway

"explicit shared lane" is named "lane shared explicitly with other traffic" despite that only bicycles are allowed in that direction.

Potential solutions:

add option "only cycle lane" (synonymous during edit to "cycle lane" but displayed differently in app, to avoid confusing users by showing general-purpose lanes in both directions for cases like first picture).

Rename "lane shared explicitly with other traffic" to "bicycles explicitly allowed without separate lane" to cover also cases like second picture.

@matkoniecz
Copy link
Member

matkoniecz commented Nov 2, 2017

The app does not use the opposite-tagging, there is an alternative way to tag it, namely oneway:bicycle=no.

I created a forum discussion about that recently. Sadly, it's in the German forum. Perhaps you want to use Google Translate if you are interested: https://forum.openstreetmap.org/viewtopic.php?id=59810

AFAIK oneway:bicycle=no should be tagged in addition to cycleway/cycleway:both/cycleway:left/cycleway:right tags (and maybe it should be tagged for some answers in this quest). Unfortunately google translate and my German are not good enough to usefully participate in this discussion.

@westnordost
Copy link
Member Author

westnordost commented Nov 2, 2017

Ah now I get it. The picture always shows a normal road next to the selected cycleway. You are suggesting that this can lead to misunderstandings for oneway-roads where there is usually only one lane

I guess a solution would be to have different pictures for when it is a oneway road perhaps? On the other hand, if the road has many more than 2 lanes, the pictures also do not change.

@westnordost
Copy link
Member Author

Or, remove the center marking from the picture, so it is undefined how many lanes there are on the road, it is just a dark-gray surface.

@matkoniecz
Copy link
Member

matkoniecz commented Nov 2, 2017

I guess a solution would be to have different pictures for when it is a oneway road perhaps?

That may be a better solution than ideas from #671 (comment)

Probably the best way to check is it necessary is to ask whatever others also would be confused (for example "if the road has many more than 2 lanes, the pictures also do not change" is not confusing for me).

Or, remove the center marking from the picture, so it is undefined how many lanes there are on the road, it is just a dark-gray surface.

O! I think that it would work, at least for me.

return overpassServer.getAndHandleQuota(getOverpassQuery(bbox), handler);
}

/** @return overpass query string to get streets without cycleway info not near paths roads that don't have names */
Copy link
Member

Choose a reason for hiding this comment

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

overpass query string to get streets without cycleway info not near paths roads that don't have names

is quite confusing, especially "roads that don't have names" given that there is no filtering by name that I see.

@westnordost
Copy link
Member Author

@matkoniecz would you look again and see if it is better now in your opinion?

# Conflicts:
#	app/build.gradle
#	app/src/main/java/de/westnordost/streetcomplete/tangram/MapFragment.java
#	app/src/main/res/values/strings.xml
# Conflicts:
#	app/src/main/res/values/strings.xml
@westnordost westnordost merged commit 9612337 into master Nov 4, 2017
@westnordost westnordost deleted the cycleways branch November 4, 2017 18:15
@rugk rugk mentioned this pull request Nov 5, 2017
@matkoniecz
Copy link
Member

It is basically 4 clicks vs. 2 clicks in that case.

For me it was still irritating enough that I made a separate quest with higher priority that asks whatever there is any cycling infrastructure.

At least in my city in overwhelming majority of cases I answer cycleway=no.

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.

2 participants