logo separator

[mkgmap-dev] "Invalid rule expression" for expression in line file after upgrade from r3649 to r3693

From Patrik Brunner patrik.brunner at gmx.net on Fri Aug 12 11:53:57 BST 2016

Gents,

With newest release r3693 I'm having troubles creating a map with a 
style file 'line' containing the following expression (it worked with 
r3649 and earlier version):

    maxspeed = * & ( maxspeedkmh()>120 | maxspeed = none ) & ( highway =
    motorway | highway = trunk )  { set mkgmap:road-speed-class = 7 }


It bailes out with the following error codes in the output:

    java -Xmx1536M -jar
    D:/fzk/develop/fzk-mde-garmin/Freizeitkarte-Entwicklung/tools/mkgmap/mkgmap.jar
    --max-jobs=2 -c Freizeitkarte_CHE.cfg --check-styles
    Time started: Fri Aug 12 12:14:08 CEST 2016
    Found one style in
    D:/fzk/develop/fzk-mde-garmin/Freizeitkarte-Entwicklung/work/Freizeitkarte_CHE_de/style/fzk
    Error in style: Error: (lines:442): Invalid rule expression:
    (((maxspeedkmh()>120)|($maxspeed='none'))&((($highway='motorway')|($highway='trunk'))&$maxspeed=*))
    could not open style fzk
    finished check-styles
    Error in style: Error: (lines:442): Invalid rule expression:
    (((maxspeedkmh()>120)|($maxspeed='none'))&((($highway='motorway')|($highway='trunk'))&$maxspeed=*))
    Error in style: Error: (lines:442): Invalid rule expression:
    (((maxspeedkmh()>120)|($maxspeed='none'))&((($highway='motorway')|($highway='trunk'))&$maxspeed=*))
    Error in style: Error: (lines:442): Invalid rule expression:
    (((maxspeedkmh()>120)|($maxspeed='none'))&((($highway='motorway')|($highway='trunk'))&$maxspeed=*))
    Error in style: Error: (lines:442): Invalid rule expression:
    (((maxspeedkmh()>120)|($maxspeed='none'))&((($highway='motorway')|($highway='trunk'))&$maxspeed=*))
    Could not open style
    Number of ExitExceptions: 1

When just changing the order of the expressions (without changing the 
logic/result) as shown below it works properly also with release r3693:

    maxspeed = * & ( highway = motorway | highway = trunk ) & (
    maxspeedkmh()>120 | maxspeed = none )  { set mkgmap:road-speed-class
    = 7 }

Is it possible that the 'fixes' for r3667 or r3671 fixed some errors but 
brought a new one in ? Or do I completely misunderstand the concept of 
these expressions ?

Thanks for checking
Patrik
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.mkgmap.org.uk/pipermail/mkgmap-dev/attachments/20160812/91d8e658/attachment.html>


More information about the mkgmap-dev mailing list