logo separator

[mkgmap-dev] style file reader error

From Mike Baggaley mike at tvage.co.uk on Thu Aug 3 20:09:09 BST 2017

Hi Steve, thanks for the quick response. The patch fixes the second issue, but I have found one more slightly more obscure error.

The following statement fails:
(((name~'(?i)police' | name~'(?i)police station') & historic:amenity!=police) | name~'(?i)tunnel') & highway!=bus_stop {echotags 'Trigger 5'}

The error message says:
Invalid rule expression: (((($name~'(?i)police')|($name~'(?i)police station'))&($historic:amenity!=police&$highway!=bus_stop)))

It appears to have lost the tunnel clause, presumably something to do with the handling of brackets.

This fails both with and without the patch.

-----Original Message-----
From: Steve Ratcliffe [mailto:steve at parabola.me.uk] 
Sent: 31 July 2017 22:55
To: mkgmap-dev at lists.mkgmap.org.uk
Subject: Re: [mkgmap-dev] style file reader error

Hi Mike

> name~'(?i)ferry terminal' & !(highway=bus_stop) {echotags 'Trigger 3'} - this works fine
> !(highway=bus_stop) & name~'(?i)ferry terminal' {echotags 'Trigger 4'} - this fails with an error "Invalid rule
> Expression" (without explaining what the error was)
> Is it possible to fix this one as well?

Yes I can fix that one in exactly the same way.  Patch attached.

There are a few cases which use ! that could work but will not.

Eg !(highway!=primary) could work as it is the same as highway=primary.


More information about the mkgmap-dev mailing list