<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>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="stopSpelling">Date: Wed, 30 Apr 2014 12:30:53 +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>
  
    
  
  
    <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>
    1. <br>
    I hope that this now gets me the right result:<br>
    ( copy=99 | copy=98 ) &amp; highway=* &amp; mtb:scale:uphill&gt;2
    &amp; mtb:scale!=*&nbsp;&nbsp; {set mkgmap:unpaved=1}<br>
    ( 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]<br>
    ( 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]<br>
    ( 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]<br>
    ( 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]<br>
    ( 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]<br>
    ( 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]<br>
    ( 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]<br>
    ( 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]<br>
    ( 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]<br>
    ( 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]<br>
    --- copy=98 reversed the way actually - so I hope the arrows all
    point in the same direction now.<br>
    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:<br>
    <br>
    highway=path &amp; incline=up {set oneway=-1} # Mkgmap now reverses
    the way, and <br>
    sets oneway tag to a) yes b) leaves oneway tag at -1????<br>
    <br>
    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...<br>
    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<br>
    <br>
    So<br>
    <br>
    2. <br>
    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]<br>
    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]<br>
    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...<br>
    <br>
    3. <br>
    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]
    <br>
    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]<br>
    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. <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
mkgmap-dev@lists.mkgmap.org.uk
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</div>                                               </div></body>
</html>