source: subversion/applications/rendering/osmarender6/osm-map-features-z8.xml @ 7842

Last change on this file since 7842 was 6087, checked in by bobkare, 12 years ago

Added rendering of place=island and place=islet. Rendered like city and village respectively to z12, and place=island as town in lowzoom

File size: 18.3 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        <!-- Waterways, lakes and ponds -->
84        <rule e="way" k="waterway" v="riverbank">
85            <area class='waterway-riverbank'/>
86        </rule>
87        <rule e="way" k="waterway" v="river">
88            <line class='waterway-river-core'/>
89        </rule>
90        <rule e="way" k="waterway" v="canal">
91            <line class='waterway-canal-core'/>
92        </rule>
93        <rule e="way" k="waterway" v="dock">
94            <area class='natural-water' />
95        </rule>
96        <rule e="way" k="natural" v="water|pond|lake">
97            <area class='natural-water' />
98        </rule>
99        <rule e="way" k="landuse" v="reservoir">
100            <area class='natural-water' />
101        </rule>
102        <rule e="way" k="landuse" v="basin">
103            <area class='natural-water' />
104        </rule>
105
106        <!-- Paths in tunnels -->
107        <!-- Paths not in tunnels -->
108
109        <!-- Highway cores (not in tunnel) -->
110        <rule e="way" k="tunnel" v="~|false|no">
111            <addclass e="way" k="bridge" v="yes|true" class="round">
112                <rule e="way" k="highway" v="raceway">
113                    <rule e="way" k="use_status" v="~">
114                        <line class='highway-raceway-core' />
115                    </rule>
116                </rule>
117                <rule e="way" k="highway" v="secondary">
118                    <line class='highway-core highway-secondary-core' />
119                </rule>
120                <rule e="way" k="highway" v="primary|primary_link">
121                    <line class='highway-core highway-primary-core' />
122                </rule>
123                <rule e="way" k="highway" v="trunk|trunk_link">
124                    <line class='highway-core highway-trunk-core' />
125                </rule>
126                <rule e="way" k="highway" v="motorway_link">
127                    <line class='highway-core highway-motorway-link-core' />
128                </rule>
129                <rule e="way" k="highway" v="motorway">
130                    <line class='highway-core highway-motorway-core' />
131                </rule>
132            </addclass>
133        </rule>
134
135        <!-- Highway cores in tunnels -->
136        <rule e="way" k="tunnel" v="true|yes">
137            <rule e="way" k="highway" v="service">
138                <tunnel width="10" class='highway-core highway-service-core' />
139            </rule>
140            <rule e="way" k="highway" v="secondary">
141                <tunnel width="30" class='highway-core highway-secondary-core' />
142            </rule>
143            <rule e="way" k="highway" v="primary|primary_link">
144                <tunnel width="30" class='highway-core highway-primary-core' />
145            </rule>
146            <rule e="way" k="highway" v="trunk|trunk_link">
147                <tunnel width="40" class='highway-core highway-trunk-core' />
148            </rule>
149            <rule e="way" k="highway" v="motorway|motorway_link">
150                <tunnel width="40" class='highway-core highway-motorway-core' />
151            </rule>
152        </rule>
153
154        <!-- highway motorway-junctions -->
155        <rule e="node" k="highway" v="motorway_junction">
156          <circle r="7" class="highway-motorway-junction" />
157          <text k="name" class='highway-motorway-junction-caption' dy='-2px' />
158          <text k="ref" class='highway-motorway-junction-caption' dy='+5px' />
159        </rule>
160
161
162        <!-- Railway lines -->
163        <rule e="way" k="railway" v="rail">
164            <line class='railway-rail' />
165        </rule>
166
167
168        <!-- Airfields and airports -->
169        <rule e="way" k="aeroway" v="runway">
170            <line class='aeroway-runway-core'/>
171        </rule>
172        <rule e="node" k="aeroway" v="airport">
173            <symbol xlink:href="#airport" width='400px' height='400px' transform='translate(-200,-200)' />
174        </rule>
175
176
177        <!-- Non-pysical routes -->
178        <rule e="way" k="route" v="ferry">
179            <line class='route-ferry' />
180        </rule>
181
182    </rule> <!-- k="osmarender:render" v="~|yes" -->
183
184    <!-- ==================================== Layer 5 ================================== -->
185    <rule e="node|way" k="osmarender:render" v="~|yes" layer="5">
186                <!-- Non-physical boundaries -->
187                <rule e="way" k="boundary" v="administrative" layer="5">
188                        <rule e="way" k="border_type" v="state" layer="5">
189                                <line class="boundary boundary-administrative-state-casing" />
190                                <line class="boundary boundary-administrative-state-core" />
191                        </rule> 
192                        <else>
193                                <line class="boundary boundary-administrative-state-core" />
194                        </else> 
195                </rule>
196   
197        <!-- Place names  -->
198        <rule e="node" k="place" v="island" layer="5">
199            <text k="name" class='island-caption' />
200        </rule>
201        <rule e="node" k="place" v="continent" layer="5">
202            <text k="name" class='continent-caption' />
203        </rule>
204        <rule e="node" k="place" v="country" layer="5">
205            <text k="name" class='country-caption' />
206        </rule>
207        <rule e="node" k="place" v="state" layer="5">
208            <text k="name" class='state-caption' />
209        </rule>
210        <rule e="node" k="place" v="region" layer="5">
211            <text k="name" class='region-caption' />
212        </rule>
213        <rule e="node" k="place" v="county" layer="5">
214            <text k="name" class='county-caption' />
215        </rule>
216        <rule e="node" k="place" v="city" layer="5">
217            <text k="name" class='city-caption' />
218        </rule>
219        <rule e="node" k="place" v="town" layer="5">
220            <text k="name" class='town-caption' />
221        </rule>
222    </rule> <!-- End Layer 5 -->
223
224
225
226    <!-- SVG Definitions - markers, symbols etc go here -->
227    <defs>
228
229        <style id="styles" type="text/css" xmlns="http://www.w3.org/2000/svg">
230            .debug {
231                stroke-width: 0.1px;
232                stroke-linecap: round;
233                stroke: gray;
234                /* marker-end: url(#segment-direction); */
235            }
236
237            .highway-core {
238                stroke-linecap: butt;
239                stroke-linejoin: round;
240                fill: none;
241            }
242
243            .highway-motorway-junction {
244            fill: yellow;
245            stroke: #4D5D73;
246            stroke-width: 3px;
247            }
248           
249            .highway-motorway-junction-caption {
250            fill: black;
251            stroke: blue;
252            stroke-width: 0.2px;
253            font-family: "DejaVu Sans",sans-serif;
254            font-size: 10px;
255            font-weight: bold;
256            display: none;
257            }
258           
259             /* Highways - street specific style */
260
261            .highway-motorway-core {
262                stroke-width: 66px;
263                stroke: #809BC0;
264            }
265
266            .highway-motorway-link-core {
267                stroke-width: 50px;
268                stroke: #809BC0;
269            }
270
271            .highway-trunk-core {
272                stroke-width: 36px;
273                stroke: #7fc97f;
274            }
275
276            .highway-primary-core {
277                stroke-width: 14px;
278                stroke: #e46d71;
279            }
280
281            .highway-secondary-core {
282                stroke-width: 12px;
283                stroke: #FDBF6F;
284            }
285
286            .highway-service-core {
287                stroke-width: 0.4px;
288                stroke: #ffffff;
289            }
290
291
292            .round {
293                stroke-linecap: round;
294            }
295
296
297            /* Mini roundabouts */
298
299            /* Aeroways */
300            .aeroway-runway-core {
301                stroke-width: 5px;
302                stroke-linecap: butt;
303                stroke-linejoin: round;
304                stroke: #d4dcbd;
305                fill: none;
306            }
307
308            /* Waterways */
309            .waterway-riverbank {
310                fill: #b5d6f1;
311                stroke: #aaaaaa;
312                stroke-width: 0px;
313            }
314
315            .waterway-river-core {
316                stroke-width: 30px;
317                stroke-linecap: butt;
318                stroke-linejoin: round;
319                stroke: #b5d6f1;
320                fill: none;
321            }
322
323            .waterway-canal-core {
324                stroke-width: 30px;
325                stroke-linecap: butt;
326                stroke-linejoin: round;
327                stroke: #b5d6f1;
328                fill: none;
329            }
330
331            .railway-rail {
332                stroke-width: 70px;
333                stroke-linecap: butt;
334                stroke-linejoin: round;
335                stroke: #666666;
336                fill: none;
337            }
338
339            /* Ferry */
340            .route-ferry {
341                stroke-width: 20px;
342                stroke-dasharray: 300,200;
343                stroke-linecap: butt;
344                stroke-linejoin: round;
345                stroke: #777777;
346                fill: none;
347            }
348
349
350            /* Place names */
351            .continent-caption {
352                fill: black;
353                stroke: white;
354                stroke-width: 0.6px;
355                font-family: "DejaVu Sans",sans-serif;
356                font-size: 1000px;
357                font-weight: bold;
358                text-anchor: middle;
359            }
360
361            .country-caption {
362                fill: black;
363                stroke: white;
364                stroke-width: 0.5px;
365                font-family: "DejaVu Sans",sans-serif;
366                font-size: 900px;
367                font-weight: bold;
368                text-anchor: middle;
369            }
370
371            .state-caption {
372                fill: black;
373                stroke: white;
374                stroke-width: 0.5px;
375                font-family: "DejaVu Sans",sans-serif;
376                font-size: 800px;
377                font-weight: bold;
378                text-anchor: middle;
379            }
380
381            .region-caption {
382                fill: black;
383                stroke: white;
384                stroke-width: 0.4px;
385                font-family: "DejaVu Sans",sans-serif;
386                font-size: 700px;
387                font-weight: bold;
388                text-anchor: middle;
389            }
390
391            .county-caption {
392                fill: black;
393                stroke: white;
394                stroke-width: 0.4px;
395                font-family: "DejaVu Sans",sans-serif;
396                font-size: 600px;
397                font-weight: bold;
398                text-anchor: middle;
399            }
400
401            .city-caption {
402                fill: black;
403                stroke: none;
404                font-family: "DejaVu Sans",sans-serif;
405                font-size: 700px;
406                font-weight: bold;
407                text-anchor: middle;
408            }
409
410            .town-caption {
411                fill: black;
412                stroke: none;
413                font-family: "DejaVu Sans",sans-serif;
414                font-size: 350px;
415                opacity: 0.9;
416                font-weight: normal;
417                text-anchor: middle;
418            }
419
420            .island-caption {
421                fill: black;
422                stroke: none;
423                font-family: "DejaVu Sans",sans-serif;
424                font-size: 350px;
425                opacity: 0.9;
426                font-weight: normal;
427                text-anchor: middle;
428            }
429
430            /* Natural */
431            .natural-water {
432                fill: #b5d6f1;
433                stroke: #aaaaaa;
434                stroke-width: 0px;
435            }
436
437            .natural-coastline {
438                fill: #b5d6f1;
439                stroke: #b5d6f1;
440                stroke-width: 15px;
441            }
442
443            .natural-land {
444                fill: #ffffff;
445                stroke: #e0e0e0;
446                stroke-width: 2px;
447            }
448
449
450            /* Landuse */
451            .landuse-all {
452                stroke: none;
453                fill: #f0f0f0;
454            }
455
456            .landuse-wood {
457                fill: #72bf81;
458                stroke: #6fc18e;
459                stroke-width: 2px;
460            }
461
462            .landuse-field {
463                fill: #bde3cb;
464                stroke: #6fc13d;
465                stroke-width: 2px;
466            }
467
468
469            /* Leisure */
470            .leisure-park {
471                fill: #c7f1a3;
472                stroke: #6fc18e;
473                stroke-width: 2px;
474            }
475
476            .leisure-stadium {
477                fill: #bde3cb;
478                stroke: #6fc18e;
479                stroke-width: 2px;
480            }
481
482            .sport {
483                fill: #bde3cb;
484                stroke: #6fc18e;
485                stroke-width: 2px;
486            }
487
488
489                        /* Non-physical boundaries */
490            .boundary {
491                stroke-linecap: butt;
492                stroke-linejoin: round;
493                fill: none;
494            }
495
496                        .boundary-administrative-state-casing {
497                                stroke-width: 80px;
498                                stroke: #ffff00;
499                                opacity: 0.5;
500                }
501
502                        .boundary-administrative-state-core {
503                                stroke-width: 16px;
504                                stroke: #f9574b;
505                                stroke-dasharray: 80, 16, 16, 16;
506                        }
507
508
509
510                        /* Racetracks */
511                        .highway-raceway-core {
512                          stroke-width: 1.5px;
513                          stroke-linecap: butt;
514                          stroke-linejoin: round;
515                          fill: none;
516                          stroke: #f0f0f0;
517                          }
518
519                        .landuse-raceway {
520                          stroke-width: 0.3px;
521                          stroke-linecap: butt;
522                          stroke-linejoin: round;
523                          fill: #f0f0f0;
524                          stroke: #101010;
525                          }
526
527
528            /* Tourism */
529
530            /* Building */
531
532            /* Map decoration */
533            .map-grid-line {
534                fill: none;
535                stroke: #8080ff;
536                stroke-width: 0.1px;
537                stroke-opacity: 0.5;
538            }
539
540            .map-border-casing {
541                fill: none;
542                stroke: #8080ff;
543                stroke-width: 3px;
544                stroke-miterlimit: 4;
545                stroke-dasharray: none;
546                stroke-opacity: 1;
547                stroke-linecap: round;
548            }
549
550            .map-border-core {
551                fill: none;
552                fill-opacity: 1;
553                fill-rule: nonzero;
554                stroke: #ffffff;
555                stroke-width: 2px;
556                stroke-miterlimit: 0;
557                stroke-dashoffset: -0.5px;
558                stroke-opacity: 1;
559            }
560
561            .map-scale-casing {
562                fill: none;
563                stroke: #8080ff;
564                stroke-width: 4px;
565                stroke-linecap: butt;
566            }
567
568            .map-scale-core {
569                fill: none;
570                stroke: #ffffff;
571                stroke-width: 3px;
572                stroke-linecap: butt;
573            }
574
575            .map-scale-bookend {
576                fill: none;
577                stroke: #8080ff;
578                stroke-width: 1px;
579                stroke-linecap: butt;
580            }
581
582            .map-scale-caption {
583                font-family: "DejaVu Sans",sans-serif;
584                font-size: 10px;
585                fill: #8080ff;
586            }
587
588            <!-- map background must be the same for all zooms or else empty tile detection will fail -->
589            .map-background {
590                fill: #f8f8f8;
591                stroke: none;
592            }
593
594            .map-title {
595                font-family: "DejaVu Sans",sans-serif;
596                font-size: 20px;
597                text-anchor: middle;
598                fill: black;
599            }
600
601            .map-title-background {
602                fill: white;
603            }
604
605            .map-marginalia-background {
606                fill: white;
607            }
608        </style>
609
610        <svg:symbol
611          id="airport"
612          viewBox="0 0 10 10"
613          fill="black"
614          fill-opacity="1"
615          fill-rule="evenodd"
616          stroke="none">
617            <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 " />
618        </svg:symbol>
619
620    </defs>
621</rules>
Note: See TracBrowser for help on using the repository browser.