Display minor contour in two steps

Hi,

I have contour created with step 10m, but I would like to display them in two steps:
just 20m 40m 60m 80m from resolution 22
and add 10m 30m 50m 70m 90m from resolution 23

This is my line for line for minor contour … How to set conditions?
contour=elevation & contour_ext=elevation_minor { name β€˜${ele|conv:m=>ft}’; } [0x20 resolution 22]

regards

mira

I trying this:

contour=elevation & contour_ext=elevation_minor & ele=(*10|*30|*50|*70|*90) { name β€˜${ele|conv:m=>ft}’; } [0x20 resolution 23]
contour=elevation & contour_ext=elevation_minor & ele=(*20|*40|*60|*80) { name β€˜${ele|conv:m=>ft}’; } [0x20 resolution 22]

but getting error :frowning:

Error in style: Error: (lines:336): Value β€˜*’ is not part of an expression

mira

You have to split it into several rules.

Try the following:

contour=elevation & contour_ext=elevation_minor { name β€˜${ele|conv:m=>ft}’; }
contour=elevation & contour_ext=elevation_minor & name ~β€˜.[2468]0’ [0x20 resolution 22]
contour=elevation & contour_ext=elevation_minor & name ~'.
[13579]0’ [0x20 resolution 23]

EDIT: added the missing β€˜.’

You would have to write:

ele ~β€˜*10’ | ele ~β€˜*30’ …and so on…

What kind of black magic? :wink:
Unfortunately error :frowning:

java.util.regex.PatternSyntaxException: Dangling meta character β€˜*’ near index 0
*[2468]0
^
at java.util.regex.Pattern.error(Pattern.java:1730)
at java.util.regex.Pattern.sequence(Pattern.java:1895)
at java.util.regex.Pattern.expr(Pattern.java:1769)
at java.util.regex.Pattern.compile(Pattern.java:1477)
at java.util.regex.Pattern.(Pattern.java:1150)
at java.util.regex.Pattern.compile(Pattern.java:840)
at uk.me.parabola.mkgmap.osmstyle.eval.RegexOp.setSecond(RegexOp.java:51)
at uk.me.parabola.mkgmap.osmstyle.eval.ExpressionReader.runOp(ExpressionReader.java:158)
at uk.me.parabola.mkgmap.osmstyle.eval.ExpressionReader.readConditions(ExpressionReader.java:63)
at uk.me.parabola.mkgmap.osmstyle.RuleFileReader.load(RuleFileReader.java:112)
at uk.me.parabola.mkgmap.osmstyle.RuleFileReader.load(RuleFileReader.java:92)
at uk.me.parabola.mkgmap.osmstyle.StyleImpl.readRules(StyleImpl.java:310)
at uk.me.parabola.mkgmap.osmstyle.StyleImpl.(StyleImpl.java:160)
at uk.me.parabola.mkgmap.osmstyle.StyleImpl.readStyle(StyleImpl.java:551)
at uk.me.parabola.mkgmap.reader.osm.RelationStyleHook.init(RelationStyleHook.java:33)
at uk.me.parabola.mkgmap.reader.osm.OsmMapDataSource.pluginChain(OsmMapDataSource.java:185)
at uk.me.parabola.mkgmap.reader.osm.OsmMapDataSource.setupHandler(OsmMapDataSource.java:153)
at uk.me.parabola.mkgmap.reader.osm.bin.OsmBinMapDataSource.load(OsmBinMapDataSource.java:49)
at uk.me.parabola.mkgmap.reader.osm.OsmMapDataSource.load(OsmMapDataSource.java:127)
at uk.me.parabola.mkgmap.main.MapMaker.loadFromFile(MapMaker.java:167)
at uk.me.parabola.mkgmap.main.MapMaker.makeMap(MapMaker.java:63)
at uk.me.parabola.mkgmap.main.Main$1.call(Main.java:243)
at uk.me.parabola.mkgmap.main.Main$1.call(Main.java:239)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:679)

Oh … I will try this in evening … Thank you

mira

Shouldn’t be a β€˜.’ in regular expression?

contour=elevation & contour_ext=elevation_minor & name ~β€˜.*[2468]0’ { name β€˜${ele|conv:m=>ft}’; } [0x20 resolution 22]
contour=elevation & contour_ext=elevation_minor { name β€˜${ele|conv:m=>ft}’; }[0x20 resolution 23]

Hi,

this works for me :wink:

contour=elevation & contour_ext=elevation_minor & (ele ~β€˜.*10’ | ele ~β€˜.*30’ | ele ~β€˜.*50’ | ele ~β€˜.*70’ | ele ~β€˜.*90’) { name β€˜${ele|conv:m=>ft}’; } [0x20 resolution 24]
contour=elevation & contour_ext=elevation_minor & (ele ~β€˜.*20’ | ele ~β€˜.*40’ | ele ~β€˜.*60’ | ele ~β€˜.*80’) { name β€˜${ele|conv:m=>ft}’; } [0x20 resolution 22]

Thank you all !

mira

… & (ele=*10 | ele=*30 | ele=*50 | ele=*70 | ele=*90) … would have done the job as well.

Jep, I’ve forgotten the dot…shame on me. :wink: