<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 Mike,<br><br>I was not able to reproduce a problem with car routing in oneways<br>using your patch. I see that routes are different when I reverse them<br>in MapSource.<br>Please double check and post test data if you still see the problem.<br><br>Gerd<br><br><div><hr id="stopSpelling">From: gpetermann_muenchen@hotmail.com<br>To: mkgmap-dev@lists.mkgmap.org.uk<br>Date: Fri, 6 Mar 2015 11:05:27 +0100<br>Subject: Re: [mkgmap-dev] --make-opposite-cycleways option<br><br>

<style><!--
.ExternalClass .ecxhmmessage P {
padding:0px;
}

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

--></style>
<div dir="ltr">Hi Mike,<br><br>reg. wrong car routing in oneways: I'll check that, I see no reason now.<br>Sounds like "continue" is handled like "continue with actions" in this case?<br><br>reg. docu for mkgmap:synthesised: yes, please post a patch for that<br><br>Gerd<br><br><div><hr id="ecxstopSpelling">From: mike@tvage.co.uk<br>To: mkgmap-dev@lists.mkgmap.org.uk<br>Date: Fri, 6 Mar 2015 09:56:28 +0000<br>Subject: Re: [mkgmap-dev] --make-opposite-cycleways option<br><br><style><!--
.ExternalClass p.ecxMsoNormal, .ExternalClass li.ecxMsoNormal, .ExternalClass div.ecxMsoNormal {
font-size:12.0pt;
font-family:"Times New Roman",serif;
}

.ExternalClass a:link, .ExternalClass span.ecxMsoHyperlink {
color:#0563C1;
text-decoration:underline;
}

.ExternalClass span.ecxMsoHyperlinkFollowed {
color:#954F72;
text-decoration:underline;
}

.ExternalClass p {
font-size:12.0pt;
font-family:"Times New Roman",serif;
}

.ExternalClass span.ecxspelle {
}

.ExternalClass p.ecxmsonormal, .ExternalClass li.ecxmsonormal, .ExternalClass div.ecxmsonormal {
font-size:12.0pt;
font-family:"Times New Roman",serif;
}

.ExternalClass span.ecxEmailStyle20 {
font-family:"Calibri",sans-serif;
color:#1F497D;
}

.ExternalClass span.ecxSpellE {
}

.ExternalClass span.ecxGramE {
}

.ExternalClass .ecxMsoChpDefault {
font-size:10.0pt;
}

.ExternalClass div.ecxWordSection1 {
}


--></style><div class="ecxWordSection1"><p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;">Hi <span class="ecxSpellE">Gerd</span>, </span></p><p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;">&nbsp;</span></p><p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;">It is possible that the order might have some significance. However, in my own style file I also add the cycleway first and it works fine, providing I do not attempt to start, finish or add <span class="ecxGramE">a via</span> point to the road. Attempting to start, finish or add a point I can understand might be problematic as the software would not know whether to put the point on the road or the cycleway and may well use the order in which the lines were added.</span></p><p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;">&nbsp;</span></p><p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;">I removed the <span class="ecxSpellE">mkgmap<span class="ecxGramE">:synthesized</span></span> line as according to the style manual the value is yes if the way was added by the make-<span class="ecxSpellE">oppositecycleways</span> option, and a check of the code showed that it was the only place it was set. If the updated style file is to replace the make-<span class="ecxSpellE">oppositecycleways</span> option, then this line is no longer required, as it is specific to the cycleway. To retain the functionality, I guess that the additional line should be</span></p><p class="ecxmsonormal" style="text-autospace:none;"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;">highway=* &amp; (<span class="ecxSpellE">oneway</span>=yes | <span class="ecxSpellE">oneway</span>=-1 | <span class="ecxSpellE">oneway</span>=true | <span class="ecxSpellE">oneway</span>=1 | <span class="ecxSpellE">oneway</span>=reverse) &amp; (<span class="ecxSpellE">oneway:bicycle</span>=no | cycleway=opposite | cycleway=<span class="ecxSpellE">opposite_lane</span> | cycleway=<span class="ecxSpellE">opposite_track</span>) {delete <span class="ecxSpellE">oneway</span>; delete cycleway; set access=no; delete foot; delete vehicle; delete <span class="ecxSpellE">motor_vehicle</span>; delete motorcar; delete goods; delete <span class="ecxSpellE">hgv</span>; delete <span class="ecxSpellE">psv</span>; delete emergency; delete taxi; delete bus; add bicycle=yes; set highway=cycleway<span style="color:red;">; set <span class="ecxSpellE">mkgmap:synthesised</span>=true</span>} [0x10 <span class="ecxSpellE">road_class</span>=0 <span class="ecxSpellE">road_speed</span>=1 resolution 24 continue]</span></p><p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;">Perhaps the documentation could be enhanced to mention setting <span class="ecxSpellE">mkgmap<span class="ecxGramE">:synthesised</span></span> in a style.</span></p><p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;">&nbsp;</span></p><p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;">Regards,</span></p><p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;">Mike</span></p><p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;">&nbsp;</span></p><div><div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm;"><p class="ecxMsoNormal"><b><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;" lang="EN-US">From:</span></b><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;" lang="EN-US"> Gerd Petermann [mailto:gpetermann_muenchen@hotmail.com<span class="ecxGramE">] <br><b>Sent</b></span><b>:</b> 06 March 2015 06:40<br><b>To:</b> mkgmap-dev@lists.mkgmap.org.uk<br><b>Subject:</b> Re: [mkgmap-dev] --make-opposite-cycleways option</span></p></div></div><p class="ecxMsoNormal">&nbsp;</p><div><div><p class="ecxMsoNormal" style=""><span style="">Hi Mike,</span></p><div><div class="ecxMsoNormal" style="text-align:center;" align="center"><span style=""><hr id="ecxstopSpelling" align="center" size="2" width="100%"></span></div><p class="ecxMsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;">Hi <span class="ecxspelle">Gerd</span>, I added the following to the lines file in my style and it works fine there if I remove the --make-opposite-<span class="ecxspelle">cycleways</span> option, allowing just cycling and walking against the flow. However, it doesn’t seem to work correctly if I add it to the default style (it allows cars to go the wrong way along the one-way street).</span><span style=""></span></p><div><p class="ecxmsonormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;">&nbsp;</span></p><p class="ecxmsonormal" style="text-autospace:none;"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;;">highway=* &amp; (oneway=yes | oneway=-1 | oneway=true | oneway=1 | oneway=reverse) &amp; (oneway:bicycle=no | cycleway=opposite | cycleway=opposite_lane | cycleway=opposite_track) {delete oneway; delete cycleway; set access=no; delete foot; delete vehicle; delete motor_vehicle; delete motorcar; delete goods; delete hgv; delete psv; delete emergency; delete taxi; delete bus; add bicycle=yes; set highway=cycleway} [0x10 road_class=0 road_speed=1 resolution 24 continue]</span></p><p class="ecxmsonormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;">&nbsp;</span></p><p class="ecxmsonormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1F497D;">I can’t see why this might be happening. Has anyone any ideas (the attached patch is what I changed)?</span></p><p class="ecxMsoNormal" style=""><span style=""><br>I think that is the problem I was discussing with Minko. The order in which routable ways are added <br>by the style matters, although we don't know exactly why.<br>With the --make-opposite-cycleways the cycle way is added after the "normal" way,<br>with your change below it is added before.<br>Garmin algos seem to use only one way in some cases, esp. at the beginning of a route.<br><br>Further thoughts: <br>1) Your new patch also removes the special handling for mkgmap:synthesised in inc/access<br>-#limit artificial cycleways to to resolution 24<br>-mkgmap:synthesised=yes &amp; mkgmap:bicycle=yes { set mkgmap:highest-resolution-only = true }<br>This is okay for your case, but I should mention that the tag<br>mkgmap:synthesised is also evaluated within mkgmap to avoid some<br>meaningless warnings in e.g. the roundabout checks.<br>In other words: A style that adds&nbsp; multiple routable ways for one OSM way<br>should try to&nbsp; setmkgmap:synthesised=true <br>when options like --check-roundabouts or --check-roundabout-flares are used.<br><br>I think we might as well set that a corresponding flag in mkgmap when it detects <br>that more than one routable way was added (with res 24) for one OSM way.<br><br>2) Maybe we can replace the&nbsp; --make-opposite-cycleways option by <br>a new special tag like mkgmap:add_cycleway=[before|after] ?<br><br>Gerd<br><br><br style=""><br style=""></span></p></div></div></div></div></div><br>_______________________________________________
mkgmap-dev mailing list
mkgmap-dev@lists.mkgmap.org.uk
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</div>                                               </div>
<br>_______________________________________________
mkgmap-dev mailing list
mkgmap-dev@lists.mkgmap.org.uk
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</div>                                               </div></body>
</html>