You are not logged in.
- Topics: Active | Unanswered
Announcement
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***
Pages: 1
#1 2013-09-12 00:08:28
- miramikes
- Member
- Registered: 2011-10-16
- Posts: 128
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
Offline
#2 2013-09-12 08:08:15
- miramikes
- Member
- Registered: 2011-10-16
- Posts: 128
Re: Display minor contour in two steps
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]
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 ![]()
Error in style: Error: (lines:336): Value '*' is not part of an expression
mira
Offline
#3 2013-09-12 08:14:22
- aighes
- Member
- From: Shanghai
- Registered: 2009-03-29
- Posts: 5,383
- Website
Re: Display minor contour in two steps
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 '.'
Last edited by aighes (2013-09-15 09:28:07)
Viele Grüße
Henning
Offline
#4 2013-09-12 08:16:01
- aighes
- Member
- From: Shanghai
- Registered: 2009-03-29
- Posts: 5,383
- Website
Re: Display minor contour in two steps
ele=(*10|*30|*50|*70|*90)
You would have to write:
ele ~'*10' | ele ~'*30' ...and so on...
Last edited by aighes (2013-09-12 08:16:14)
Viele Grüße
Henning
Offline
#5 2013-09-12 08:21:32
- miramikes
- Member
- Registered: 2011-10-16
- Posts: 128
Re: Display minor contour in two steps
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]
What kind of black magic? ![]()
Unfortunately error
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.<init>(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.<init>(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)
Offline
#6 2013-09-12 09:12:24
- miramikes
- Member
- Registered: 2011-10-16
- Posts: 128
Re: Display minor contour in two steps
miramikes wrote:ele=(*10|*30|*50|*70|*90)
You would have to write:
ele ~'*10' | ele ~'*30' ...and so on...
Oh ... I will try this in evening ... Thank you
mira
Last edited by miramikes (2013-09-12 09:12:39)
Offline
#7 2013-09-12 16:01:02
- popej
- Member

- Registered: 2008-09-20
- Posts: 500
- Website
Re: Display minor contour in two steps
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]
popej
Offline
#8 2013-09-12 23:14:00
- miramikes
- Member
- Registered: 2011-10-16
- Posts: 128
Re: Display minor contour in two steps
Hi,
this works for me ![]()
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
Offline
#9 2013-09-14 05:24:14
- extremecarver
- Member
- Registered: 2008-09-18
- Posts: 440
- Website
Re: Display minor contour in two steps
... & (ele=*10 | ele=*30 | ele=*50 | ele=*70 | ele=*90) ... would have done the job as well.
OSM Maps for Mtbikers and Hikers, OSM Karten fuer Mtbiker und Wanderer --> http://openmtbmap.org
OSM Maps for racing and casual cycling - für Rennradfahrer und Freizeitradfahrer --> http://www.velomap.org
Offline
#10 2013-09-15 09:27:09
- aighes
- Member
- From: Shanghai
- Registered: 2009-03-29
- Posts: 5,383
- Website
Re: Display minor contour in two steps
Shouldn't be a '.' in regular expression?
Jep, I've forgotten the dot....shame on me. ![]()
Viele Grüße
Henning
Offline
Pages: 1