User:GB Germany Vie/Maperitive rules/OFM Print

From OpenStreetMap Wiki
Jump to navigation Jump to search
OFM_Print Leuth Icon Style
OFM_Print Leuth Text Style


Einleitung

Maperitive bietet gute und einfache Möglichkeiten Karten mit eigenen Merkmalen zu erzeugen.

Dieses Ruleset (Darstellungsschema) zeigt die Ausgabe der Openfiremap relevanten Daten für grosse Bereiche in hoher Auflösung.

Folgende Punkte ware mir bei der Erstellung wichtig:

- die Karte sollte ohne Bitmap-Icons auskommen.

- die Ausgabe sollte nicht zu überfrachtet sein und doch bei jeder Zoomstufe genügend Details wiedergeben.

Gegenüber der Online Openfiremapkarte waren allerdings geringe Änderungen notwendig die aber nicht weiter in Gewicht fallen dürften.

Damit der Einstieg leichter fällt werden die wichtigsten Schritte im unteren Bereich dieser Seite noch einmal erläutert.


Als Ergänzung habe ich eine andere Darstellung der OFM relvanten Daten gewählt.

Eine Angabe der Daten über Textkürzel halte ich für sinnvoller und kann durch andere User leichter angepasst und erweitert werden.

Folgendes Schema ist hier umgesetzt:

Kürzel Farbe Beschreibung Tags Kommentar
[FS] rot/gelb Feuerwehrhaus / Fire Station amenity=fire_station
ref=*
Gebäude in eckigen Klammern
HP rot Überflurhydrant / Pillar Type Fire Hydrant emergency=fire_hydrant
fire_hydrant:type=pillar
fire_hydrant:diameter=*
HU rot Unterflurhydrant / Underground Fire Hydrant emergency=fire_hydrant
fire_hydrant:type=underground
fire_hydrant:diameter=*
HW rot Wandhydrant / Wall type Fire Hydrant emergency=fire_hydrant
fire_hydrant:type=wall
H? rot Hydrant ohne Angaben / Other/Unknown Fire Hydrant Types emergency=fire_hydrant
fire_hydrant:type=unknown
fire_hydrant:diameter=*
WT blau Löschwasserbehälter geschlossen / Water Tank emergency=water_tank
water_tank:volume=*
WP blau Löschwasserentnahmestelle / Ponds used for firefighting emergency=fire_hydrant
fire_hydrant:type=pond or
emergency=suction_point or
emergency=fire_water_pond
[H] violett Krankenhaus / hospital amenity=hospital Gebäude in eckigen Klammern
EP grün Rettungspunkt / Emergency_access_point highway = emergency_access_point


Ruleset OFM Text Style


// Maperitive rendering ruleset for OpenFireMap Printing with text node style
// by OpenStreetMap User: GB_Germany_Vie
// http://maperitive.net

// Based on the Hiking Map by Igor Brejc and the feuerwehr style by Oliver Brakhan
// Released under the Creative Commons Attribution-ShareAlike 3.0 License (http://creativecommons.org/licenses/by-sa/3.0/)
// No Icons used for this rules.

// History:
// --------
// 2014-03-15: First Version created by OpenStreetMap User: GB_Germany_Vie
//		- No Bitmap Icons, changes of the original OpenFireMap style was necessary
//		- Adaptation to display detailed information for big maps
// 2014-03-24
//		- Color changes and new areas
// 2014-04-10
//		- Font size changes for zoom level 19
// 2014-04-16
//		- add hospital
// 2014-05-11
//		- Error correction for Fire_water_tank and water_tank:volume textes
// 2014-05-12
//		- Changing style from shape to text nodes 
// 2014-05-13
//		- Changing zoom level and point projection for smaller zoom values 

// feature selectors = welche Daten sollen genutzt werden

features
	place : node[place OR landuse=farmyard] area[place OR landuse=farmyard]
	railway station : railway=station

// features-points

	points
		peak : natural=peak
		power tower : @isOneOf(power, tower, pole, station, sub_station)

// features-points-areas
	points, areas
		housenumber : [addr:housenumber]

// Eigentliche Anpassung an die Feuerwehr	
		Fire_Station : amenity=fire_station
		Fire_Hydrant_pillar : emergency = fire_hydrant and fire_hydrant:type=pillar
		Fire_Hydrant_underground : emergency = fire_hydrant and fire_hydrant:type=underground
		Fire_Hydrant_wall : emergency = fire_hydrant and fire_hydrant:type=wall
		Fire_Hydrant_unknown : (emergency = fire_hydrant and fire_hydrant:type=unknown) or (emergency = fire_hydrant and NOT fire_hydrant:type)
		Fire_Hydrant_tank : emergency = fire_hydrant and fire_hydrant:type=water_tank
		Fire_water_tank : emergency = water_tank 
		Fire_Hydrant_pond : (emergency = fire_hydrant and fire_hydrant:type=pond) or emergency = suction_point or emergency = fire_water_pond 
		// Zusätzliche Kommentare
		Fire_Hydrant_name : emergency = fire_hydrant and fire_hydrant:name
		Fire_Hydrant_diameter : emergency = fire_hydrant and fire_hydrant:diameter
		Fire_Hydrant_position : emergency = fire_hydrant and fire_hydrant:position 
		Fire_Hydrant_ref : emergency = fire_hydrant and fire_hydrant:ref
		Fire_Hydrant_count : emergency = fire_hydrant and fire_hydrant:count
		Emergency_access_point : highway = emergency_access_point
        //Emergency_access_point_ref : highway = emergency_access_point and emergency_access_point:ref


// features-lines

	lines
		aerialway : aerialway
		contour major : contour[@isMulti(elevation, 50)]
		contour minor : contour[@isMulti(elevation, 10) and not @isMulti(elevation, 50)]
		foot path major : @isOneOf(highway,pedestrian,footway,steps) 
		foot path minor : highway=path
		road major : @isOneOf(highway,motorway,motorway_link,trunk,trunk_link,primary,primary_link,secondary,secondary_link,tertiary)
		road minor : @isOneOf(highway,residential,unclassified,living_street,construction,service)
		track major: highway=track and (@isOneOf(tracktype,grade1,grade2) OR NOT tracktype)
		track minor: highway=track and (@isOneOf(tracktype,grade3,grade4,grade5))
		railway : railway=rail
		power line : @isOneOf(power, line, minor_line)
		stream : waterway=stream or waterway=river

// features-areas

	areas
		building : building=yes
		residential : landuse=residential
		forest : landuse=forest OR natural=wood OR leisure=park OR landuse=cemetery OR landuse=recreation_ground
		water : natural=water OR waterway=riverbank OR landuse=reservoir OR landuse=basin
		nature_reserve : boundary=national_park OR boundary=protected_area OR leisure=nature_reserve
		military : landuse=military OR military=danger_area OR military=barracks
		industry : landuse=industrial OR landuse=commercial
		field : leisure=pitch
		parking : amenity=parking
		farm : landuse=farmyard
		church : amenity=place_of_worship AND (religion=christian OR religion=Christian)
		hospital : amenity=hospital


// properties = beschreiben der Standards

properties
	curved : true
	font-weight : bold
	font-family : Verdana
	text-max-width : 7
	text-halo-width : 30%
	text-halo-opacity : 0.75
	map-background-color : #fffefd
	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-points  = festlegen der Eigenschaften für festgelegte Kriterien

rules
	target : place
		for : place=city
			define
				min-zoom : 8
				max-zoom : 20
				font-size : 8:12;10:16;14:20
		elsefor : place=town
			define
				min-zoom : 10
				font-size : 10:12;16:20
		elsefor : place=village
			define
				min-zoom : 13
				font-size : 13:10;16:20
		elsefor : place=hamlet
			define
				min-zoom : 14.5
				font-size : 14.5:10;16:16
		elsefor : place=farm OR landuse=farmyard OR place=locality OR place=suburb OR place=isolated_dwelling
			define
				min-zoom : 15
				font-size : 15:8;16:16
		else
			stop
		define
			font-weight : bold
			text : @up(name)
		draw : text

//	Feuerwehrhaus
	target: Fire_station
		define
			min-zoom : 10
			max-zoom : 16.99
			font-size : 10:6;17:14
			text-color : red black 20%
			text-halo-color : #ffef36
			text : "[FS]"
		draw : text
		define
			min-zoom : 17
			max-zoom : 20
			font-size : 17:14;18:20
			text-color : red black 20%
			text-halo-color : #ffef36
			text : "[FS]" "\n" @if(ref, ref)
		draw : text

//	Überflurhyfrant
	target: Fire_Hydrant_pillar
		define
			min-zoom : 14
			max-zoom : 15.99
			font-size : 12:6;16:12
			text-color : red black 20%
			text : "HP"
		draw : text
		define
			min-zoom : 16
			max-zoom : 20
			font-size : 8:8;16:12;18:20
			text-color : red black 20%
			text : "HP" "\n" [[fire_hydrant:diameter]]
		draw : text

//	Unterflurhydrant		
	target: Fire_Hydrant_underground
		define
			min-zoom : 14
			max-zoom : 15.99
			font-size : 12:6;16:12
			text-color : red black 20%
			text : "HU"
		draw : text
		define
			min-zoom : 16
			max-zoom : 20
			font-size : 8:8;16:12;18:20
			text-color : red black 20%
			text : "HU" "\n" [[fire_hydrant:diameter]]
		draw : text


//	Wandhydrant		
	target: Fire_Hydrant_wall
		define
			min-zoom : 14
			max-zoom : 15.99
			font-size : 12:6;16:12
			text-color : red black 20%
			text : "HW"
		draw : text
		define
			min-zoom : 16
			max-zoom : 20
			font-size : 8:8;16:12;18:20
			text-color : red black 20%
			text : "HW" "\n" [[fire_hydrant:diameter]]
		draw : text


//	unbekannter Hydrant		
	target: Fire_Hydrant_unknown
		define
			min-zoom : 14
			max-zoom : 15.99
			font-size : 12:6;16:12
			text-color : red black 20%
			text : "H?"
		draw : text
		define
			min-zoom : 16
			max-zoom : 20
			font-size : 8:8;16:12;18:20
			text-color : red black 20%
			text : "H?" "\n" [[fire_hydrant:diameter]]
		draw : text
			
//	Wasserbehälter
	target: Fire_water_tank
		define
			min-zoom : 14
			max-zoom : 15.99
			font-size : 12:6;16:12
			text-color : blue black 20%
			text : "WT"
		draw : text
		define
			min-zoom : 16
			max-zoom : 20
			font-size : 8:8;16:12;18:20
			text-color : blue black 20%
			text : "WT" "\n" [[water_tank:volume]]
		draw : text
		
//	Wasserbehälter 		
	target: Fire_Hydrant_tank
		define
			min-zoom : 14
			max-zoom : 15.99
			font-size : 12:6;16:12
			text-color : blue black 20%
			text : "WT"
		draw : text
		define
			min-zoom : 16
			max-zoom : 20
			font-size : 8:8;16:12;18:20
			text-color : blue black 20%
			text : "WT" "\n" [[water_tank:volume]]
		draw : text

//	Wasserentnahmestelle 		
	target: Fire_Hydrant_pond
		define
			min-zoom : 14
			max-zoom : 15.99
			font-size : 12:6;16:12
			text-color : blue black 20%
			text : "WP"
		draw : text
		define
			min-zoom : 16
			max-zoom : 20
			font-size : 8:8;16:12;18:20
			text-color : blue black 20%
			text : "WP" "\n" [[water_tank:volume]]
		draw : text

//	Emergency_access_point Sammelstellen im Wald 		
	target: Emergency_access_point
		define
			min-zoom : 14
			max-zoom : 15.99
			font-size : 12:6;16:12
			text-color : green black 20%
			text : "EP"
		draw : text
		define
			min-zoom : 16
			max-zoom : 20
			font-size : 8:8;16:12;18:20
			text-color : green black 20%
			text : "EP" "\n" name
		draw : text


//	Punktdarstellung hohe Zoomstufen	
	target: Fire*
		define
			min-zoom : 11
			max-zoom : 13.99
			shape : circle
			shape-size : 11:0.5;13:2
			fill-color : red
			fill-opacity : 0.8
			line-style : none
		draw : shape



//	ab hier andere Kartendaten 

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

	target : peak
		define
			fill-color : black
			line-style : none
			min-zoom : 11
			shape : circle
			shape-size : 11:3;15:8
		draw : shape
		define
			font-family : Cambria
			font-style : italic
			font-weight : bold
			font-size : 13:10;15:20
			min-zoom : 13
			text : @if(name, name @if(ele, "\n(" ele ")"), ele)
			text-align-vertical : near
			text-color : black
			text-max-width : 15
			text-offset-vertical : 50%
			text-halo-width : 30%
			text-halo-opacity : 0.75
		draw : text

	target: hospital
		define
			min-zoom : 12
			max-zoom : 14.99
			font-size : 12:6;16:12
			text-color : violet black 30%
			text-halo-color : #dddddd
			text : "[H]"
		draw : text
		define
			min-zoom : 15
			max-zoom : 20
			font-size : 8:8;16:12;18:20
			text-color : violet black 30%
			text-halo-color : #dddddd
			text : "[H]" "\n" name
		draw : text

	target: church
		define
			font-family : Arial
			font-weight : bold
			font-size : 14:10;20:20
			min-zoom : 17
			text-align-vertical : near
			text-offset-vertical : 100%
		draw : text

	target : railway station
		define
			min-zoom : 11
			shape : square
			shape-size : 11:0;13:4;15:20
			fill-color : white
		draw : shape
		define
			min-zoom : 14
			font-size : 12
			text-color : #3914AF
			text-offset-vertical : -150%
		draw : text

	target : power tower
		define
			min-zoom : 15.5
			shape : square
			shape-size : 16:7;20:12
			fill-color : black
			line-style : none
		for : power=pole
			define
				shape-size:16:3;20:4
		draw : shape


// rules-lines

	target : aerialway
		define
			shape-size : 12:2;16:6
			shape-spacing : 11:1;13:4;14:6
		for : aerialway=cable_car OR aerialway=gondola
			define
				min-zoom : 12.5
				fill-color : white
				line-width : 13:2;15:3
		elsefor : aerialway=chair_lift
			define
				min-zoom : 13.5
				fill-color : black
				line-width : 13:1;14:2
		else
			define
				min-zoom : 14
				fill-color : black
				line-width : 13:1;14:2
		draw : line
		define
			line-width : 2
		draw : shape

	target : power line
		define
			curved : false
			min-zoom : 15.5
			line-width : 1
		draw : line

	target : railway
		define
			line-width : 9:1;10:2;13:2;14:3
		draw : line

	target : road *
		if : road major
			define
				min-zoom : 10
				line-color : #FFE66B
		else
			define
				min-zoom : 14
				line-color : white
		define
			line-width : 10:0.5;13:2;14:2;16:3
			border-style : solid
			border-color : black
			border-width : 80%
			border-opacity : 0.95
		draw : line
		define
			min-zoom : 13
			font-family : Tahoma
			text-align-horizontal : center
			text-align-vertical : center
			text : ref
			font-size : 12
			text-color : black
			text-halo-width : 0
			shape : custom
			shape-def : p:#FFFFFF;pw:5;f:#FFFFFF;m:-10,-10;l:10,-10;a:10,10,10,10;l:-10,10;a:10,10,-10,-10;z;p:#000000;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

	target : road minor
		define
			min-zoom : 10
			max-zoom : 14
			line-color : black
			line-width : 1
			border-style : none
		draw : line
		define
			min-zoom : 15
			max-zoom : 20
			font-size : 14
		draw : text

	target : track major
		define
			min-zoom : 14
			line-color : white
			line-width : 13.9:1;14:2;16:3
			border-style : solid
			border-color : black
			border-width : 60%
			border-opacity : 0.8
		for : tracktype=grade1 or not tracktype
			define
				line-style : solid
		for : tracktype=grade2
			define
				line-style: solid
				line-color : gray
				border-width : 20%
		draw : line
		define
			min-zoom : 12
			max-zoom : 14
			line-color : black
			line-width : 1
			border-style : none
		draw : line
		

	target : track minor
		define
			min-zoom : 14
			line-color :black
			line-width : 13.9:1;14:2;16:3
			line-style : dash
			border-style : solid
			border-color : white
			border-width : 100%
			border-opacity : 0.3
		for : tracktype=grade1 or not tracktype
			define
				line-style : solid
		for : tracktype=grade2
			define
				line-style: dashlong
		for : tracktype=grade3
			define
				line-style: dash
		for : tracktype=grade4
			define
				line-style: dashdot
		for : tracktype=grade5
			define
				line-style: dashdotdot
		for : tunnel=yes
			define
				border-style : dot
		for : bridge=yes
			define
				border-color : #000
		draw : line

	target : foot path*
		define
			line-color : gray
			line-style : dash
			border-style : none
		if : *major
			define
				min-zoom : 14.5
				line-width : 14.5:1;15.5:2
		else
			define
				line-style : dashdotdot
				min-zoom : 16
				line-width : 1.5
		draw : line

	target : stream
		define
			min-zoom : 13
			line-color : #78C1C1
			line-width : 13:1;14:2;16:3
		draw : line
		define
			min-zoom : 15
			font-size : 15:10;17:17
			font-style : italic
			font-weight : bold
			text-color : #78C1C1 black 10%
			map.rendering.lflp.min-buffer-space : 5
			map.rendering.lflp.max-allowed-corner-angle : 90
		draw : text

	target: contour*
		define
			line-color : #7f3300
			line-opacity : 0.6
			curved : true
		if : *major
			define
				map.rendering.contour.label : true
				min-zoom : 12
				line-width : 11:0.75;13:1.25;15: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 : 13
				line-width : 0.65
		draw : contour


// rules-areas

	target : building
		define
			fill-color : #212121 white 40%
			line-style : none
			min-zoom : 12
		draw : fill

	target : nature_reserve
		define
			fill-color : #8DC56C black 10%
			fill-hatch : nwse
			fill-hatch-color : white
			fill-hatch-opacity : 0
			line-style : none
			font-size : 3:3;12:12
			text-color : green
			font-weight : normal
			text : @up(name)
		draw : fill
		define
			min-zoom : 13.5
		draw : text

	target : military
		define
			fill-color : red
			fill-hatch : swne
			fill-hatch-color : white
			fill-hatch-opacity : 0
			line-style : none
		draw : fill

	target : parking
		define
			fill-color : #FFEE84 white 40%
			line-style : none
		draw : fill


	target : farm
		define
			fill-color : #BF8830 white 60%
			line-style : none
		draw : fill

	target : field
		define
			fill-color : #8DC56C white 40%
			line-style : none
		draw : fill

	target : industry
		define
			fill-color : #FFD7D7 white 30%
			line-style : none
		draw : fill

	target : water
		define
			line-style : none
			line-width : 1
			fill-color : #78C1C1 white 10%
		draw : fill
		define
			min-zoom : 15
			font-size : 15:10;17:17
			font-style : italic
			font-weight : bold
			text-color : #78C1C1 black 10%
		draw : text

	target : forest
		define
			line-style : none
			line-width : 1
			min-zoom : 9
			fill-color : #8DC56C white 60%
		draw : fill
		define
			min-zoom : 17
		draw : text

	target : residential
		define
			line-style : none
			line-width : 1
			fill-color : #DCDCDC white 30%
		draw : fill
		define
			min-zoom : 17
			font-size : 17:10;19:18
		draw : text




Ruleset OFM Icon Style

// Maperitive rendering ruleset for OpenFireMap Printing 
// by OpenStreetMap User: GB_Germany_Vie
// http://maperitive.net

// Based on the Hiking Map by Igor Brejc and the feuerwehr style by Oliver Brakhan
// Released under the Creative Commons Attribution-ShareAlike 3.0 License (http://creativecommons.org/licenses/by-sa/3.0/)
// No Icons used for this rules.

// History:
// --------
// 2014-03-15: First Version created by OpenStreetMap User: GB_Germany_Vie
//		- No Bitmap Icons, changes of the original OpenFireMap style was necessary
//		- Adaptation to display detailed information for big maps
// 2014-03-24
//		- Color changes and new areas
// 2014-04-10
//		- Font size changes for zoom level 19
// 2014-04-16
//		- add hospital
// 2014-05-11
//		- Error correction for Fire_water_tank and water_tank:volume textes

// feature selectors = welche Daten sollen genutzt werden

features
	place : node[place OR landuse=farmyard] area[place OR landuse=farmyard]
	railway station : railway=station

// features-points

	points
		peak : natural=peak
		power tower : @isOneOf(power, tower, pole, station, sub_station)

// features-points-areas
	points, areas
		housenumber : [addr:housenumber]

// Eigentliche Anpassung an die Feuerwehr	
		Fire_Station : amenity=fire_station
		Fire_Hydrant_pillar : emergency = fire_hydrant and fire_hydrant:type=pillar
		Fire_Hydrant_underground : emergency = fire_hydrant and fire_hydrant:type=underground
		Fire_Hydrant_wall : emergency = fire_hydrant and fire_hydrant:type=wall
		Fire_Hydrant_unknown : (emergency = fire_hydrant and fire_hydrant:type=unknown) or (emergency = fire_hydrant and NOT fire_hydrant:type)
		Fire_Hydrant_tank : emergency = fire_hydrant and fire_hydrant:type=water_tank
		Fire_water_tank : emergency = water_tank 
		Fire_Hydrant_pond : (emergency = fire_hydrant and fire_hydrant:type=pond) or emergency = suction_point or emergency = fire_water_pond 
		// Zusätzliche Kommentare
		Fire_Hydrant_name : emergency = fire_hydrant and fire_hydrant:name
		Fire_Hydrant_diameter : emergency = fire_hydrant and fire_hydrant:diameter
		Fire_Hydrant_position : emergency = fire_hydrant and fire_hydrant:position 
		Fire_Hydrant_ref : emergency = fire_hydrant and fire_hydrant:ref
		Fire_Hydrant_count : emergency = fire_hydrant and fire_hydrant:count
		Emergency_access_point : highway = emergency_access_point
        //Emergency_access_point_ref : highway = emergency_access_point and emergency_access_point:ref


// features-lines

	lines
		aerialway : aerialway
		contour major : contour[@isMulti(elevation, 50)]
		contour minor : contour[@isMulti(elevation, 10) and not @isMulti(elevation, 50)]
		foot path major : @isOneOf(highway,pedestrian,footway,steps) 
		foot path minor : highway=path
		road major : @isOneOf(highway,motorway,motorway_link,trunk,trunk_link,primary,primary_link,secondary,secondary_link,tertiary)
		road minor : @isOneOf(highway,residential,unclassified,living_street,construction,service)
		track major: highway=track and (@isOneOf(tracktype,grade1,grade2) OR NOT tracktype)
		track minor: highway=track and (@isOneOf(tracktype,grade3,grade4,grade5))
		railway : railway=rail
		power line : @isOneOf(power, line, minor_line)
		stream : waterway=stream or waterway=river

// features-areas

	areas
		building : building=yes
		residential : landuse=residential
		forest : landuse=forest OR natural=wood OR leisure=park OR landuse=cemetery OR landuse=recreation_ground
		water : natural=water OR waterway=riverbank OR landuse=reservoir OR landuse=basin
		nature_reserve : boundary=national_park OR boundary=protected_area OR leisure=nature_reserve
		military : landuse=military OR military=danger_area OR military=barracks
		industry : landuse=industrial OR landuse=commercial
		field : leisure=pitch
		parking : amenity=parking
		farm : landuse=farmyard
		church : amenity=place_of_worship AND (religion=christian OR religion=Christian)
		hospital : amenity=hospital


// properties = beschreiben der Standards

properties
	curved : true
	font-weight : bold
	font-family : Verdana
	text-max-width : 7
	text-halo-width : 30%
	text-halo-opacity : 0.75
	map-background-color : #fffefd
	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-points  = festlegen der Eigenschaften für festgelegte Kriterien

rules
	target : place
		for : place=city
			define
				min-zoom : 8
				max-zoom : 20
				font-size : 8:12;10:16;14:20
		elsefor : place=town
			define
				min-zoom : 10
				font-size : 10:12;16:20
		elsefor : place=village
			define
				min-zoom : 13
				font-size : 13:10;16:20
		elsefor : place=hamlet
			define
				min-zoom : 14.5
				font-size : 14.5:10;16:16
		elsefor : place=farm OR landuse=farmyard OR place=locality OR place=suburb OR place=isolated_dwelling
			define
				min-zoom : 15
				font-size : 15:8;16:16
		else
			stop
		define
			font-weight : bold
			text : @up(name)
		draw : text

//	Feuerwehrhaus
	target: Fire_station
		define
			min-zoom : 10
			shape : custom
			shape-def : p:yellow;pw:6;f:none;m:-7,4;l:-7,-9,7,-9,7,4;m:10,5;l:-0,10;l:-10,5;p:red;pw:4;f:none;m:-7,4;l:-7,-9,7,-9,7,4;m:10,5;l:-0,10;l:-10,5
			shape-size : 10:8;13:12;15:16;18:22;19:40
		draw : shape
		define
			min-zoom : 14
			text : @if(name, name)
			font-size : 8:8;16:10;18:20
			text-color : red 
			text-align-vertical : near
			text-offset-vertical : 80%
		draw : text		

//	Überflurhyfrant
	target: Fire_Hydrant_pillar
		define
			min-zoom : 12
			shape : custom
			shape-def : p:red;pw:4;f:none;m:0,-10;a:10,10,0,10;m:0,10;a:10,10,0,-10;m:0,10;l:0,20;m:-12,15;l:0,20,12,15
			shape-size : 12:2;15:22;18:40;19:45
		draw : shape
		define
			min-zoom : 16
			text : [[fire_hydrant:diameter]]
			font-size : 8:8;16:12;18:20
			text-color : red black 20%
			text-align-vertical : near
			text-offset-vertical : 80%
		draw : text	

//	Unterflurhydrant		
	target: Fire_Hydrant_underground
		define
			fill-opacity : 0
			line-style : solid
			line-width : 5:1;9:1.3;19:5
			line-color : red
			min-zoom : 12
			shape : circle
			shape-size : 12:1;15:5;19:13
		draw : shape
		define
			min-zoom : 16
			text : [[fire_hydrant:diameter]]
			font-size : 8:8;16:12;18:20
			text-color : red black 20%
			text-align-vertical : near
			text-offset-vertical : 80%
		draw : text

//	Wandhydrant		
	target: Fire_Hydrant_wall
		define
			min-zoom : 12
			shape : custom
			shape-def : p:red;pw:4;f:none;m:0,-10;a:10,10,0,10;m:0,10;a:10,10,0,-10;m:13,-13;l:13,13
			shape-size : 12:2;15:22;18:40;19:45
		draw : shape
		define
			min-zoom : 15
			text : [[fire_hydrant:diameter]]
			font-size : 8:8;16:12;18:20
			text-color : red black 20%
			text-align-vertical : near
			text-offset-vertical : 80%
		draw : text


//	unbekannter Hydrant		
	target: Fire_Hydrant_unknown
		define
			min-zoom : 12
			shape : custom
			shape-def : p:red;pw:4;f:none;m:0,-10;a:10,10,0,10;m:0,10;a:10,10,0,-10;p:blue;pw:2;f:none;m:10,14;l:16,18,20,14,12,8,16,2,20,6;m:16,-2;l:16,-6
			shape-size : 12:2;15:22;18:40;19:45
		draw : shape
		define
			min-zoom : 15
			text : [[fire_hydrant:diameter]]
			font-size : 8:8;16:12;18:20
			text-color : red black 20%
			text-align-vertical : near
			text-offset-vertical : 80%
		draw : text
			
//	Wasserbehälter 		
	target: Fire_water_tank
		define
			min-zoom : 12
			shape : custom
			shape-def : p:red;pw:4;f:none;m:-8,6;l:-8,-8,8,-8,8,6;m:-10,10;l:10,10;m:-8,4;l:-2,-4,2,4,8,-2
			shape-size : 12:2;15:18;18:28;19:36
		draw : shape
		define
			min-zoom : 15
			text : [[water_tank:volume]]
			font-size : 8:8;16:12;18:20
			text-color : red black 20%
			text-align-vertical : near
			text-offset-vertical : 80%
		draw : text
		
//	Wasserbehälter 		
	target: Fire_Hydrant_tank
		define
			min-zoom : 12
			shape : custom
			shape-def : p:red;pw:4;f:none;m:-8,6;l:-8,-8,8,-8,8,6;m:-10,10;l:10,10;m:-8,4;l:-2,-4,2,4,8,-2
			shape-size : 12:2;15:18;18:28;19:36
		draw : shape
		define
			min-zoom : 15
			text : [[water_tank:volume]]
			font-size : 8:8;16:12;18:20
			text-color : red black 20%
			text-align-vertical : near
			text-offset-vertical : 80%
		draw : text

//	Wasserentnahmestelle 		
	target: Fire_Hydrant_pond
		define
			min-zoom : 12
			shape : custom
			shape-def : p:red;pw:4;f:none;m:-8,6;l:-8,-8,8,-8,8,6;m:-8,4;l:-2,-4,2,4,8,-2
			shape-size : 12:2;15:15;18:22;19:32
		draw : shape
		define
			min-zoom : 15
			text : [[water_tank:volume]]
			font-size : 8:8;16:12;18:20
			text-color : red black 20%
			text-align-vertical : near
			text-offset-vertical : 80%
		draw : text

//	Emergency_access_point Sammelstellen im Wald 		
	target: Emergency_access_point
		define
			min-zoom : 12
			shape : custom
			shape-def : p:green;pw:2;f:green;m:-10,-10;l:-10,10,10,10,10,-10;z;p:white;pw:3;f:none;m:8,0;l:-8,0;m:0,8;l:0,-8
			shape-size : 12:2;15:14;18:20
		draw : shape
		define
			min-zoom : 15
			text : [[ref]]
			font-size : 8:8;16:12;18:20
			text-color : red black 20%
			text-offset-vertical : 16
		draw : text		

//	ab hier andere Kartendaten 

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

	target : peak
		define
			fill-color : black
			line-style : none
			min-zoom : 11
			shape : circle
			shape-size : 11:3;15:8
		draw : shape
		define
			font-family : Cambria
			font-style : italic
			font-weight : bold
			font-size : 13:10;15:20
			min-zoom : 13
			text : @if(name, name @if(ele, "\n(" ele ")"), ele)
			text-align-vertical : near
			text-color : black
			text-max-width : 15
			text-offset-vertical : 50%
			text-halo-width : 30%
			text-halo-opacity : 0.75
		draw : text

	target: hospital
		define
			fill-opacity : 0
			line-style : solid
			line-color : #FF0DFF
			min-zoom : 11
			shape : circle
			shape-size : 11:3;15:9
		draw : shape
		define
			min-zoom : 12
			shape : custom
			shape-def : p:#FF0DFF;pw:3;f:none;m:6,0;l:-6,0;m:0,6;l:0,-6
			shape-size : 11:2;15:11
		draw : shape
		define
			font-family : Arial
			font-weight : bold
			font-size : 14:10;20:20
			min-zoom : 15
			text-align-vertical : near
			text-offset-vertical : 100%
		draw : text

	target: church
		define
			font-family : Arial
			font-weight : bold
			font-size : 14:10;20:20
			min-zoom : 15
			text-align-vertical : near
			text-offset-vertical : 100%
		draw : text

	target : railway station
		define
			min-zoom : 11
			shape : square
			shape-size : 11:0;13:4;15:20
			fill-color : white
		draw : shape
		define
			min-zoom : 14
			font-size : 12
			text-color : #3914AF
			text-offset-vertical : -150%
		draw : text

	target : power tower
		define
			min-zoom : 15.5
			shape : square
			shape-size : 16:7;20:12
			fill-color : black
			line-style : none
		for : power=pole
			define
				shape-size:16:3;20:4
		draw : shape


// rules-lines

	target : aerialway
		define
			shape-size : 12:2;16:6
			shape-spacing : 11:1;13:4;14:6
		for : aerialway=cable_car OR aerialway=gondola
			define
				min-zoom : 12.5
				fill-color : white
				line-width : 13:2;15:3
		elsefor : aerialway=chair_lift
			define
				min-zoom : 13.5
				fill-color : black
				line-width : 13:1;14:2
		else
			define
				min-zoom : 14
				fill-color : black
				line-width : 13:1;14:2
		draw : line
		define
			line-width : 2
		draw : shape

	target : power line
		define
			curved : false
			min-zoom : 15.5
			line-width : 1
		draw : line

	target : railway
		define
			line-width : 9:1;10:2;13:2;14:3
		draw : line

	target : road *
		if : road major
			define
				min-zoom : 10
				line-color : #FFE66B
		else
			define
				min-zoom : 14
				line-color : white
		define
			line-width : 10:0.5;13:2;14:2;16:3
			border-style : solid
			border-color : black
			border-width : 80%
			border-opacity : 0.95
		draw : line
		define
			min-zoom : 11
			font-family : Tahoma
			text-align-horizontal : center
			text-align-vertical : center
			text : ref
			font-size : 12
			text-color : black
			text-halo-width : 0
			shape : custom
			shape-def : p:#FFFFFF;pw:5;f:#FFFFFF;m:-10,-10;l:10,-10;a:10,10,10,10;l:-10,10;a:10,10,-10,-10;z;p:#000000;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

	target : road minor
		define
			min-zoom : 10
			max-zoom : 14
			line-color : black
			line-width : 1
			border-style : none
		draw : line
		define
			min-zoom : 18
			max-zoom : 20
			font-size : 14
		draw : text

	target : track major
		define
			min-zoom : 14
			line-color : white
			line-width : 13.9:1;14:2;16:3
			border-style : solid
			border-color : black
			border-width : 60%
			border-opacity : 0.8
		for : tracktype=grade1 or not tracktype
			define
				line-style : solid
		for : tracktype=grade2
			define
				line-style: solid
				line-color : gray
				border-width : 20%
		draw : line
		define
			min-zoom : 12
			max-zoom : 14
			line-color : black
			line-width : 1
			border-style : none
		draw : line
		

	target : track minor
		define
			min-zoom : 14
			line-color :black
			line-width : 13.9:1;14:2;16:3
			line-style : dash
			border-style : solid
			border-color : white
			border-width : 100%
			border-opacity : 0.3
		for : tracktype=grade1 or not tracktype
			define
				line-style : solid
		for : tracktype=grade2
			define
				line-style: dashlong
		for : tracktype=grade3
			define
				line-style: dash
		for : tracktype=grade4
			define
				line-style: dashdot
		for : tracktype=grade5
			define
				line-style: dashdotdot
		for : tunnel=yes
			define
				border-style : dot
		for : bridge=yes
			define
				border-color : #000
		draw : line

	target : foot path*
		define
			line-color : gray
			line-style : dash
			border-style : none
		if : *major
			define
				min-zoom : 14.5
				line-width : 14.5:1;15.5:2
		else
			define
				line-style : dashdotdot
				min-zoom : 16
				line-width : 1.5
		draw : line

	target : stream
		define
			min-zoom : 13
			line-color : #78C1C1
			line-width : 13:1;14:2;16:3
		draw : line
		define
			min-zoom : 15
			font-size : 15:10;17:17
			font-style : italic
			font-weight : bold
			text-color : #78C1C1 black 10%
			map.rendering.lflp.min-buffer-space : 5
			map.rendering.lflp.max-allowed-corner-angle : 90
		draw : text

	target: contour*
		define
			line-color : #7f3300
			line-opacity : 0.6
			curved : true
		if : *major
			define
				map.rendering.contour.label : true
				min-zoom : 12
				line-width : 11:0.75;13:1.25;15: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 : 13
				line-width : 0.65
		draw : contour


// rules-areas

	target : building
		define
			fill-color : #212121 white 40%
			line-style : none
			min-zoom : 12
		draw : fill

	target : nature_reserve
		define
			fill-color : #8DC56C black 10%
			fill-hatch : nwse
			fill-hatch-color : white
			fill-hatch-opacity : 0
			line-style : none
			font-size : 3:3;12:12
			text-color : green
			font-weight : normal
			text : @up(name)
		draw : fill
		define
			min-zoom : 13.5
		draw : text

	target : military
		define
			fill-color : red
			fill-hatch : swne
			fill-hatch-color : white
			fill-hatch-opacity : 0
			line-style : none
		draw : fill

	target : parking
		define
			fill-color : #FFEE84 white 40%
			line-style : none
		draw : fill


	target : farm
		define
			fill-color : #BF8830 white 60%
			line-style : none
		draw : fill

	target : field
		define
			fill-color : #8DC56C white 40%
			line-style : none
		draw : fill

	target : industry
		define
			fill-color : #FFD7D7 white 30%
			line-style : none
		draw : fill

	target : water
		define
			line-style : none
			line-width : 1
			fill-color : #78C1C1 white 10%
		draw : fill
		define
			min-zoom : 15
			font-size : 15:10;17:17
			font-style : italic
			font-weight : bold
			text-color : #78C1C1 black 10%
		draw : text

	target : forest
		define
			line-style : none
			line-width : 1
			min-zoom : 9
			fill-color : #8DC56C white 60%
		draw : fill
		define
			min-zoom : 17
		draw : text

	target : residential
		define
			line-style : none
			line-width : 1
			fill-color : #DCDCDC white 30%
		draw : fill
		define
			min-zoom : 17
			font-size : 17:10;19:18
		draw : text

Anleitung

1. Maperitive runterladen und entpacken

zu finden unter http://maperitive.net/

2. Ruleset anlegen

Dieses Ruleset (in der Textbox) markieren, kopieren (Strg+C) und in einer Texteditordatei einfügen (Strg+V).

Die Textdatei in das \Maperitive\Rules Verzeichnis speichern, als z.B. OFM_Print.mrules

3. Offline Kartendaten

Maperitive benötigt OSM-Daten zum rendern.

Um große Bereiche zu verarbeiten ist es einfacher mit Offlinekarten zu arbeiten.

Diese können z.B. bei der Geofabrik heruntergeladen werden.

http://download.geofabrik.de/europe/germany/nordrhein-westfalen.html

(Mit der größe am Anfang nicht übertreiben, PC-Hardwareabhängig)

Maperitive unterstützt das gepackte .osm.pbf Format, zutreffende Karte/n herunterladen und in \Maperitive\MyMAps speichern.


Alternativ kann du wenn Maperitive im nächsten Schritt gestartet ist auch für kleinere Gebiete die Daten direkt herunterladen.

Ins "Map" Menü z.B "Download Map Data (Overpass API)" wählen. (Ctrl+Shift+D)

4. Maperitive.exe starten

Viele Aktionen bei Maperitive werden über das "Command Prompt" oder auch schon über Menüs ausgeführt.

Allerdings wird auch Drag&Drop unterstützt und somit ist es ein einfaches die OFM_Print.mrules Datei und die Kartendaten (*.osm.pbf) auf das Hauptfenster zu ziehen.

Damit die Standardmaßige Onlinekarte deaktiviert ist, im Fenster MapSources (Rechts unten) die voreingestellte Bitmap (Web map) Karte auswählen und löschen. (deaktivieren über das Sternchen geht auch)

5. Ausgabe

Aus dem Menü MAP den gewünschten Bereich mittels Set Printing Bounds festlegen.

Wenn Punkt ausgewählt ist mal rauzoomen sonst sieht man die Ränder nicht.

Diese können mit der Maus verändert werden.

Kartenexport starten im Command prompt Fenster z.B. mit:

export-bitmap zoom=16 scale=1

Die Zoomstufen sind an den Onlinekarten angelehnt. Mittels scale kann direkt auf die dpi Einfluss genommen werden.

8. Warten

und die Karte liegt dann im \Maperitive\ouput Unterordner

9. Fertig

hoffe jetzt haben sich erste Ausgabe Erfolge eingestellt.


Weitere Infos

- Maperitive Dokumentation

http://maperitive.net/docs/default.html

http://wiki.openstreetmap.org/wiki/DE:Maperitive