<div dir="ltr"><div><div><div><div><div><div>I think it would be best to have this calculated the same as the bounds and the sea. I guess in principle most map creators are interested in two facts:<br></div>really urban (huge cities), urban (small cities/suburbs - say max 500 inhabitants) and rural/countryside. <br></div>The biggest use case is highway=residential (is it on the countryside - or in a built up area tiny city/suburb or city center)<br></div>also highway=tertiary, sometimes secondary is actually good for cycling in really rural areas - in big cities much less (actually best to avoid big cities alltogehter except on good quality cycleroutes)<br></div>highway=cycleway = often avoid in cities, but great on the countryside.<br><br></div>I imagine if this is precalculated - then the processing while creating the map will be very quick, just like addresses for housenumbers - or am I wrong?<br></div>Also this would allow more complex arguments for determining what is rural, what is urban - and what is a huge city... 3-4 categories from urban to rural should be enough for 99% of cases.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On 6 February 2017 at 20:55, Gerd Petermann <span dir="ltr"><<a href="mailto:GPetermann_muenchen@hotmail.com" target="_blank">GPetermann_muenchen@hotmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Carlos,<br>
<br>
okay, I thought about this for a while. We need quite a lot of new code for this, so I think<br>
the user interface should be as flexible as possible.<br>
If we want to support a style function like is_in(<exp>)<br>
where <exp> can be something like<br>
landuse=residential<br>
or more complex stuff like<br>
landuse=forest | natural=wood<br>
In short, I think it should support more or less all Tag_tests including regular expressions<br>
and combined expressions. A complete style rule could look like this:<br>
building=* & !is_in(landuse=residential | landuse=retail)   [0x13 resolution 24]<br>
Those Tag_tests are used to filter the enclosing areas (closed ways, multipolygon-relations).<br>
<br>
I have no idea how to code the part that parses the style file.<br>
Is someone volunteering to code these changes?<br>
I think about a new class IsInFunction in package uk.me.parabola.mkgmap.<wbr>osmstyle.function<br>
which would call an eval(element) method for each enclosing element. The eval method<br>
should return true / false.<br>
<br>
I'd like to code the needed methods to find the enclosing elements in an efficient way.<br>
<br>
If nobody finds a way to code the above style changes<br>
I can code a style function with a much simpler syntax like this:<br>
is_in_<key><val>()<br>
e.g.<br>
is_in_landuse_residential()<br>
or<br>
is_in_natural_wood()<br>
The name of the function gives the test:<br>
The enclosing element must have a key <key> with the value <val><br>
<br>
Complex tests like regular expressions would not work with this.<br>
<span class=""><br>
Gerd<br>
<br>
<br>
______________________________<wbr>__________<br>
Von: mkgmap-dev <<a href="mailto:mkgmap-dev-bounces@lists.mkgmap.org.uk">mkgmap-dev-bounces@lists.<wbr>mkgmap.org.uk</a>> im Auftrag von Carlos Dávila <<a href="mailto:cdavilam@orangecorreo.es">cdavilam@orangecorreo.es</a>><br>
</span>Gesendet: Samstag, 4. Februar 2017 16:37:11<br>
<span class="">An: Development list for mkgmap<br>
</span>Betreff: Re: [mkgmap-dev] is_in filter<br>
<div class="HOEnZb"><div class="h5"><br>
Yes, I think that would work.<br>
I forgot to mention another use case. highway>residential which lies<br>
inside residential areas. They have typically maxspeed lower than<br>
outside residential areas, but are not correctly tagged in many cases.<br>
Proposed filter could be used to lower maxspeed for those ways.<br>
<br>
El 04/02/17 a las 16:18, Gerd Petermann escribió:<br>
> Hi Carlos,<br>
><br>
> I see a performance problem if mkgmap has to evaluate that for each element.<br>
> I think it would be better to have a special tag like mkgmap:remove-if-in=<type><br>
> which would tell mkgmap to find out if the object lies (completely) within a polygon<br>
> that has the given type. This can happen after processing all polygon elements.<br>
> The polygons with the given type(s) could be placed in a spatial index if performance impact<br>
> is too heavy.<br>
> Do you think that would work as well?<br>
><br>
> Gerd<br>
><br>
> ______________________________<wbr>__________<br>
> Von: mkgmap-dev <<a href="mailto:mkgmap-dev-bounces@lists.mkgmap.org.uk">mkgmap-dev-bounces@lists.<wbr>mkgmap.org.uk</a>> im Auftrag von Carlos Dávila <<a href="mailto:cdavilam@orangecorreo.es">cdavilam@orangecorreo.es</a>><br>
> Gesendet: Samstag, 4. Februar 2017 16:06:20<br>
> An: Development list for mkgmap<br>
> Betreff: [mkgmap-dev] is_in filter<br>
><br>
> One matter that has been discussed several times on this list is the<br>
> need to remove buildings. While removing buildings is becoming<br>
> absolutely necessary in many cities, due to massive building imports, it<br>
> may be quite convenient to keep them at rural or low densely populated<br>
> areas. Would it be possible to have a filter to know if a building is<br>
> inside/outside an area tagged landuse=residential, so that a different<br>
> rendering may be applied. Ideally area size could be also evaluated.<br>
> Perhaps some logic currently existing in mkgmap, used to assign<br>
> addresses from bounds, could be reused.<br>
<br>
______________________________<wbr>_________________<br>
mkgmap-dev mailing list<br>
<a href="mailto:mkgmap-dev@lists.mkgmap.org.uk">mkgmap-dev@lists.mkgmap.org.uk</a><br>
<a href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev" rel="noreferrer" target="_blank">http://www.mkgmap.org.uk/<wbr>mailman/listinfo/mkgmap-dev</a><br>
______________________________<wbr>_________________<br>
mkgmap-dev mailing list<br>
<a href="mailto:mkgmap-dev@lists.mkgmap.org.uk">mkgmap-dev@lists.mkgmap.org.uk</a><br>
<a href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev" rel="noreferrer" target="_blank">http://www.mkgmap.org.uk/<wbr>mailman/listinfo/mkgmap-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div><div>Felix Hartman - Openmtbmap.org & VeloMap.org<br></div>Schusterbergweg 32/8<br></div><div>6020 Innsbruck<br></div></div>Austria - Österreich</div></div></div></div>
</div>