<html 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:"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;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1293287839;
        mso-list-template-ids:-1;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:72.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:108.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:144.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:180.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:216.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:252.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:288.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:324.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
--></style></head><body lang=DE link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Hi Gerd,</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>forget my mail from 22.11.18.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>apply_first does work as expected – I just didn’t catch it how the data is processed.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Now I can</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>If the relation is in order and the „direction“ (role=backward/Forward) is tagged (at the first way) -> Display the POIs Right at the start</p><p class=MsoNormal>If the relation is in order but there is no direction or there are more than one relation starting at this way -> Display the POIs somewhere on the first way</p><p class=MsoNormal>If the relation is not in order -> Display the POI somewhere on the relation</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I can search for POIs like „MTB-Infopint“ and get all the mtb-relations and there tagged Information (ascent, distance, etc.).</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Tests with relations starting with a node still going on.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks a lot so far.</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Andreas</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Gesendet von <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> für Windows 10</p><p class=MsoNormal><o:p> </o:p></p><div style='mso-element:para-border-div;border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal style='border:none;padding:0cm'><b>Von: </b><a href="mailto:andreas.schmidt.hetschbach@t-online.de">andreas.schmidt.hetschbach@t-online.de</a><br><b>Gesendet: </b>Donnerstag, 22. November 2018 19:37<br><b>An: </b><a href="mailto:mkgmap-dev@lists.mkgmap.org.uk">Development list for mkgmap</a><br><b>Betreff: </b>Re: [mkgmap-dev] Add a POI to the start of a relation (route:mtb)</p></div><p class=MsoNormal><o:p> </o:p></p></div><div class=WordSection1><p class=MsoNormal>Hi Gerd,<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> great idea and it works good for my puposes. In principle I try to do the following:<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> Use Option –add-pois-to-lines<o:p></o:p></p><ul type=disc><li class=MsoListParagraph style='mso-list:l0 level1 lfo1'>Add a tag route_mtb_info_point to the first member of a route<o:p></o:p></li><li class=MsoListParagraph style='mso-list:l0 level1 lfo1'>Add all the relevant relation Information<o:p></o:p></li><li class=MsoListParagraph style='mso-list:l0 level1 lfo1'>Add the „direction“ (role=backward/Forward) of the first member<o:p></o:p></li><li class=MsoListParagraph style='mso-list:l0 level1 lfo1'>Add an element in the Points-file which is shown at the start or the end (or in the middle if there is no direction) in relation of the direction of the way<o:p></o:p></li></ul><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>I can search for POI like „MTB-Info…“ and get all the MTB-Routes around my Position. The POI are at the start (or nearby) of the route (if the mebers are ordered) or somewhere on the route – as expected. Sometimes there are two POI for one route<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> I have the following in my style:<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>#add tag for direction to each member, could be both if way is twice or more with diff Direction in the route.<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>route=mtb{apply<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>                role ='backward'{set mtb_role_backward="yes";}<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>}<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>route=mtb {apply<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>                role ='forward'{ set mtb_role_forward="yes";}<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>}<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> #save data of first member of the route, (could be more than one route but not relevant in this example)<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> route=mtb{apply_first {<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>                                                               set route_mtb_info_point="yes";<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>                                                               set route_mtb_info_point_forward="$(mtb_role_forward)";<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>                                                               set route_mtb_info_point_backward="$(mtb_role_backward)";<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>                                                               set route_mtb_name="$(route_mtb_name)-${name}"|"${name}";<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>                                                               set route_mtb_ref="$(route_mtb_ref)-${ref}"|"${ref}";<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>                                                               set route_mtb_info_actual ="HM:k.A.,KM:k.A.";<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>                                                               set route_mtb_info_actual="HM:${ascent},KM:${distance}" | "HM:${fee},KM:${distance}" | "KM:${distance}" | "HM:${ascent}";<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>                                                               set route_mtb_info="$(route_mtb_info)-$(route_mtb_info_actual)"|"$(route_mtb_info_actual)";<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>                                                               echotags"rel apply_first"<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>                                               }<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>I expected that for a way which is only member of one relation the values of<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>route_mtb_info_point_forward and route_mtb_info_point_backward<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>could never be „yes“ at the same time for both, because only the first member of the relation is under investigation. But it seems that if a way is more than once a member in a relation, the data of both positions are stored (the way is the first (backward) and the last (Forward) member of the relation).<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Way 337595135 [highway=track, motor_vehicle=forestry, mtb_role_backward=yes, mtb_role_forward=yes, route_bicycle=yes, route_hiking=yes, route_mtb_info=HM:754,KM:30, route_mtb_info_actual=HM:754,KM:30, route_mtb_info_point=yes, route_mtb_info_point_backward=yes, route_mtb_info_point_forward=yes, route_mtb_name=MTB-Strecke Breuberg 1, route_mtb_ref=Bb1, route_name=Odenwaldklub HW 27, Seligenstadt - Waldbrunn - Bad Rappenau-2-Burgen-Radweg-Rundwanderweg Breuberg Burg Breuberg 3: Scheuerberg-Weg-Rundwanderweg Breuberg Burg Breuberg 2: Schanzen-Weg-Rundwanderweg Breuberg Burg Breuberg 2: Schanzen-Weg-Südhessen-Route 22, route_ref=HW 27-2BR-3-2-2-22, route_symbol=rotes X auf weißem Grund, tracktype=grade2] rel apply_first<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> The Points – file includes the following:<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> route_mtb_info_point="yes" & route_mtb_info_point_forward="yes" & mkgmap:line2poitype=start  {set mkgmap:label:1 = "MTB-Info: ${route_mtb_ref} ${route_mtb_name} ${route_mtb_info}"}[0x1010a resolution 20-24 ]<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>route_mtb_info_point="yes" & route_mtb_info_point_backward="yes" & mkgmap:line2poitype=end  {set mkgmap:label:1 = "MTB-Info: ${route_mtb_ref} ${route_mtb_name} ${route_mtb_info}"}[0x1010a resolution 20-24 ]<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>route_mtb_info_point="yes" & mkgmap:line2poitype=mid & route_mtb_info_point_backward!=* & route_mtb_info_point_forward!=* {set mkgmap:label:1 = "MTB-Info: ${route_mtb_ref} ${route_mtb_name} ${route_mtb_info}"}[0x1010a resolution 20-24 ]<o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'> <o:p></o:p></p><p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>This results in 2 POIs for this route. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Andreas</p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Gesendet von <a href="https://go.microsoft.com/fwlink/?LinkId=550986">Mail</a> für Windows 10</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>