<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div>
<div>Hi, Gerd,</div>

<div>&nbsp;</div>

<div>I think, there shouldn&#39;t be a problem. Actually, if you are using a filter inside of the apply{} block, you would presumably like to be able to access the current element from the filter. At the moment you don&#39;t have such a possibility at all.</div>

<div>If though there will be need to pass a tag from the global relation to the filter, one can always assign a global tag to a temporary local tag before calling the filter with this local tag.</div>

<div>So, in my mind, nothing should go wrong here. Perhaps someone else can say something more regarding this issue.</div>

<div>&nbsp;</div>

<div>Max</div>

<div>&nbsp;
<div style="margin: 10.0px 5.0px 5.0px 10.0px;padding: 10.0px 0 10.0px 10.0px;border-left: 2.0px solid rgb(195,217,229);">
<div style="margin: 0 0 10.0px 0;"><b>Gesendet:</b>&nbsp;Donnerstag, 29. Januar 2015 um 18:30 Uhr<br/>
<b>Von:</b>&nbsp;GerdP &lt;gpetermann_muenchen@hotmail.com&gt;<br/>
<b>An:</b>&nbsp;mkgmap-dev@lists.mkgmap.org.uk<br/>
<b>Betreff:</b>&nbsp;Re: [mkgmap-dev] Patch: New filter &quot;not-contained&quot;</div>

<div>Hi Max,<br/>
<br/>
not sure. What will happen if one uses another filter in the relations file?<br/>
<br/>
Gerd<br/>
<br/>
<br/>
&amp;quot;Maxim D&uuml;ster&amp;quot; wrote<br/>
&gt; Hi, Gerd,<br/>
&gt;<br/>
&gt; &amp;nbsp;<br/>
&gt;<br/>
&gt; the change is caused by the fact that the filter was thought primarily for<br/>
&gt; working in relations file inside of the apply{} block and needs that the<br/>
&gt; tag given as last parameter is a local tag of the element being processed<br/>
&gt; (e.g. a way). But the old code line says: &amp;quot;value =<br/>
&gt; filter.filter(tagval,el);&amp;quot;, &amp;#39;el&amp;#39; being the parent relation<br/>
&gt; the way is in. That is, in the filter I only have an access to the<br/>
&gt; (global) relation&amp;#39;s tags, but what I actually need are the tags of the<br/>
&gt; (local) element being currently processed.<br/>
&gt;<br/>
&gt; While applying filters to &amp;quot;plain&amp;quot; elements (those not inside a<br/>
&gt; relation, e.g. in points or lines files), &amp;#39;local_el&amp;#39; and<br/>
&gt; &amp;#39;el&amp;#39; are equal, so my change should not corrupt anything.<br/>
&gt;<br/>
&gt; &amp;nbsp;<br/>
&gt;<br/>
&gt; Max<br/>
&gt;<br/>
&gt; &amp;nbsp;<br/>
&gt;<br/>
&gt; Gesendet:&amp;nbsp;Donnerstag, 29. Januar 2015 um 11:20 Uhr<br/>
&gt; Von:&amp;nbsp;&amp;quot;Gerd Petermann&amp;quot; &amp;lt;<br/>
<br/>
&gt; gpetermann_muenchen@<br/>
<br/>
&gt; &amp;gt;<br/>
&gt; An:&amp;nbsp;&amp;quot;<br/>
<br/>
&gt; mkgmap-dev@.org<br/>
<br/>
&gt; &amp;quot; &amp;lt;<br/>
<br/>
&gt; mkgmap-dev@.org<br/>
<br/>
&gt; &amp;gt;<br/>
&gt; Betreff:&amp;nbsp;Re: [mkgmap-dev] Patch: New filter &amp;quot;not-contained&amp;quot;<br/>
&gt;<br/>
&gt;<br/>
&gt;<br/>
&gt; Hi Maxim,<br/>
&gt;<br/>
&gt; please can you explain the reason for the change in ValueItem?<br/>
&gt;<br/>
&gt; Gerd<br/>
&gt; &amp;nbsp;<br/>
&gt;<br/>
&gt; From:<br/>
<br/>
&gt; maxc@<br/>
<br/>
&gt;<br/>
&gt; To:<br/>
<br/>
&gt; mkgmap-dev@.org<br/>
<br/>
&gt;<br/>
&gt; Date: Wed, 28 Jan 2015 12:12:25 +0100<br/>
&gt; Subject: [mkgmap-dev] Patch: New filter &amp;quot;not-contained&amp;quot;<br/>
&gt; &amp;nbsp;<br/>
&gt;<br/>
&gt; Hello!<br/>
&gt; &amp;nbsp;<br/>
&gt; I&amp;#39;ve attached a patch with a new filter that helps while processing,<br/>
&gt; for example, public transport relations. The reason: there can be multiple<br/>
&gt; route relations with the same ref attribute (for example, one for the<br/>
&gt; forward direction, one for the return direction), combined to a<br/>
&gt; route_master relation.<br/>
&gt;<br/>
&gt; If you want a name for a way to contain the refs of all of the routes<br/>
&gt; going through that way, you have a problem that some refs will be present<br/>
&gt; more than once, similar to &amp;quot;1,1,2,2,2&amp;quot; (if we assume that route<br/>
&gt; 1 has two instances, and route 2 - three instances).<br/>
&gt;<br/>
&gt; The new filter helps to circumvent this. It takes 2 parameters: a<br/>
&gt; delimiter (a comma in the example above) and the name of a tag containg<br/>
&gt; the list. The filter works a bit like the &amp;quot;not-equal&amp;quot; filter,<br/>
&gt; but it doesn&amp;#39;t just compare two values; instead it looks if the<br/>
&gt; tag&amp;#39;s value (to which the filter is being applied) is contained in the<br/>
&gt; list from the (other) given tag. If it is not the case, the value can be<br/>
&gt; added to the list, otherwise the tag is considered unset.<br/>
&gt;<br/>
&gt; &amp;nbsp;<br/>
&gt;<br/>
&gt; Simple example for relations file:<br/>
&gt;<br/>
&gt; &amp;nbsp;<br/>
&gt;<br/>
&gt; type=route &amp;amp; route=bus &amp;amp; ref=* {<br/>
&gt; &amp;nbsp;&amp;nbsp; apply {<br/>
&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set<br/>
&gt; route_ref=&amp;#39;&amp;#36;(route_ref),&amp;#36;{ref&amp;#124;not-contained:,:route_ref}&amp;#39;<br/>
&gt; &amp;#124; &amp;#39;&amp;#36;(route_ref)&amp;#39; &amp;#124; &amp;#39;&amp;#36;{ref}&amp;#39;;<br/>
&gt; &amp;nbsp;&amp;nbsp; }<br/>
&gt; }<br/>
&gt;<br/>
&gt; &amp;nbsp;<br/>
&gt;<br/>
&gt; Here, ref value is only added to route_ref if it is not already contained<br/>
&gt; in that list (with separator &amp;#39;,&amp;#39;). Otherwise, the value of<br/>
&gt; route_ref is unchanged.<br/>
&gt; &amp;nbsp;<br/>
&gt; Cheers!<br/>
&gt; Max<br/>
&gt;<br/>
&gt;<br/>
&gt; _______________________________________________ mkgmap-dev mailing list<br/>
<br/>
&gt; mkgmap-dev@.org<br/>
<br/>
&gt; <a href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev" target="_blank">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</a><br/>
&gt;<br/>
&gt; _______________________________________________ mkgmap-dev mailing list<br/>
<br/>
&gt; mkgmap-dev@.org<br/>
<br/>
&gt; <a href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev" target="_blank">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</a><br/>
&gt;<br/>
&gt;<br/>
&gt;<br/>
&gt;<br/>
&gt;<br/>
&gt; _______________________________________________<br/>
&gt; mkgmap-dev mailing list<br/>
<br/>
&gt; mkgmap-dev@.org<br/>
<br/>
&gt; <a href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev" target="_blank">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</a><br/>
<br/>
<br/>
<br/>
<br/>
<br/>
--<br/>
View this message in context: <a href="http://gis.19327.n5.nabble.com/Patch-New-filter-not-contained-tp5831668p5831841.html" target="_blank">http://gis.19327.n5.nabble.com/Patch-New-filter-not-contained-tp5831668p5831841.html</a><br/>
Sent from the Mkgmap Development mailing list archive at Nabble.com.<br/>
_______________________________________________<br/>
mkgmap-dev mailing list<br/>
mkgmap-dev@lists.mkgmap.org.uk<br/>
<a href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev" target="_blank">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</a></div>
</div>
</div>
</div></div></body></html>