<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hi Gerd, the patch doesn't work correctly (in so far that mkgmap
    version October 2013 or older worked)&nbsp; - but I think consistent at
    least now.<br>
    <br>
    If a way is tagged incline=down or incline=negative number (copy=99
    further in the style)- it seems to work for the area I checked.<br>
    If however a way is tagged incline=up (copy=98 further down in the
    style) - the way ends up in the opposite direction (because I add
    oneway=-1???).<br>
    <br>
    Now - that could be style related, or not... I actually don't really
    reverse the ways for layout. So far I just use opposing arrows. If a
    way is copy=99 - the arrows point to the right (equals in the
    direction of the way), if a way is copy=98 - then the arrows point
    to the left and I add a onway=-1.<br>
    If there would be a command to actually reverse ways (not only set
    oneway) - then I would not need left/right pointing arrows but just
    right pointing arrows. <br>
    <br>
    I made the important part bold. I assume mkgmap now actually changes
    the direction of the way if I manually set oneway=-1....<br>
    <br>
    It's okay for me (will require 10-12 hours checking my style, but
    actually save me lines in the typfile If I can be sure that mkgmap
    now actually reverses all ways where I add oneway=-1).<br>
    However - please tell me for which keys mkgmap now reverses ways?
    Only oneway=-1? Or are there other keys where mkgmap reverses the
    way. I do have more direction dependent types than downhill
    arrows...<br>
    <br>
    <br>
    <br>
    Heres all lines of my style that are related to this - In 2013
    theese lines worked perfectly consistent (yes they are complicated,
    but they should work correctly).:<br>
    <br>
    incline &gt;5 &amp; incline&nbsp; &lt;11&nbsp; &amp; highway=* &amp;
    mtb:scale:uphill=1 &amp; mtb:scale&gt;0 {set copy=198; set
    copy1=yes}<br>
    incline &lt;-5 &amp; incline &gt;-11 &amp; highway=* &amp;
    mtb:scale:uphill=1 &amp; mtb:scale&gt;0 {set copy=199; set
    copy1=yes}<br>
    incline &gt;10 &amp; incline&nbsp; &lt;30&nbsp; &amp; highway=* &amp;
    mtb:scale:uphill=1 {set copy=198; set copy1=yes}<br>
    incline &lt;-10 &amp; incline &gt;-30 &amp; highway=* &amp;
    mtb:scale:uphill=1 {set copy=199; set copy1=yes}<br>
    ### maybe make it for all scale:uphill if very light color possible<br>
    incline &gt;30&nbsp; &amp; highway=* &amp; mtb:scale:uphill=1 {set
    copy=98; set copy1=yes}<br>
    incline &lt;-30&nbsp; &amp; highway=* &amp; mtb:scale:uphill=1 {set
    copy=99; set copy1=yes}<br>
    incline &gt;8&nbsp; &amp; highway=* &amp; mtb:scale:uphill=2 {set
    copy=98; set copy1=yes}<br>
    incline &lt;-8&nbsp; &amp; highway=* &amp; mtb:scale:uphill=2 {set
    copy=99; set copy1=yes}<br>
    incline &gt;30&nbsp; &amp; highway=* &amp; mtb:scale:uphill=2 &amp;
    length()&gt;300 {set oneway=-1; set copy=98; set copy1=yes}<br>
    incline &lt;-30&nbsp; &amp; highway=* &amp; mtb:scale:uphill=2 &amp;
    length()&gt;300 {set oneway=yes; set copy=99; set copy1=yes}<br>
    incline &gt;20&nbsp; &amp; highway=* &amp; mtb:scale:uphill!=0 &amp;
    mtb:scale:uphill!=1 &amp; mtb:scale:uphill!=2 {set oneway=-1; &nbsp;&nbsp;&nbsp;
    set copy=98; set copy1=yes}&nbsp; <br>
    incline &lt;-20 &amp; highway=* &amp; mtb:scale:uphill!=0 &amp;
    mtb:scale:uphill!=1 &amp; mtb:scale:uphill!=2 {set oneway=yes;&nbsp;&nbsp;&nbsp;
    set copy=99; set copy1=yes} <br>
    <br>
    <br>
    # Make steep pathes downhill only<br>
    mtb:scale=0 &amp; incline&gt;20 &amp; mtb:scale:uphill!=1 &amp;
    mtb:scale:uphill!=2 {set oneway=-1; set copy=98; set copy1=yes}<br>
    mtb:scale=1 &amp; incline&gt;15 &amp; mtb:scale:uphill!=1 &amp;
    mtb:scale:uphill!=2 {set oneway=-1; set copy=98; set copy1=yes}<br>
    mtb:scale=1 &amp; incline&gt;20 &amp; mtb:scale:uphill!=1 {set
    oneway=-1; set copy=98; set copy1=yes}<br>
    mtb:scale=2 &amp; incline&gt;10 &amp; mtb:scale:uphill!=1 &amp;
    mtb:scale:uphill!=2 {set oneway=-1; set copy=98; set copy1=yes}<br>
    mtb:scale=2 &amp; incline&gt;15 &amp; mtb:scale:uphill!=1 {set
    oneway=-1; set copy=98; set copy1=yes}<br>
    mtb:scale=3 &amp; incline&gt;10 &amp; mtb:scale:uphill!=1 {set
    oneway=-1; set copy=98; set copy1=yes} <br>
    mtb:scale=4 &amp; incline&gt;10 &amp; mtb:scale:uphill!=1 {set
    oneway=-1; set copy=98; set copy1=yes}<br>
    mtb:scale=5 &amp; incline&gt;10 &amp; mtb:scale:uphill!=1 {set
    oneway=-1; set copy=98; set copy1=yes}<br>
    <br>
    mtb:scale=0 &amp; incline&lt;-20 &amp; mtb:scale:uphill!=1 &amp;
    mtb:scale:uphill!=2 {set oneway=yes; set copy=99; set copy1=yes}<br>
    mtb:scale=1 &amp; incline&lt;-15 &amp; mtb:scale:uphill!=1 &amp;
    mtb:scale:uphill!=2 {set oneway=yes; set copy=99; set copy1=yes}<br>
    mtb:scale=1 &amp; incline&lt;-20 &amp; mtb:scale:uphill!=1 {set
    oneway=yes; set copy=99; set copy1=yes}<br>
    mtb:scale=2 &amp; incline&lt;-10 &amp; mtb:scale:uphill!=1 &amp;
    mtb:scale:uphill!=2 {set oneway=yes; set copy=99; set copy1=yes}<br>
    mtb:scale=2 &amp; incline&lt;-15 &amp; mtb:scale:uphill!=1 {set
    oneway=yes; set copy=99; set copy1=yes}<br>
    mtb:scale=3 &amp; incline&lt;-10 &amp; mtb:scale:uphill!=1 {set
    oneway=yes; set copy=99; set copy1=yes} <br>
    mtb:scale=4 &amp; incline&lt;-10 &amp; mtb:scale:uphill!=1 {set
    oneway=yes; set copy=99; set copy1=yes}<br>
    mtb:scale=5 &amp; incline&lt;-10 &amp; mtb:scale:uphill!=1 {set
    oneway=yes; set copy=99; set copy1=yes}<br>
    <br>
    <br>
    <br>
    ( mtb:scale:uphill=1 ) &amp; ( incline=negative | incline=down |
    incline=- ) &amp; mtb:scale&gt;0 &nbsp;&nbsp;&nbsp; {add mkgmap:taxi=no; set
    copy=99; set copy1=yes}<br>
    ( mtb:scale:uphill=1 ) &amp; ( incline=positive | incline=up |
    incline=+ ) &nbsp;&nbsp;&nbsp; &amp; mtb:scale&gt;0 {add mkgmap:taxi=no; set
    copy=98; set copy1=yes}<br>
    ( mtb:scale:uphill=2 ) &amp; ( incline=negative | incline=down |
    incline=- | incline&lt;0 ) &nbsp;&nbsp;&nbsp; {add mkgmap:taxi=no; set copy=99; set
    copy1=yes}<br>
    ( mtb:scale:uphill=2 ) &amp; ( incline=positive | incline=up |
    incline=+ | incline&gt;0 ) &nbsp;&nbsp;&nbsp; {add mkgmap:taxi=no; set copy=98; set
    copy1=yes}<br>
    ( mtb:scale:uphill=3 | mtb:scale:uphill=4 | mtb:scale:uphill=5 )
    &amp; ( incline=negative | incline=down | incline=- | incline&lt;0 )
    &nbsp;&nbsp;&nbsp; {add mkgmap:taxi=no; set oneway=yes; set copy=99; set copy1=yes;
    add mkgmap:unpaved=1}<br>
    ( mtb:scale:uphill=3 | mtb:scale:uphill=4 | mtb:scale:uphill=5 )
    &amp; ( incline=positive | incline=up | incline=+ | incline&gt;0 )
    &nbsp;&nbsp;&nbsp; {add mkgmap:taxi=no; set oneway=-1; set copy=98; set copy1=yes;
    add mkgmap:unpaved=1}<br>
    <br>
    <b>copy=99 &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=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; [0x10406 resolution 21 continue with_actions]</b><b><br>
    </b><b>copy=99 &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=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; [0x10407 resolution 21 continue with_actions]</b><b><br>
    </b><b>copy=99 &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=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; [0x1040a resolution 21 continue with_actions]</b><b><br>
    </b><b>copy=199 &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=198 &amp; highway=* &amp; mtb:scale:uphill=1 &amp;
      length()&gt;150 {add mkgmap:taxi=no; set dontadd=oneway}&nbsp;&nbsp;&nbsp;
      [0x10019 resolution 21 continue with_actions]</b><b><br>
    </b><b>copy=99 &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=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; [0x10019 resolution 21
      continue with_actions]</b><b><br>
    </b><b>copy=99 &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=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; [0x10019 resolution 21
      continue with_actions]</b><b><br>
    </b><b>copy=99 &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=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; [0x10406 resolution 22 continue with_actions]</b><b><br>
    </b><b>copy=99 &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=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; [0x10407 resolution 22 continue with_actions]</b><b><br>
    </b><b>copy=99 &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=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; [0x1040a resolution 22 continue with_actions]</b><b><br>
    </b><b>copy=99 &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 &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; [0x10019 resolution 23
      continue with_actions]</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><br>
    <br>
    # make reverse steep climb pathes/tracks<br>
    ( copy=99 | copy=98 ) &amp; ( mtb:scale:uphill=2 |
    mtb:scale:uphill=1 | mtb:scale:uphill=0 ) &amp; dontadd!=oneway
    &amp; highway=* {set oneway=no; set
    mkgmap:set_unconnected_type=none} [0x13 road_class=0 road_speed=1
    resolution 24 continue]<br>
    ( copy=99 | copy=98 ) &amp; mtb:scale:uphill!=2 &amp;
    mtb:scale:uphill!=1 &amp; mtb:scale:uphill!=0&nbsp; &amp; dontadd!=oneway
    &amp; highway=* {set oneway=no; set
    mkgmap:set_unconnected_type=none} [0x13 road_class=0 road_speed=0
    resolution 24 continue]<br>
    <br>
    <br>
    <br>
    <br>
    Note for Gerd:<br>
    Lines further down, then respect the oneway=yes or oneway=-1...<br>
    <br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 28.04.2014 08:03, Gerd Petermann
      wrote:<br>
    </div>
    <blockquote cite="mid:DUB112-W87C1B8C6F2466B016748849E470@phx.gbl"
      type="cite">
      <style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style>
      <div dir="ltr">Hi Felix,<br>
        <br>
        attached is a patch that may help to solve your problems with
        reversed oneways.<br>
        <br>
        It may not work without --ignore-turn-restrictions. I'd first
        like to make sure<br>
        that I understand what you are doing.<br>
        <br>
        I've added a few lines to the default style to produce
        additional lines for <br>
        ways with highway=* &amp; incline=up<br>
        If I got you right, you create one oneway for the uphill
        direction and another<br>
        one with reverse direction for downhill, and also overlaying
        lines with<br>
        types that are direction dependent. The result is in
        switch_oneway.zip.<br>
        <br>
        The attached reverse-oneway-v3.patch changes mkgmap to keep the
        order of<br>
        points in each way. That means, points are reversed after style
        processing if <br>
        tag oneway=-1 is found, and this order is then maintained in the
        rest of the program.<br>
        <br>
        Gerd<br>
        P.S. I think we can drop the idea of reversing ways with
        "oneway=-1" before style processing. <br>
        This will not help in your case, as you add the tag in the
        style.<br>
        <br>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
mkgmap-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:mkgmap-dev@lists.mkgmap.org.uk">mkgmap-dev@lists.mkgmap.org.uk</a>
<a class="moz-txt-link-freetext" href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</a></pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
keep on biking and discovering new trails

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