User:Polderrunner/Maperitive rules/Better mapnik

From OpenStreetMap Wiki
Jump to navigation Jump to search

//
// Mapnik like rules - version 1.1 06.04.2014
//
// Modified by Ole Nielsen
// Released under the Creative Commons Attribution-ShareAlike 3.0 License (http://creativecommons.org/licenses/by-sa/3.0/)
//
// Based on Default rules supplied with Maperitive
// Changes: 
// - Motorways and trunks in "German" style
// - oneway roads rendered narrower
// - Footways and cycleways as solid lines
// - Less dominant styles for military, national park and farmland
// - Added many missing features
// - dykes, cliffs
// - man_made=bridge rendered
// - buildings: shed, garages subdued, greenhouses in blue

// =============== original text from Default rules ======================================
// Default rendering rules for Maperitive resembling that of OSM Mapnik
// http://maperitive.net

// Created by Igor Brejc
// Released under the Creative Commons Attribution-ShareAlike 3.0 License (http://creativecommons.org/licenses/by-sa/3.0/)
// Updates by Michael <quelbs_at_gmail.com>
// Icons used: Map icons CC-0 from SJJB Management (http://www.sjjb.co.uk/mapicons)
// =======================================================================================

features
	points, areas
		parking : amenity=parking
		postbox : amenity=post_box
		postoffice : amenity=post_office
		telephone : amenity=telephone
		fire station : amenity=fire_station
		police station : amenity=police
		hospital : amenity=hospital
		recycling : amenity=recycling
		church : amenity=place_of_worship AND religion=christian
		drinking water : amenity=drinking_water
		bank : amenity=bank
		atm : amenity=atm
		toilets : amenity=toilets
		library : amenity=library
		tree : natural=tree
	//	school : amenity=school
		bus stop : highway=bus_stop
		railway station : railway=station
		mini roundabout : highway=mini_roundabout
		gate : barrier=gate
		tourism viewpoint : tourism=viewpoint
		tourism hotel : tourism=hotel
		tourism museum : tourism=museum
		amenity pub : amenity=pub
		amenity fast_food : amenity=fast_food
		aerodrome : aeroway=aerodrome
		housenumber : [addr:housenumber]
		neighbourhood : place=neighbourhood
	// These are not shown on Mapnik
		memorial : historic=memorial
		tower : man_made=tower


	areas
		beach : natural=beach
		building : building
		bridge : man_made=bridge
		water : natural=water OR waterway=riverbank OR landuse=reservoir OR landuse=basin or waterway=dock
		village green : landuse=village_green
		forest : landuse=forest OR natural=wood OR landcover=trees
		scrub : natural=scrub
		farmland : landuse=farm OR landuse=farmland
		farmyard:landuse=farmyard
		grass : landuse=grass OR landcover=grass
		fell : natural=fell
		glacier : natural=glacier
		national park : boundary=national_park
		allotments : landuse=allotments
		academic : node[@isOneOf(amenity, university, college, school)] area[@isOneOf(amenity, university, college, school)]
		meadow : natural=meadow OR landuse=meadow
		tidalflat : natural=wetland AND wetland=tidalflat
		nature reserve : leisure=nature_reserve
		playground : leisure=playground
		car park: amenity=parking
		cemetary : amenity=grave_yard OR landuse=cemetery
		military : landuse=military OR military=barracks
		park : leisure=park
		substation : power=substation OR power=sub_station
		power plant : power=plant
		power generator : power=generator
		wastewater plant : man_made=wastewater_plant
		track : leisure=track
		sports centre : leisure=sports_centre
		stadium : leisure=stadium
		leisure garden : leisure=garden
		leisure pitch : leisure=pitch
		leisure golf : leisure=golf_course
		landuse retail : landuse=retail
		landuse industrial : landuse=industrial
		landuse construction : landuse=construction OR landuse=brownfield
		commercial area : landuse=commercial
		residential area : landuse=residential
		aeroway apron : aeroway=apron
		aeroway terminal : aeroway=terminal
		highway pedestrian : (highway=pedestrian OR highway=footway) AND area=yes
		orchard : landuse=orchard
		quarry : landuse=quarry

	lines
		oneway : oneway=yes OR oneway=true OR oneway=-1
		coastline : natural=coastline
		river : waterway=river
		stream : waterway=stream
		canal : waterway=canal
		drain : waterway=drain
		dock : waterway=dock
		railway rail : railway=rail
		railway lightrail : railway=light_rail OR railway=tram
		platform : railway=platform OR public_transport=platform
		line barrier : barrier=wall OR barrier=fence
		highway motorway : highway=motorway
		highway motorway link : highway=motorway_link
		highway trunk : highway=trunk
		highway trunk link: highway=trunk_link
		highway primary link : highway=primary_link
		highway primary : highway=primary
		highway secondary : highway=secondary
		highway tertiary : highway=tertiary
		highway unclassified : highway=unclassified
		highway residential : highway=residential
		highway living_street : highway=living_street
		highway construction : highway=construction
		highway service : highway=service
		highway pedestrian : highway=pedestrian
		highway road : highway=road
		highway track : highway=track
		highway footway : highway=footway
		highway cycleway : highway=cycleway
		highway path : highway=path
		highway access private : access=private AND highway
		highway access destination : access=destination AND highway
		highway steps : highway=steps
		pier : man_made=pier
		breakwater : man_made=breakwater
		dyke : man_made=dyke
		cliff : natural=cliff
		bridge path : bridge AND (highway=footway OR highway=cycleway OR highway=path OR highway=bridleway)
		historic citywalls : historic=citywalls OR historic=city_wall
		power_line : power=line OR power=minor_line
		aerialway closed: @isOneOf(aerialway,cable_car,gondola,mixed_lift)
		aerialway open: @isOneOf(aerialway,chair_lift,drag_lift)

		aeroway runway : aeroway=runway
		aeroway taxiway : aeroway=taxiway

		boundary country : boundary=administrative AND (admin_level=2 OR admin_level=3)
		boundary province : boundary=administrative AND (admin_level=4 OR admin_level=6)
		boundary municipal : boundary=administrative AND (admin_level=7 OR admin_level=8)

		contour major : contour[@isMulti(elevation, 100)]
		contour minor : contour[@isMulti(elevation, 20) and not @isMulti(elevation, 100)]

		gps tracks : gpstrack[]
		gps routes : gpsroute[]

// Routes
//		route ncn : relation[type=route AND route=bicycle AND network=ncn]
		route byway : relation[type=route AND route=bicycle AND network="National Byway"]
		route foot : relation[type=route AND route=foot]

	points
		place city : place=city
		place town : place=town
		place village : place=village
		place hamlet : place=hamlet
		place locality: place=locality
		place isolated_dwelling : place=isolated_dwelling
		place suburb : place=suburb
		diy : shop=doityourself
		hair dresser : shop=hairdresser
		supermarket : shop=supermarket
		convenience : shop=convenience
		bakery : shop=bakery
		restaurant : amenity=restaurant
		cafe : amenity=cafe
		pharmacy : amenity=pharmacy
		peak : natural=peak
		powertower : power=tower
		powerpole : power=pole
		info : information=guidepost
		bollard : barrier=bollard
		lift_gate : barrier=lift_gate
		level crossing : railway=level_crossing
		aerialway station : aerialway=station
		motorway_junction : highway=motorway_junction

		gps waypoints : gpswaypoint[]
		gps trackpoints: gpstrack[].gpspoint[]
		gps routepoints: gpsroute[].gpspoint[]

properties
	map-background-color	: #F1EEE8
	fill-hatch-color : #F1EEE8
	map-background-opacity	: 1
	map-sea-color : #B5D0D0
	font-weight : bold
	font-family : Verdana
	text-max-width : 7
	text-halo-width : 25%
	text-halo-opacity : 0.75
	text-align-horizontal : center
	text-align-vertical : center
	font-stretch : 0.9
	map.rendering.lflp.min-buffer-space : 5
	map.rendering.lflp.max-allowed-corner-angle : 40

rules
	target: gps tracks
		define
			line-color : red
			line-opacity : 0.75
			min-zoom : 5
			line-width : 5
		draw : line

	target: gps routes
		define
			line-color : blue
			line-opacity : 0.75
			line-style : dash
			min-zoom : 5
			line-width : 5
		draw : line

	target : gps waypoints
		define
			shape : circle
			shape-size : 8
			line-color : green
			fill-opacity : 0
		draw : shape

	target : gps trackpoints
		define
			min-zoom : 17
			shape : square
			shape-size : 10
			line-color : green
			line-width : 1
			fill-opacity : 0
		draw : shape


	target : gps routepoints
		define
			min-zoom : 12
			shape : diamond
			shape-size : 10
			line-color : green
			line-width : 1
			fill-opacity : 0
		draw : shape

	target : $featuretype(point)
		if : place*
			define
				font-weight : bold
				text-max-width : 1000
				text-align-horizontal : near

			if : *city
				define
					font-size : 6:8;14:20
					min-zoom : 6
					max-zoom : 14
					placement-value : 1000
			elseif : *town
				define
					font-size : 9:8;12:10;20:20
					min-zoom : 9
					placement-value : 20
			elseif : *village
				define
					font-size : 12:10;20:20
					min-zoom : 12
					placement-value : 1
			elseif : *hamlet
				define
					font-size : 14:8;20:16
					min-zoom : 14
					placement-value : 0.1
			elseif : *locality
				define
					font-size : 14:8;20:16
					min-zoom : 14
					placement-value : 0.1
			elseif : *isolated_dwelling
				define
					font-size : 15:8;20:14
					min-zoom : 15	
					placement-value : 0.1
			elseif : *suburb
				define
					font-size : 13:10;20:20
					min-zoom : 12
					text-color : white black 50%
					placement-value : 10
			draw : text
		if : aerialway station
			define
				min-zoom:12
				shape:square
				shape-size:12:3;16:8
				fill-color:#7981B0
				line-style:none
				text-offset-vertical:120%
				text-color:#8888FF
			draw:shape
			draw:text

	target : *neighbourhood
		define
			font-weight : bold
			text-max-width : 1000
			text-align-horizontal : near
			min-zoom : 13
			font-size : 15:10;20:20
			text-color : white black 50%
//			placement-value : 10
		draw : text


	target : housenumber
		define
			min-zoom : 18
			text : [[addr:housenumber]]
			text-halo-width : 0
			font-size : 8
			placement-value : 0.01
		draw : text

	target : playground
		define
			fill-color : #CCFEF0
			line-style : none
		draw : fill
		define
			line-color : #ADCCB5
			line-width : 1
		draw : line
		define
			min-zoom : 17
			placement-value : 0.05
		draw : text

	target : car park
		define
			min-zoom : 12
			line-style : none
			fill-color : #F6EEB7
		draw : fill
		define
			min-zoom : 15
		draw : text

	target : building
		define
			min-zoom : 12
			line-width : 1
			line-color : #666666
			line-style : none
			fill-color : #BCA9A9
		for : building=greenhouse
			define
				fill-color : #99bbcc
		draw : fill
		define
			line-style : solid
			min-zoom : 15
		for : building=shed OR building=garage OR building=garages
			define
				line-style : none
		draw : line
		define
			min-zoom : 16
		draw : text

	target : substation
		define
			line-width : 1
			min-zoom : 13
			fill-color : #aaaaaa
			line-color : #666666
			line-style : solid
		draw : fill
		draw : line
		define 
			min-zoom : 15
		draw : text

	target : power generator
		define
			line-width : 1
			min-zoom : 13
			fill-color : #aaaaaa
			line-color : #666666
			line-style : solid
		draw : fill
		draw : line
		define 
			min-zoom : 15
		draw : text

	target : bridge
		define
			min-zoom : 12
			line-width : 1
			line-color : #666666
			line-style : none
			fill-color : #bbbbbb
		draw : fill
		define
			line-style : solid
			min-zoom : 15
		draw : line
		draw : text

	target : *pedestrian
		for : area
			define
				min-zoom : 14
				line-width : 1
				fill-color : #EDEDED
				line-color : #B1B1B1 black 20%
				line-style : solid
		draw : fill

	target : $featuretype(area)
		define
			line-style : none
			line-width : 1
			min-zoom : 7
		if : forest
			define
				min-zoom : 8.5
				fill-color : #8DC56C
		elseif : scrub 
			define
				min-zoom : 8.5
				fill-color : #b0d080
		elseif : beach
			define
				min-zoom : 10
				fill-color : #FEFEC0
		elseif : power plant
			define
				min-zoom : 12
				fill-color : #cccccc
				line-color : #444444
				line-style : solid
		elseif : farmland
			define
				min-zoom : 11
				fill-color : #eaf4ea black 3%
		elseif : farmyard
			define
				min-zoom : 12
				fill-color : #DCBE91 white 25%
		elseif : fell
			define
				fill-color : #C5FF5B black 10%
		elseif : water
			define
				fill-color : #B5D0D0
		elseif : academic
			define
				fill-color : #F0F0D8
				line-color : #E5D2CC
				line-style : solid
		elseif : residential area
			define
				fill-color : #DCDCDC
		elseif : grass
			define
				min-zoom : 9
				fill-color : #CFECA8
		elseif : allotments
			define
				min-zoom : 11
				fill-color : #C8B084 white 25%
		elseif : meadow
			define
				min-zoom : 9
				fill-color : #CFECA8
		elseif : nature reserve
			define
				fill-color : #ABDE96
				fill-hatch : nwse
				fill-hatch-opacity : 0
				line-color : #ABDE96
				line-style : solid
		elseif : tidalflat
			define
				fill-color : #ddbb00
				fill-hatch : horizontal
				fill-hatch-opacity : 0
				fill-opacity : 1
				line-color : #ddbb00
				line-style : solid
		elseif : park
			define
				min-zoom : 10
				fill-color : #C0F6B0
		elseif : leisure garden
			define
				min-zoom : 13
				fill-color : #CFECA8
		elseif : cemetary
			define
				min-zoom : 12
				fill-color : #A9CAAE
		elseif : leisure golf
			define
				min-zoom : 12
				fill-color : #b5e2b5
		elseif : leisure pitch
			define
				min-zoom : 13
				fill-color : #89D2AE
		elseif : track
			define
				min-zoom : 13
				fill-color : #74DCBA
		elseif : village green
			define
				fill-color : #CFECA8
		elseif : landuse retail
			define
				fill-color : #F0D9D9
				line-color : #F4A19E
			draw : line
		elseif : landuse industrial
			define
				fill-color : #DFD1D6
		elseif : wastewater plant
			define
				fill-color : #DFD1D6
		elseif : commercial area
			define
				fill-color : #EFC8C8
		elseif : landuse construction
			define
				min-zoom : 12
				fill-color : #b6b592
				fill-hatch : nwse
				fill-hatch-opacity : 0
				line-color : #b6b592
				line-style : solid
		elseif : military
			define
				min-zoom : 11
				fill-color : #FE9898
				fill-hatch : nwse
				fill-hatch-opacity : 0
				line-color : #FE9898
				line-style : solid
		elseif : aeroway*
			define
				fill-color : #E9D1FE
		elseif : orchard
			define
				min-zoom : 11
				fill-color : #9fd790
		elseif : aerodrome
			define
				fill-color : #e9e8e3
				line-style : solid
				line-color : #b3b3b0 black 10%
		elseif : quarry
			define
				fill-color : white
				line-style : solid
				line-color : #b3b3b0 black 10%
				fill-hatch : diagonalcross
				fill-hatch-color : #cccccc
		elseif : glacier
			define
				fill-color : #DDECEC
				line-style : dash
				line-color : #DDECEC black 10%
		else
			stop
		draw : fill
		for : amenity=hospital
			stop
		define
			min-zoom : 15
		if:academic
			define
				min-zoom:16
		draw : text

	target : $regex("(sports centre)|(stadium)")
		define
			min-zoom : 12
			fill-color : #33cc99
			line-style : none
		draw : fill
		define
			min-zoom : 15
		draw : text

//		aeroway taxiway : aeroway=taxiway
//		aeroway apron : aeroway=apron
//		aeroway terminal : aeroway=terminal

	target : aeroway runway
		define
			min-zoom : 11
			line-color : #BBBBCC
			line-width : 11:2;15:20
		draw : line

	target : aeroway taxiway
		define
			min-zoom : 11
			line-color : #BBBBCC
			line-width : 11:1;15:6
		draw : line

	target : glacier
		define
			min-zoom : 10
			text-color : #A3A3FE
		draw : text

	target : boundary*
		define
			line-color : #9E1A99
			line-opacity : 0.5
		if : boundary country
			define
				line-width : 6:1;9:3;10:6
		elseif : boundary province
			define
				min-zoom : 4
				line-width : 4:1;11:3
				line-style : dash
		elseif : boundary municipal
			define
				min-zoom : 11
				line-width : 12:1;14:2
				line-style : dash
		for : natural=coastline OR maritime=yes
			define
				min-zoom : 20
		draw : line

	target : national park
//		define
//			fill-color : #8DC56C
//			fill-opacity : 0.2
//			line-style : none
//		draw : fill
		define
			fill-color : #ABDE96
			fill-hatch : vertical
			fill-hatch-opacity : 0
			line-color : #ABDE96
			line-style : solid
		draw : fill
		define
			line-color : #8DC56C black 20%
			line-opacity : 0.5
			line-width : 2
			line-style : dash
			font-size : 3:3;12:12
			text-color : green
			font-weight : normal
		draw : line
		draw : text

	target : peak
		define
			shape : triangle
			shape-size : 12
			fill-color : #D08F55
			line-style : none
			min-zoom : 11
		draw : shape
		define
			text : @if(name, name @if(ele, "\n(" ele ")"), ele)
			text-color : #ae4242
			min-zoom : 13
			font-size : 10
			text-max-width : 10
			text-offset-vertical : 100%
			text-align-vertical : near
		draw : text

	target : info
		define
			min-zoom : 16
			text : "i"
			text-color : #734A08
			font-size : 20
			font-family : Times New Roman
			text-halo-width : 0
		draw : text
	target : lift_gate
		define
			min-zoom : 16
			shape : custom
			shape-def : f:#3E3E3E;p:#3E3E3E;-1,1;-1,-3;-3,-3;-3,3;-1,3;-1,2;4,2;4,1;Z
			shape-size : 14:7;20:12
			line-width : 1
		draw : shape
	target : bollard
		define
			min-zoom : 16
			fill-color : #7D7D7D
			line-style : none
			shape-size : 16:1;18:2
		draw : shape
	target : level crossing
		define
			min-zoom : 15
			shape : custom
			shape-def : pw:2;p:red;m:-1,-1;l:1,1;m:1,-1;l:-1,1
			shape-size : 14:7;20:12
			line-width : 1
		draw : shape
	target : powertower
		define
			min-zoom: 14
			shape : custom
			shape-def : m:-1,1;l:1,1,1,-1,-1,-1,-1,1,1,-1;m:-1,-1;l:1,1
			shape-size : 14:2;20:9
			line-width : 1
		draw : shape

	target : powerpole
		define
			min-zoom: 16
			shape : custom
			shape-def : m:-1,1;l:1,1,1,-1,-1,-1,-1,1,1,-1;m:-1,-1;l:1,1
			shape-size : 16:2;20:5
			line-width : 1
		draw : shape

	target : power_line
		define
			min-zoom: 14
			line-width: 1
			line-color : #5c5c5c white 50%
		for : power=line
			define
				line-color : #5c5c5c
				min-zoom : 13
				line-width: 1
		draw : line

	target : tower
		define
			min-zoom: 14
			shape : custom
			shape-def : pw:1;p:black;f:black;m:-5,0;l:-5,80,-10,80,-10,85,-5,85,-5,90,-10,90,-10,95,-5,95,-5,100,5,100,5,95,10,95,10,90,5,90,5,85,10,85,10,80,5,80,5,0;z
			shape-size : 14:15;16:50;18:200
		draw : shape

	target:aerialway *
		define
			min-zoom:12
			line-width:1
			line-style:solid
			line-color:#999
		draw:line
		draw:text
	target:aerialway closed
		define
			min-zoom:12
			shape:circle
			shape-size:1
			shape-spacing:20
		draw:shape
	target:aerialway open
		define
			min-zoom:12
			shape:custom
			shape-def:l:0,1,0,-1
			shape-spacing:5
			shape-size:3
			line-width:1
		draw:shape
	target : platform
		define
			min-zoom : 13
			line-color : gray
			line-width : 3
		draw : line
	target : railway rail
		define
			min-zoom : 13
			line-style : dashlong
			line-color : white
			line-width : 2
			border-style : solid
			border-color : gray
			border-width : 25%
		for : bridge
			define
				min-zoom : 13
				border-color : #000
				border-width : 1.5
		draw : line
		define
			min-zoom : 6
			max-zoom : 13
			border-width : 0
			line-style : solid
			line-color : white black 30%
			line-width : 6:1;8:1;12:1.5
		draw : line
	target : railway*
		define
			min-zoom : 13
			line-color : gray
			line-width : 2
		draw : line
		define
			min-zoom : 15
			text-align-horizontal : center
			text-align-vertical : center
		draw:text

	target : highway access*
		define
			min-zoom : 13
			line-width : 13:1;15:2;18:4
			line-style : dash
			line-color : #F7D4D4
		for : access=destination
			define
				line-color : lightblue white 50%
		draw : line

	target : highway construction
		define
			min-zoom : 13
			line-width : 13:2;15:4;18:10
			line-style : dot
			line-color : gray
		for : construction=motorway OR construction=motorway_link
			define
				line-color : #EA7D54
		for : construction=trunk OR construction=primary
			define
				line-color : #ECA2A3
		for : construction=secondary
			define
				line-color : #FDD6A4
		for : construction=tertiary
			define
				line-color : #FEFEB2
		for : construction=unclassified OR construction=residential
			define
				line-color : white
		draw : line

	target : motorway_junction
		define
			font-size : 11 
			min-zoom : 13
			text : ref " " name
			text-color : #849BBD
			text-halo-width : 25%
			text-offset-vertical : 150%
		draw: text

	target : highway*
		define
			font-size : 15:7;18:10
			font-weight : bold

		for : oneway=yes OR oneway=true
			define
				min-zoom : 15
				shape : custom
				shape-def : 60,0,20,-40,20,-15,-60,-15,-60,15,20,15,20,40;Z
				shape-size : 12
				shape-aspect : 0.75
				shape-spacing : 10
				fill-color : #6C70D4
				line-style : none
			for : oneway=-1
				define
					angle : 180
			draw : shape

		define
			line-style : solid
			line-join : round
			line-start-cap : round
			line-end-cap : round

		if : *motorway*
			if : *link
				define
					line-width : 7:1;12:3;13:5;16:7;18:12;19:24
			else
				define
					line-width : 7:1;9:2;12:3;13:7;16:10;18:17;19:34
			define
				min-zoom : 7
				line-color : #EA7D54
				border-style : solid
				border-color : #EA7D54 black 20%
				border-width : 15%
			for : tunnel=yes
				define
					border-style : dot
					line-color : #ecc08c
			for : bridge
				define
					border-color : #000
					border-width : 15%
					line-start-cap : none
					line-end-cap : none
			draw : line
			for : highway=motorway
				define
					min-zoom : 12
					line-width : 7:0.3;12:1;13:1.5;16:1.7;18:3;19:6
					line-color : #F5E756
				draw : line
			define
				min-zoom : 7
				max-zoom : 12
				border-style : none
			draw : line
			define
				text : ref " " name
				font-size : 13:8;18:18
				min-zoom : 12
				max-zoom : 20
			draw : text
			for : tunnel=yes OR bridge=yes
				define
					min-zoom : 20
			else
				define
					min-zoom : 10
					max-zoom : 19
			define
				font-family : Tahoma
				text-align-horizontal : center
				text-align-vertical : center
				text : ref
				font-size : 8
				font-weight : bold
				text-color : black
				text-halo-width : 0
				shape : custom
				shape-def : p:#333333;pw:2;f:#20f0a0;m:-20,-10;l:20,-10;l:20,10;l:-20,10;l:-20,-10;z
				shield-padding-left : 3
				shield-padding-right : 3
				shield-padding-top : 5
				shield-padding-bottom : 5
//				font-size : 8
//				text-color : #fcfcfb
//				text-halo-width : 0
//				shape : custom
//				shape-def : p:#809bc0;pw:5;f:#809bc0;m:-10,-10;l:10,-10;a:10,10,10,10;l:-10,10;a:10,10,-10,-10;z;p:#fcfcfb;pw:2;m:-10,-10;l:10,-10;a:10,10,10,10;l:-10,10;a:10,10,-10,-10;z
//				shield-padding-left : 5
//				shield-padding-right : 5
//				shield-padding-top : 7
//				shield-padding-bottom : 7
				shield-resize-mode : free
//			draw : shield
		elseif : *trunk*
			define
				min-zoom : 11
				line-color : #E17171
				line-width : 11:2;12:2;15:10;18:17;19:34
				border-style : solid
				border-color : #E17171 black 20%
				border-width : 15%
			for : oneway=yes
				define
					line-width : 11:1.5;12:1.5;15:7;18:12;19:24
					border-width : 22%
			for : tunnel=yes
				define
					border-style : dot
					line-color : #ecc2c2
			for : bridge
				define
					border-color : #000
					border-width : 15%
			draw : line
			define
				min-zoom : 7
				max-zoom : 12
				border-style : none
			draw : line
			define
				text : ref " " name
				font-size : 13:6;18:14
				min-zoom : 13
				max-zoom : 20
			draw : text
			for : junction=roundabout OR tunnel=yes OR bridge=yes OR highway=*link
				define
					min-zoom : 20
			else
				define
					min-zoom : 11
					max-zoom : 19
			define
				font-family : Tahoma
				text-align-horizontal : center
				text-align-vertical : center
				text : ref
				font-size : 8
				font-weight : bold
				text-color : black
				text-halo-width : 0
				shape : custom
				shape-def : p:#333333;pw:2;f:#eeee22;m:-20,-10;l:20,-10;l:20,10;l:-20,10;l:-20,-10;z
				shield-padding-left : 3
				shield-padding-right : 3
				shield-padding-top : 5
				shield-padding-bottom : 5
				shield-resize-mode : free
//			draw : shield
		elseif : *primary*
			define
				min-zoom : 11
				line-width : 11:2;12:2;15:10;18:17;19:34
				line-color : #f89293
				border-style : solid
				border-color : #ECA2A3 black 20%
				border-width : 15%
			for : oneway=yes
				define
					line-width : 11:1.5;12:1.5;15:7;18:12;19:24
					border-width : 22%
			for : tunnel=yes
				define
					border-style : dot
					line-color : #ecd2d2
			for : bridge
				define
					border-color : #000
					border-width : 15%
			draw : line
			define
				min-zoom : 7
				max-zoom : 11
				border-style : none
			draw : line
			define
				text : ref " " name
				font-size : 13:6;18:14
				min-zoom : 13
				max-zoom : 20
			draw : text
			for : junction=roundabout OR tunnel=yes OR bridge=yes OR maxspeed<70 OR highway=*link
				define
					min-zoom : 20
			else
				define
					min-zoom : 11
					max-zoom : 19
			define
				font-family : Tahoma
				text-align-horizontal : center
				text-align-vertical : center
				text : ref
				font-size : 8
				font-weight : bold
				text-color : black
				text-halo-width : 0
				shape : custom
//				shape-def : p:#eeee22;pw:3;f:#eeee22;m:-22,-11;l:22,-11;l:22,11;l:-22,11;l:-22,-11;z;p:#333333;pw:2;m:-20,-10;l:20,-10;l:20,10;l:-20,10;l:-20,-10;z
				shape-def : p:#333333;pw:2;f:#eeee22;m:-20,-10;l:20,-10;l:20,10;l:-20,10;l:-20,-10;z
				shield-padding-left : 3
				shield-padding-right : 3
				shield-padding-top : 5
				shield-padding-bottom : 5
				shield-resize-mode : free
//			shield rendering suppressed, maperitive needs to handle this better
//			draw : shield
		elseif : *secondary*
			define
				min-zoom : 12
				line-color : #FDD684
				line-width : 11:2;12:2;15:10;18:17;19:34
				border-style : solid
				border-color : #CAA36F
				border-width : 15%
			for : oneway=yes
				define
					line-width : 11:1.5;12:1.5;15:7;18:12;19:24
					border-width : 22%
			for : @isMatch (surface,"unpaved|gravel|sand|earth|ground|grass")
				define
					border-style: dash 
			for : tunnel=yes
				define
					border-style : dot
					line-color : #f0e0c8
			for : bridge
				define
					border-color : #000
					border-width : 15%
			draw : line
			define
				min-zoom : 8.5
				max-zoom : 12
				border-style : none
			draw : line
			for : junction=roundabout OR tunnel=yes OR bridge=yes OR highway=*link
				define
					min-zoom : 20
			else
				define
					min-zoom : 12
					max-zoom : 19
			define
				font-family : Tahoma
				text-align-horizontal : center
				text-align-vertical : center
				text : ref
				font-size : 8
				font-weight : bold
				text-color : black
				text-halo-width : 0
				shape : custom
				shape-def : p:#333333;pw:2;f:#eeeeee;m:-20,-10;l:20,-10;l:20,10;l:-20,10;l:-20,-10;z
				shield-padding-left : 3
				shield-padding-right : 3
				shield-padding-top : 5
				shield-padding-bottom : 5
				shield-resize-mode : free
//			shield rendering suppressed, maperitive needs to handle this better
//			draw : shield
			define
				text : ref " " name
				min-zoom : 13
				max-zoom : 20
			draw : text
		elseif : *tertiary
			define
				min-zoom : 13
				line-color : #FEFEB2
				line-width : 9:1;13:2;15:10;18:15;19:30
				border-style : solid
				border-color : #FEFEB2 black 20%
				border-width : 15%
			for : oneway=yes
				define
					line-width : 10:1;12:1.5;15:7;18:10;19:21
					border-width : 25%
			for : @isMatch (surface,"unpaved|gravel|sand|earth|ground|grass")
				define
					border-style: dash 
			for : tunnel=yes
				define
					border-style : dot
			for : bridge
				define
					border-color : #000
			draw : line
			define
				min-zoom : 9
				max-zoom : 13
				line-color : white black 25%
				border-style : none
			draw : line
			define
				min-zoom : 14
				max-zoom : 20
			draw : text
		elseif : *service
			define
				min-zoom : 13
				line-color : white
				line-width : 13:0.5;15:3;18:8;19:15
				border-style : solid
				border-color : white black 25%
				border-width : 15%
			for : @isMatch (surface,"unpaved|gravel|sand|earth|ground|grass")
				define
					border-style: dash 
			for : service=parking_aisle
				define
					min-zoom : 15
					line-width : 13:0.5;15:2;18:5;19:10
			for : service=driveway
				define
					min-zoom : 13
					line-width : 13:0.5;15:2;18:5;19:10
			for : tunnel=yes
				define
					border-style : dot
			for : bridge
				define
					border-color : #000
			draw : line
			define
				min-zoom : 15
			draw : text
		elseif : *pedestrian
			for : not area
				define
					min-zoom : 13
					line-color : #EDEDED
					line-width : 13:1;15:4;18:10;19:20
					border-style : solid
					border-color : white black 25%
					border-width : 15%
				for : tunnel=yes
					define
						border-style : dot
				for : bridge
					define
						border-color : #000
				draw : line
				draw : text

		elseif : $regex("(.*residential)|(.*unclassified)")
			define
				min-zoom : 13
				line-color : white
				line-width : 12:1;13:1.5;15:6;18:15;19:30
				line-style : solid
				border-style : solid
				border-color : white black 25%
				border-width : 15%
			for : (oneway=yes) OR (lanes<2) OR (width<3)
				define
					line-width : 13:1;15:4;18:10;19:20
					border-width : 25%
			for : @isMatch (surface,"unpaved|gravel|sand|earth|ground|grass")
				define
					border-style: dash 
			for : tunnel=yes
				define
					border-style : dot
					line-color : #F1EEE8
			for : bridge
				define
					border-color : #000
			draw : line
			define
				min-zoom : 14.5
				max-zoom : 20
			draw : text
			define
				min-zoom : 10
				max-zoom : 13
				border-style : none
				line-color : white black 25%
			draw : line
		elseif : *living_street
			define
				min-zoom : 13
				line-color : white
				line-width : 12:1;13:1.5;15:6;18:15;19:30
			draw : line
			define
				line-color : white black 10%
				line-style : dot
				border-style : solid
				border-color : white black 25%
				border-width : 15%
			for : tunnel=yes
				define
					border-style : dot
			for : bridge
				define
					border-color : #000
			draw : line
			define
				min-zoom : 15
				max-zoom : 20
			draw : text
		elseif : *road
			define
				min-zoom : 13
				line-color : #dddddd
				line-width : 12:1;13:1.5;15:6;18:10
				line-style : solid
				border-style : solid
				border-color : white black 25%
				border-width : 15%
			for : tunnel=yes
				define
					border-style : dot
			for : bridge
				define
					border-color : #000
			draw : line
			define
				min-zoom : 15
				max-zoom : 20
			draw : text
		elseif : *track
			define
				min-zoom : 13
				line-color : #9D7517
				line-width : 13:1;15:1;18:2
				line-style : dash
				border-style : none
				border-color : white
				border-width : 100%
				border-opacity : 0.3
				line-offset : 14.99:0;15:1;18:2
				line-offset-sides : both
			for : tracktype=grade1
				define
					line-style : solid
			for : tracktype=grade2 OR tracktype=grade3
				define
					line-style : dash
			for : tracktype=grade4 OR tracktype=grade5
				define
					line-style : dashdotdot
			for : tunnel=yes
				define
					border-style : dot
					line-opacity : 0.5
			draw : line
			for : bridge
				define
					line-offset : 14.99:2;15:3;18:4
					line-offset-sides : both
					line-width : 1.5
					line-color : black
					line-style : solid
				draw : line
			define 
				min-zoom : 15
			draw : text
		elseif : *footway
			for : NOT area
				define
					min-zoom : 13
					line-color : #F68474
					line-width : 13:0.7;15:1.2;18:2
					line-style : solid
					border-style : none
					border-color : white
					border-width : 50%
					border-opacity : 0.3
				for : tunnel=yes
					define
						border-style : dot
						line-color : #F68474 white 60%
				draw : line
				define 
					min-zoom : 15
				draw : text
		elseif : *cycleway
			define
				min-zoom : 13
				line-color : blue
				line-width : 13:0.7;15:1.2;18:2
				line-style : solid
				border-style : none
				border-color : white
				border-width : 100%
				border-opacity : 0.3
			for : tunnel=yes
				define
					border-style : dot
					line-color : blue white 60%
			draw : line
			define 
				min-zoom : 15
			draw : text
		elseif : *path
			define
				min-zoom : 13
				line-color : #6E7C6D
				line-width : 13:0.7;15:1.2;18:2
				line-style : dash
				border-style : none
				border-color : white
				border-width : 100%
				border-opacity : 0.3
			for : tunnel=yes
				define
					border-style : dot
					line-color : #6E7C6D white 60%
			draw : line
			define 
				min-zoom : 15
			draw : text
		else
			stop

	target : highway steps
		define
			min-zoom : 15
			shape : custom
			shape-def : -1,1, -1,-1, 1,-1, 1,1;Z
			shape-spacing : 2
			shape-size : 16:1;20:3
			shape-aspect : 3
			fill-color : #F98072
			line-style : none
		draw : shape
	target : pier
		define
			min-zoom : 13
			line-color : #F1EEE8
			line-width : 11:1;20:8
		draw : line

	target : breakwater
		define
			min-zoom : 13
			line-color : #aaaaaa
			line-width : 13:2;18:4
		draw : line

	target : dyke
		define
			min-zoom : 15
			shape : custom
			shape-def : p:#888;pw:1;m:0,-10;l:0,-4;m:0,4;l:0,10;m:-10,-4;l:10,-4;m:-10,4;l:10,4
			shape-spacing : 1
			shape-size : 15:2;19:15
			shape-aspect : 3
		draw : shape

	target : cliff
		define
			min-zoom : 14
			shape : custom
			shape-def : p:#888;pw:1;f:#888;m:0,0;l:2,-4,4,0;z
			shape-spacing : 1
			shape-size : 15:4;19:20
			shape-aspect : 1
		draw : shape
		define
			line-width : 1
			line-color : #888
		draw : line

	target : line barrier
		define
			min-zoom : 13
			line-color : black
			line-width : 1
		for:barrier=fence
			define
				min-zoom:16
				line-color:#777
		draw : line

	target : bridge path
		define
			min-zoom : 15
			line-color : white
			line-width : 13:2;15:2.5;18:3
			border-style : solid
			border-color : black
			border-width : 40%
		draw : line
		draw : text


	target : historic citywalls
		define
			min-zoom : 13
			line-color : #8D968D
			line-width : 7:0.6;9:1;10:1.2;12:2.5;13:3;16:10
		draw : line
		draw : text

		define

	target : river
		define
			line-color : #B5D0D0
			line-width : 7:1;12:2;14:5
		draw : line
		define
			min-zoom:13
			font-size:13:8;16:12
			text-color:#B5D0D0
			font-weight:normal
		draw:text
	target : stream
		define
			min-zoom : 12
			line-color : #B5D0D0
			line-width : 13:1;15:2
		draw : line
		define
			min-zoom:14
			font-size:13:8;16:12
			text-color:#B5D0D0
			font-weight:normal
		draw:text

	target : canal
		define
			min-zoom : 12
			line-color : #B5D0D0
			line-width : 12:1;17:8
		draw : line
		define
			min-zoom:13
			font-size:13:8;16:12
			text-color:#B5D0D0
			font-weight:normal
		draw:text

	target : drain
		define
			min-zoom : 13
			line-color : #B5D0D0
			line-width : 1
		draw : line

	target: parking
		define
			icon-image : icons/SJJB/png/transport_parking.p.32.png
			min-zoom : 15
			icon-width : 16
		draw : icon
	target: bus stop
		define
			icon-image : icons/SJJB/png/transport_bus_stop.p.32.png
			min-zoom : 15
			icon-width : 15:10;18:16
		draw : icon
	target: railway station
		define
			min-zoom : 12
			shape : square
			line-color : #7981B0
			fill-color : #7981B0
			shape-size : 12:5;18:8
		draw : shape
		define
			min-zoom : 14
			font-size : 12
			text-color : #7981B0
			text-offset-vertical : -150%
		draw : text
	target: postbox
		define
			icon-image : icons/SJJB/png/amenity_post_box.p.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
	target: postoffice
		define
			icon-image : icons/SJJB/png/amenity_post_office.p.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
	target: telephone
		define
			icon-image : icons/SJJB/png/amenity_telephone.p.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon

	target: fire station
		define
			icon-image : icons/SJJB/png/amenity_firestation.p.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
	target: hospital
		define
			icon-image : icons/SJJB/png/health_hospital.p.32.png
			min-zoom : 15
			icon-width : 16
		draw : icon
		define
			min-zoom : 16
			text-offset-vertical : 150%
			text-color : #DA0092
		draw : text
	target: police station
		define
			icon-image : icons/SJJB/png/amenity_police.p.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
	target: cafe
		define
			icon-image : icons/SJJB/png/food_cafe.p.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
	target: recycling
		define
			icon-image : icons/SJJB/png/amenity_recycling.p.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
	target: supermarket
		define
			icon-image : icons/SJJB/png/shopping_supermarket.p.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
	target: diy
		define
			icon-image : icons/SJJB/png/shopping_diy.p.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
	target: convenience
		define
			icon-image : icons/SJJB/png/shopping_convenience.p.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon

	target: mini roundabout
		define
			icon-image : icons/SJJB/png/transport_roundabout_anticlockwise.p.32.png
			min-zoom : 16
			icon-width : 9
		draw : icon
	target: church
		define
			icon-image : icons/SJJB/png/place_of_worship_christian3.p.32.png
			min-zoom : 16
			icon-width : 16
		define
			text-offset-vertical : 150%
		draw : text
		draw : icon
	target: drinking water
		define
			icon-image : icons/SJJB/png/food_drinkingtap.p.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
	target: bank
		define
			min-zoom : 17
			text-color : #000000
			text-offset-vertical : 150%
		draw : text
		define
			icon-image : icons/SJJB/png/money_bank2.p.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
	target: atm
		define
			min-zoom : 17
			text-color : #000000
			text-offset-vertical : 150%
		draw : text
		define
			icon-image : icons/SJJB/png/money_atm2.p.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
	target: restaurant
		define
			min-zoom : 17
			text-color : #734a08
			text-offset-vertical : 150%
			font-size : 10
		draw : text
		define
			icon-image : icons/SJJB/png/food_restaurant.p.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
	target: hair dresser
		define
			icon-image : icons/SJJB/png/shopping_hairdresser.p.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon

	target: toilets
		define
			icon-image : icons/SJJB/png/amenity_toilets.p.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
	target: pharmacy
		define
			icon-image : icons/SJJB/png/health_pharmacy.p.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
	target: library
		define
			icon-image : icons/SJJB/png/amenity_library.p.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
	target: bakery
		define
			min-zoom : 17
			text-color : #2B80FE
			text-offset-vertical : 150%
		draw : text
		define
			icon-image : icons/SJJB/png/shopping_bakery.p.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
		define
			min-zoom : 17
			text-color : #AA33AA
			text-offset-vertical : 150%
			font-size : 10
		draw : text
	target: tree
		define
			icon-image : http://svn.openstreetmap.org/applications/rendering/mapnik/symbols/tree2.png
			min-zoom : 16
			icon-width : 6
		draw : icon
	target: memorial
		define
			icon-image : icons/SJJB/png/tourist_memorial.p.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
	target: school
		define
			icon-image : icons/SJJB/png/education_school.p.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
		define
			text-offset-vertical : 150%
		draw : text

	target : gate
		define
			icon-image : icons/SJJB/png/barrier_gate.p.32.png
			min-zoom : 16
			icon-width : 7
		draw : icon

	target : tourism*
		define
			min-zoom : 17
			text-color : #2B80FE
			text-offset-vertical : 150%
		draw : text
		if : *hotel
			define
				icon-image : icons/SJJB/png/accommodation_hotel2.p.32.png
				min-zoom : 16
				icon-width : 16

		elseif : *viewpoint
			define
				icon-image : icons/SJJB/png/tourist_view_point.p.32.png
				min-zoom : 16
				icon-width : 16

		elseif : *museum
			define
				icon-image : icons/SJJB/png/tourist_museum.p.32.png
				min-zoom : 16
				icon-width : 16
		else
			stop
		draw : icon

	target : amenity*
		define
			min-zoom : 17
			text-color : #856951
			text-offset-vertical : 150%
		draw : text

		define
			min-zoom : 16
			icon-width : 16
		if : *pub
			define
				icon-image : icons/SJJB/png/food_pub.p.32.png
		elseif : *fast_food
			define
				icon-image : icons/SJJB/png/food_fastfood2.p.32.png
		else
			stop
		draw : icon


	target: contour*
		define
			line-color : #7f3300
			line-opacity : 0.35
			curved : true
		if : *major
			define
				map.rendering.contour.label : true
				min-zoom : 9
				line-width : 11:0.1;11.9:1;12:2
				font-size : 10
				font-style : italic
				font-weight : normal
				text-halo-width : 35%
				text-halo-opacity : 1
				text-halo-color : #F1EEE8
		else
			define
				min-zoom : 12
				line-width : 1
		draw : contour

	target: coastline
		define
			line-color : #B5D0D0
			line-width : 2
		draw : line