User:Hegen/MotorbootRules

From OpenStreetMap Wiki
Jump to navigation Jump to search
// Copied from Maperitive default rules. 
// Übung
// 
// User: Hegen 11 May 2011

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
		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
		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

	// These are not shown on Mapnik
		puffin : crossing_ref=puffin
		memorial : historic=memorial

	areas
		beach : natural=beach
		building : building=yes
		water : natural=water OR waterway=riverbank OR landuse=reservoir OR landuse=basin
		village green : landuse=village_green
		forest : landuse=forest OR natural=wood
		farm : landuse=farm
		grass : landuse=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
		nature reserve : leisure=nature_reserve
		playground : leisure=playground
		car park: amenity=parking
		track : leisure=track
		graveyard : amenity=grave_yard OR landuse=cemetery
		military : landuse=military OR military=barracks 
		park : leisure=park
		leisure garden : leisure=garden
		leisure pitch : leisure=pitch
		leisure stadium : leisure=stadium
		landuse retail : landuse=retail
		landuse industrial : landuse=industrial
		commercial area : landuse=commercial
		residential area : landuse=residential
		aeroway apron : aeroway=apron
		aeroway terminal : aeroway=terminal
		
	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
		railway : railway=rail
		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 service : highway=service
		highway pedestrian : highway=pedestrian
		highway track : highway=track
		highway footway : highway=footway
		highway cycleway : highway=cycleway
		highway path : highway=path
		highway private : access=private AND highway
		highway steps : highway=steps
		bridge foot : bridge=yes AND (foot=yes OR highway=footway)
		historic citywalls : historic=citywalls OR historic=city_wall

		aeroway runway : aeroway=runway
		aeroway taxiway : aeroway=taxiway
		
		boundary country : boundary=administrative AND (admin_level=2 OR admin_level=4) AND NOT natural=coastline
		boundary province : boundary=administrative AND admin_level=6
		boundary municipal : boundary=administrative AND admin_level=8
		
		contour major : contour[@isMulti(elevation, 50)]
		contour minor : contour[@isMulti(elevation, 10) and not @isMulti(elevation, 50)]

		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 suburb : place=suburb
		hospital : amenity=hospital
		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

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

properties
	map-background-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
	
			if : *city
				define
					font-size : 6:8;14:20
					min-zoom : 6
					max-zoom : 14
			elseif : *town
				define
					font-size : 9:8;12:10;20:20
					min-zoom : 9
			elseif : *village
				define
					font-size : 12:10;20:20
					min-zoom : 12
			elseif : *hamlet
				define
					font-size : 14:8;20:16
					min-zoom : 14
			elseif : *suburb
				define
					font-size : 13:10;20:20
					min-zoom : 13
					text-color : white black 50%
			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
		draw : text

	target : $featuretype(area)
		define
			line-style : none
			line-width : 1
		if : forest
			define
				min-zoom : 9
				fill-color : #8DC56C
		elseif : beach
			define
				min-zoom : 10
				fill-color : #FEFEC0
		elseif : farm
			define
				min-zoom : 9
				fill-color : #E9D8BD
		elseif : fell
			define
				fill-color : #C5FF5B black 10%
		elseif : water
			define
				fill-color : #B5D0D0
		elseif : residential area
			define
				fill-color : #DCDCDC
		elseif : grass
			define
				fill-color : #CFECA8
		elseif : allotments
			define
				fill-color : #C8B084
		elseif : meadow
			define
				fill-color : #CFECA8
		elseif : nature reserve
			define
				fill-color : #ABDE96
		elseif : car park
			define
				fill-color : #F6EEB7
		elseif : park
			define
				fill-color : #C0F6B0
		elseif : leisure garden
			define
				fill-color : #CFECA8
		elseif : graveyard
			define
				fill-color : #A9CAAE
		elseif : building
			define
				fill-color : #BCA9A9
		elseif : leisure pitch
			define
				fill-color : #89D2AE
		elseif : leisure stadium
			define
				fill-color : #33CC99
		elseif : track
			define
				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 : commercial area
			define
				fill-color : #EFC8C8
		elseif : military
			define
				fill-color : #FE9898
		elseif : aeroway*
			define
				fill-color : #E9D1FE
		elseif : glacier
			define
				fill-color : #DDECEC
				line-style : dash
				line-color : #DDECEC black 10%
		else
			stop
		draw : fill
		define
			min-zoom : 17
		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 : academic
		define
			fill-color : #F0F0D8
			line-style : none
		draw : fill
		define
			line-color : #E5D2CC
			line-width : 1
		draw : line
//		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 : 12
				line-width : 12:1;14:2
				line-style : dash
		draw : line

	target : national park
		define
			fill-color : #8DC56C
			fill-opacity : 0.2
			line-style : none
		draw : fill
		define
			line-color : #8DC56C black 20%
			line-opacity : 0.5
			line-width : 3
			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 : railway
		define
			min-zoom : 13
			line-color : gray
			line-width : 2
		draw : line
		define
			min-zoom : 13
			line-style : dashlong
			line-color : white
			line-width : 2
			border-style : solid
			border-color : gray
			border-width : 25%
		draw : line
		define
			min-zoom : 6
			max-zoom : 13
			line-style : none
			line-color : white black 30%
			line-width : 6:1;8:1;12:1.5
		draw : line

	target : highway private
		define
			min-zoom : 15
			line-width : 4
			line-style : dash
			line-color : #F7D4D4
		draw : line

	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 : 6
				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:4;16:5;18:6
			else
				define
					line-width : 7:1;9:2;12:3;13:7;16:10;18:12
			define
				min-zoom : 12
				line-color : #849BBD
				border-style : solid
				border-color : #849BBD black 20%
				border-width : 15%				
			draw : line
			define
				min-zoom : 7
				max-zoom : 12
				border-style : none
			draw : line
			define
				min-zoom : 10
				max-zoom : 20
				font-family : Tahoma
				text-align-horizontal : center
				text-align-vertical : center
				text : ref
				font-size : 12
				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 : 12
				line-color : #96D296
				line-width : 11:1;13:2;15:10;18:12
				border-style : solid
				border-color : #96D296 black 20%
				border-width : 15%
			draw : line
			define
				min-zoom : 7
				max-zoom : 12
				border-style : none
			draw : line
		elseif : *primary*
			define
				min-zoom : 11
				line-color : #ECA2A3
				line-width : 11:2;12:2;15:10;18:12
				border-style : solid
				border-color : #ECA2A3 black 20%
				border-width : 15%
			draw : line
			define
				min-zoom : 7
				max-zoom : 11
				border-style : none
			draw : line
			define
				min-zoom : 13
				max-zoom : 20
			draw : text
		elseif : *secondary
			define
				min-zoom : 12
				line-color : #FDD6A4
				line-width : 10:1;11:2;13:2;15:10;18:12
				border-style : solid
				border-color : #CAA36F
				border-width : 5%
			draw : line
			define
				min-zoom : 8.5
				max-zoom : 12
				border-style : none
			draw : line
			define
				min-zoom : 13
				max-zoom : 20
			draw : text
		elseif : *tertiary
			define
				min-zoom : 13
				line-color : #FEFEB2
				line-width : 10:1;13:2;15:10;18:12
				border-style : solid
				border-color : #FEFEB2 black 20%
				border-width : 15%
			draw : line
			define
				min-zoom : 10
				max-zoom : 13
				line-color : white black 25%
				border-style : none
			draw : line
			define
				min-zoom : 15
				max-zoom : 20
			draw : text
		elseif : *service
			define
				min-zoom : 13
				line-color : white
				line-width : 7:0.6;9:1;10:1.2;12:2.5;13:3;16:5;18:6
				border-style : solid
				border-color : #FEFEB2 black 20%
				border-width : 15%
			draw : line
		elseif : *pedestrian
			define
				min-zoom : 13
				line-color : #EDEDED
				line-width : 7:0.6;9:1;10:1.2;12:2.5;13:3;16:5;18:6
				border-style : solid
				border-color : #B1B1B1 black 20%
				border-width : 15%
			draw : line

		elseif : $regex("(.*residential)|(.*unclassified)")
			define
				min-zoom : 13
				line-color : white
				line-width : 12:1;13:1.5;15:10;18:12
				border-style : solid
				border-color : white black 50%
				border-width : 20%
			draw : line
			define
				min-zoom : 10
				max-zoom : 13
				border-style : none
				line-color : white black 25%
			draw : line
			define
				min-zoom : 15
				max-zoom : 20
			draw : text
		elseif : *track
			define
				min-zoom : 12.5
				line-color : #9D7517
				line-width : 1.5
				line-style : dash
				border-style : solid
				border-color : white
				border-width : 100%
				border-opacity : 0.3
			draw : line
		elseif : *footway
			define	
				min-zoom : 13
				line-color : #F68474
				line-width : 1.5
				line-style : dot
				border-style : solid
				border-color : white
				border-width : 100%
				border-opacity : 0.3
			draw : line
			draw : text		
		elseif : *cycleway
			define	
				min-zoom : 13
				line-color : blue
				line-width : 1.5
				line-style : dot
				border-style : solid
				border-color : white
				border-width : 100%
				border-opacity : 0.3
			draw : line
		elseif : *path
			define	
				min-zoom : 13
				line-color : #6E7C6D
				line-width : 1.5
				line-style : dash
				border-style : solid
				border-color : white
				border-width : 100%
				border-opacity : 0.3
			draw : line
		else
			stop

	target : highway steps
		define
			min-zoom : 16
			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 : line barrier
		define
			min-zoom : 13
			line-color : black
			line-width : 1
		draw : line

	target : bridge foot
		define
			min-zoom : 13
			line-color : white
			line-width : 7:0.6;9:1;10:1.2;12:2.5;13:3;16:5;18:6
			border-style : solid
			border-color : #FEFEB2 black 20%
			border-width : 15%
		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

	target : canal
		define
			min-zoom : 12
			line-color : #B5D0D0
			line-width : 12:1;17:8
		draw : line
		
	target : drain
		define
			min-zoom : 13
			line-color : #B5D0D0
			line-width : 1
		draw : line		
	target : stream
		define
			min-zoom : 13
			line-color : #B5D0D0
			line-width : 13:1;15:2
		draw : line
		
	target: parking
		define
			icon-image : icons/SJJB/png/transport_parking.n.32.png
			min-zoom : 15
			icon-width : 16
		draw : icon
	target: bus stop
		define
			icon-image : icons/SJJB/png/transport_bus_stop.n.32.png
			min-zoom : 15
			icon-width : 16
		draw : icon
	target: postbox
		define
			icon-image : icons/SJJB/png/amenity_post_box.n.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
		define
			min-zoom : 17
			text : collection_times
		draw : text

	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.n.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon

	target: fire station
		define
			icon-image : icons/SJJB/png/amenity_firestation.n.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon				
	target: hospital
		define
			icon-image : icons/SJJB/png/health_hospital.n.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
	target: police station
		define
			icon-image : icons/SJJB/png/amenity_police.n.32
			min-zoom : 16
			icon-width : 16
		draw : icon
	target: cafe
		define
			icon-image : icons/SJJB/png/food_cafe.n.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
	target: recycling
		define
			icon-image : icons/SJJB/png/amenity_recycling.n.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
	target: supermarket
		define
			icon-image : icons/SJJB/png/shopping_supermarket.n.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
	target: diy
		define
			icon-image : icons/SJJB/png/shopping_diy.n.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
	target: convenience
		define
			icon-image : icons/SJJB/png/shopping_convenience.n.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.glow.32.png
			min-zoom : 16
			icon-width : 16
		draw : text
		draw : icon
	target: drinking water
		define
			icon-image : icons/SJJB/png/food_drinkingtap.n.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
	target: bank
		define
			icon-image : icons/SJJB/png/money_bank2.n.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
	target: atm
		define
			icon-image : icons/SJJB/png/money_atm2.n.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
	target: restaurant
		define
			icon-image : icons/SJJB/png/food_restaurant.n.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
	target: hair dresser
		define
			icon-image : icons/SJJB/png/shopping_hairdresser.n.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon

	target: toilets
		define
			icon-image : icons/SJJB/png/amenity_toilets.n.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.n.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
	target: bakery
		define
			icon-image : icons/SJJB/png/shopping_bakery.n.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
	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.n.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
	target: school
		define
			icon-image : icons/SJJB/png/education_school.n.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon
		draw : text
	target : puffin
		define
			icon-image : icons/SJJB/png/transport_traffic_lights.p.32.png
			min-zoom : 16
			icon-width : 16
		draw : icon

	target : gate
		define
			icon-image : http://svn.openstreetmap.org/applications/rendering/mapnik/symbols/gate2.png
			min-zoom : 16
			icon-width : 7
		draw : icon

	target : tourism*
		define
			min-zoom : 17
			text-color : #2B80FE
		draw : text
		if : *hotel
			define
				icon-image : icons/SJJB/png/accommodation_hotel2.n.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.n.32.png
				min-zoom : 16
				icon-width : 16
		else
			stop
		draw : icon

	target : amenity*
		define
			min-zoom : 17
			text-color : #856951
		draw : text

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


	target: contour*
		define
			line-color : #7f3300
			line-opacity : 0.35
			curved : true
		if : *major
			define
				min-zoom : 9
				line-width : 11:0.1;11.9:1;12:2
		else
			define
				min-zoom : 12
				line-width : 1
		draw : contour
		
	target: coastline
		define
			line-color : #B5D0D0
			line-width : 2
		draw : line