Betrachte 14 Beiträge - 1 bis 14 (von insgesamt 14)
  • Autor
    Beiträge
  • #41540
    Avatar-FotoJohnPercy
    Teilnehmer

    If I look at Abington Street, Northampton, UK – https://www.openstreetmap.org/way/27016403 – on Elevate or Voluntary themes, the arrows for contraflow cycle access are correctly shown but not the indication of opposite lane.
    We are both testing for: k=“cycleway_lane“ v=“cw_lane_oneway_rev“ (or at least I think we are). Is it possible that transform has been rendered inactive by a previous one in the sequence of operations?

    Voluntary and Velocity themes - https://voluntary.nichesite.org

    #41548
    Avatar-FotoChristianK
    Administrator

    Hi John,

    The final way is tagged:

    <way id="27016403" version="1" timestamp="1970-01-01T00:59:59Z" changeset="1">
    		<nd ref="710343419"/>
    		<nd ref="1484559422"/>
    		<nd ref="1484559379"/>
    		<nd ref="781309576"/>
    		<nd ref="3807697628"/>
    		<nd ref="1484559373"/>
    		<nd ref="300087380"/>
    		<nd ref="1484559410"/>
    		<nd ref="1484559392"/>
    		<nd ref="296135045"/>
    		<tag k="name" v="Abington St"/>
    		<tag k="highway" v="residential"/>
    		<tag k="abbr_highway" v="done"/>
    		<tag k="cycleway" v="opposite_lane"/>
    		<tag k="oneway" v="yes"/>
    		<tag k="oneway:bicycle" v="ow_bic_no"/>
    	</way>

    This is correct according to TagTransform:

    	<translation>
    		<name>unify oneway:bicycle=no and transfor to oneway:bicycle=ow_bic_no</name>
    		<description>unify oneway:bicycle=no</description>
    		<match type="way" mode="and">
    			<match mode="or" type="way">
    				<tag k="oneway" v="yes"/>
    			</match>	
    			<match mode="or" type="way">
    				<tag k="cycleway" v="opposite"/>
    				<tag k="cycleway" v="opposite_track"/>
    				<tag k="cycleway" v="opposite_lane"/>
    				<tag k="cycleway(:left|:right)" v="opposite_track"/>
    				<tag k="cycleway(:left|:right)" v="opposite_lane"/>
    				<tag k="oneway:bicycle" v="no"/>
    			</match>
    		</match>			
    		<output>
    			<copy-all/>
    			<tag k="oneway:bicycle" v="ow_bic_no"/>
    		</output>
    	</translation>	

    It indicates that the hghway is oneway but cyclists can pass in both directions.
    I have’nt implemented rules indicaticating an which side of the road cyclists can pass.
    i this case cyclists can pass on left on a lane counterdirect to the oneway and on the road in derection of the oneway. (only to be seen on satelit images)
    For me it does’nt make sense to go deeper in this cause the number of combinations is endless and the rendering IMO different in countrys with right|left_hand drive.

    Best regards
    Christian

    #41552
    Avatar-FotoJohnPercy
    Teilnehmer

    That all makes a lot of sense. Attempting to deal with both left and right hand rules of the road is difficult.
    However, I was also looking at the rules further on:

    <translation>
    <name>cycleway lanes oneway</name>
    <description>cycleway lanes oneway</description>
    <match mode="and" type="way">
    <tag k="cycleway" v="lane"/>
    <tag k="oneway" v="yes"/>
    </match>
    <notag k="oneway:bicycle" v="ow_bic_no"/>
    <output>
    <copy-all/>
    <tag k="cycleway" v="dummy"/>
    <tag k="cycleway_lane" v="cw_lane_oneway"/>
    </output>
    </translation>
    <translation>
    <name>cycleway tracks oneway</name>
    <description>cycleway tracks oneway</description>
    <match mode="and" type="way">
    <tag k="cycleway" v="track"/>
    <tag k="oneway" v="yes"/>
    </match>
    <notag k="oneway:bicycle" v="ow_bic_no"/>
    <output>
    <copy-all/>
    <tag k="cycleway" v="dummy"/>
    <tag k="cycleway_track" v="cw_track_oneway"/>
    </output>
    </translation>
    <translation>
    <name>cycleway lanes oneway</name>
    <description>cycleway lanes oneway</description>
    <match mode="and" type="way">
    <tag k="cycleway" v="lane"/>
    <tag k="oneway" v="-1"/>
    </match>
    <notag k="oneway:bicycle" v="ow_bic_no"/>
    <output>
    <copy-all/>
    <tag k="cycleway" v="dummy"/>
    <tag k="cycleway_lane" v="cw_lane_oneway_rev"/>
    </output>
    </translation>
    <translation>
    <name>cycleway tracks oneway</name>
    <description>cycleway tracks oneway</description>
    <match mode="and" type="way">
    <tag k="cycleway" v="track"/>
    <tag k="oneway" v="-1"/>
    </match>
    <notag k="oneway:bicycle" v="ow_bic_no"/>
    <output>
    <copy-all/>
    <tag k="cycleway" v="dummy"/>
    <tag k="cycleway_track" v="cw_track_oneway_rev"/>
    </output>
    </translation>

    What you are saying appears to mean that the rules generating tags governing lanes and tracks on oneway streets, such as
    k="cycleway_track" v="cw_track_oneway_rev"
    don’t get implemented. Is that right?
    If that is intentional, I’m happy! I’ll stop testing for those tags.

    Voluntary and Velocity themes - https://voluntary.nichesite.org

    #41592
    Avatar-FotoChristianK
    Administrator

    cw_track_oneway_rev

    This tag is included in TagMapping and handled according to these rukes.
    Well, I dont know how we came/agreed to these rukes ?? sorry 🙁
    However, this can be changed…

    	<translation>
    		<name>cycleway lanes oneway</name>
    		<description>cycleway lanes oneway</description>
    		<match mode="and" type="way">
    			<tag k="cycleway" v="lane"/>
    			<tag k="oneway" v="-1"/>
    		</match>			
    		<notag k="oneway:bicycle" v="ow_bic_no"/>
    		<output>
    			<copy-all/>
    			<tag k="cycleway" v="dummy"/>
    			<tag k="cycleway_lane" v="cw_lane_oneway_rev"/>
    		</output>
    	</translation>	
    
    	<translation>
    		<name>cycleway tracks oneway</name>
    		<description>cycleway tracks oneway</description>
    		<match mode="and" type="way">
    			<tag k="cycleway" v="track"/>
    			<tag k="oneway" v="-1"/>
    		</match>			
    		<notag k="oneway:bicycle" v="ow_bic_no"/>
    		<output>
    			<copy-all/>
    			<tag k="cycleway" v="dummy"/>	
    			<tag k="cycleway_track" v="cw_track_oneway_rev"/>
    		</output>
    	</translation>	

    So it depends on tag k=“oneway“ v=“-1″ – haeven knows why 😉

    #41597
    Avatar-FotoJohnPercy
    Teilnehmer

    OK, looking at it again, I realise the tagging doesn’t mean what I thought it did, either when we first discussed it or just now! The oneway=-1 doesn’t mean the cycle lane or track is opposite to the traffic flow, but that the traffic flow (both cars and bikes) is opposite to the direction the way was drawn in OSM. It has nothing to do with contraflow.
    Regarding the original mapping in OSM, one presumes it would normally be simpler to reverse the direction of the way and apply a normal oneway tag but OSM allows you to leave the way unchanged and alter the direction of the oneway!
    Anyway, what I think this means is that your „unifying“ section you quote earlier should include both oneway=“yes“ and oneway=“-1″.
    I think the section on the tracks and lanes in one-way streets I quoted earlier will then be bypassed by the „notag“ lines if there is bike contraflow and simply allows the renderer to put the track/lane on one side of the road, according to the normal traffic flow. It should avoid drawing cycle lanes/tracks on both sides of a one-way street, or of a single carriageway of a dual carriageway. The whole of that section I quoted needs to remain to allow that.
    However I accept it may be simplest to drop any attempt to interpret which side the track/lane is on in a one-way street unless it is explicitly mapped as left or right.

    Voluntary and Velocity themes - https://voluntary.nichesite.org

    #41646
    Avatar-FotoJohnPercy
    Teilnehmer

    To summarize:
    1. The section Christian quoted that unifies contra flow cycle lanes etc needs to include oneway=-1 as well as oneway=yes, everything else staying the same
    2. The section I quoted which deals with cycle lanes and tracks in one way streets is fine as it stands but requires assumptions in the theme as to which side of the road the cycle lane or track is in a one-way street. (My guess: on the left in UK, on the right most other places.) Tobias assumes the right hand side in Elevate, which looks of for me here in the UK. I suggest you leave it as it is but I will probably show the cycle lane/track on both sides of the street in my theme.

    Voluntary and Velocity themes - https://voluntary.nichesite.org

    1 Teilnehmer(n) gefällt dieser Beitrag
    #41702
    Avatar-FotoChristianK
    Administrator

    „unifying“ section you quote earlier should include both oneway=“yes“ and oneway=“-1″.

    OK, for the 02/21 update I set this in TT, please check in brief if the rendering ist OK.
    I really hope that it doesnt criple Elevate Theme of @Tobias

    1 Teilnehmer(n) gefällt dieser Beitrag
    #41710
    Avatar-FotoTobias
    Administrator

    OK, for the 02/21 update I set this in TT, please check in brief if the rendering ist OK.
    I really hope that it doesnt criple Elevate Theme of @tobias

    In Elevate oneway=-1 is rendered with the oneway arrow in reverse. I think it’s been like this in mapsforge themes since forever.
    I don’t really get what the changes now are – too much back and forth here – could someone enlighten me?

    Developer of Elevate mapstyle

    #41712
    Avatar-FotoJohnPercy
    Teilnehmer

    The only change is to unify tags for contraflow cycling where oneway=-1 in the same way as it is already handled when oneway=yes. I suspect it will simply mean a few more contraflow cycling streets are identified and there are no changes needed in Elevate.

    Voluntary and Velocity themes - https://voluntary.nichesite.org

    #41714
    Avatar-FotoTobias
    Administrator

    Thanks, but this way we got it twice:

    	<translation>
    		<name>cycleway lanes oneway</name>
    		<description>cycleway lanes oneway</description>
    		<match mode="and" type="way">
    			<tag k="cycleway" v="lane"/>
    			<tag k="oneway" v="yes"/>
    		</match>			
    		<notag k="oneway:bicycle" v="ow_bic_no"/>
    		<output>
    			<copy-all/>
    			<tag k="cycleway" v="dummy"/>
    			<tag k="cycleway_lane" v="cw_lane_oneway"/>
    		</output>
    	</translation>	
    
    	<translation>
    		<name>cycleway tracks oneway</name>
    		<description>cycleway tracks oneway</description>
    		<match mode="and" type="way">
    			<tag k="cycleway" v="track"/>
    			<tag k="oneway" v="yes"/>
    		</match>			
    		<notag k="oneway:bicycle" v="ow_bic_no"/>
    		<output>
    			<copy-all/>
    			<tag k="cycleway" v="dummy"/>			
    			<tag k="cycleway_track" v="cw_track_oneway"/>
    		</output>
    	</translation>	
    
    	<translation>
    		<name>cycleway lanes oneway</name>
    		<description>cycleway lanes oneway</description>
    		<match mode="and" type="way">
    			<tag k="cycleway" v="lane"/>
    			<tag k="oneway" v="-1|yes"/>
    		</match>			
    		<notag k="oneway:bicycle" v="ow_bic_no"/>
    		<output>
    			<copy-all/>
    			<tag k="cycleway" v="dummy"/>
    			<tag k="cycleway_lane" v="cw_lane_oneway_rev"/>
    		</output>
    	</translation>	
    
    	<translation>
    		<name>cycleway tracks oneway</name>
    		<description>cycleway tracks oneway</description>
    		<match mode="and" type="way">
    			<tag k="cycleway" v="track"/>
    			<tag k="oneway" v="-1|yes"/>
    		</match>			
    		<notag k="oneway:bicycle" v="ow_bic_no"/>
    		<output>
    			<copy-all/>
    			<tag k="cycleway" v="dummy"/>	
    			<tag k="cycleway_track" v="cw_track_oneway_rev"/>
    		</output>
    	</translation>	

    Developer of Elevate mapstyle

    #41717
    Avatar-FotoJohnPercy
    Teilnehmer

    Sorry, I want clear enough in my posts. What I had meant was that the „unifying“section

    <translation>
    <name>unify oneway:bicycle=no and transfor to oneway:bicycle=ow_bic_no</name>
    <description>unify oneway:bicycle=no</description>
    <match type="way" mode="and">
    <match mode="or" type="way">
    <tag k="oneway" v="yes"/>
    </match>	
    <match mode="or" type="way">
    <tag k="cycleway" v="opposite"/>
    <tag k="cycleway" v="opposite_track"/>
    <tag k="cycleway" v="opposite_lane"/>
    <tag k="cycleway(:left|:right)" v="opposite_track"/>
    <tag k="cycleway(:left|:right)" v="opposite_lane"/>
    <tag k="oneway:bicycle" v="no"/>
    </match>
    </match>			
    <output>
    <copy-all/>
    <tag k="oneway:bicycle" v="ow_bic_no"/>
    </output>
    </translation>	

    should change to

    <translation>
    <name>unify oneway:bicycle=no and transfor to oneway:bicycle=ow_bic_no</name>
    <description>unify oneway:bicycle=no</description>
    <match type="way" mode="and">
    <match mode="or" type="way">
    <tag k="oneway" v="yes|-1"/>
    </match>	
    <match mode="or" type="way">
    <tag k="cycleway" v="opposite"/>
    <tag k="cycleway" v="opposite_track"/>
    <tag k="cycleway" v="opposite_lane"/>
    <tag k="cycleway(:left|:right)" v="opposite_track"/>
    <tag k="cycleway(:left|:right)" v="opposite_lane"/>
    <tag k="oneway:bicycle" v="no"/>
    </match>
    </match>			
    <output>
    <copy-all/>
    <tag k="oneway:bicycle" v="ow_bic_no"/>
    </output>
    </translation>	

    If that is the correct syntax (<tag k=“oneway“ v=“yes|-1″/>). I was uncertain of the syntax so I didn’t attempt to give the code.
    The later section which has nothing to do with bike contraflow should remain as it was before:

    <translation>
    <name>cycleway lanes oneway</name>
    <description>cycleway lanes oneway</description>
    <match mode="and" type="way">
    <tag k="cycleway" v="lane"/>
    <tag k="oneway" v="yes"/>
    </match>
    <notag k="oneway:bicycle" v="ow_bic_no"/>
    <output>
    <copy-all/>
    <tag k="cycleway" v="dummy"/>
    <tag k="cycleway_lane" v="cw_lane_oneway"/>
    </output>
    </translation>
    <translation>
    <name>cycleway tracks oneway</name>
    <description>cycleway tracks oneway</description>
    <match mode="and" type="way">
    <tag k="cycleway" v="track"/>
    <tag k="oneway" v="yes"/>
    </match>
    <notag k="oneway:bicycle" v="ow_bic_no"/>
    <output>
    <copy-all/>
    <tag k="cycleway" v="dummy"/>
    <tag k="cycleway_track" v="cw_track_oneway"/>
    </output>
    </translation>
    <translation>
    <name>cycleway lanes oneway</name>
    <description>cycleway lanes oneway</description>
    <match mode="and" type="way">
    <tag k="cycleway" v="lane"/>
    <tag k="oneway" v="-1"/>
    </match>
    <notag k="oneway:bicycle" v="ow_bic_no"/>
    <output>
    <copy-all/>
    <tag k="cycleway" v="dummy"/>
    <tag k="cycleway_lane" v="cw_lane_oneway_rev"/>
    </output>
    </translation>
    <translation>
    <name>cycleway tracks oneway</name>
    <description>cycleway tracks oneway</description>
    <match mode="and" type="way">
    <tag k="cycleway" v="track"/>
    <tag k="oneway" v="-1"/>
    </match>
    <notag k="oneway:bicycle" v="ow_bic_no"/>
    <output>
    <copy-all/>
    <tag k="cycleway" v="dummy"/>
    <tag k="cycleway_track" v="cw_track_oneway_rev"/>
    </output>
    </translation>

    Voluntary and Velocity themes - https://voluntary.nichesite.org

    2 users thanked author for this post.
    #41753
    Avatar-FotoTobias
    Administrator

    Yes, that makes more sense. It’s a topic for headaches and confusion anyway 😉
    So just the one change: <tag k="oneway" v="yes"/> to <tag k="oneway" v="yes|-1"/>

    Developer of Elevate mapstyle

    2 users thanked author for this post.
    #41755
    Avatar-FotoJohnPercy
    Teilnehmer

    That’s it. Thanks.

    Voluntary and Velocity themes - https://voluntary.nichesite.org

    #41762
    Avatar-FotoChristianK
    Administrator

    OK, I will re_render UK for testing end of next week.

    1 Teilnehmer(n) gefällt dieser Beitrag
Betrachte 14 Beiträge - 1 bis 14 (von insgesamt 14)
  • Sie müssen angemeldet sein, um zu diesem Thema eine Antwort verfassen zu können.