Thanks, Steve.
The lines file is attached. The only line which causes problems is the
one testing the admin_level at line 224. (This is where it is because I
want to do things with waterways with it, but when I started getting
problems, I changed it to Wanmil's example line.) It all works fine when
this line is commented out.
Thank you for the patch, but I am afraid I cannot (or do not know how
to) make use of it - I have not downloaded the source, only the Windows
zip package.
Regards,
Roger
On 07/08/2012 15:55, Steve Ratcliffe wrote:
On 07/08/12 13:40, Roger Calvert wrote:
I have been unable to make this work. I have copied all the admin_level
rules from the default style files into my style, and introduced
pre-compiled bounds. Using mkgmap r2130 and Wanmil's sample rule (as
below), I always get a java exception (below). I have tried various
variants on the rule and various data sets, with no differences.
Advice welcomed!
There is probably a typo in the lines file, if you send it to me
I can probably spot it.
We can do a better error message than that though. Attached is a
patch which should print the line number of the problem and make it
a lot easier to find.
..Steve
_______________________________________________
mkgmap-dev mailing list
[email protected]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev
--
------------------------------------------------------------------------
Roger Calvert
------------------------------------------------------------------------
# Roger's style by Roger Calvert
# Location information copied from default style 07/08/2012
# first set the country code
mkgmap:country!=* & mkgmap:admin_level2=* { set
mkgmap:country='${mkgmap:admin_level2}' }
mkgmap:country!=* & addr:country=* { set mkgmap:country='${addr:country}' }
mkgmap:country!=* & is_in:country=* { set mkgmap:country='${is_in:country}' }
# country specific rules first
# Netherlands = NLD
mkgmap:country=NLD & mkgmap:region!=* & mkgmap:admin_level4=* { set
mkgmap:region='${mkgmap:admin_level4}' }
mkgmap:country=NLD & mkgmap:city!=* & mkgmap:admin_level10=* { set
mkgmap:city='${mkgmap:admin_level10}' }
mkgmap:country=NLD & mkgmap:city!=* & mkgmap:admin_level8=* { set
mkgmap:city='${mkgmap:admin_level8}' }
# Germany = DEU cities
mkgmap:country=DEU & mkgmap:city!=* & mkgmap:admin_level8=* { set
mkgmap:city='${mkgmap:admin_level8}' }
mkgmap:country=DEU & mkgmap:city!=* & mkgmap:admin_level7=* { set
mkgmap:city='${mkgmap:admin_level7}' }
mkgmap:country=DEU & mkgmap:city!=* & mkgmap:admin_level6=* { set
mkgmap:city='${mkgmap:admin_level6}' }
mkgmap:country=DEU & mkgmap:city!=* & mkgmap:admin_level9=* { set
mkgmap:city='${mkgmap:admin_level9}' }
mkgmap:country=DEU & mkgmap:city!=* & mkgmap:admin_level10=* { set
mkgmap:city='${mkgmap:admin_level10}' }
# other european countries
mkgmap:country=AUT & mkgmap:city!=* & mkgmap:admin_level8=* { set
mkgmap:city='${mkgmap:admin_level8}' }
mkgmap:country=BEL & mkgmap:city!=* & mkgmap:admin_level8=* { set
mkgmap:city='${mkgmap:admin_level8}' }
mkgmap:country=CZE & mkgmap:city!=* & mkgmap:admin_level8=* { set
mkgmap:city='${mkgmap:admin_level8}' }
mkgmap:country=CZE & mkgmap:city!=* & mkgmap:admin_level7=* { set
mkgmap:city='${mkgmap:admin_level7}' }
mkgmap:country=DNK & mkgmap:city!=* & mkgmap:admin_level8=* { set
mkgmap:city='${mkgmap:admin_level8}' }
mkgmap:country=DNK & mkgmap:city!=* & mkgmap:admin_level7=* { set
mkgmap:city='${mkgmap:admin_level7}' }
mkgmap:country=FIN & mkgmap:city!=* & mkgmap:admin_level9=* { set
mkgmap:city='${mkgmap:admin_level9}' }
mkgmap:country=FIN & mkgmap:city!=* & mkgmap:admin_level8=* { set
mkgmap:city='${mkgmap:admin_level8}' }
mkgmap:country=FRA & mkgmap:city!=* & mkgmap:admin_level9=* { set
mkgmap:city='${mkgmap:admin_level9}' }
mkgmap:country=FRA & mkgmap:city!=* & mkgmap:admin_level8=* { set
mkgmap:city='${mkgmap:admin_level8}' }
mkgmap:country=ISL & mkgmap:city!=* & mkgmap:admin_level8=* { set
mkgmap:city='${mkgmap:admin_level8}' }
mkgmap:country=ITA & mkgmap:city!=* & mkgmap:admin_level8=* { set
mkgmap:city='${mkgmap:admin_level8}' }
mkgmap:country=LUX & mkgmap:city!=* & mkgmap:admin_level8=* { set
mkgmap:city='${mkgmap:admin_level8}' }
mkgmap:country=NOR & mkgmap:city!=* & mkgmap:admin_level9=* { set
mkgmap:city='${mkgmap:admin_level9}' }
mkgmap:country=POL & mkgmap:city!=* & mkgmap:admin_level10=* { set
mkgmap:city='${mkgmap:admin_level10}' }
mkgmap:country=POL & mkgmap:city!=* & mkgmap:admin_level8=* { set
mkgmap:city='${mkgmap:admin_level8}' }
mkgmap:country=PRT & mkgmap:city!=* & mkgmap:admin_level9=* { set
mkgmap:city='${mkgmap:admin_level9}' }
mkgmap:country=PRT & mkgmap:city!=* & mkgmap:admin_level8=* { set
mkgmap:city='${mkgmap:admin_level8}' }
mkgmap:country=SVN & mkgmap:city!=* & mkgmap:admin_level10=* { set
mkgmap:city='${mkgmap:admin_level10}' }
mkgmap:country=ESP & mkgmap:city!=* & mkgmap:admin_level8=* { set
mkgmap:city='${mkgmap:admin_level8}' }
mkgmap:country=SWE & mkgmap:city!=* & mkgmap:admin_level9=* { set
mkgmap:city='${mkgmap:admin_level9}' }
mkgmap:country=SWE & mkgmap:city!=* & mkgmap:admin_level7=* { set
mkgmap:city='${mkgmap:admin_level7}' }
mkgmap:country=CHE & mkgmap:city!=* & mkgmap:admin_level8=* { set
mkgmap:city='${mkgmap:admin_level8}' }
# Canda
mkgmap:country=CAN & mkgmap:region!=* & mkgmap:admin_level4=* { set
mkgmap:region='${mkgmap:admin_level4}' }
mkgmap:country=CAN & mkgmap:city!=* & mkgmap:admin_level8=* { set
mkgmap:city='${mkgmap:admin_level8}' }
# common rules for all the rest of countries
mkgmap:region!=* & mkgmap:admin_level6=* { set
mkgmap:region='${mkgmap:admin_level6}' }
mkgmap:region!=* & mkgmap:admin_level5=* { set
mkgmap:region='${mkgmap:admin_level5}' }
mkgmap:region!=* & mkgmap:admin_level4=* { set
mkgmap:region='${mkgmap:admin_level4}' }
mkgmap:region!=* & mkgmap:admin_level3=* { set
mkgmap:region='${mkgmap:admin_level3}' }
mkgmap:region!=* & is_in:county=* { set mkgmap:region='${is_in:county}' }
mkgmap:city!=* & mkgmap:admin_level8=* { set
mkgmap:city='${mkgmap:admin_level8}' }
mkgmap:city!=* & mkgmap:admin_level7=* { set
mkgmap:city='${mkgmap:admin_level7}' }
mkgmap:city!=* & mkgmap:admin_level9=* { set
mkgmap:city='${mkgmap:admin_level9}' }
mkgmap:city!=* & mkgmap:admin_level10=* { set
mkgmap:city='${mkgmap:admin_level10}' }
mkgmap:city!=* & is_in:city=* { set mkgmap:city='${is_in:city}' }
mkgmap:city!=* & addr:city=* { set mkgmap:city='${addr:city}' }
mkgmap:postal_code!=* & mkgmap:postcode=* { set
mkgmap:postal_code='${mkgmap:postcode}' }
mkgmap:postal_code!=* & addr:postcode=* { set
mkgmap:postal_code='${addr:postcode}' }
# end of location code
mkgmap:street!=* & addr:street=* { set mkgmap:street='${addr:street}' }
mkgmap:street!=* & addr:housename=* { set mkgmap:street='${addr:housename}' }
mkgmap:housenumber!=* & addr:housenumber=* { set
mkgmap:housenumber='${addr:housenumber}' }
mkgmap:phone!=* & phone=* { set mkgmap:phone='${phone}' }
mkgmap:phone!=* & contact:phone=* { add mkgmap:phone='${contact:phone}' }
mkgmap:is_in!=* & is_in=* { set mkgmap:is_in='${is_in}' }
# special tagged roads...
highway=construction | highway=proposed | construction=* {add access = no}
surface=unpaved [0x0a road_class=0 road_speed=0 level 0]
motorroad=yes {add bicycle = no; add foot = no}
# Needed for car routing (garmin cannot differentiate cars and bykes). Comment
out for motorcycle maps
motorcycle=no {set motorcycle=yes}
# Road_speed: 7=128Km/h, 6=108Km/h, 5=93km/h, 4=72km/h, 3=56km/h, 2=40km/h,
1=20km/h 0=8km/h
# residentials
junction=roundabout & highway=residential [0x0c road_class=1 road_speed=1
level 0]
highway=residential [0x06 road_class=1 road_speed=1 level 0]
# unclassified & minor. If you want a default name: (highway=unclassified |
highway=minor) {add name = 'road'}
junction=roundabout & (highway=unclassified | highway=minor) [0x0c
road_class=1 road_speed=1 level 1]
(highway=unclassified | highway=minor) & maxspeed>60 [0x06 road_class=1
road_speed=3 level 1]
(highway=unclassified | highway=minor) & maxspeed>50 [0x06 road_class=1
road_speed=2 level 1]
(highway=unclassified | highway=minor) & maxspeed<51 [0x06 road_class=1
road_speed=1 level 1]
(highway=unclassified | highway=minor) [0x06
road_class=1 road_speed=2 level 1]
# Set highway names to include the reference if there is one
highway=motorway {name '${name} (${ref|highway-symbol:hbox})' |
'${ref|highway-symbol:hbox}' | '${name}' }
highway=trunk {name '${name} (${ref|highway-symbol:hbox})' |
'${ref|highway-symbol:hbox}' | '${name}' }
highway=primary {name '${name} (${ref|highway-symbol:box})' |
'${ref|highway-symbol:box}' | '${name}' }
highway=secondary {name '${name} (${ref|highway-symbol:oval})' |
'${ref|highway-symbol:oval}' | '${name}' }
highway=tertiary {name '${name} (${ref})' | '${ref}' | '${name}' }
# tertiarys
junction=roundabout & (highway=tertiary | highway=tertiary_link) [0x0c
road_class=2 road_speed=1 level 1]
(highway=tertiary | highway=tertiary_link) & maxspeed>60 [0x06
road_class=2 road_speed=4 level 1]
(highway=tertiary | highway=tertiary_link) & maxspeed>50 [0x06
road_class=2 road_speed=3 level 1]
(highway=tertiary | highway=tertiary_link) & maxspeed<51 [0x06
road_class=2 road_speed=2 level 1]
(highway=tertiary | highway=tertiary_link) [0x06 road_class=2 road_speed=3
level 1]
# secondarys
junction=roundabout & (highway=secondary | highway=secondary_link)[0x0c
road_class=2 road_speed=2 level 1]
(highway=secondary | highway=secondary_link) & maxspeed>60 [0x05
road_class=3 road_speed=4 level 1]
(highway=secondary | highway=secondary_link) & maxspeed>50 [0x05
road_class=2 road_speed=3 level 1]
(highway=secondary | highway=secondary_link) & maxspeed<51 [0x05
road_class=2 road_speed=2 level 1]
(highway=secondary | highway=secondary_link) [0x05
road_class=2 road_speed=3 level 1]
# primarys
junction=roundabout & (highway=primary | highway=primary_link) [0x0c
road_class=3 road_speed=3 level 3]
highway=primary & maxspeed>80 [0x04 road_class=3 road_speed=5 level 3]
highway=primary & maxspeed>60 [0x04 road_class=3 road_speed=4 level 3]
highway=primary & maxspeed<61 [0x04 road_class=3 road_speed=3 level 3]
highway=primary [0x04 road_class=3 road_speed=4 level
3]
highway=primary_link & maxspeed>50 [0x09 road_class=3 road_speed=3 level 2]
highway=primary_link & maxspeed<51 [0x08 road_class=2 road_speed=2 level 2]
highway=primary_link [0x08 road_class=2 road_speed=2
level 2]
# trunks
junction=roundabout & (highway=trunk | highway=trunk_link) [0x0c
road_class=3 road_speed=4 level 4]
highway=trunk & maxspeed>100 [0x02 road_class=4 road_speed=5 level 4]
highway=trunk & maxspeed>80 [0x02 road_class=3 road_speed=5 level 4]
highway=trunk & maxspeed>60 [0x02 road_class=3 road_speed=4 level 4]
highway=trunk & maxspeed<61 [0x02 road_class=3 road_speed=3 level 4]
highway=trunk [0x02 road_class=3 road_speed=5 level 4]
highway=trunk_link & maxspeed>60 [0x09 road_class=3 road_speed=4 level 2]
highway=trunk_link & maxspeed>50 [0x09 road_class=3 road_speed=3 level 2]
highway=trunk_link & maxspeed<51 [0x08 road_class=3 road_speed=2 level 2]
highway=trunk_link [0x08 road_class=3
road_speed=2 level 2]
# motorways (ignore "roundabout" if any), motorway_link may be 2-ways
highway=motorway {add oneway = yes; add bicycle = no; add foot = no}
highway=motorway_link {add bicycle = no; add foot = no}
highway=motorway & (maxspeed>130 | maxspeed=none) [0x01 road_class=4
road_speed=7 level 5]
highway=motorway & maxspeed>100 [0x01 road_class=4 road_speed=6 level 5]
highway=motorway & maxspeed>80 [0x01 road_class=4 road_speed=5 level 5]
highway=motorway & maxspeed<81 [0x01 road_class=3 road_speed=4 level 5]
highway=motorway [0x01 road_class=4
road_speed=6 level 5]
highway=motorway_link & lanes>1 & maxspeed>100 [0x0b road_class=4 road_speed=6
level 4]
highway=motorway_link & lanes>1 & maxspeed>80 [0x0b road_class=4 road_speed=5
level 4]
highway=motorway_link & lanes>1 & maxspeed>60 [0x0b road_class=3 road_speed=4
level 4]
highway=motorway_link & lanes>1 & maxspeed<61 [0x0b road_class=3 road_speed=3
level 4]
highway=motorway_link & lanes>1 [0x0b
road_class=3 road_speed=4 level 4]
highway=motorway_link & maxspeed>80 [0x09 road_class=3 road_speed=5 level 2]
highway=motorway_link & maxspeed>60 [0x09 road_class=3 road_speed=4 level 2]
highway=motorway_link & maxspeed>50 [0x09 road_class=3 road_speed=3 level 2]
highway=motorway_link & maxspeed<51 [0x08 road_class=3 road_speed=2 level 2]
highway=motorway_link [0x08 road_class=3 road_speed=2
level 2]
# Not already assigned roundabouts.
junction=roundabout [0x0c road_class=1 road_speed=1 level 0]
# service & living_streets
highway=service [0x07 road_class=0 road_speed=1 level 0]
highway=living_street [0x07 road_class=0 road_speed=0 level 0]
# Garmin routable: 0x01..0x13,0x16,0x1a,0x1b - Garmin standard: 0x0a unpaved,
0x16 Path
# Convert generic path to most specific
highway=path & bicycle=designated {set highway=cycleway }
highway=path & horse=designated {set highway=bridleway }
highway=path & foot=designated {set highway=footway }
highway=footway | highway=pedestrian | highway=path {add motorcar = no} [0x16
road_class=0 road_speed=0 level 1]
highway=track & tracktype=grade1
[0x0a road_class=0 road_speed=2 level 1]
highway=track & tracktype=grade2
[0x0a road_class=0 road_speed=1 level 1]
highway=track & tracktype=grade3
[0x0a road_class=0 road_speed=0 level 1]
highway=track & tracktype=grade4 {add motorcar = no} [0x0a road_class=0
road_speed=0 level 1]
highway=track & tracktype=grade5 {add motorcar = no} [0x16 road_class=0
road_speed=0 level 1]
highway=track | highway=unsurfaced | highway=unpaved [0x0a road_class=0
road_speed=0 level 1]
highway=steps {add motorcar = no; add bicycle = no} [0x16 road_class=0
road_speed=0 level 0]
highway=cycleway {add motorcar = no} [0x16
road_class=0 road_speed=1 level 0]
highway=bridleway {add motorcar = no} [0x0a
road_class=0 road_speed=0 level 1]
highway=byway
[0x0a road_class=0 road_speed=0 level 0]
# Mop up any unrecognised highway types but keep areas like pedestrian for
polygons!
highway=* & area!=yes & area!=true & area!=1 [0x07 road_class=0 road_speed=0
level 0]
route=ferry {add mkgmap:ferry=1} [0x1b road_class=0 road_speed=0 level 1]
# Other features
# 5 Mar 2012 viaducts not showing up as different - overlay introduced
#railway=rail [0x14 level 5]
#railway=light_rail [0x14 level 5]
#railway=preserved [0x14 level 5]
#railway=narrow_gauge [0x14 level 5]
railway=abandoned [0x11 level 1]
railway=subway [0x14 level 1]
railway=tram [0x14 level 0]
railway=platform {add access = no; add foot = yes} [0x16 road_class=0
road_speed=0 level 0]
# Mop up other railways
railway=* & bridge=viaduct [0x10304 level 2 continue]
railway=* [0x11 level 2]
natural=coastline [0x15 level 5]
# canal code changed JRC 5/3/12
aeroway=runway [0x27 level 2]
waterway=river [0x1f level 3]
waterway=canal [0x10305 level 3]
waterway=drain [0x26 level 1]
mkgmap:admin_level6=Cumbria && highway=primary { set highway=secondary }
waterway=stream [0x18 level 1]
power=line & voltage>0 {name '${voltage} Volt power line' } [0x29 level 0]
power=line [0x29 level 0]
man_made=pipeline [0x28 resolution 24]
#boundaries
boundary=administrative & admin_level<3 [0x1e level 5]
boundary=administrative & admin_level<5 [0x1d level 4]
boundary=administrative & admin_level<7 [0x1d level 2]
boundary=administrative [0x1c level 1]
boundary=political [0x1c level 1]
boundary=national [0x1e level 5]
# aerialway=chair_lift | aerialway=drag_lift | aerialway=cable_car [0x38 level
2]
# for ski lifts, use code for railway
aerialway=chair_lift {name 'Chair lift ${name}'} [0x14 level 2]
aerialway=drag_lift | aerialway=platter {name 'Drag lift ${name}'} [0x14 level
2]
aerialway=cable_car {name 'Cable car ${name}'} [0x14 level 2]
aerialway=gondola {name 'Gondola ${name}'} [0x14 level 2]
aerialway=* {name 'Cable way ${name}'} [0x14 level 2]
# map pistes as paths
piste:type=downhill {name 'Piste ${name}'} [0x16 level 2]
# national grid lines - using high-number codes
national_grid=100km [0x10302 level 3]
national_grid=10km [0x10301 level 2]
national_grid=1km [0x10300 level 1]
national_grid=* [0x10301 level 2]
#jrc 28 jan 2012
# Piers and jetties(also in polygons)
man_made=jetty & area!=yes & area!=true & area!=1 [0x10303 level 1 continue]
man_made=pier & area!=yes & area!=true & area!=1 [0x10303 level 1 continue]
_______________________________________________
mkgmap-dev mailing list
[email protected]
http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev