<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Hi Felix,<br><br>when mkgmap finds the tag oneway=-1 or oneway=reverse<br>the points of the way are reversed and the tag is changed to oneway=yes.<br>This happens after style processing and is done with a copy of the original way<br>if the style used continue.<br>So, if you use continue in your style you should see the way with unchanged tags<br>and unchanged order of points.<br><br>Do you think that it works in a different way?<br><br>Gerd<br><br><div><hr id="stopSpelling">Date: Wed, 30 Apr 2014 12:48:35 +0200<br>From: extremecarver@gmail.com<br>To: mkgmap-dev@lists.mkgmap.org.uk<br>Subject: Re: [mkgmap-dev] [patch v3] reverse oneways<br><br>
  
    
  
  
    oh - could you please read through points 1.3 lower down.<br>
    <br>
    Even though the reversing now is clear, I don't understand what
    happens to the tags!!!!<br>
    <div class="ecxmoz-cite-prefix">On 30.04.2014 12:46, Gerd Petermann
      wrote:<br>
    </div>
    <blockquote cite="mid:DUB112-W53BA70AFAC55EA7A2672039E410@phx.gbl">
      <style><!--
.ExternalClass .ecxhmmessage P {
padding:0px;
}

.ExternalClass body.ecxhmmessage {
font-size:12pt;
font-family:Calibri;
}

--></style>
      <div dir="ltr">Hi Felix,<br>
        <br>
        no, since 1272 routable ways with tag oneway=-1 or
        oneway=reverse <br>
        were reversed after style processing.<br>
        Note that these old versions also may have used<br>
        one instance of the way, so maybe with your style<br>
        the reversing was done multiple times.<br>
        <br>
        Anyway, as you said the behaviour with the patch<br>
        is much more predictable.<br>
        I'll check if I have to modify the code for<br>
        the restriction relations as well.<br>
        <br>
        Gerd<br>
        <br>
        <div>
          <hr id="ecxstopSpelling">Date: Wed, 30 Apr 2014 12:30:53 +0200<br>
          From: <a class="ecxmoz-txt-link-abbreviated" href="mailto:extremecarver@gmail.com">extremecarver@gmail.com</a><br>
          To: <a class="ecxmoz-txt-link-abbreviated" href="mailto:mkgmap-dev@lists.mkgmap.org.uk">mkgmap-dev@lists.mkgmap.org.uk</a><br>
          Subject: Re: [mkgmap-dev] [patch v3] reverse oneways<br>
          <br>
          <br>
          <div class="ecxmoz-cite-prefix">On 30.04.2014 12:13, Gerd
            Petermann wrote:<br>
          </div>
          <blockquote cite="mid:DUB112-W6A39665C53597006FA2A49E410@phx.gbl">
            <style><!--
.ExternalClass .ecxhmmessage P {
padding:0px;
}

.ExternalClass body.ecxhmmessage {
font-size:12pt;
font-family:Calibri;
}


--></style>
            <div dir="ltr">Hi Felix,<br>
              <br>
              <div>&gt; Well yes you can commit it as is. But please
                document somewhere (best in <br>
                &gt; the default style with an example how to cope with
                it). Is it only <br>
                &gt; oneway=-1 that's reversed by mkgmap? Or are there
                other tags?<br>
                <br>
                yes, oneway=-1 and oneway=reverse. I don't know why the
                2nd alternative<br>
                is needed, tagInfo doesn't show that oneway=reverse is
                used.<br>
                <br>
                &gt; I agree the new handling is better and easier to
                write a style for, <br>
                &gt; however the old handling was more straight forward
                logical because <br>
                &gt; mkgmap simply never reversed something... :-)<br>
                I can't confirm that. Routable ways with oneway=-1 or
                oneway=reverse<br>
                were reversed since r1272.<br>
              </div>
            </div>
          </blockquote>
          Yes - but before processing and the tags were kept intact.
          That's why I need a left pointing arrows for oneway=-1...<br>
          However if I now with the patch add oneway=-1 the way is
          actually turned around... - before there was no turning around
          once the style-file was read in...<br>
          <br>
          <br>
          <blockquote cite="mid:DUB112-W6A39665C53597006FA2A49E410@phx.gbl">
            <div dir="ltr">
              <div><br>
                &gt; <br>
                &gt; Is there a need to harmonize oneway values in
                style? (oneway=reverse, <br>
                &gt; oneway=opposite, oneway=yes, oneway=1,
                oneway=forward, oneway=backward, <br>
                &gt; oneway=true are all values that I've seen from time
                to time.). Are there <br>
                &gt; other tags like bicycle=oneway that will change
                something?<br>
                <br>
                mkgmap treats oneway=1 and oneway=true like oneway=yes,<br>
                oneway=-1 is treated like oneway=reverse. No other<br>
                values are recognized, so <br>
                oneway=forward and oneway=backward are ignored<br>
                and have to be handled in the style.<br>
                <br>
                bicycle=oneway is not handled by mkgmap, but<br>
                bicycle:oneway and oneway:bicycle are treated by the
                make-opposite-cycleways <br>
                option.<br>
                <br>
                There are still some other tags without prefix mkgmap:
                that<br>
                are interpreted, e.g. barrier=*, highway=*<br>
                Maybe this should be changed in the future.<br>
              </div>
            </div>
          </blockquote>
          Is it possible that there has been some changes regarding
          barrier in the last 6 months too? I think some of the handling
          changed as well..<br>
          <br>
          <br>
          <b>1. </b><b><br>
          </b><b> I hope that this now gets me the right result:</b><b><br>
          </b><b> ( copy=99 | copy=98 ) &amp; highway=* &amp;
            mtb:scale:uphill&gt;2 &amp; mtb:scale!=*&nbsp;&nbsp; {set
            mkgmap:unpaved=1}</b><b><br>
          </b><b> ( copy=99 | copy=98 )&amp; highway=* &amp;
            mtb:scale:uphill=5 &amp; mtb:scale=* &amp; mtb:scale!=5&nbsp;&nbsp;&nbsp;
            {add mkgmap:taxi=no; set dontadd=oneway}&nbsp;&nbsp;&nbsp; [0x10f0a
            resolution 21 continue with_actions]</b><b><br>
          </b><b> ( copy=99 | copy=98 )&amp; highway=* &amp;
            mtb:scale:uphill=4 &amp; mtb:scale=* &amp; mtb:scale!=5&nbsp;&nbsp;&nbsp;
            {add mkgmap:taxi=no; set dontadd=oneway}&nbsp;&nbsp;&nbsp; [0x10405
            resolution 21 continue with_actions]</b><b><br>
          </b><b> ( copy=99 | copy=98 )&amp; highway=* &amp;
            mtb:scale:uphill=3 &amp; mtb:scale=* &amp; mtb:scale!=5&nbsp;&nbsp;&nbsp;
            {add mkgmap:taxi=no; set dontadd=oneway}&nbsp;&nbsp;&nbsp; [0x10409
            resolution 21 continue with_actions]</b><b><br>
          </b><b> ( copy=199 | copy=198 ) &amp; highway=* &amp;
            mtb:scale:uphill=1 &amp; length()&gt;150 {add
            mkgmap:taxi=no; set dontadd=oneway}&nbsp;&nbsp;&nbsp; [0x10016 resolution
            21 continue with_actions]</b><b><br>
          </b><b> ( copy=99 | copy=98 )&amp; highway=* &amp;
            mtb:scale:uphill=2 &amp; mtb:scale=* &amp; mtb:scale!=5&nbsp;&nbsp;&nbsp;
            &nbsp;&amp; length()&gt;30 {add mkgmap:taxi=no; set
            dontadd=oneway}&nbsp;&nbsp;&nbsp; [0x10016 resolution 21 continue
            with_actions]</b><b><br>
          </b><b> ( copy=99 | copy=98 )&amp; highway=* &amp;
            mtb:scale:uphill=1 &amp; mtb:scale=* &amp; mtb:scale!=5&nbsp;&nbsp;&nbsp;
            &nbsp;&amp; length()&gt;60 {add mkgmap:taxi=no; set
            dontadd=oneway}&nbsp;&nbsp;&nbsp; [0x10016 resolution 21 continue
            with_actions]</b><b><br>
          </b><b> ( copy=99 | copy=98 )&amp; highway=* &amp;
            mtb:scale:uphill=5 &amp; mtb:scale!=* &amp; mtb:scale!=5&nbsp;&nbsp;&nbsp;
            {add mkgmap:taxi=no; set dontadd=oneway}&nbsp;&nbsp;&nbsp; [0x10f0a
            resolution 22 continue with_actions]</b><b><br>
          </b><b> ( copy=99 | copy=98 )&amp; highway=* &amp;
            mtb:scale:uphill=4 &amp; mtb:scale!=* &amp; mtb:scale!=5&nbsp;&nbsp;&nbsp;
            {add mkgmap:taxi=no; set dontadd=oneway}&nbsp;&nbsp;&nbsp; [0x10405
            resolution 22 continue with_actions]</b><b><br>
          </b><b> ( copy=99 | copy=98 )&amp; highway=* &amp;
            mtb:scale:uphill=3 &amp; mtb:scale!=* &amp; mtb:scale!=5&nbsp;&nbsp;&nbsp;
            {add mkgmap:taxi=no; set dontadd=oneway}&nbsp;&nbsp;&nbsp; [0x10409
            resolution 22 continue with_actions]</b><b><br>
          </b><b> ( copy=99 | copy=98 )&amp; highway=* &amp;
            mtb:scale:uphill=2 &amp; mtb:scale!=* &amp; mtb:scale!=5&nbsp;&nbsp;&nbsp;
            &nbsp;&amp; length()&gt;30 {add mkgmap:taxi=no; set
            dontadd=oneway}&nbsp;&nbsp;&nbsp; [0x10016 resolution 23 continue
            with_actions]</b><b><br>
          </b><b> --- copy=98 reversed the way actually - so I hope the
            arrows all point in the same direction now.</b><b><br>
          </b><b> However I'm still a bit perplexed what happens to
            oenway=-1 after it is passed in style. Is the following
            handling what mkgmap does, consider highway=path &amp;
            incline=up:</b><b><br>
          </b><b> </b><b><br>
          </b><b> highway=path &amp; incline=up {set oneway=-1} # Mkgmap
            now reverses the way, and </b><b><br>
          </b><b> sets oneway tag to a) yes b) leaves oneway tag at
            -1????</b><b><br>
          </b><b> </b><b><br>
          </b><b> I hope it does a). Everything else would be really
            strange. I hope I manage to adapt my styles to a). Because
            as with the copy tag, I often set additional tags myself -
            and of course mkgmap cannot change them...</b><b><br>
          </b><b> So I hope you see the logic here is really
            complicated. I'm actually still a bit lost on the outcome of
            what really happens.... (especially because we have 1. {}&nbsp;
            2. continue 3. continue with_actions</b><b><br>
          </b><b> </b><b><br>
          </b><b> So</b><b><br>
          </b><b> </b><b><br>
          </b><b> 2. </b><b><br>
          </b><b> dontadd=oneway &amp; highway=* &amp; copy=99&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
            &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {set oneway=-1; set
            mkgmap:toll=yes; add mkgmap:taxi=no; set mkgmap:unpaved=1;
            set mkgmap:set_unconnected_type=none}&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; [0x13
            road_class=0 road_speed=0 resolution 24 continue]</b><b><br>
          </b><b> dontadd=oneway &amp; highway=* &amp; copy=98&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
            &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {set oneway=yes; set
            mkgmap:toll=yes; add mkgmap:taxi=no; set mkgmap:unpaved=1;
            set mkgmap:set_unconnected_type=none}&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; [0x13
            road_class=0 road_speed=0 resolution 24 continue]</b><b><br>
          </b><b> Here I need to reverse the ways - I DO hope that
            because of continue and not continue with_actions - mkgmap
            is reversing the ways but further down the actual before
            direction is kept and also oneway=-1 is kept intact too, as
            continue should not have any implications on lines further
            down the style... (0x13 is invisble in my map, so here the
            focus is only on routing). This is actually for copy=99 the
            first reversal, while it's a reverse of the reverse for
            copy=98...</b><b><br>
          </b><b> </b><b><br>
          </b><b> 3. </b><b><br>
          </b><b> dontadd=oneway &amp; highway=* &amp; copy=99&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
            &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {set oneway=-1; set
            mkgmap:toll=yes; add mkgmap:taxi=no; set mkgmap:unpaved=1;
            set mkgmap:set_unconnected_type=none}&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; [0x13
            road_class=0 road_speed=0 resolution 24 continue
            with_actions] </b><b><br>
          </b><b> dontadd=oneway &amp; highway=* &amp; copy=98&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
            &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {set oneway=yes; set
            mkgmap:toll=yes; add mkgmap:taxi=no; set mkgmap:unpaved=1;
            set mkgmap:set_unconnected_type=none}&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; [0x13
            road_class=0 road_speed=0 resolution 24 continue
            with_actions]</b><b><br>
          </b><b> This is actually not from my style. I do hope mkgmap
            here reverses the way, and further down the style only
            oneway=yes is present as tag, and the reversed direction is
            kept. </b><br>
          <br>
          <br>
          <br>
          I have about 500 more lines in my code that are direction
          dependent. So I will experiment now and see if all works as
          expected... The old behaviour was more straight forward - the
          newer is ligher on the style and especially saves me lot of
          lines in my .typfile. That's why I like it and prefer it over
          the old way even though I don't understand it yet completly.
          From a logical point this big change (not the patch that just
          corrects a complete havoc mkgmap) is still a bit a mistery to
          me...<br>
          <br>
          <blockquote cite="mid:DUB112-W6A39665C53597006FA2A49E410@phx.gbl">
            <div dir="ltr">
              <div><br>
                Gerd<br>
                <br>
                &gt; (e.g.<br>
                &gt; highway=path; oneway:bicycle=-1<br>
                &gt; highway=residential, oneway=yes; bicycle:oneway=no<br>
                &gt; highway=residential; oneway=opposite # or any other
                of the strange above <br>
                &gt; values sometimes present in OSM<br>
                &gt; )<br>
                &gt; <br>
                &gt; <br>
                &gt; On 30.04.2014 11:51, GerdP wrote:<br>
                &gt; &gt; Hi Felix,<br>
                &gt; &gt;<br>
                &gt; &gt; ah, that sounds good :-)<br>
                &gt; &gt; Yes, the patch doesn't restore the old
                handling of oneways.<br>
                &gt; &gt;<br>
                &gt; &gt; If I got that right you have two alternatives:<br>
                &gt; &gt; Use two different types for left and right, or
                use the same type and add tag<br>
                &gt; &gt; "oneway=-1" were needed, but should not do
                both.<br>
                &gt; &gt;<br>
                &gt; &gt; With the old version you needed both, and
                that's what I wanted to fix<br>
                &gt; &gt; when I decided to apply the reversing also to
                overlay lines,<br>
                &gt; &gt; but only with this last patch it works as I
                want it.<br>
                &gt; &gt;<br>
                &gt; &gt; I hope you agree that I should commit the
                patch as is?<br>
                &gt; &gt;<br>
                &gt; &gt; Gerd<br>
                &gt; &gt;<br>
                &gt; &gt;<br>
                &gt; &gt; Felix Hartmann-2 wrote<br>
                &gt; &gt;&gt; Hi Gerd, the patch doesn't work correctly
                (in so far that mkgmap version<br>
                &gt; &gt;&gt; October 2013 or older worked) - but I
                think consistent at least now.<br>
                &gt; &gt;&gt;<br>
                &gt; &gt;&gt; If a way is tagged incline=down or
                incline=negative number (copy=99<br>
                &gt; &gt;&gt; further in the style)- it seems to work
                for the area I checked.<br>
                &gt; &gt;&gt; If however a way is tagged incline=up
                (copy=98 further down in the<br>
                &gt; &gt;&gt; style) - the way ends up in the opposite
                direction (because I add<br>
                &gt; &gt;&gt; oneway=-1???).<br>
                &gt; &gt;&gt;<br>
                &gt; &gt;&gt; Now - that could be style related, or
                not... I actually don't really<br>
                &gt; &gt;&gt; reverse the ways for layout. So far I just
                use opposing arrows. If a way<br>
                &gt; &gt;&gt; is copy=99 - the arrows point to the right
                (equals in the direction of<br>
                &gt; &gt;&gt; the way), if a way is copy=98 - then the
                arrows point to the left and I<br>
                &gt; &gt;&gt; add a onway=-1.<br>
                &gt; &gt;&gt; If there would be a command to actually
                reverse ways (not only set<br>
                &gt; &gt;&gt; oneway) - then I would not need left/right
                pointing arrows but just<br>
                &gt; &gt;&gt; right pointing arrows.<br>
                &gt; &gt;&gt;<br>
                &gt; &gt;&gt; I made the important part bold. I assume
                mkgmap now actually changes the<br>
                &gt; &gt;&gt; direction of the way if I manually set
                oneway=-1....<br>
                &gt; &gt;&gt;<br>
                &gt; &gt;&gt; It's okay for me (will require 10-12 hours
                checking my style, but<br>
                &gt; &gt;&gt; actually save me lines in the typfile If I
                can be sure that mkgmap now<br>
                &gt; &gt;&gt; actually reverses all ways where I add
                oneway=-1).<br>
                &gt; &gt;&gt; However - please tell me for which keys
                mkgmap now reverses ways? Only<br>
                &gt; &gt;&gt; oneway=-1? Or are there other keys where
                mkgmap reverses the way. I do<br>
                &gt; &gt;&gt; have more direction dependent types than
                downhill arrows...<br>
                &gt; &gt;&gt;<br>
                &gt; &gt;&gt;<br>
                &gt; &gt;&gt;<br>
                &gt; &gt;&gt; Heres all lines of my style that are
                related to this - In 2013 theese<br>
                &gt; &gt;&gt; lines worked perfectly consistent (yes
                they are complicated, but they<br>
                &gt; &gt;&gt; should work correctly).:<br>
                &gt; &gt;&gt;<br>
                &gt; &gt;&gt; incline &gt;5 &amp; incline &lt;11 &amp;
                highway=* &amp; mtb:scale:uphill=1 &amp;<br>
                &gt; &gt;&gt; mtb:scale&gt;0 {set copy=198; set
                copy1=yes}<br>
                &gt; &gt;&gt; incline &lt;-5 &amp; incline &gt;-11 &amp;
                highway=* &amp; mtb:scale:uphill=1 &amp;<br>
                &gt; &gt;&gt; mtb:scale&gt;0 {set copy=199; set
                copy1=yes}<br>
                &gt; &gt;&gt; incline &gt;10 &amp; incline &lt;30 &amp;
                highway=* &amp; mtb:scale:uphill=1 {set<br>
                &gt; &gt;&gt; copy=198; set copy1=yes}<br>
                &gt; &gt;&gt; incline &lt;-10 &amp; incline &gt;-30
                &amp; highway=* &amp; mtb:scale:uphill=1 {set<br>
                &gt; &gt;&gt; copy=199; set copy1=yes}<br>
                &gt; &gt;&gt; ### maybe make it for all scale:uphill if
                very light color possible<br>
                &gt; &gt;&gt; incline &gt;30 &amp; highway=* &amp;
                mtb:scale:uphill=1 {set copy=98; set copy1=yes}<br>
                &gt; &gt;&gt; incline &lt;-30 &amp; highway=* &amp;
                mtb:scale:uphill=1 {set copy=99; set<br>
                &gt; &gt;&gt; copy1=yes}<br>
                &gt; &gt;&gt; incline &gt;8 &amp; highway=* &amp;
                mtb:scale:uphill=2 {set copy=98; set copy1=yes}<br>
                &gt; &gt;&gt; incline &lt;-8 &amp; highway=* &amp;
                mtb:scale:uphill=2 {set copy=99; set copy1=yes}<br>
                &gt; &gt;&gt; incline &gt;30 &amp; highway=* &amp;
                mtb:scale:uphill=2 &amp; length()&gt;300 {set<br>
                &gt; &gt;&gt; oneway=-1; set copy=98; set copy1=yes}<br>
                &gt; &gt;&gt; incline &lt;-30 &amp; highway=* &amp;
                mtb:scale:uphill=2 &amp; length()&gt;300 {set<br>
                &gt; &gt;&gt; oneway=yes; set copy=99; set copy1=yes}<br>
                &gt; &gt;&gt; incline &gt;20 &amp; highway=* &amp;
                mtb:scale:uphill!=0 &amp; mtb:scale:uphill!=1 &amp;<br>
                &gt; &gt;&gt; mtb:scale:uphill!=2 {set oneway=-1; set
                copy=98; set copy1=yes}<br>
                &gt; &gt;&gt; incline &lt;-20 &amp; highway=* &amp;
                mtb:scale:uphill!=0 &amp; mtb:scale:uphill!=1 &amp;<br>
                &gt; &gt;&gt; mtb:scale:uphill!=2 {set oneway=yes; set
                copy=99; set copy1=yes}<br>
                &gt; &gt;&gt;<br>
                &gt; &gt;&gt;<br>
                &gt; &gt;&gt; # Make steep pathes downhill only<br>
                &gt; &gt;&gt; mtb:scale=0 &amp; incline&gt;20 &amp;
                mtb:scale:uphill!=1 &amp; mtb:scale:uphill!=2<br>
                &gt; &gt;&gt; {set oneway=-1; set copy=98; set
                copy1=yes}<br>
                &gt; &gt;&gt; mtb:scale=1 &amp; incline&gt;15 &amp;
                mtb:scale:uphill!=1 &amp; mtb:scale:uphill!=2<br>
                &gt; &gt;&gt; {set oneway=-1; set copy=98; set
                copy1=yes}<br>
                &gt; &gt;&gt; mtb:scale=1 &amp; incline&gt;20 &amp;
                mtb:scale:uphill!=1 {set oneway=-1; set<br>
                &gt; &gt;&gt; copy=98; set copy1=yes}<br>
                &gt; &gt;&gt; mtb:scale=2 &amp; incline&gt;10 &amp;
                mtb:scale:uphill!=1 &amp; mtb:scale:uphill!=2<br>
                &gt; &gt;&gt; {set oneway=-1; set copy=98; set
                copy1=yes}<br>
                &gt; &gt;&gt; mtb:scale=2 &amp; incline&gt;15 &amp;
                mtb:scale:uphill!=1 {set oneway=-1; set<br>
                &gt; &gt;&gt; copy=98; set copy1=yes}<br>
                &gt; &gt;&gt; mtb:scale=3 &amp; incline&gt;10 &amp;
                mtb:scale:uphill!=1 {set oneway=-1; set<br>
                &gt; &gt;&gt; copy=98; set copy1=yes}<br>
                &gt; &gt;&gt; mtb:scale=4 &amp; incline&gt;10 &amp;
                mtb:scale:uphill!=1 {set oneway=-1; set<br>
                &gt; &gt;&gt; copy=98; set copy1=yes}<br>
                &gt; &gt;&gt; mtb:scale=5 &amp; incline&gt;10 &amp;
                mtb:scale:uphill!=1 {set oneway=-1; set<br>
                &gt; &gt;&gt; copy=98; set copy1=yes}<br>
                &gt; &gt;&gt;<br>
                &gt; &gt;&gt; mtb:scale=0 &amp; incline&lt;-20 &amp;
                mtb:scale:uphill!=1 &amp; mtb:scale:uphill!=2<br>
                &gt; &gt;&gt; {set oneway=yes; set copy=99; set
                copy1=yes}<br>
                &gt; &gt;&gt; mtb:scale=1 &amp; incline&lt;-15 &amp;
                mtb:scale:uphill!=1 &amp; mtb:scale:uphill!=2<br>
                &gt; &gt;&gt; {set oneway=yes; set copy=99; set
                copy1=yes}<br>
                &gt; &gt;&gt; mtb:scale=1 &amp; incline&lt;-20 &amp;
                mtb:scale:uphill!=1 {set oneway=yes; set<br>
                &gt; &gt;&gt; copy=99; set copy1=yes}<br>
                &gt; &gt;&gt; mtb:scale=2 &amp; incline&lt;-10 &amp;
                mtb:scale:uphill!=1 &amp; mtb:scale:uphill!=2<br>
                &gt; &gt;&gt; {set oneway=yes; set copy=99; set
                copy1=yes}<br>
                &gt; &gt;&gt; mtb:scale=2 &amp; incline&lt;-15 &amp;
                mtb:scale:uphill!=1 {set oneway=yes; set<br>
                &gt; &gt;&gt; copy=99; set copy1=yes}<br>
                &gt; &gt;&gt; mtb:scale=3 &amp; incline&lt;-10 &amp;
                mtb:scale:uphill!=1 {set oneway=yes; set<br>
                &gt; &gt;&gt; copy=99; set copy1=yes}<br>
                &gt; &gt;&gt; mtb:scale=4 &amp; incline&lt;-10 &amp;
                mtb:scale:uphill!=1 {set oneway=yes; set<br>
                &gt; &gt;&gt; copy=99; set copy1=yes}<br>
                &gt; &gt;&gt; mtb:scale=5 &amp; incline&lt;-10 &amp;
                mtb:scale:uphill!=1 {set oneway=yes; set<br>
                &gt; &gt;&gt; copy=99; set copy1=yes}<br>
                &gt; &gt;&gt;<br>
                &gt; &gt;&gt;<br>
                &gt; &gt;&gt;<br>
                &gt; &gt;&gt; ( mtb:scale:uphill=1 ) &amp; (
                incline=negative | incline=down | incline=- )<br>
                &gt; &gt;&gt; &amp; mtb:scale&gt;0 {add mkgmap:taxi=no;
                set copy=99; set copy1=yes}<br>
                &gt; &gt;&gt; ( mtb:scale:uphill=1 ) &amp; (
                incline=positive | incline=up | incline=+ )<br>
                &gt; &gt;&gt; &amp; mtb:scale&gt;0 {add mkgmap:taxi=no;
                set copy=98; set copy1=yes}<br>
                &gt; &gt;&gt; ( mtb:scale:uphill=2 ) &amp; (
                incline=negative | incline=down | incline=- |<br>
                &gt; &gt;&gt; incline&lt;0 ) {add mkgmap:taxi=no; set
                copy=99; set copy1=yes}<br>
                &gt; &gt;&gt; ( mtb:scale:uphill=2 ) &amp; (
                incline=positive | incline=up | incline=+ |<br>
                &gt; &gt;&gt; incline&gt;0 ) {add mkgmap:taxi=no; set
                copy=98; set copy1=yes}<br>
                &gt; &gt;&gt; ( mtb:scale:uphill=3 | mtb:scale:uphill=4
                | mtb:scale:uphill=5 ) &amp; (<br>
                &gt; &gt;&gt; incline=negative | incline=down |
                incline=- | incline&lt;0 ) {add<br>
                &gt; &gt;&gt; mkgmap:taxi=no; set oneway=yes; set
                copy=99; set copy1=yes; add<br>
                &gt; &gt;&gt; mkgmap:unpaved=1}<br>
                &gt; &gt;&gt; ( mtb:scale:uphill=3 | mtb:scale:uphill=4
                | mtb:scale:uphill=5 ) &amp; (<br>
                &gt; &gt;&gt; incline=positive | incline=up | incline=+
                | incline&gt;0 ) {add<br>
                &gt; &gt;&gt; mkgmap:taxi=no; set oneway=-1; set
                copy=98; set copy1=yes; add<br>
                &gt; &gt;&gt; mkgmap:unpaved=1}<br>
                &gt; &gt;&gt;<br>
                &gt; &gt;&gt; *copy=99 &amp; highway=* &amp;
                mtb:scale:uphill=5 &amp; mtb:scale=* &amp;<br>
                &gt; &gt;&gt; mtb:scale!=5 {add mkgmap:taxi=no; set
                dontadd=oneway} [0x10f0a<br>
                &gt; &gt;&gt; resolution 21 continue with_actions]**<br>
                &gt; &gt;&gt; **copy=98 &amp; highway=* &amp;
                mtb:scale:uphill=5 &amp; mtb:scale=* &amp;<br>
                &gt; &gt;&gt; mtb:scale!=5 {add mkgmap:taxi=no; set
                dontadd=oneway} [0x10406<br>
                &gt; &gt;&gt; resolution 21 continue with_actions]**<br>
                &gt; &gt;&gt; **copy=99 &amp; highway=* &amp;
                mtb:scale:uphill=4 &amp; mtb:scale=* &amp;<br>
                &gt; &gt;&gt; mtb:scale!=5 {add mkgmap:taxi=no; set
                dontadd=oneway} [0x10405<br>
                &gt; &gt;&gt; resolution 21 continue with_actions]**<br>
                &gt; &gt;&gt; **copy=98 &amp; highway=* &amp;
                mtb:scale:uphill=4 &amp; mtb:scale=* &amp;<br>
                &gt; &gt;&gt; mtb:scale!=5 {add mkgmap:taxi=no; set
                dontadd=oneway} [0x10407<br>
                &gt; &gt;&gt; resolution 21 continue with_actions]**<br>
                &gt; &gt;&gt; **copy=99 &amp; highway=* &amp;
                mtb:scale:uphill=3 &amp; mtb:scale=* &amp;<br>
                &gt; &gt;&gt; mtb:scale!=5 {add mkgmap:taxi=no; set
                dontadd=oneway} [0x10409<br>
                &gt; &gt;&gt; resolution 21 continue with_actions]**<br>
                &gt; &gt;&gt; **copy=98 &amp; highway=* &amp;
                mtb:scale:uphill=3 &amp; mtb:scale=* &amp;<br>
                &gt; &gt;&gt; mtb:scale!=5 {add mkgmap:taxi=no; set
                dontadd=oneway} [0x1040a<br>
                &gt; &gt;&gt; resolution 21 continue with_actions]**<br>
                &gt; &gt;&gt; **copy=199 &amp; highway=* &amp;
                mtb:scale:uphill=1 &amp; length()&gt;150 {add<br>
                &gt; &gt;&gt; mkgmap:taxi=no; set dontadd=oneway}
                [0x10016 resolution 21 continue<br>
                &gt; &gt;&gt; with_actions]**<br>
                &gt; &gt;&gt; **copy=198 &amp; highway=* &amp;
                mtb:scale:uphill=1 &amp; length()&gt;150 {add<br>
                &gt; &gt;&gt; mkgmap:taxi=no; set dontadd=oneway}
                [0x10019 resolution 21 continue<br>
                &gt; &gt;&gt; with_actions]**<br>
                &gt; &gt;&gt; **copy=99 &amp; highway=* &amp;
                mtb:scale:uphill=2 &amp; mtb:scale=* &amp;<br>
                &gt; &gt;&gt; mtb:scale!=5 &amp; length()&gt;30 {add
                mkgmap:taxi=no; set<br>
                &gt; &gt;&gt; dontadd=oneway} [0x10016 resolution 21
                continue with_actions]**<br>
                &gt; &gt;&gt; **copy=98 &amp; highway=* &amp;
                mtb:scale:uphill=2 &amp; mtb:scale=* &amp;<br>
                &gt; &gt;&gt; mtb:scale!=5 &amp; length()&gt;30 {add
                mkgmap:taxi=no; set<br>
                &gt; &gt;&gt; dontadd=oneway} [0x10019 resolution 21
                continue with_actions]**<br>
                &gt; &gt;&gt; **copy=99 &amp; highway=* &amp;
                mtb:scale:uphill=1 &amp; mtb:scale=* &amp;<br>
                &gt; &gt;&gt; mtb:scale!=5 &amp; length()&gt;60 {add
                mkgmap:taxi=no; set<br>
                &gt; &gt;&gt; dontadd=oneway} [0x10016 resolution 21
                continue with_actions]**<br>
                &gt; &gt;&gt; **copy=98 &amp; highway=* &amp;
                mtb:scale:uphill=1 &amp; mtb:scale=* &amp;<br>
                &gt; &gt;&gt; mtb:scale!=5 &amp; length()&gt;60 {add
                mkgmap:taxi=no; set<br>
                &gt; &gt;&gt; dontadd=oneway} [0x10019 resolution 21
                continue with_actions]**<br>
                &gt; &gt;&gt; **copy=99 &amp; highway=* &amp;
                mtb:scale:uphill=5 &amp; mtb:scale!=* &amp;<br>
                &gt; &gt;&gt; mtb:scale!=5 {add mkgmap:taxi=no; set
                dontadd=oneway} [0x10f0a<br>
                &gt; &gt;&gt; resolution 22 continue with_actions]**<br>
                &gt; &gt;&gt; **copy=98 &amp; highway=* &amp;
                mtb:scale:uphill=5 &amp; mtb:scale!=* &amp;<br>
                &gt; &gt;&gt; mtb:scale!=5 {add mkgmap:taxi=no; set
                dontadd=oneway} [0x10406<br>
                &gt; &gt;&gt; resolution 22 continue with_actions]**<br>
                &gt; &gt;&gt; **copy=99 &amp; highway=* &amp;
                mtb:scale:uphill=4 &amp; mtb:scale!=* &amp;<br>
                &gt; &gt;&gt; mtb:scale!=5 {add mkgmap:taxi=no; set
                dontadd=oneway} [0x10405<br>
                &gt; &gt;&gt; resolution 22 continue with_actions]**<br>
                &gt; &gt;&gt; **copy=98 &amp; highway=* &amp;
                mtb:scale:uphill=4 &amp; mtb:scale!=* &amp;<br>
                &gt; &gt;&gt; mtb:scale!=5 {add mkgmap:taxi=no; set
                dontadd=oneway} [0x10407<br>
                &gt; &gt;&gt; resolution 22 continue with_actions]**<br>
                &gt; &gt;&gt; **copy=99 &amp; highway=* &amp;
                mtb:scale:uphill=3 &amp; mtb:scale!=* &amp;<br>
                &gt; &gt;&gt; mtb:scale!=5 {add mkgmap:taxi=no; set
                dontadd=oneway} [0x10409<br>
                &gt; &gt;&gt; resolution 22 continue with_actions]**<br>
                &gt; &gt;&gt; **copy=98 &amp; highway=* &amp;
                mtb:scale:uphill=3 &amp; mtb:scale!=* &amp;<br>
                &gt; &gt;&gt; mtb:scale!=5 {add mkgmap:taxi=no; set
                dontadd=oneway} [0x1040a<br>
                &gt; &gt;&gt; resolution 22 continue with_actions]**<br>
                &gt; &gt;&gt; **copy=99 &amp; highway=* &amp;
                mtb:scale:uphill=2 &amp; mtb:scale!=* &amp;<br>
                &gt; &gt;&gt; mtb:scale!=5 &amp; length()&gt;30 {add
                mkgmap:taxi=no; set<br>
                &gt; &gt;&gt; dontadd=oneway} [0x10016 resolution 23
                continue with_actions]**<br>
                &gt; &gt;&gt; **copy=98 &amp; highway=* &amp;
                mtb:scale:uphill=2 &amp; mtb:scale!=* &amp;<br>
                &gt; &gt;&gt; mtb:scale!=5 &amp; length()&gt;30 {add
                mkgmap:taxi=no; set<br>
                &gt; &gt;&gt; dontadd=oneway} [0x10019 resolution 23
                continue with_actions]**<br>
                &gt; &gt;&gt; **dontadd=oneway &amp; highway=* &amp;
                copy=99 {set<br>
                &gt; &gt;&gt; oneway=-1; set mkgmap:toll=yes; add
                mkgmap:taxi=no; set<br>
                &gt; &gt;&gt; mkgmap:unpaved=1; set
                mkgmap:set_unconnected_type=none} [0x13<br>
                &gt; &gt;&gt; road_class=0 road_speed=0 resolution 24
                continue]**<br>
                &gt; &gt;&gt; **dontadd=oneway &amp; highway=* &amp;
                copy=98 {set<br>
                &gt; &gt;&gt; oneway=yes; set mkgmap:toll=yes; add
                mkgmap:taxi=no; set<br>
                &gt; &gt;&gt; mkgmap:unpaved=1; set
                mkgmap:set_unconnected_type=none} [0x13<br>
                &gt; &gt;&gt; road_class=0 road_speed=0 resolution 24
                continue]*<br>
                &gt; &gt;&gt;<br>
                &gt; &gt;&gt; # make reverse steep climb pathes/tracks<br>
                &gt; &gt;&gt; ( copy=99 | copy=98 ) &amp; (
                mtb:scale:uphill=2 | mtb:scale:uphill=1 |<br>
                &gt; &gt;&gt; mtb:scale:uphill=0 ) &amp; dontadd!=oneway
                &amp; highway=* {set oneway=no; set<br>
                &gt; &gt;&gt; mkgmap:set_unconnected_type=none} [0x13
                road_class=0 road_speed=1<br>
                &gt; &gt;&gt; resolution 24 continue]<br>
                &gt; &gt;&gt; ( copy=99 | copy=98 ) &amp;
                mtb:scale:uphill!=2 &amp; mtb:scale:uphill!=1 &amp;<br>
                &gt; &gt;&gt; mtb:scale:uphill!=0 &amp; dontadd!=oneway
                &amp; highway=* {set oneway=no; set<br>
                &gt; &gt;&gt; mkgmap:set_unconnected_type=none} [0x13
                road_class=0 road_speed=0<br>
                &gt; &gt;&gt; resolution 24 continue]<br>
                &gt; &gt;&gt;<br>
                &gt; &gt;&gt;<br>
                &gt; &gt;&gt;<br>
                &gt; &gt;&gt;<br>
                &gt; &gt;&gt; Note for Gerd:<br>
                &gt; &gt;&gt; Lines further down, then respect the
                oneway=yes or oneway=-1...<br>
                &gt; &gt;&gt;<br>
                &gt; &gt;&gt;<br>
                &gt; &gt;&gt;<br>
                &gt; &gt;&gt; On 28.04.2014 08:03, Gerd Petermann wrote:<br>
                &gt; &gt;&gt;&gt; Hi Felix,<br>
                &gt; &gt;&gt;&gt;<br>
                &gt; &gt;&gt;&gt; attached is a patch that may help to
                solve your problems with reversed<br>
                &gt; &gt;&gt;&gt; oneways.<br>
                &gt; &gt;&gt;&gt;<br>
                &gt; &gt;&gt;&gt; It may not work without
                --ignore-turn-restrictions. I'd first like to<br>
                &gt; &gt;&gt;&gt; make sure<br>
                &gt; &gt;&gt;&gt; that I understand what you are doing.<br>
                &gt; &gt;&gt;&gt;<br>
                &gt; &gt;&gt;&gt; I've added a few lines to the default
                style to produce additional<br>
                &gt; &gt;&gt;&gt; lines for<br>
                &gt; &gt;&gt;&gt; ways with highway=* &amp; incline=up<br>
                &gt; &gt;&gt;&gt; If I got you right, you create one
                oneway for the uphill direction and<br>
                &gt; &gt;&gt;&gt; another<br>
                &gt; &gt;&gt;&gt; one with reverse direction for
                downhill, and also overlaying lines with<br>
                &gt; &gt;&gt;&gt; types that are direction dependent.
                The result is in switch_oneway.zip.<br>
                &gt; &gt;&gt;&gt;<br>
                &gt; &gt;&gt;&gt; The attached reverse-oneway-v3.patch
                changes mkgmap to keep the order of<br>
                &gt; &gt;&gt;&gt; points in each way. That means, points
                are reversed after style<br>
                &gt; &gt;&gt;&gt; processing if<br>
                &gt; &gt;&gt;&gt; tag oneway=-1 is found, and this order
                is then maintained in the rest<br>
                &gt; &gt;&gt;&gt; of the program.<br>
                &gt; &gt;&gt;&gt;<br>
                &gt; &gt;&gt;&gt; Gerd<br>
                &gt; &gt;&gt;&gt; P.S. I think we can drop the idea of
                reversing ways with "oneway=-1"<br>
                &gt; &gt;&gt;&gt; before style processing.<br>
                &gt; &gt;&gt;&gt; This will not help in your case, as
                you add the tag in the style.<br>
                &gt; &gt;&gt;&gt;<br>
                &gt; &gt;&gt;&gt;<br>
                &gt; &gt;&gt;&gt;<br>
                &gt; &gt;&gt;&gt;
                _______________________________________________<br>
                &gt; &gt;&gt;&gt; mkgmap-dev mailing list<br>
                &gt; &gt;&gt;&gt;<br>
                &gt; &gt;&gt; <a class="ecxmoz-txt-link-abbreviated" href="mailto:mkgmap-dev@.org">mkgmap-dev@.org</a><br>
                &gt; &gt;&gt;&gt; <a class="ecxmoz-txt-link-freetext" href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev" target="_blank">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</a><br>
                &gt; &gt;&gt; -- <br>
                &gt; &gt;&gt; keep on biking and discovering new trails<br>
                &gt; &gt;&gt;<br>
                &gt; &gt;&gt; Felix<br>
                &gt; &gt;&gt; openmtbmap.org &amp; <a class="ecxmoz-txt-link-abbreviated" href="http://www.velomap.org" target="_blank">www.velomap.org</a><br>
                &gt; &gt;&gt;<br>
                &gt; &gt;&gt;<br>
                &gt; &gt;&gt;
                _______________________________________________<br>
                &gt; &gt;&gt; mkgmap-dev mailing list<br>
                &gt; &gt;&gt; <a class="ecxmoz-txt-link-abbreviated" href="mailto:mkgmap-dev@.org">mkgmap-dev@.org</a><br>
                &gt; &gt;&gt; <a class="ecxmoz-txt-link-freetext" href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev" target="_blank">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</a><br>
                &gt; &gt;<br>
                &gt; &gt;<br>
                &gt; &gt;<br>
                &gt; &gt;<br>
                &gt; &gt; --<br>
                &gt; &gt; View this message in context:
                <a class="ecxmoz-txt-link-freetext" href="http://gis.19327.n5.nabble.com/patch-v3-reverse-oneways-tp5804371p5804673.html" target="_blank">http://gis.19327.n5.nabble.com/patch-v3-reverse-oneways-tp5804371p5804673.html</a><br>
                &gt; &gt; Sent from the Mkgmap Development mailing list
                archive at Nabble.com.<br>
                &gt; &gt;
                _______________________________________________<br>
                &gt; &gt; mkgmap-dev mailing list<br>
                &gt; &gt; <a class="ecxmoz-txt-link-abbreviated" href="mailto:mkgmap-dev@lists.mkgmap.org.uk">mkgmap-dev@lists.mkgmap.org.uk</a><br>
                &gt; &gt; <a class="ecxmoz-txt-link-freetext" href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev" target="_blank">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</a><br>
                &gt; <br>
                &gt; -- <br>
                &gt; keep on biking and discovering new trails<br>
                &gt; <br>
                &gt; Felix<br>
                &gt; openmtbmap.org &amp; <a class="ecxmoz-txt-link-abbreviated" href="http://www.velomap.org" target="_blank">www.velomap.org</a><br>
                &gt; <br>
                &gt; _______________________________________________<br>
                &gt; mkgmap-dev mailing list<br>
                &gt; <a class="ecxmoz-txt-link-abbreviated" href="mailto:mkgmap-dev@lists.mkgmap.org.uk">mkgmap-dev@lists.mkgmap.org.uk</a><br>
                &gt; <a class="ecxmoz-txt-link-freetext" href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev" target="_blank">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</a><br>
              </div>
            </div>
            <br>
            <fieldset class="ecxmimeAttachmentHeader"></fieldset>
            <br>
            <pre>_______________________________________________
mkgmap-dev mailing list
<a class="ecxmoz-txt-link-abbreviated" href="mailto:mkgmap-dev@lists.mkgmap.org.uk">mkgmap-dev@lists.mkgmap.org.uk</a>
<a class="ecxmoz-txt-link-freetext" href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev" target="_blank">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</a></pre>
          </blockquote>
          <br>
          <pre class="ecxmoz-signature">-- 
keep on biking and discovering new trails

Felix
openmtbmap.org &amp; <a class="ecxmoz-txt-link-abbreviated" href="http://www.velomap.org" target="_blank">www.velomap.org</a></pre>
          <br>
          _______________________________________________
          mkgmap-dev mailing list
          <a class="ecxmoz-txt-link-abbreviated" href="mailto:mkgmap-dev@lists.mkgmap.org.uk">mkgmap-dev@lists.mkgmap.org.uk</a>
          <a class="ecxmoz-txt-link-freetext" href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev" target="_blank">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</a></div>
      </div>
      <br>
      <fieldset class="ecxmimeAttachmentHeader"></fieldset>
      <br>
      <pre>_______________________________________________
mkgmap-dev mailing list
<a class="ecxmoz-txt-link-abbreviated" href="mailto:mkgmap-dev@lists.mkgmap.org.uk">mkgmap-dev@lists.mkgmap.org.uk</a>
<a class="ecxmoz-txt-link-freetext" href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev" target="_blank">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</a></pre>
    </blockquote>
    <br>
    <pre class="ecxmoz-signature">-- 
keep on biking and discovering new trails

Felix
openmtbmap.org &amp; <a class="ecxmoz-txt-link-abbreviated" href="http://www.velomap.org" target="_blank">www.velomap.org</a></pre>
  

<br>_______________________________________________
mkgmap-dev mailing list
mkgmap-dev@lists.mkgmap.org.uk
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</div>                                               </div></body>
</html>