PipelineRules

From OpenStreetMap Wiki
Jump to navigation Jump to search

//
// pipeline rendering rules for maperitive
// see https://wiki.openstreetmap.org/wiki/Rfuegen:PipelineRendering
//


features

	lines
		pipeline default : man_made=pipeline

		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
		river : waterway=river


	points
 		marker default : pipeline=marker
		marker fixme : pipeline=marker AND fixme AND NOT fixme=cfh
		cfh : fixme=cfh


	//
	// basic background
	//

		place city : place=city
		place town : place=town
		place village : place=village


	areas
		substation : pipeline=facility OR pipeline=substation

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


properties
	map-background-color : #F0F0F0



rules

	//
	// pipeline default
	// 

	target : pipeline default
		define
		// line widths
		for : NOT diameter
			define
				line-width : 8:1;10:2;20:4
				min-zoom : 10
		elsefor : diameter<=100
			define
				line-width : 8:1;10:1;20:1
				min-zoom : 12
		elsefor : diameter>100 AND diameter<200
			define
				line-width : 8:1;10:2;20:4
				min-zoom : 8
		elsefor : diameter>=200 AND diameter<800
			define
				line-width : 1:0;10:2;20:5
				min-zoom : 5
		elsefor : diameter>=800
			define
				line-width : 1:1;10:4;20:8

		// colors
		for : type=gas
			define
				line-color : #FFBF00
		elsefor : type=lng
			define
				line-color : DarkOrange
		elsefor : type=cng
			define
				line-color : OrangeRed
		elsefor : type=water
			define
				line-color : Blue
		elsefor : type=oil
			define
				line-color : SaddleBrown
		elsefor : type=heat
			define
				line-color : Red
		elsefor : type=fuel
			define
				line-color : DarkRed
		elsefor : type=beer
			define
				line-color : Gold
		else	
			define
				line-color : Gray
		draw : line
		define
			text : @if(ref, name)
			text-color : black
			text-halo-opacity : 0.25
			min-zoom : 10
			font-size : 10:10;15:14
		draw : text



	///
	/// default marker
	///

	target : marker default
		define

			line-color : black
			line-width : 1

			min-zoom : 14

		for : cover=cone
			define
				shape : circle
				shape-size : 5:0;14:4;20:7
		elsefor : cover=fin 
			define
				shape : custom
				shape-def : m:-1,6;l:1,6;l:1,1;l:6,1;l:6,-1;l:1,-1;l:1,-6;l:-1,-6;l:-1,-1;l:-6,-1;l:-6,1;l:-1,1;z
//				shape-def : p:black;pw:1;f:yellow;m:-1,6;l:1,6;l:1,1;l:6,1;l:6,-1;l:1,-1;l:1,-6;l:-1,-6;l:-1,-1;l:-6,-1;l:-6,1;l:-1,1;z
				border-width : 1
				shape-size : 5:0;14:12;20:20
		elsefor: cover=roof
			define
				shape : square
				shape-size : 5:0;10:7;20:12
		elsefor : mount=pole AND NOT cover
			define
				shape : circle
				shape-size : 5:0;10:2;20:4
		else
			define
				shape : square
				shape-size : 5:0;10:4;20:7

		for : type=gas
			define
				fill-color : #FFBF00
		elsefor : type=lng
			define
				fill-color : DarkOrange
		elsefor : type=lng
			define
				fill-color : OrangeRed
		elsefor : type=water
			define
				fill-color : Blue
		elsefor : type=oil
			define
				fill-color : SaddleBrown
		elsefor : type=heat
			define
				fill-color : Red
		elsefor : type=fuel
			define
				fill-color : DarkRed
		else	
			define
				fill-color : Gray
		draw : shape
		define
			text : ref
			text-color : #000000
			text-offset-vertical : -100%
			text-halo-opacity : 0.5
			min-zoom : 15
			font-size : 10
		draw : text


	target : marker fixme
		
		define
			min-zoom : 14
			shape-size : 5:0;14:12;20:20
			shape : custom
			shape-def : p:red;pw:5;f:red;m:-10,10;l:10,-10;m:-10,-10;l:10,10
		draw : shape
		define
			text : fixme
			text-color : #000000
			text-offset-vertical : 100%
			text-halo-opacity : 0.5
			min-zoom : 15
			font-size : 10
		draw : text

	// continue from here
	target : cfh

		define
			min-zoom : 14
			shape-size : 5:0;14:10;16:16
			shape : circle
			line-color : LightGreen
			fill-color : Green
		draw : shape


	// facilities

	target : substation
		define
			fill-opacity : 0.50
		for : type=gas
			define
				fill-color : #FFBF00
		elsefor : type=lng
			define
				fill-color : DarkOrange
		elsefor : type=lng
			define
				fill-color : OrangeRed
		elsefor : type=water
			define
				fill-color : blue
		elsefor : type=oil
			define
				fill-color : SaddleBrown
		elsefor : type=heat
			define
				fill-color : red
		else	
			define
				fill-color : gray
		draw : fill
		define
			text : name
			text-color : black
			text-halo-opacity : 0.25
			min-zoom : 10
			font-size : 1:0;10:8;18:12
		draw : text

	//
	// GPS tracks
	//

	target : gps tracks
		define
			line-color : blue
			line-width : 1:1;10:4;20:4
			min-zoom : 10
		draw : line

	//
	// cycle routes
	//

	target : cycling route
		define
			line-color : green
			line-width : 1:1;10:4;20:8
			min-zoom : 10
		draw : line
		define
			text : name
			text-color : black
			text-halo-opacity : 0.25
			min-zoom : 10
			font-size : 10:10;15:12
		draw : text


	// basic background

	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 : place city
		define
			text-max-width : 1000
			font-weight : bold
			font-size : 6:8;14:20
			text : name
			text-color : #000000
			min-zoom : 6
			max-zoom : 14
			placement-value : 1000
		draw : text
 
	target : place town
		define
			text-max-width : 1000
			font-weight : bold
			font-size : 9:8;12:10;20:20
			text : name
			text-color : #000000
			min-zoom : 9
			placement-value : 20
		draw : text

	target : place village
		define
			text-max-width : 1000
			font-weight : bold
			font-size : 12:10;20:20
			text : name
			text-color : #000000
			min-zoom : 12
			placement-value : 1
		draw : text

	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