source: subversion/applications/rendering/osmarender6/osm-map-features-z9.xml @ 5288

Last change on this file since 5288 was 5288, checked in by hakan, 12 years ago

Moved lowzoom styles to osmarender, too

File size: 18.2 KB
Line 
1<?xml version='1.0' encoding='UTF-8'?>
2<?xml-stylesheet type="text/xsl" href="osmarender.xsl"?>
3
4<!-- This file should be used with Osmarender 4 -->
5<!-- This file implements a sub-set of the items described at http://wiki.openstreetmap.org/index.php/Map_Features -->
6
7<!-- A scale of 0.1 will make fat roads on a small map, a scale of 5 will draw very thin roads on a large scale map -->
8<!-- minimumMapWidth/Height is in kilometres -->
9<!-- Set javaScript="no" if you want an svg file that contains no javascript.  This is so that you can upload it to Wikipedia etc -->
10<rules
11    xmlns:xlink="http://www.w3.org/1999/xlink"
12    xmlns:svg="http://www.w3.org/2000/svg"
13    data="data.osm"
14    svgBaseProfile="full"
15    scale="1"
16    symbolScale="1"
17    minimumMapWidth="1"
18    minimumMapHeight="1"
19    withOSMLayers="yes"
20    withUntaggedSegments="no"
21    showScale="no"
22    showGrid="no"
23    showBorder="no"
24    showLicense="no"
25    interactive="no">
26
27    <!--bounds_mkr1-->
28    <!--bounds_mkr2-->
29
30    <!-- Select all nodes and ways (unless they have an osmarender:render=no tag) -->
31    <rule e="node|way" k="osmarender:render" v="~|yes">
32
33        <!-- Draw land areas first -->
34        <rule e="way" k="natural" v="land">
35            <area class='natural-land' />
36        </rule>
37
38        <!-- Landuse -->
39        <!-- render all landuse in the same colour so it doesn't look too psychadelic -->
40        <rule e="way" k="landuse" v="residential|retail|industrial|commercial|cemetery">
41            <area class='landuse-all'/>
42        </rule>
43
44
45        <!-- Natural features -->
46        <rule e="way" k="natural" v="coastline">
47            <area class='natural-coastline'/>
48        </rule>
49        <rule e="way" k="landuse|natural" v="forest|wood">
50            <area class='landuse-wood'/>
51        </rule>
52        <rule e="way" k="landuse" v="field|village_green|meadow">
53            <area class='landuse-field'/>
54        </rule>
55        <rule e="way" k="amenity" v="school|college|university">
56            <area class='landuse-all'/>
57        </rule>
58        <rule e="way" k="leisure" v="park|playing_fields|garden|pitch|golf_course|common|green">
59            <area class='leisure-park'/>
60        </rule>
61        <rule e="way" k="leisure" v="stadium|sports_centre">
62            <area class='leisure-stadium'/>
63        </rule>
64
65
66        <!-- Airports and runways -->
67
68        <!-- Raceways and racetracks -->
69        <rule e="way" k="landuse" v="raceway">
70            <rule e="way" k="use_status" v="~">
71                <area class='landuse-raceway' />
72            </rule>
73        </rule>
74
75        <!-- Man-made areas -->
76        <rule e="way" k="sport" v="*">
77            <area class='sport'/>
78        </rule>
79        <rule e="way" k="aeroway" v="terminal">
80            <area class='building-block'/>
81        </rule>
82
83
84        <!-- Waterways, lakes and ponds -->
85        <rule e="way" k="waterway" v="riverbank">
86            <area class='waterway-riverbank'/>
87        </rule>
88        <rule e="way" k="waterway" v="river">
89            <line class='waterway-river-core'/>
90        </rule>
91        <rule e="way" k="waterway" v="canal">
92            <line class='waterway-canal-core'/>
93        </rule>
94        <rule e="way" k="waterway" v="dock">
95            <area class='natural-water' />
96        </rule>
97        <rule e="way" k="natural" v="water|pond|lake">
98            <area class='natural-water' />
99        </rule>
100        <rule e="way" k="landuse" v="reservoir">
101            <area class='natural-water' />
102        </rule>
103        <rule e="way" k="landuse" v="basin">
104            <area class='natural-water' />
105        </rule>
106
107        <!-- Paths in tunnels -->
108        <!-- Paths not in tunnels -->
109
110        <!-- Highway cores (not in tunnel) -->
111        <rule e="way" k="tunnel" v="~|false|no">
112            <addclass e="way" k="bridge" v="yes|true" class="round">
113                <rule e="way" k="highway" v="raceway">
114                    <rule e="way" k="use_status" v="~">
115                        <line class='highway-raceway-core' />
116                    </rule>
117                </rule>
118                <rule e="way" k="highway" v="secondary">
119                    <line class='highway-core highway-secondary-core' />
120                </rule>
121                <rule e="way" k="highway" v="primary|primary_link">
122                    <line class='highway-core highway-primary-core' />
123                </rule>
124                <rule e="way" k="highway" v="trunk|trunk_link">
125                    <line class='highway-core highway-trunk-core' />
126                </rule>
127                <rule e="way" k="highway" v="motorway_link">
128                    <line class='highway-core highway-motorway-link-core' />
129                </rule>
130                <rule e="way" k="highway" v="motorway">
131                    <line class='highway-core highway-motorway-core' />
132                </rule>
133            </addclass>
134        </rule>
135
136        <!-- Highway cores in tunnels -->
137        <rule e="way" k="tunnel" v="true|yes">
138            <rule e="way" k="highway" v="service">
139                <tunnel width="10" class='highway-core highway-service-core' />
140            </rule>
141            <rule e="way" k="highway" v="secondary">
142                <tunnel width="30" class='highway-core highway-secondary-core' />
143            </rule>
144            <rule e="way" k="highway" v="primary|primary_link">
145                <tunnel width="30" class='highway-core highway-primary-core' />
146            </rule>
147            <rule e="way" k="highway" v="trunk|trunk_link">
148                <tunnel width="40" class='highway-core highway-trunk-core' />
149            </rule>
150            <rule e="way" k="highway" v="motorway|motorway_link">
151                <tunnel width="40" class='highway-core highway-motorway-core' />
152            </rule>
153        </rule>
154
155        <!-- highway motorway-junctions -->
156        <rule e="node" k="highway" v="motorway_junction">
157          <circle r="7" class="highway-motorway-junction" />
158          <text k="name" class='highway-motorway-junction-caption' dy='-2px' />
159          <text k="ref" class='highway-motorway-junction-caption' dy='+5px' />
160        </rule>
161
162
163        <!-- Railway lines -->
164        <rule e="way" k="railway" v="rail">
165            <line class='railway-rail' />
166        </rule>
167
168
169        <!-- Airfields and airports -->
170        <rule e="way" k="aeroway" v="runway">
171            <line class='aeroway-runway-core'/>
172        </rule>
173        <rule e="node" k="aeroway" v="airport">
174            <symbol xlink:href="#airport" width='200px' height='200px' transform='translate(-100,-100)' />
175        </rule>
176
177
178        <!-- Non-pysical routes -->
179        <rule e="way" k="route" v="ferry">
180            <line class='route-ferry' />
181        </rule>
182
183        <!-- Non-physical boundaries -->
184        <rule e="way" k="boundary" v="national">
185                <line class="boundary boundary-administrative-state-casing" />
186                <line class="boundary boundary-administrative-state-core" />
187        </rule>
188
189        <rule e="way" k="boundary" v="administrative">
190                <rule e="way" k="left:country|right:country" v="*" >
191                        <line class="boundary boundary-administrative-state-casing" />
192                        <line class="boundary boundary-administrative-state-core" />
193                </rule> 
194                <rule e="way" k="border_type" v="state">
195                        <line class="boundary boundary-administrative-state-casing" />
196                        <line class="boundary boundary-administrative-state-core" />
197                </rule> 
198        </rule>
199
200    </rule> <!-- k="osmarender:render" v="~|yes" -->
201
202    <!-- ==================================== Layer 5 ================================== -->
203    <rule e="node|way" k="osmarender:render" v="~|yes" layer="5">
204        <!-- Place names  -->
205        <rule e="node" k="place" v="continent" layer="5">
206            <text k="name" class='continent-caption' />
207        </rule>
208        <rule e="node" k="place" v="country" layer="5">
209            <text k="name" class='country-caption' />
210        </rule>
211        <rule e="node" k="place" v="state" layer="5">
212            <text k="name" class='state-caption' />
213        </rule>
214        <rule e="node" k="place" v="region" layer="5">
215            <text k="name" class='region-caption' />
216        </rule>
217        <rule e="node" k="place" v="county" layer="5">
218            <text k="name" class='county-caption' />
219        </rule>
220        <rule e="node" k="place" v="city" layer="5">
221            <text k="name" class='city-caption' />
222        </rule>
223        <rule e="node" k="place" v="town" layer="5">
224            <text k="name" class='town-caption' />
225        </rule>
226    </rule> <!-- End Layer 5 -->
227
228
229
230    <!-- SVG Definitions - markers, symbols etc go here -->
231    <defs>
232
233        <style id="styles" type="text/css" xmlns="http://www.w3.org/2000/svg">
234            .debug {
235                stroke-width: 0.1px;
236                stroke-linecap: round;
237                stroke: gray;
238                /* marker-end: url(#segment-direction); */
239            }
240
241            .highway-core {
242                stroke-linecap: butt;
243                stroke-linejoin: round;
244                fill: none;
245            }
246
247            .highway-motorway-junction {
248            fill: yellow;
249            stroke: #4D5D73;
250            stroke-width: 3px;
251            }
252           
253            .highway-motorway-junction-caption {
254            fill: black;
255            stroke: blue;
256            stroke-width: 0.2px;
257            font-family: "DejaVu Sans",sans-serif;
258            font-size: 10px;
259            font-weight: bold;
260            display: none;
261            }
262           
263             /* Highways - street specific style */
264
265            .highway-motorway-core {
266                stroke-width: 50px;
267                stroke: #809BC0;
268            }
269
270            .highway-motorway-link-core {
271                stroke-width: 50px;
272                stroke: #809BC0;
273            }
274
275            .highway-trunk-core {
276                stroke-width: 36px;
277                stroke: #7fc97f;
278            }
279
280            .highway-primary-core {
281                stroke-width: 20px;
282                stroke: #e46d71;
283            }
284
285            .highway-secondary-core {
286                stroke-width: 16px;
287                stroke: #FDBF6F;
288            }
289
290            .highway-service-core {
291                stroke-width: 4px;
292                stroke: #ffffff;
293            }
294
295
296            .round {
297                stroke-linecap: round;
298            }
299
300
301            /* Mini roundabouts */
302
303            /* Aeroways */
304            .aeroway-runway-core {
305                stroke-width: 5px;
306                stroke-linecap: butt;
307                stroke-linejoin: round;
308                stroke: #d4dcbd;
309                fill: none;
310            }
311
312            /* Waterways */
313            .waterway-riverbank {
314                fill: #b5d6f1;
315                stroke: #aaaaaa;
316                stroke-width: 0px;
317            }
318
319            .waterway-river-core {
320                stroke-width: 12px;
321                stroke-linecap: butt;
322                stroke-linejoin: round;
323                stroke: #b5d6f1;
324                fill: none;
325            }
326
327            .waterway-canal-core {
328                stroke-width: 12px;
329                stroke-linecap: butt;
330                stroke-linejoin: round;
331                stroke: #b5d6f1;
332                fill: none;
333            }
334
335            .railway-rail {
336                stroke-width: 50px;
337                stroke-linecap: butt;
338                stroke-linejoin: round;
339                stroke: #666666;
340                fill: none;
341            }
342
343            /* Ferry */
344            .route-ferry {
345                stroke-width: 30px;
346                stroke-dasharray: 3,2;
347                stroke-linecap: butt;
348                stroke-linejoin: round;
349                stroke: #777777;
350                fill: none;
351            }
352
353
354            /* Place names */
355            .continent-caption {
356                fill: black;
357                stroke: white;
358                stroke-width: 0.6px;
359                font-family: "DejaVu Sans",sans-serif;
360                font-size: 500px;
361                font-weight: bold;
362                text-anchor: middle;
363            }
364
365            .country-caption {
366                fill: black;
367                stroke: white;
368                stroke-width: 0.5px;
369                font-family: "DejaVu Sans",sans-serif;
370                font-size: 380px;
371                font-weight: bold;
372                text-anchor: middle;
373            }
374
375            .state-caption {
376                fill: black;
377                stroke: white;
378                stroke-width: 0.5px;
379                font-family: "DejaVu Sans",sans-serif;
380                font-size: 160px;
381                font-weight: bold;
382                text-anchor: middle;
383            }
384
385            .region-caption {
386                fill: black;
387                stroke: white;
388                stroke-width: 0.4px;
389                font-family: "DejaVu Sans",sans-serif;
390                font-size: 140px;
391                font-weight: bold;
392                text-anchor: middle;
393            }
394
395            .county-caption {
396                fill: black;
397                stroke: white;
398                stroke-width: 0.4px;
399                font-family: "DejaVu Sans",sans-serif;
400                font-size: 120px;
401                font-weight: bold;
402                text-anchor: middle;
403            }
404
405            .city-caption {
406                fill: black;
407                stroke: none;
408                stroke-width: 0.4px;
409                font-family: "DejaVu Sans",sans-serif;
410                font-size: 400px;
411                font-weight: bold;
412                text-anchor: middle;
413            }
414
415            .town-caption {
416                fill: black;
417                stroke: none;
418                font-family: "DejaVu Sans",sans-serif;
419                font-size: 200px;
420                opacity: 0.9;
421                font-weight: normal;
422                text-anchor: middle;
423            }
424
425            /* Natural */
426            .natural-water {
427                fill: #b5d6f1;
428                stroke: #aaaaaa;
429                stroke-width: 0px;
430            }
431
432            .natural-coastline {
433                fill: #b5d6f1;
434                stroke: #b5d6f1;
435                stroke-width: 15px;
436            }
437
438            .natural-land {
439                fill: #ffffff;
440                stroke: #e0e0e0;
441                stroke-width: 10px;
442            }
443
444
445            /* Landuse */
446            .landuse-all {
447                stroke: none;
448                fill: #f0f0f0;
449            }
450
451            .landuse-wood {
452                fill: #72bf81;
453                stroke: #6fc18e;
454                stroke-width: 2px;
455            }
456
457            .landuse-field {
458                fill: #bde3cb;
459                stroke: #6fc13d;
460                stroke-width: 2px;
461            }
462
463
464            /* Leisure */
465            .leisure-park {
466                fill: #c7f1a3;
467                stroke: #6fc18e;
468                stroke-width: 2px;
469            }
470
471            .leisure-stadium {
472                fill: #bde3cb;
473                stroke: #6fc18e;
474                stroke-width: 2px;
475            }
476
477            .sport {
478                fill: #bde3cb;
479                stroke: #6fc18e;
480                stroke-width: 2px;
481            }
482
483                        /* Non-physical boundaries */
484            .boundary {
485                stroke-linecap: butt;
486                stroke-linejoin: round;
487                fill: none;
488            }
489
490            .boundary-administrative-state-casing {
491                stroke-width: 180px;
492                stroke: #ffff00;
493                opacity: 0.5;
494            }
495
496            .boundary-administrative-state-core {
497                stroke-width: 100px;
498                stroke: #f9574b;
499                stroke-dasharray: 80, 16, 16, 16;
500            }
501
502
503
504                        /* Racetracks */
505                        .highway-raceway-core {
506                          stroke-width: 1.5px;
507                          stroke-linecap: butt;
508                          stroke-linejoin: round;
509                          fill: none;
510                          stroke: #f0f0f0;
511                          }
512
513                        .landuse-raceway {
514                          stroke-width: 0.3px;
515                          stroke-linecap: butt;
516                          stroke-linejoin: round;
517                          fill: #f0f0f0;
518                          stroke: #101010;
519                          }
520
521
522            /* Tourism */
523
524            /* Building */
525
526            /* Map decoration */
527            .map-grid-line {
528                fill: none;
529                stroke: #8080ff;
530                stroke-width: 0.1px;
531                stroke-opacity: 0.5;
532            }
533
534            .map-border-casing {
535                fill: none;
536                stroke: #8080ff;
537                stroke-width: 3px;
538                stroke-miterlimit: 4;
539                stroke-dasharray: none;
540                stroke-opacity: 1;
541                stroke-linecap: round;
542            }
543
544            .map-border-core {
545                fill: none;
546                fill-opacity: 1;
547                fill-rule: nonzero;
548                stroke: #ffffff;
549                stroke-width: 2px;
550                stroke-miterlimit: 0;
551                stroke-dashoffset: -0.5px;
552                stroke-opacity: 1;
553            }
554
555            .map-scale-casing {
556                fill: none;
557                stroke: #8080ff;
558                stroke-width: 4px;
559                stroke-linecap: butt;
560            }
561
562            .map-scale-core {
563                fill: none;
564                stroke: #ffffff;
565                stroke-width: 3px;
566                stroke-linecap: butt;
567            }
568
569            .map-scale-bookend {
570                fill: none;
571                stroke: #8080ff;
572                stroke-width: 1px;
573                stroke-linecap: butt;
574            }
575
576            .map-scale-caption {
577                font-family: "DejaVu Sans",sans-serif;
578                font-size: 10px;
579                fill: #8080ff;
580            }
581
582            <!-- map background must be the same for all zooms or else empty tile detection will fail -->
583            .map-background {
584                fill: #f8f8f8;
585                stroke: none;
586            }
587
588            .map-title {
589                font-family: "DejaVu Sans",sans-serif;
590                font-size: 20px;
591                text-anchor: middle;
592                fill: black;
593            }
594
595            .map-title-background {
596                fill: white;
597            }
598
599            .map-marginalia-background {
600                fill: white;
601            }
602        </style>
603
604        <svg:symbol
605          id="airport"
606          viewBox="0 0 10 10"
607          fill="black"
608          fill-opacity="1"
609          fill-rule="evenodd"
610          stroke="none">
611            <svg:path d="M 9.2,5 C 9.2,4.5 9.8,3.2 10,3 L 9,3 L 8,4 L 5.5,4 L 8,0 L 6,0 L 3,4 C 2,4 1,4.2 0.5,4.5 C 0,5 0,5 0.5,5.5 C 1,5.8 2,6 3,6 L 6,10 L 8,10 L 5.5,6 L 7.8,6 L 9,7 L 10,7 C 9.8,6.8 9.2,5.5 9.2,5 z " />
612        </svg:symbol>
613
614    </defs>
615</rules>
Note: See TracBrowser for help on using the repository browser.