<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)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><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;}
@font-face
        {font-family:"Segoe UI Emoji";
        panose-1:2 11 5 2 4 2 4 2 2 3;}
/* Style Definitions */
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Tekst zonder opmaak Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Arial",sans-serif;
        mso-fareast-language:EN-US;}
span.TekstzonderopmaakChar
        {mso-style-name:"Tekst zonder opmaak Char";
        mso-style-priority:99;
        mso-style-link:"Tekst zonder opmaak";
        font-family:"Arial",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
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="NL" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoPlainText"><i><span lang="EN-GB"><I already sent this one, but did not see it myself coming back or find it on ‘pipermail’, maybe it’s a duplicate now, sorry for the noise then><o:p></o:p></span></i></p>
<p class="MsoPlainText"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">Hi</span><span lang="EN-GB"><o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">I did some more testing on using the add-pois-to-lines and mkgmap:from-node: and got a little confused.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">As far as I understand is the classic implementation of add-pois-to-lines to create a poi for every node on the line.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">By checking for example mkgmap:line2poitype = mid you decide to use it or not.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">Nice improvement on performance is the mentioned options to not create useless poi's and the idea to do it for start,mid,end,tagged or all<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">The manual states that all values of the line are copied to the node.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">When testing for highway=turning circle it worked even too well as also the node-tags highway = turning_circle was overwritten by the highway = track value of the way it was part of.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">Then Gerd started a 'branch' (if that’s the correct word)  with the mkgmap:from-node: feature, and also this worked perfectly<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">Yesterday I started a new usage: There is a node barrier = gate on a highway = path where the barrier does not have access tags.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">In my style the default for barriers without an access tag is to not allow access (why would they otherwise be added) and highways without access tags to do allow access (that’s where highways for)<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">But as sometimes forgotten by taggers, to finetune access… I'd like to check if the barrier is on a highway with an official bike/hike route as set in the relation file.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">In that case I like to add foot = yes or bicycle = yes. Always worked for the highways but because not set on the barrier-node the routing breaks.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">I expected to be able to catch the barrier with<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">Osmid() = 2486838092<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">            Check, catched but no more tags then barrier = gate<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">Current implementation r4521<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">            barrier = gate & highway = track & route = foot {echotags 'all'}<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">            but that failed (add-pois-to-lines ~ true)<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">Strange because in the turning_circle situations I even got 2 poi's. One for the node and one for being part of a highway.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">My example where routing broke is a barrier = gate somewhere on a highway = track.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">In this case only the osm() node seems to be created and not the "add-pois-to-lines node".<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">On the other hand (strange?) the highway = track does contain the tag:  mkgmap:way-has-pois=true to indicate that the highway has barriers<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">Finally ...<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">Gerd launched the idea to create the tag mkgmap:copied-as-poi=true<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">If there are two pois created "the osm node barrier = gate" and the "add-pois-to-lines node" version,  I only can use the "add-pois-to-line version" because that one gives me access to the line where it was derived
 from.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">But this also means that when processing the "osm node version" it must be ignored only if later on, another one comes along. How do you know?<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">If a single stand alone barrier comes along, you do like to use it the same way as it is always has be done<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoPlainText"><b><span lang="EN-GB">Questions </span></b><b><span lang="EN-GB" style="font-family:"Segoe UI Emoji",sans-serif">😊</span></b><b><span lang="EN-GB"><o:p></o:p></span></b></p>
<p class="MsoPlainText"><span lang="EN-GB">Can I expect to have the barrier = gate nodes always to created twice if attached to a highway and add-pois-to-line = true?<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">Can I catch it with the future functionality we started for the turning circle as well?<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">Do we best extend the mkgmap:copied-as-poi=true to be available both from the osm node version of the poi as well as the created poi?<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">I'm happy do more testing<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">Hopefully you guys can still handle my stories.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">Kind regards, Joris<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoPlainText"><b><span lang="EN-GB">Test area<o:p></o:p></span></b></p>
<p class="MsoPlainText"><span lang="EN-GB">Node: <a href="https://www.openstreetmap.org/node/2486838092">
https://www.openstreetmap.org/node/2486838092</a><o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">            (already updated to foot=yes, but not important for the test)<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">Highway <a href="https://www.openstreetmap.org/way/241008394">
https://www.openstreetmap.org/way/241008394</a><o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">Walking route: <a href="https://www.openstreetmap.org/relation/3251904">
https://www.openstreetmap.org/relation/3251904</a><o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB"><img border="0" width="1118" height="620" style="width:11.6406in;height:6.4583in" id="Afbeelding_x0020_1" src="cid:image002.jpg@01D63E4A.69A98E30"><o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">To be sure it was not a baecamp problem<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">When only adding mkgmap:foot=yes to the node barrier=gate its oke<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB"><img border="0" width="745" height="437" style="width:7.7552in;height:4.552in" id="Afbeelding_x0020_2" src="cid:image004.jpg@01D63E4A.69A98E30"><o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoPlainText">-----Oorspronkelijk bericht-----<o:p></o:p></p>
<p class="MsoPlainText">Van: mkgmap-dev <<a href="mailto:mkgmap-dev-bounces@lists.mkgmap.org.uk">mkgmap-dev-bounces@lists.mkgmap.org.uk</a>> Namens Mike Baggaley<o:p></o:p></p>
<p class="MsoPlainText">Verzonden: dinsdag 9 juni 2020 00:14<o:p></o:p></p>
<p class="MsoPlainText">Aan: 'Development list for mkgmap' <<a href="mailto:mkgmap-dev@lists.mkgmap.org.uk">mkgmap-dev@lists.mkgmap.org.uk</a>><o:p></o:p></p>
<p class="MsoPlainText"><span lang="EN-GB">Onderwerp: [mkgmap-dev] add-pois-to-lines documentation<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">Hi Gerd, please find attached a proposed patch to the documentation for the add-pois-to-lines option as requested.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">Cheers,<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">Mike<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">>I've implemented the suggested improvements with r4507. Please suggest<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB">improvements for the documentation changes.<o:p></o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span lang="EN-GB"><o:p> </o:p></span></p>
<p class="MsoPlainText"><span style="mso-fareast-language:NL">-----Oorspronkelijk bericht-----<br>
Van: mkgmap-dev <mkgmap-dev-bounces@lists.mkgmap.org.uk> Namens Gerd Petermann<br>
Verzonden: dinsdag 9 juni 2020 10:25<br>
Aan: Development list for mkgmap <mkgmap-dev@lists.mkgmap.org.uk><br>
Onderwerp: Re: [mkgmap-dev] is_in() function for point on line</span></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Hi all,<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">forgot to add the download link for the binary:<o:p></o:p></p>
<p class="MsoPlainText"><a href="http://files.mkgmap.org.uk/detail/480"><span style="color:windowtext;text-decoration:none">http://files.mkgmap.org.uk/detail/480</span></a><o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">I've now tested that  --add-pois-to-lines=mid,tagged-node tagged-node works as expected, but documentation still needs improvements.<o:p></o:p></p>
<p class="MsoPlainText">If e.g. --add-pois-to-lines=mid,tagged-node is used the option tagged-node has no effect unless the points style contains a corresponding rules like<o:p></o:p></p>
<p class="MsoPlainText">mkgmap:from-node:highway = turning_circle & highway = track             [0x641a resolution 24]<o:p></o:p></p>
<p class="MsoPlainText">is found.<o:p></o:p></p>
<p class="MsoPlainText">I've implemented it like this to reduce the memory footprint because I thought of those nodes which have unintresting tags like source=*. I forgot that those tags are already removed before POIGeneratorHook is executed. I'll do some
 more testing now...<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Gerd<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Gerd<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">________________________________________<o:p></o:p></p>
<p class="MsoPlainText">Von: Gerd Petermann <<a href="mailto:gpetermann_muenchen@hotmail.com"><span style="color:windowtext;text-decoration:none">gpetermann_muenchen@hotmail.com</span></a>><o:p></o:p></p>
<p class="MsoPlainText">Gesendet: Dienstag, 9. Juni 2020 09:43<o:p></o:p></p>
<p class="MsoPlainText">An: Development list for mkgmap<o:p></o:p></p>
<p class="MsoPlainText">Betreff: AW: [mkgmap-dev] is_in() function for point on line<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Hi Mike, Hi Joris<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">while looking at patch addpois-doc.patch I noticed that poi-tagged.patch has a paste+copy error. The new option "tagged" did not work.<o:p></o:p></p>
<p class="MsoPlainText">Attached is a corrected version which implements tagged-node and changes/adds documentation.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">@Mike: Don't know why I used "other" instead of "inner". My bad. We cannot just change the doc, we also have to support the corrected option.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Reg. "creation of POIS from the lines style file" : It might be possible to add new logic which would add a point object while a line is processed. Up to now the order is "relations, points, lines[+polygons], so POIs are processed before
 lines. If we change that we have to find an alternative for the dead-end-check processing. Problem : That wouldn't allow to remove the existing code, it just adds complexity with the risk of breaking existing installations.<o:p></o:p></p>
<p class="MsoPlainText">Without the legacy code I would like the idea.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Gerd<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">________________________________________<o:p></o:p></p>
<p class="MsoPlainText">Von: mkgmap-dev <<a href="mailto:mkgmap-dev-bounces@lists.mkgmap.org.uk"><span style="color:windowtext;text-decoration:none">mkgmap-dev-bounces@lists.mkgmap.org.uk</span></a>> im Auftrag von Mike Baggaley <<a href="mailto:mike@tvage.co.uk"><span style="color:windowtext;text-decoration:none">mike@tvage.co.uk</span></a>><o:p></o:p></p>
<p class="MsoPlainText">Gesendet: Montag, 8. Juni 2020 23:45<o:p></o:p></p>
<p class="MsoPlainText">An: 'Development list for mkgmap'<o:p></o:p></p>
<p class="MsoPlainText">Betreff: Re: [mkgmap-dev] is_in() function for point on line<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Hi Gerd, I've tried out the --add-pois-to-lines=mid option and it seems to work well, giving me something like a 5% performance improvement. There are a couple of errors in the documentation - it doesn't explain what 'other' does, and
 there's no option for 'inner' (should 'other' read 'inner' in the option?).  Also it says that the default is to create all possible POI - I assume this is the default if the option is provided with no value and that the default is for no POIs to be added.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">You haven't mentioned whether the patch also allows the creation of POIS from the lines style file - I'm assuming it is just the command line.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Thanks for the quick implementation,<o:p></o:p></p>
<p class="MsoPlainText">Mike<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">-----Original Message-----<o:p></o:p></p>
<p class="MsoPlainText">From: Gerd Petermann [<a href="mailto:gpetermann_muenchen@hotmail.com"><span style="color:windowtext;text-decoration:none">mailto:gpetermann_muenchen@hotmail.com</span></a>]<o:p></o:p></p>
<p class="MsoPlainText">Sent: 03 June 2020 08:40<o:p></o:p></p>
<p class="MsoPlainText">To: Mike Baggaley <<a href="mailto:mike@tvage.co.uk"><span style="color:windowtext;text-decoration:none">mike@tvage.co.uk</span></a>>; 'Development list for mkgmap' <<a href="mailto:mkgmap-dev@lists.mkgmap.org.uk"><span style="color:windowtext;text-decoration:none">mkgmap-dev@lists.mkgmap.org.uk</span></a>><o:p></o:p></p>
<p class="MsoPlainText">Subject: Re: [mkgmap-dev] is_in() function for point on line<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Hi Joris, Hi Mike,<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">I've implemented the suggested improvements with r4507. Please suggest improvements for the documentation changes.<o:p></o:p></p>
<p class="MsoPlainText">I did not yet document the new prefix mkgmap:from-node: in the style because I found no simple description. Feel free to suggest something.<o:p></o:p></p>
<p class="MsoPlainText">Reg. the implementation:<o:p></o:p></p>
<p class="MsoPlainText">I decided to ignore all tags with the prefix mkgmap: , e,g. those from the LocationHook like mkgmap:admin_level2. It might happen that the values for the node are different to those copied from the way, but I don't assume that anybody
 wants to add extra rules for that.<o:p></o:p></p>
<p class="MsoPlainText">Maybe I should change it the other way around so that the generated POI gets the "exact" values from the node (without the mkgmap:from-node: prefix?<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">The code should also work for POIs added with the --add-pois-to-areas option when the generated POI is using the location of a node because of the --pois-to-areas-placement option.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Gerd<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">________________________________________<o:p></o:p></p>
<p class="MsoPlainText">Von: Mike Baggaley <<a href="mailto:mike@tvage.co.uk"><span style="color:windowtext;text-decoration:none">mike@tvage.co.uk</span></a>><o:p></o:p></p>
<p class="MsoPlainText">Gesendet: Montag, 1. Juni 2020 12:34<o:p></o:p></p>
<p class="MsoPlainText">An: 'Gerd Petermann'; 'Development list for mkgmap'<o:p></o:p></p>
<p class="MsoPlainText">Betreff: RE: [mkgmap-dev] is_in() function for point on line<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Hi Gerd,<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">I have --add-pois-to-lines in my command, but right near the beginning of my points file I have<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">mkgmap:line2poitype=start | mkgmap:line2poitype=inner | mkgmap:line2poitype=end {deletealltags} # only centre of line wanted<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">I wonder whether there could be some efficiency improvement by extending the --add-pois-to-lines option to be something like<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">--add-pois-to-lines[=start|end|inner|mid[,...]]<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">We would then reduce the number of unwanted POIs created.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">I actually only use this for placing bridge and tunnel names at the middle of the way and replacing line gates with point gates, so being able to do this in the lines file of my style sheet would be even better:<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">tunnel=* | bridge=* | barrier=gate {set mkgmap:addpoistoline=mid}<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">This assumes that generating POIs happens after the line stylesheet is processed.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Regards,<o:p></o:p></p>
<p class="MsoPlainText">Mike<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">-----Original Message-----<o:p></o:p></p>
<p class="MsoPlainText">From: Gerd Petermann [<a href="mailto:gpetermann_muenchen@hotmail.com"><span style="color:windowtext;text-decoration:none">mailto:gpetermann_muenchen@hotmail.com</span></a>]<o:p></o:p></p>
<p class="MsoPlainText">Sent: 01 June 2020 10:50<o:p></o:p></p>
<p class="MsoPlainText">To: Development list for mkgmap <<a href="mailto:mkgmap-dev@lists.mkgmap.org.uk"><span style="color:windowtext;text-decoration:none">mkgmap-dev@lists.mkgmap.org.uk</span></a>><o:p></o:p></p>
<p class="MsoPlainText">Subject: Re: [mkgmap-dev] is_in() function for point on line<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Hi Joris,<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">probably my ideas don't work. Your case is very special because you render the POI only when it is part of a way. The example with entrance=main is probably not a good one as entrance=main & is_in(building,mall,on) [...] already works.<o:p></o:p></p>
<p class="MsoPlainText">I've coded a better patch so that your example will also work when option --link-pois-to-ways is not used. Up to now the patch depends on that.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">I do not yet see how mkgmap can avoid the generation of all useless POI without adding a lot of code to analyse the rules in the points file, but I still think about this. Problem is that we have the generated tags like mkgmap:admin_level10
 or mkgmap:residential and I fear to break something that uses tricky rules with just these tags.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">> Or we could work the other way around, in stead of render all poi's for all objects and not use them, the mapmaker specifies the explicit objects the poi's are needed.<o:p></o:p></p>
<p class="MsoPlainText">Yes, might be an option. An exclude list might also work.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Gerd<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">________________________________________<o:p></o:p></p>
<p class="MsoPlainText">Von: mkgmap-dev <<a href="mailto:mkgmap-dev-bounces@lists.mkgmap.org.uk"><span style="color:windowtext;text-decoration:none">mkgmap-dev-bounces@lists.mkgmap.org.uk</span></a>> im Auftrag von Joris Bo <<a href="mailto:jorisbo@hotmail.com"><span style="color:windowtext;text-decoration:none">jorisbo@hotmail.com</span></a>><o:p></o:p></p>
<p class="MsoPlainText">Gesendet: Montag, 1. Juni 2020 10:51<o:p></o:p></p>
<p class="MsoPlainText">An: Development list for mkgmap<o:p></o:p></p>
<p class="MsoPlainText">Betreff: Re: [mkgmap-dev] is_in() function for point on line<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Hallo Gerd,<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">This works perfect ! (points - file)<o:p></o:p></p>
<p class="MsoPlainText">mkgmap:from-node:highway = turning_circle & highway = track             [0x641a resolution 24]<o:p></o:p></p>
<p class="MsoPlainText">mkgmap:from-node:highway = turning_circle & highway != track            [0x641b resolution 24]<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Your suggestion will indeed also feature your 'entrance=main' example which is actually a very useful one to avoid cluttering The "add-poi-to-lines" option is still usefull I think ?<o:p></o:p></p>
<p class="MsoPlainText">For example<o:p></o:p></p>
<p class="MsoPlainText">- to give a bicycle route a name-poi<o:p></o:p></p>
<p class="MsoPlainText">- render a symbol for the line leisure = slipway<o:p></o:p></p>
<p class="MsoPlainText">- render a cable car symbol for aerialway = gondola<o:p></o:p></p>
<p class="MsoPlainText">- a warning symbol at the highway = via_ferrata<o:p></o:p></p>
<p class="MsoPlainText">- or incline symbols at the start of steep mountain highways?<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">If those could be solved without rendering thousands of poi's for complex multipolygon lines that would be great of course.<o:p></o:p></p>
<p class="MsoPlainText">Or we could work the other way around, in stead of render all poi's for all objects and not use them, the mapmaker specifies the explicit objects the poi's are needed.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Kind regards<o:p></o:p></p>
<p class="MsoPlainText">Joris<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">-----Oorspronkelijk bericht-----<o:p></o:p></p>
<p class="MsoPlainText">Van: mkgmap-dev <<a href="mailto:mkgmap-dev-bounces@lists.mkgmap.org.uk"><span style="color:windowtext;text-decoration:none">mkgmap-dev-bounces@lists.mkgmap.org.uk</span></a>> Namens Gerd Petermann<o:p></o:p></p>
<p class="MsoPlainText">Verzonden: zondag 31 mei 2020 11:38<o:p></o:p></p>
<p class="MsoPlainText">Aan: Development list for mkgmap <<a href="mailto:mkgmap-dev@lists.mkgmap.org.uk"><span style="color:windowtext;text-decoration:none">mkgmap-dev@lists.mkgmap.org.uk</span></a>><o:p></o:p></p>
<p class="MsoPlainText">Onderwerp: Re: [mkgmap-dev] is_in() function for point on line<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Hi Joris,<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">up to now we only mentioned nodes with a highway=* tag used in ways with a highway=* tag.<o:p></o:p></p>
<p class="MsoPlainText">I've coded a rather simple patch for that, but while I did that I wondered why this should be limited to highways.<o:p></o:p></p>
<p class="MsoPlainText">I decided to use the prefix "mkgmap:from-node:". Tags with prefix mkgmap:  are not copied.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">My understanding is that you want a function which tells you if a tagged node is used in one or more ways with a given tag.<o:p></o:p></p>
<p class="MsoPlainText">For example, you may want to render a node with entrance=main, but only when it is the entrance to a building=mall.<o:p></o:p></p>
<p class="MsoPlainText">This will not work, because only nodes with the tags barrier or highway are treated special.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">I think it is possible to implement this as well. We probably just have to check the points rules and look for uses of "mkgmap:from-node:".<o:p></o:p></p>
<p class="MsoPlainText">Maybe this would also allow to get rid of the computational overhead produced by the add-poi-to-lines option. The current implementation of this option is really ugly as it computes lots of points which are never used to generate any
 map object. Think of a complex natural=wood polygon (no other tags). If the points file doesn't contain a rule for natural=wood there is no need to generate the POIs.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">I've uploaded a binary compiled with the attached patch here:<o:p></o:p></p>
<p class="MsoPlainText"><a href="http://files.mkgmap.org.uk/download/473/mkgmap.jar"><span style="color:windowtext;text-decoration:none">http://files.mkgmap.org.uk/download/473/mkgmap.jar</span></a><o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Gerd<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">________________________________________<o:p></o:p></p>
<p class="MsoPlainText">Von: mkgmap-dev <<a href="mailto:mkgmap-dev-bounces@lists.mkgmap.org.uk"><span style="color:windowtext;text-decoration:none">mkgmap-dev-bounces@lists.mkgmap.org.uk</span></a>> im Auftrag von Joris Bo <<a href="mailto:jorisbo@hotmail.com"><span style="color:windowtext;text-decoration:none">jorisbo@hotmail.com</span></a>><o:p></o:p></p>
<p class="MsoPlainText">Gesendet: Sonntag, 31. Mai 2020 09:06<o:p></o:p></p>
<p class="MsoPlainText">An: Development list for mkgmap<o:p></o:p></p>
<p class="MsoPlainText">Betreff: Re: [mkgmap-dev] is_in() function for point on line<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Hi Gerd<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Thanks for the answer, always nice if it makes sense again. Then it was worth the testing
<span style="font-family:"Segoe UI Emoji",sans-serif">😊</span><o:p></o:p></p>
<p class="MsoPlainText">For me that would be perfect, the number of cases this will occur is limited so that it's no problem to explicitly test against this replace value. There are probably more situations around highways where this could occur like highway
 = bus_stop, highway = speedcamera, and traffic signals.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Kind regards,<o:p></o:p></p>
<p class="MsoPlainText">Joris<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">-----Oorspronkelijk bericht-----<o:p></o:p></p>
<p class="MsoPlainText">Van: mkgmap-dev <<a href="mailto:mkgmap-dev-bounces@lists.mkgmap.org.uk"><span style="color:windowtext;text-decoration:none">mkgmap-dev-bounces@lists.mkgmap.org.uk</span></a>> Namens Gerd Petermann<o:p></o:p></p>
<p class="MsoPlainText">Verzonden: zaterdag 30 mei 2020 18:39<o:p></o:p></p>
<p class="MsoPlainText">Aan: Development list for mkgmap <<a href="mailto:mkgmap-dev@lists.mkgmap.org.uk"><span style="color:windowtext;text-decoration:none">mkgmap-dev@lists.mkgmap.org.uk</span></a>><o:p></o:p></p>
<p class="MsoPlainText">Onderwerp: Re: [mkgmap-dev] is_in() function for point on line<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Hi Joris,<o:p></o:p></p>
<p class="MsoPlainText">yes, it is a special case. The generated POI gets the tags from the way, so highway=turning_circle is replaced by highway=track.<o:p></o:p></p>
<p class="MsoPlainText">The node 7131748927 appears only with the tag highway=turning_circle (and maybe the address tags)<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Not sure what to do. Maybe store the replaced tag(s) with a prefix, e.g. mkgmap:replaced:highway=turning_circle in this case?<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Gerd<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">________________________________________<o:p></o:p></p>
<p class="MsoPlainText">Von: mkgmap-dev <<a href="mailto:mkgmap-dev-bounces@lists.mkgmap.org.uk"><span style="color:windowtext;text-decoration:none">mkgmap-dev-bounces@lists.mkgmap.org.uk</span></a>> im Auftrag von Joris Bo <<a href="mailto:jorisbo@hotmail.com"><span style="color:windowtext;text-decoration:none">jorisbo@hotmail.com</span></a>><o:p></o:p></p>
<p class="MsoPlainText">Gesendet: Samstag, 30. Mai 2020 18:11<o:p></o:p></p>
<p class="MsoPlainText">An: Development list for mkgmap<o:p></o:p></p>
<p class="MsoPlainText">Betreff: Re: [mkgmap-dev] is_in() function for point on line<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Hi Gerd<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Could it be possible that in this case the highway tag of the line is ignored because the point turning_circle is of type highway as well?<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">It's like there is a point {highway = turning_circle} on a line {highway =  track} It looks like I cannot catch it with the mkgmap:line2poitype and mkgmap:line2poi.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Somewhere else I already use<o:p></o:p></p>
<p class="MsoPlainText">leisure = slipway & mkgmap:area2poi != true & mkgmap:line2poitype = mid  and that works fine<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Kind regards,<o:p></o:p></p>
<p class="MsoPlainText">Joris<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">-----Oorspronkelijk bericht-----<o:p></o:p></p>
<p class="MsoPlainText">Van: mkgmap-dev <<a href="mailto:mkgmap-dev-bounces@lists.mkgmap.org.uk"><span style="color:windowtext;text-decoration:none">mkgmap-dev-bounces@lists.mkgmap.org.uk</span></a>> Namens Gerd Petermann<o:p></o:p></p>
<p class="MsoPlainText">Verzonden: zaterdag 30 mei 2020 17:51<o:p></o:p></p>
<p class="MsoPlainText">Aan: Development list for mkgmap <<a href="mailto:mkgmap-dev@lists.mkgmap.org.uk"><span style="color:windowtext;text-decoration:none">mkgmap-dev@lists.mkgmap.org.uk</span></a>><o:p></o:p></p>
<p class="MsoPlainText">Onderwerp: Re: [mkgmap-dev] is_in() function for point on line<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Hi Joris,<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">is_in() only works with polygons. You can use --add-pois-to-lines, but be aware that it produces a lot of points for which you probablly don't want to add an object to the map. See the help for the details.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Gerd<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">________________________________________<o:p></o:p></p>
<p class="MsoPlainText">Von: mkgmap-dev <<a href="mailto:mkgmap-dev-bounces@lists.mkgmap.org.uk"><span style="color:windowtext;text-decoration:none">mkgmap-dev-bounces@lists.mkgmap.org.uk</span></a>> im Auftrag von Joris Bo <<a href="mailto:jorisbo@hotmail.com"><span style="color:windowtext;text-decoration:none">jorisbo@hotmail.com</span></a>><o:p></o:p></p>
<p class="MsoPlainText">Gesendet: Samstag, 30. Mai 2020 17:40<o:p></o:p></p>
<p class="MsoPlainText">An: Development list for mkgmap<o:p></o:p></p>
<p class="MsoPlainText">Betreff: [mkgmap-dev] is_in() function for point on line<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Hi<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Does the is_in() function should also work for a point on a line in stead of in a polygon?<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">highway = turning_circle & is_in(highway, track, in_or_on) = true      [0x641a resolution 24]<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">It returns false for this situation where the turningcircle is attached to a highway = track.<o:p></o:p></p>
<p class="MsoPlainText">(mkgmap:cache_is_in_POINT_highway_track_in_or_on=false)<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Would there be another way to know if the point is attached to a highway = track rather then a for example highway = residential?<o:p></o:p></p>
<p class="MsoPlainText">I use add-pois-to-lines, and link-pois-to-ways but as far as I can see, that doesn't give me more information.<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><a href="https://www.openstreetmap.org/#map=18/49.65888/5.45845"><span style="color:windowtext;text-decoration:none">https://www.openstreetmap.org/#map=18/49.65888/5.45845</span></a><o:p></o:p></p>
<p class="MsoPlainText">[<a href="cid:image002.jpg@01D636A9.5643B8A0"><span style="color:windowtext;text-decoration:none">cid:image002.jpg@01D636A9.5643B8A0</span></a>]<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">Kind regards<o:p></o:p></p>
<p class="MsoPlainText">Joris<o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">_______________________________________________<o:p></o:p></p>
<p class="MsoPlainText">mkgmap-dev mailing list<o:p></o:p></p>
<p class="MsoPlainText"><a href="mailto:mkgmap-dev@lists.mkgmap.org.uk"><span style="color:windowtext;text-decoration:none">mkgmap-dev@lists.mkgmap.org.uk</span></a><o:p></o:p></p>
<p class="MsoPlainText"><a href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev"><span style="color:windowtext;text-decoration:none">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</span></a><o:p></o:p></p>
<p class="MsoPlainText">_______________________________________________<o:p></o:p></p>
<p class="MsoPlainText">mkgmap-dev mailing list<o:p></o:p></p>
<p class="MsoPlainText"><a href="mailto:mkgmap-dev@lists.mkgmap.org.uk"><span style="color:windowtext;text-decoration:none">mkgmap-dev@lists.mkgmap.org.uk</span></a><o:p></o:p></p>
<p class="MsoPlainText"><a href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev"><span style="color:windowtext;text-decoration:none">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</span></a><o:p></o:p></p>
<p class="MsoPlainText">_______________________________________________<o:p></o:p></p>
<p class="MsoPlainText">mkgmap-dev mailing list<o:p></o:p></p>
<p class="MsoPlainText"><a href="mailto:mkgmap-dev@lists.mkgmap.org.uk"><span style="color:windowtext;text-decoration:none">mkgmap-dev@lists.mkgmap.org.uk</span></a><o:p></o:p></p>
<p class="MsoPlainText"><a href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev"><span style="color:windowtext;text-decoration:none">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</span></a><o:p></o:p></p>
<p class="MsoPlainText">_______________________________________________<o:p></o:p></p>
<p class="MsoPlainText">mkgmap-dev mailing list<o:p></o:p></p>
<p class="MsoPlainText"><a href="mailto:mkgmap-dev@lists.mkgmap.org.uk"><span style="color:windowtext;text-decoration:none">mkgmap-dev@lists.mkgmap.org.uk</span></a><o:p></o:p></p>
<p class="MsoPlainText"><a href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev"><span style="color:windowtext;text-decoration:none">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</span></a><o:p></o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText"><o:p> </o:p></p>
<p class="MsoPlainText">_______________________________________________<o:p></o:p></p>
<p class="MsoPlainText">mkgmap-dev mailing list<o:p></o:p></p>
<p class="MsoPlainText"><a href="mailto:mkgmap-dev@lists.mkgmap.org.uk"><span style="color:windowtext;text-decoration:none">mkgmap-dev@lists.mkgmap.org.uk</span></a><o:p></o:p></p>
<p class="MsoPlainText"><a href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev"><span style="color:windowtext;text-decoration:none">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</span></a><o:p></o:p></p>
<p class="MsoPlainText">_______________________________________________<o:p></o:p></p>
<p class="MsoPlainText">mkgmap-dev mailing list<o:p></o:p></p>
<p class="MsoPlainText"><a href="mailto:mkgmap-dev@lists.mkgmap.org.uk"><span style="color:windowtext;text-decoration:none">mkgmap-dev@lists.mkgmap.org.uk</span></a><o:p></o:p></p>
<p class="MsoPlainText"><a href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev"><span style="color:windowtext;text-decoration:none">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</span></a><o:p></o:p></p>
</div>
</body>
</html>