<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
{font-family:PMingLiU;
panose-1:2 2 5 0 0 0 0 0 0 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"\@PMingLiU";
panose-1:2 2 5 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
code
{mso-style-priority:99;
font-family:"Courier New";}
tt
{mso-style-priority:99;
font-family:"Courier New";}
p.msonormal0, li.msonormal0, div.msonormal0
{mso-style-name:msonormal;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:12.0pt;
font-family:"Times New Roman",serif;}
span.EmailStyle18
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-AU link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>Everything you write is no different between PTv2 and the old tagging scheme.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>FIRST, all the stops, in order. THEN, all the ways that make up the route, in order.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>As far as I’m aware, there hasn’t been a route tagging scheme before that mixes the stops into the route before.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>The actual PTv2 proposal documents that quite well:<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'><a href="https://wiki.openstreetmap.org/wiki/Proposed_features/Public_Transport#Route_direction.2Fvariant">https://wiki.openstreetmap.org/wiki/Proposed_features/Public_Transport#Route_direction.2Fvariant</a><o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>“</span><span style='font-size:10.5pt;font-family:"Arial",sans-serif;color:#222222;background:white'>Each stop is included with two elements (if available): first the </span><tt><span style='font-size:10.0pt;color:#222222;background:#EEEEFF'><a href="https://wiki.openstreetmap.org/wiki/Tag:public_transport%3Dstop_position" title="Tag:public transport=stop position"><span style='font-size:12.0pt;color:#0B0080;text-decoration:none'>stop_position</span></a></span></tt><span style='font-size:10.5pt;font-family:"Arial",sans-serif;color:#222222;background:white'> tagged with role </span><code><span style='font-size:10.5pt;color:black;border:solid #EAECF0 1.0pt;padding:1.0pt;background:#F8F9FA'>stop</span></code><span style='font-size:10.5pt;font-family:"Arial",sans-serif;color:#222222;background:white'> and immediately followed by the corresponding </span><tt><span style='font-size:10.0pt;color:#222222;background:#EEEEFF'><a href="https://wiki.openstreetmap.org/wiki/Tag:public_transport%3Dplatform" title="Tag:public transport=platform"><span style='font-size:12.0pt;color:#0B0080;text-decoration:none'>platform</span></a></span></tt><span style='font-size:10.5pt;font-family:"Arial",sans-serif;color:#222222;background:white'> tagged with role </span><code><span style='font-size:10.5pt;color:black;border:solid #EAECF0 1.0pt;padding:1.0pt;background:#F8F9FA'>platform</span></code><span style='font-size:10.5pt;font-family:"Arial",sans-serif;color:#222222;background:white'>. The stops (stop_positions and platforms) should be inserted beginning with the initial stop_position/platform and ending with the terminal stop_position/platform. The ordering of the stop positions in the relation will determine the direction of the route.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.5pt;font-family:"Arial",sans-serif;color:#222222;background:white'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:10.5pt;font-family:"Arial",sans-serif;color:#222222;background:white'>…<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.5pt;font-family:"Arial",sans-serif;color:#222222;background:white'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:10.5pt;font-family:"Arial",sans-serif;color:#222222;background:white'>After all the stops all the used ways should be inserted into the relation with an empty role. The ways should be inserted beginning with the way at the initial stop position and ending with the way at the terminal stop position.”<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.5pt;font-family:"Arial",sans-serif;color:#222222;background:white'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:10.5pt;font-family:"Arial",sans-serif;color:#222222;background:white'>I fully agree that the individual pages for tags are a total mess, mixing together information both from previous tagging schemes and PTv2.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.5pt;font-family:"Arial",sans-serif;color:#222222;background:white'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:10.5pt;font-family:"Arial",sans-serif;color:#222222;background:white'>When evaluating PTv2 and mapping according to it, the actual accepted proposal (which I linked above) should be considered normative.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:10.5pt;font-family:"Arial",sans-serif;color:#222222;background:white'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:10.5pt;font-family:"Arial",sans-serif;color:#222222;background:white'>If you read through the actual proposal that was accepted, it’s actually pretty clear and well structured.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>All the individual pages should probably be cleaned up, and only and clearly contain the information from the PTv2 proposal. That would greatly clear up the confusion people seem to have. But I understand that would greatly upset people that outright reject PTv2 despite it being newest voted on and accepted proposal.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'><o:p> </o:p></span></p><div style='border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt'><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri",sans-serif'>From:</span></b><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri",sans-serif'> Paul Allen <pla16021@gmail.com> <br><b>Sent:</b> Thursday, 21 June 2018 04:21<br><b>To:</b> Tag discussion, strategy and related tools <tagging@openstreetmap.org><br><b>Subject:</b> Re: [Tagging] public_transport=platform rendering on osm-carto<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>On Wed, Jun 20, 2018 at 6:53 PM, <<a href="mailto:osm.tagging@thorsten.engler.id.au" target="_blank">osm.tagging@thorsten.engler.id.au</a>> wrote:<span style='font-size:11.0pt;font-family:"Calibri",sans-serif'><br> </span><o:p></o:p></p><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm'><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>So, valid minimal tagging under PTv2 is very simple:</span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'> </span><o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>You have one node (if there is no clear platform) or a way (along the platform edge) or area (the whole platform), which is tagged as public_transport=platform (plus whatever mode of transport is served at the</span> <o:p></o:p></p></div></div></blockquote><blockquote style='border:none;border-left:solid #CCCCCC 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm'><div><div><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>platform, so bus=yes or tram=yes, or …)</span><o:p></o:p></p></div></div></blockquote><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Which all sounds fine, until I try to make sense of the relation. Something (or somebody) seems to like<o:p></o:p></p></div><div><p class=MsoNormal>shoving all platforms at the start of the relation, then the ways in order. Which would work (just) for a routeing<br>algorithm, if you throw enough CPU at it, but is inefficient. It also gets very confusing when you have a route which is<o:p></o:p></p></div><div><p class=MsoNormal>circuitous and doubles back on part of its earlier route in the same direction, causing some stops to be in the<o:p></o:p></p></div><div><p class=MsoNormal>relation twice. The route I'm thinking of has a stop on that revisited section which is NOT used on the first<o:p></o:p></p></div><div><p class=MsoNormal>traversal but IS used on the second. It's hard to figure out what's going on unless the stops appear in the<o:p></o:p></p></div><div><p class=MsoNormal>relation next to their ways rather than all lumped together at the beginning.<o:p></o:p></p></div><div><p class=MsoNormal style='margin-bottom:12.0pt'><br>And it gets worse. Suppose I have a simple route, from X to Z with a stop at Y.<o:p></o:p></p></div><div><p class=MsoNormal style='margin-bottom:12.0pt'> X --- bat street --- o --- cat street --- o --- dog street --- Z<o:p></o:p></p></div><div><p class=MsoNormal>X is at the start of bat street, Z is at the end of dog street. Y is in the middle of cat street, not at either of its <o:p></o:p></p></div><div><p class=MsoNormal style='margin-bottom:12.0pt'>junctions with the other two streets.<o:p></o:p></p></div><div><p class=MsoNormal>The choices I have for relation ordering (I'm still learning/battling JOSM to do it) are X, Y, Z, bat street, cat street,<o:p></o:p></p></div><div><p class=MsoNormal style='margin-bottom:12.0pt'>dog street; or X (which appears to be how it's ordered by default), bat street, Y, cat street, dog street, Z;<br>or X, bat street, cat street, Y, dog street. None of which make it clear to a mapper or consumer what the reality is<br>without also looking at the map (simple inspection of the data is not enough). Or should cat street be split at Y<br>so I can have X, bat street, cat street 1, Y, cat street 2, dog street, Z?<o:p></o:p></p></div><div><p class=MsoNormal>Or does it simply not matter where the stops appear in the relation? If not, does it even matter what order they're<o:p></o:p></p></div><div><p class=MsoNormal>in? I would have thought that for efficiency of routeing you'd NEED stop positions on highways too, otherwise<o:p></o:p></p></div><div><p class=MsoNormal>there's an extra search outwards from the platform until it finds the way. Oh, and the nearest portion of the<o:p></o:p></p></div><div><p class=MsoNormal>way may not actually be reachable from the platform because of obstacles.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>I'm confused. The wiki doesn't seem to make it clear and nor do the tools. Am I entirely missing the point?<o:p></o:p></p></div><div><p class=MsoNormal>Probably.<br><br>I would appreciate somebody with a deep understanding of this stuff clarifying matters, here or on the wiki.<o:p></o:p></p></div><div><p class=MsoNormal><br>-- <o:p></o:p></p></div><div><p class=MsoNormal style='margin-bottom:12.0pt'>Paul<o:p></o:p></p></div></div></div></div></div></div></body></html>