logo separator

[mkgmap-dev] Patch: New filter "not-contained"

From Gerd Petermann gpetermann_muenchen at hotmail.com on Thu Jan 29 08:20:16 GMT 2015

Hi Maxim,

please can you explain the reason for the change in ValueItem?

Gerd

From: maxc at gmx.de
To: mkgmap-dev at lists.mkgmap.org.uk
Date: Wed, 28 Jan 2015 12:12:25 +0100
Subject: [mkgmap-dev]  Patch: New filter "not-contained"

Hello!

 

I've attached a patch with a new filter that helps while processing, for example, public transport relations. The reason: there can be multiple route relations with the same ref attribute (for example, one for the forward direction, one for the return direction), combined to a route_master relation.

If you want a name for a way to contain the refs of all of the routes going through that way, you have a problem that some refs will be present more than once, similar to "1,1,2,2,2" (if we assume that route 1 has two instances, and route 2 - three instances).

The new filter helps to circumvent this. It takes 2 parameters: a delimiter (a comma in the example above) and the name of a tag containg the list. The filter works a bit like the "not-equal" filter, but it doesn't just compare two values; instead it looks if the tag's value (to which the filter is being applied) is contained in the list from the (other) given tag. If it is not the case, the value can be added to the list, otherwise the tag is considered unset.

 

Simple example for relations file:

 

type=route & route=bus & ref=* {

   apply {

      set route_ref='$(route_ref),${ref|not-contained:,:route_ref}' | '$(route_ref)' | '${ref}';

   }

}

 

Here, ref value is only added to route_ref if it is not already contained in that list (with separator ','). Otherwise, the value of route_ref is unchanged.

 

Cheers!

Max
_______________________________________________
mkgmap-dev mailing list
mkgmap-dev at lists.mkgmap.org.uk
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.mkgmap.org.uk/pipermail/mkgmap-dev/attachments/20150129/584844d4/attachment.html>


More information about the mkgmap-dev mailing list