<!doctype html>
<html>
 <head> 
  <meta charset="UTF-8"> 
 </head>
 <body>
  <div>
   Hi Gerd,
  </div>
  <div>
   <br>
  </div>
  <div>
   with r4397 i used this:
  </div>
  <div>
   <br>
  </div>
  <div>
   mkgmap:lu:cemetery=* &! ((route_mtb=*|route_icn=*|route_ncn=*|route_lcn=*|route_rcn=*) | bicycle~'yes|official|designated|dismount|ok') {set rad=nein}
  </div>
  <div>
   <br>
  </div>
  <div>
   and this
  </div>
  <div>
   <br>
  </div>
  <div>
   highway~'unclassified|minor' &!(mkgmap:lu:residential=*) &!(tunnel=*) { name'${LangBez}'} [0x10112 resolution 24 continue]
   <br>highway~'unclassified|minor' &!(mkgmap:lu:residential=*) &!(tunnel=*) { name'${LangBez}'} [0x10113 resolution 23-22 continue]
   <br>highway~'unclassified|minor' &!(mkgmap:lu:residential=*) &!(tunnel=*) { name'${LangBez}'} [0x10114 resolution 21-21 continue]
   <br>highway~'unclassified|minor' &!(mkgmap:lu:residential=*) &!(tunnel=*) { name'${LangBez}'} [0x10115 resolution 20-20 continue]
   <br>highway~'unclassified|minor' &(mkgmap:lu:residential=*) &!(tunnel=*) { name'${LangBez}'} [0x10112 resolution 24 continue]
   <br>highway~'unclassified|minor' &(mkgmap:lu:residential=*) &!(tunnel=*) { name'${LangBez}'} [0x10113 resolution 23-23 continue]
   <br>highway~'unclassified|minor' &(mkgmap:lu:residential=*) &!(tunnel=*) { name'${LangBez}'} [0x10114 resolution 22-21 continue]
   <br>highway~'unclassified|minor' &(mkgmap:lu:residential=*) &!(tunnel=*) { name'${LangBez}'} [0x10115 resolution 20-20 continue]
  </div>
  <div>
   <br>
  </div>
  <div>
   I think it´s nice, to expand the function mkgmap:lu:cemetery, so that some other polys (playground, military, deponie etc) work with this.
  </div>
  <div>
   <br>
  </div>
  <div>
   i don´t understand all mails, because my english is .....(:
  </div>
  <div>
   <br>
  </div>
  <div>
   Thank you for all the work you do! 
  </div>
  <div>
   <br>
  </div>
  <div>
   best regards
  </div>
  <div>
   <br>
  </div>
  <div>
   Arndt
  </div>
  <blockquote type="cite">
   <div>
    Gerd Petermann <
    <a href="mailto:gpetermann_muenchen@hotmail.com">gpetermann_muenchen@hotmail.com</a>> hat am 20. Dezember 2019 um 18:32 geschrieben:
   </div>
   <div>
    <br>
   </div>
   <div>
    <br>
   </div>
   <div>
    Hi all,
   </div>
   <div>
    <br>
   </div>
   <div>
    attached is an OSM file with various test cases. Assume we want to get the result for landuse=residential.
   </div>
   <div>
    Please load it in JOSM and search for expected=in or expected=out or expected=straddle and finally expected="?"
   </div>
   <div>
    and let me know as soon as possible if you don't agree with anything. (each case has a different name for the object to be tested.
   </div>
   <div>
    The cases with "?" are special, I think b9 and b10 are not important, but the others are very usual in real OSM data.
   </div>
   <div>
    The existing ResidentialHook would add mkgmap:residential to b13, b14 and w26.
   </div>
   <div>
    <br>
   </div>
   <div>
    @Ticker:
   </div>
   <div>
    The residential areas around b13 and b14 show the special case with multipolygons. The hook probably "sees" something like the b13 example when looking at b14 because the multipolygons are cut into pieces without holes before the hook is executed.
   </div>
   <div>
    <br>
   </div>
   <div>
    @all: Would be very good to get some feedback on this, even if you think that you don't need the hook for your style.
   </div>
   <div>
    <br>
   </div>
   <div>
    Gerd
   </div>
   <div>
    <br>
   </div>
   <div>
    ________________________________________
   </div>
   <div>
    Von: mkgmap-dev <
    <a href="mailto:mkgmap-dev-bounces@lists.mkgmap.org.uk">mkgmap-dev-bounces@lists.mkgmap.org.uk</a>> im Auftrag von Ticker Berkin <
    <a href="mailto:rwb-mkgmap@jagit.co.uk">rwb-mkgmap@jagit.co.uk</a>>
   </div>
   <div>
    Gesendet: Freitag, 20. Dezember 2019 13:49
   </div>
   <div>
    An: mkgmap development
   </div>
   <div>
    Betreff: Re: [mkgmap-dev] Commit r4398: revert changes from r4397 (--is-in-landuse option)
   </div>
   <div>
    <br>
   </div>
   <div>
    Hi
   </div>
   <div>
    <br>
   </div>
   <div>
    Given the complexity and cpu cost of calculating this, the various
   </div>
   <div>
    questions, hence answers possible and it has to be done for all
   </div>
   <div>
    elements if the --is-in option is given what about making it a function
   </div>
   <div>
    instead.
   </div>
   <div>
    <br>
   </div>
   <div>
    This means that it only needs to be computed for elements where the
   </div>
   <div>
    answer matters and, as a parameter, the question about what the
   </div>
   <div>
    required is-in means can be asked.
   </div>
   <div>
    <br>
   </div>
   <div>
    eg, in points:
   </div>
   <div>
    <br>
   </div>
   <div>
    if building=church and is-in('landuse', 'cemetery')
   </div>
   <div>
    {add name='Chapel of Rest'}
   </div>
   <div>
    <br>
   </div>
   <div>
    in lines:
   </div>
   <div>
    <br>
   </div>
   <div>
    if highway=* and is-in('landuse', 'cemetary', 'fully') {add bicycle=no}
   </div>
   <div>
    <br>
   </div>
   <div>
    etc.
   </div>
   <div>
    Above are just approximations of how the parameters might work.
   </div>
   <div>
    The various levels of is-in that might be required should be
   </div>
   <div>
    considered, as per Gerd's comments.
   </div>
   <div>
    <br>
   </div>
   <div>
    For some of the examples that have been given for use of this facility,
   </div>
   <div>
    I feel they should really be solved by accurate tagging.
   </div>
   <div>
    <br>
   </div>
   <div>
    @gerd Although it looked like it, I didn't really intend that elements
   </div>
   <div>
    were tagged with NO if no part was within the polygon.
   </div>
   <div>
    <br>
   </div>
   <div>
    Ticker
   </div>
   <div>
    <br>
   </div>
   <div>
    On Fri, 2019-12-20 at 10:43 +0000, Gerd Petermann wrote:
   </div>
   <blockquote type="cite">
    <div>
     Hi all,
    </div>
   </blockquote>
   <blockquote type="cite">
    <div>
     I think I have now the needed methods to be able to distuingish if a
    </div>
    <div>
     given node is inside, outside or "on boundary" of a polygon.
    </div>
    <div>
     In (1) Ticker suggested to use these rules to determine what tag the
    </div>
    <div>
     hook should add either IN, OUT, or STRADDLE as a tag value.
    </div>
    <div>
     The current implementation in ResidentialHook adds either no tag
    </div>
    <div>
     (meaning outside) or a tag with the value "yes" or the name of the
    </div>
    <div>
     found residential area.
    </div>
   </blockquote>
   <blockquote type="cite">
    <div>
     The typical rule to use this tag would be
    </div>
    <div>
     mkgmap:residential=* {do something}
    </div>
   </blockquote>
   <blockquote type="cite">
    <div>
     I think we should NOT add the tag with a value OUT, else the above
    </div>
    <div>
     rule will fail. On the other hand, I assume that nobody use a rule
    </div>
    <div>
     like
    </div>
    <div>
     mkgmap:residential=* & mkgmap:residential!=yes {do something with the
    </div>
    <div>
     name contained in mkgmap:residential}
    </div>
    <div>
     I think it was not a good idea to use the name, I used it for
    </div>
    <div>
     debugging.
    </div>
   </blockquote>
   <blockquote type="cite">
    <div>
     Open question: Should we really just count points?
    </div>
    <div>
     Assume you have a U-shaped cemetery and a highway=footway with just
    </div>
    <div>
     two points starts inside the left upper part and ends inside the
    </div>
    <div>
     right upper part. Most of the way would be outside but the points are
    </div>
    <div>
     inside the cemetery. No idea how often this happens, but the result
    </div>
    <div>
     would be "IN" with Tickers rules. Even when you add (barrier=gate)
    </div>
    <div>
     nodes on the boundaries of the cemetery the result is still "IN"
    </div>
    <div>
     I woud call this result wrong and expect a value like STRADDLE.
    </div>
   </blockquote>
   <blockquote type="cite">
    <div>
     Gerd
    </div>
   </blockquote>
   <blockquote type="cite">
    <div>
     (1) 
     <a href="http://gis.19327.n8.nabble.com/Commit-r4397-implement-and-documen" rel="noopener" target="_blank">http://gis.19327.n8.nabble.com/Commit-r4397-implement-and-documen</a>
    </div>
    <div>
     t-new-option-is-in-landuse-value-value-tp5953495p5953703.html
    </div>
   </blockquote>
   <blockquote type="cite">
    <div>
     ________________________________________
    </div>
    <div>
     Von: mkgmap-dev <
     <a href="mailto:mkgmap-dev-bounces@lists.mkgmap.org.uk">mkgmap-dev-bounces@lists.mkgmap.org.uk</a>> im Auftrag
    </div>
    <div>
     von svn commit <
     <a href="mailto:svn@mkgmap.org.uk">svn@mkgmap.org.uk</a>>
    </div>
    <div>
     Gesendet: Mittwoch, 18. Dezember 2019 09:24
    </div>
    <div>
     An: 
     <a href="mailto:mkgmap-svn@lists.mkgmap.org.uk">mkgmap-svn@lists.mkgmap.org.uk</a>; 
     <a href="mailto:mkgmap-dev@lists.mkgmap.org.uk">mkgmap-dev@lists.mkgmap.org.uk</a>
    </div>
    <div>
     Betreff: [mkgmap-dev] Commit r4398: revert changes from r4397 (--is
    </div>
    <div>
     -in-landuse option)
    </div>
   </blockquote>
   <blockquote type="cite">
    <div>
     Version mkgmap-r4398 was committed by gerd on Wed, 18 Dec 2019
    </div>
   </blockquote>
   <blockquote type="cite">
    <div>
     revert changes from r4397 (--is-in-landuse option)
    </div>
    <div>
     The test is too lazy and requires a lot more work.
    </div>
   </blockquote>
   <blockquote type="cite">
    <div>
     <a href="http://www.mkgmap.org.uk/websvn/revision.php?repname=mkgmap&rev=4398" rel="noopener" target="_blank">http://www.mkgmap.org.uk/websvn/revision.php?repname=mkgmap&rev=4398</a>
    </div>
    <div>
     _______________________________________________
    </div>
    <div>
     mkgmap-dev mailing list
    </div>
    <div>
     <a href="mailto:mkgmap-dev@lists.mkgmap.org.uk">mkgmap-dev@lists.mkgmap.org.uk</a>
    </div>
    <div>
     <a href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev" rel="noopener" target="_blank">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</a>
    </div>
    <div>
     _______________________________________________
    </div>
    <div>
     mkgmap-dev mailing list
    </div>
    <div>
     <a href="mailto:mkgmap-dev@lists.mkgmap.org.uk">mkgmap-dev@lists.mkgmap.org.uk</a>
    </div>
    <div>
     <a href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev" rel="noopener" target="_blank">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</a>
    </div>
   </blockquote>
   <div>
    _______________________________________________
   </div>
   <div>
    mkgmap-dev mailing list
   </div>
   <div>
    <a href="mailto:mkgmap-dev@lists.mkgmap.org.uk">mkgmap-dev@lists.mkgmap.org.uk</a>
   </div>
   <div>
    <a href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev" rel="noopener" target="_blank">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</a>
   </div>
   <div>
    _______________________________________________
   </div>
   <div>
    mkgmap-dev mailing list
   </div>
   <div>
    <a href="mailto:mkgmap-dev@lists.mkgmap.org.uk">mkgmap-dev@lists.mkgmap.org.uk</a>
   </div>
   <div>
    <a href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev" rel="noopener" target="_blank">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</a>
   </div>
  </blockquote> 
 </body>
</html>