User:Ivanatora/Maperitive Rules
Jump to navigation
Jump to search
Changelog
Version 1.0
Actual up to 24.04.2011. The goal of this ruleset is to be as close to Mapnik it could be (with some additions). What I have tweaked in Default.txt:
- added areas: aerodrome, orchard, farmland, quarry
- added lines: power (line and minor_line are with the same rules)
- added points: tower (for power)
- added styles for different track types based on tracktyp=grade* tag
- removed styles for gps tracks and routes
- name for areas - changed min-zoom text render from 17 to 14, so you will have more names
- railway - min-zoom set from 13 to 8, so you will have more railways
- added shields with ref for trunk, primary, secondary and tertiary roads starting respectively at zoom level 7, 7, 9 and 11
- residential and unclassified - reduced widths at zoom 15+ to look more like Mapnik
TODO
- fix the look of the shields
- add shields for relations "ref"s because most of the road tagging is done at relation level
- search for a way to add proper texture for fill in landuse=quarry
- search for a way to render power lines voltage in the "X kV" format instead of "X000"
Ruleset
// Version 1.0 @ 24.04.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
aerodrome : aeroway=aerodrome
// 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
orchard : landuse=orchard
farmland : landuse=farmland
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
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
power_line : power=line OR power=minor_line
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)]
// 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
tower : power=tower OR power=pole
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 : $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 : orchard
define
fill-color : #9fd790
elseif : farmland
define
fill-color : #e9d8be
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
define
min-zoom : 14
draw : text
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 : tower
define
min-zoom: 14
shape : diamond
shape-size : 14:2;20:12
line-width : 1
fill-opacity: 0.1
draw : shape
target : railway
define
min-zoom : 8
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
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
define
min-zoom: 7
text : ref
fill-opacity : 0.2
font-size : 12
draw : shield
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
text : ref
min-zoom : 7
max-zoom : 20
fill-opacity : 0.2
font-size : 12
draw : shield
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
text : ref
min-zoom : 9
max-zoom : 20
fill-opacity : 0.2
font-size : 12
draw : shield
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:5;18:8
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 : 13
line-color : #9D7517
line-width : 1.5
line-style : dash
border-style : solid
border-color : white
border-width : 100%
border-opacity : 0.3
for : tracktype=grade1
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
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 : power_line
define
min-zoom: 14
line-width: 1
line-color : #5c5c5c
for : power=line
define
min-zoom : 13
draw : line
define
text : voltage
draw : text
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