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

Lane icons need to handle more lane configurations #576

Closed
3 tasks done
1ec5 opened this issue Sep 1, 2017 · 10 comments · Fixed by #1910
Closed
3 tasks done

Lane icons need to handle more lane configurations #576

1ec5 opened this issue Sep 1, 2017 · 10 comments · Fixed by #1910
Assignees
Labels
Milestone

Comments

@1ec5
Copy link
Contributor

1ec5 commented Sep 1, 2017

LaneArrowView.draw(_:) omits some common lane indication scenarios, which means we probably give misleading information in those cases:

  • Three indications on a single lane — There are hundreds of ways in OpenStreetMap that contain left;through;right in the turn:lanes tag, which maps to a LaneIndication of [.left, .straight, .right] in MapboxDirections.swift (example). There are also reverse;left;through lanes in some places.
  • U-turn lanes — There are hundreds of ways that contain reverse;left, which maps to [.uTurn, .left]. For any step that requires a U-turn, this becomes relevant for situations like reverse;left|left, when a lane that allows U-turns and left turns is next to a lane that allows only left turns – the driver needs to get into the leftmost lane, not the two left lanes.
  • Left-right turn lanes — There are thousands of ways that contain left;right, which maps to [.left, .right] (example; open iD to see the pavement marking). This is especially common at a T-intersection or where a road becomes a one-way road.


The U.S. signs above are based on the following standard:

http://mutcd.fhwa.dot.gov/SHSe/Regulatory.pdf#page=29
http://mutcd.fhwa.dot.gov/SHSe/Regulatory.pdf#page=62

Commons has plenty of SVGs of U.S. and European lane control signs that we can repurpose for this UI:

https://commons.wikimedia.org/wiki/Category:Lane_turning_road_signs
https://commons.wikimedia.org/wiki/Category:Mandatory_direction_road_signs
https://commons.wikimedia.org/wiki/Category:R3-6_-_Optional_Movement_Lane_Control
https://commons.wikimedia.org/wiki/Category:R3-18_-_No_Left_or_U_turn

/cc @bsudekum @mayagao @frederoni @daniel-j-h @danesfeder @ericrwolfe

@1ec5
Copy link
Contributor Author

1ec5 commented Jan 27, 2018

@bhousel made a bunch of scalable vector turn lane icons that closely match the style we’re using: openstreetmap/lane-icons#1.

@bhousel
Copy link

bhousel commented Jan 28, 2018

@bhousel made a bunch of scalable vector turn lane icons that closely match the style we’re using: openstreetmap/lane-icons#1.

Disclaimer: I haven't actually made them yet :) I do have an illustrator file sitting somewhere. Ballpark estimate, what kind of resolution would you show them at? We realized that we'd need to design very different icons for tiny and large sizes (arrowheads are complicated).

@1ec5
Copy link
Contributor Author

1ec5 commented Jan 31, 2018

30 points × 30 points:

let view = LaneView(frame: CGRect(origin: .zero, size: CGSize(width: 30, height: 30)))

Note that we designed the lane arrow icons in PaintCode and exported them as Swift code (on iOS; Java code on Android). PaintCode can import SVG, but mainly I mentioned openstreetmap/lane-icons#1 to provide a sense of the combinations that are required.

@1ec5
Copy link
Contributor Author

1ec5 commented Feb 5, 2018

Tracking the actual artwork in mapbox/navigation-ui-resources#8.

@stale
Copy link

stale bot commented Jul 20, 2020

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the archived Archived issue. label Jul 20, 2020
@1ec5
Copy link
Contributor Author

1ec5 commented Aug 5, 2020

Still blocked upstream.

@stale stale bot removed the archived Archived issue. label Aug 5, 2020
@zugaldia zugaldia added blocked Blocked by dependency or unclarity. and removed blocked: upstream labels Sep 4, 2020
@stale
Copy link

stale bot commented Mar 10, 2021

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the archived Archived issue. label Mar 10, 2021
@1ec5 1ec5 removed the blocked Blocked by dependency or unclarity. label Mar 23, 2021
@1ec5
Copy link
Contributor Author

1ec5 commented Mar 23, 2021

No longer blocked as of mapbox/navigation-ui-resources#21.

@stale stale bot removed the archived Archived issue. label Mar 23, 2021
@1ec5 1ec5 added this to the v2.0.0 (GA) milestone Mar 23, 2021
@1ec5
Copy link
Contributor Author

1ec5 commented Mar 23, 2021

#2801 tracks selecting the turn lane icon with less guessing; that change would have a much greater impact if we can support the common configurations listed in #576 (comment). mapbox/navigation-ui-resources#21 adds these and several somewhat less common configurations. In order to support any of the new assets, a new StyleKit will need to be exported from PaintCode and the calls to it in LaneView will need to be updated.

@1ec5 1ec5 removed the low priority label Mar 23, 2021
@1ec5 1ec5 self-assigned this Mar 23, 2021
@truburt truburt added wip and removed wip labels Apr 2, 2021
@1ec5
Copy link
Contributor Author

1ec5 commented Apr 6, 2021

Fixed in #2882 on the release-v2.0 branch for v2.0.0.

@1ec5 1ec5 closed this as completed Apr 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants