osmandapp / OsmAnd

OsmAnd
https://osmand.net
Other
4.63k stars 1.01k forks source link

Map icon: Incorrect direction for turning circle in LHT countries #6932

Open StenSoft opened 5 years ago

StenSoft commented 5 years ago

Turning circles in left-hand traffic countries (tested in New Zealand) show incorrect direction (counterclockwise) on the icon.

sonora commented 5 years ago

What's your setting under Settings / General settings / Driving region?

StenSoft commented 5 years ago

Automatic. It remains the same even if I change it to Australia or if I change system locale to English (New Zealand).

sonora commented 5 years ago

Yes, Automatic should work ok. I just see, you are only talking about the icons on the map, not the navigation instructions, navigation turn arrows, etc, those are ok?

StenSoft commented 5 years ago

Yes, I mean the icon on the map. I don't think OsmAnd actually takes into account turning circles during navigation, at least I don't remember it asking me to turn on one, but for everything else, it navigates correctly

vshcherb commented 5 years ago

Could you please specify which icon on the map? I've thought it applies only to widget on the left and it takes into account setting which is mentioned.

StenSoft commented 5 years ago

It's the icon for turning circles and for mini roundabouts. All of these should be clockwise: Screenshot_20190612-192851

InsertUser commented 5 years ago

This is also happening on UK maps.

I think the bigger issue is for mini-roundabouts which use the same symbol. If it isn't possible to make them 'handed' based on driving direction a solution may be to adopt openstreetmap carto's approach and use a ambidextrous "⨀" symbol for these, although I do like that the current symbol is closer to the mini-roundabout sign. sign symbol

goldfndr commented 4 years ago

The changes to obf_creation/rendering_types.xml in this issue's commit appear to have disabled turning circle rendering in the USA (at least Washington State), presumably elsewhere too. (I remember seeing them in the past for a while.) I suggest trying reverting the turning_loop and turning_circle line changes and moving the lhn detection line to after them. In other words, something like:

+       <entity_convert pattern="tag_transform" from_tag="highway" from_value="turning_loop" to_tag1="highway" to_value1="mini_roundabout" routing="no"/>
+       <entity_convert pattern="tag_transform" from_tag="highway" from_value="turning_circle" to_tag1="highway" to_value1="mini_roundabout" routing="no"/>
        <entity_convert pattern="tag_transform" from_tag="highway" from_value="mini_roundabout" if_region_name="$cyprus,$malta,$gb,$ireland,$bangladesh,$bhutan,$india,$maldives,$nepal,$pakistan,$sri-lanka,$brunei,$east-timor,$hong-kong,$indonesia,$japan,$macao,$malaysia,$singapore,$thailand,$botswana,$kenya,$lesotho,$mauritius,$mozambique,$namibia,$seychelles,$south-africa,$swaziland,$tanzania,$uganda,$zambia,$zimbabwe,$guyana,$suriname,$antigua-and-barbuda,$bahamas,$barbados,$jamaica,$australia-oceania" to_tag1="highway" to_value1="mini_roundabout" to_tag2="lhn" to_value2="yes" notosm="true"/>
-       <entity_convert pattern="tag_transform" from_tag="highway" from_value="turning_loop" if_region_name="$cyprus,$malta,$gb,$ireland,$bangladesh,$bhutan,$india,$maldives,$nepal,$pakistan,$sri-lanka,$brunei,$east-timor,$hong-kong,$indonesia,$japan,$macao,$malaysia,$singapore,$thailand,$botswana,$kenya,$lesotho,$mauritius,$mozambique,$namibia,$seychelles,$south-africa,$swaziland,$tanzania,$uganda,$zambia,$zimbabwe,$guyana,$suriname,$antigua-and-barbuda,$bahamas,$barbados,$jamaica,$australia-oceania" to_tag1="highway" to_value1="mini_roundabout" to_tag2="lhn" to_value2="yes" notosm="true"/>
-       <entity_convert pattern="tag_transform" from_tag="highway" from_value="turning_circle" if_region_name="$cyprus,$malta,$gb,$ireland,$bangladesh,$bhutan,$india,$maldives,$nepal,$pakistan,$sri-lanka,$brunei,$east-timor,$hong-kong,$indonesia,$japan,$macao,$malaysia,$singapore,$thailand,$botswana,$kenya,$lesotho,$mauritius,$mozambique,$namibia,$seychelles,$south-africa,$swaziland,$tanzania,$uganda,$zambia,$zimbabwe,$guyana,$suriname,$antigua-and-barbuda,$bahamas,$barbados,$jamaica,$australia-oceania" to_tag1="highway" to_value1="mini_roundabout" to_tag2="lhn" to_value2="yes" notosm="true"/>

Assuming that every tag transform is checked in linear fashion, the effect should be that the mini_roundabout checking for lhn vs not lhn countries works after the turning_loop and turning_circle values are transformed to the mini_roundabout value. (But I'll confess that I haven't tested it.)

vshcherb commented 4 years ago

Yes the order for changes is linear