<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><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><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><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; mkgmap-dev@.org<br>&gt; &gt;&gt;&gt; http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev<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; www.velomap.org<br>&gt; &gt;&gt;<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; _______________________________________________<br>&gt; &gt;&gt; mkgmap-dev mailing list<br>&gt; &gt;&gt; mkgmap-dev@.org<br>&gt; &gt;&gt; http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; --<br>&gt; &gt; View this message in context: http://gis.19327.n5.nabble.com/patch-v3-reverse-oneways-tp5804371p5804673.html<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; mkgmap-dev@lists.mkgmap.org.uk<br>&gt; &gt; http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev<br>&gt; <br>&gt; -- <br>&gt; keep on biking and discovering new trails<br>&gt; <br>&gt; Felix<br>&gt; openmtbmap.org &amp; www.velomap.org<br>&gt; <br>&gt; _______________________________________________<br>&gt; mkgmap-dev mailing list<br>&gt; mkgmap-dev@lists.mkgmap.org.uk<br>&gt; http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev<br></div>                                               </div></body>
</html>