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

Last change on this file since 5586 was 5586, checked in by brent, 12 years ago

Display osmxapi download in debug mode, Fix error in z8 xml, Move lowzoom Admin borders to layer 5

File size: 18.0 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    </rule> <!-- k="osmarender:render" v="~|yes" -->
184
185    <!-- ==================================== Layer 5 ================================== -->
186    <rule e="node|way" k="osmarender:render" v="~|yes" layer="5">
187   
188                <!-- Non-physical boundaries -->
189                <rule e="way" k="boundary" v="administrative" layer="5">
190                        <rule e="way" k="border_type" v="state" layer="5">
191                                <line class="boundary boundary-administrative-state-casing" />
192                                <line class="boundary boundary-administrative-state-core" />
193                        </rule> 
194                        <else>
195                                <line class="boundary boundary-administrative-state-core" />
196                        </else> 
197                </rule>
198       
199        <!-- Place names  -->
200        <rule e="node" k="place" v="continent" layer="5">
201            <text k="name" class='continent-caption' />
202        </rule>
203        <rule e="node" k="place" v="country" layer="5">
204            <text k="name" class='country-caption' />
205        </rule>
206        <rule e="node" k="place" v="state" layer="5">
207            <text k="name" class='state-caption' />
208        </rule>
209        <rule e="node" k="place" v="region" layer="5">
210            <text k="name" class='region-caption' />
211        </rule>
212        <rule e="node" k="place" v="county" layer="5">
213            <text k="name" class='county-caption' />
214        </rule>
215        <rule e="node" k="place" v="city" layer="5">
216            <text k="name" class='city-caption' />
217        </rule>
218        <rule e="node" k="place" v="town" layer="5">
219            <text k="name" class='town-caption' />
220        </rule>
221    </rule> <!-- End Layer 5 -->
222
223
224
225    <!-- SVG Definitions - markers, symbols etc go here -->
226    <defs>
227
228        <style id="styles" type="text/css" xmlns="http://www.w3.org/2000/svg">
229            .debug {
230                stroke-width: 0.1px;
231                stroke-linecap: round;
232                stroke: gray;
233                /* marker-end: url(#segment-direction); */
234            }
235
236            .highway-core {
237                stroke-linecap: butt;
238                stroke-linejoin: round;
239                fill: none;
240            }
241
242            .highway-motorway-junction {
243            fill: yellow;
244            stroke: #4D5D73;
245            stroke-width: 3px;
246            }
247           
248            .highway-motorway-junction-caption {
249            fill: black;
250            stroke: blue;
251            stroke-width: 0.2px;
252            font-family: "DejaVu Sans",sans-serif;
253            font-size: 10px;
254            font-weight: bold;
255            display: none;
256            }
257           
258             /* Highways - street specific style */
259
260            .highway-motorway-core {
261                stroke-width: 50px;
262                stroke: #809BC0;
263            }
264
265            .highway-motorway-link-core {
266                stroke-width: 50px;
267                stroke: #809BC0;
268            }
269
270            .highway-trunk-core {
271                stroke-width: 36px;
272                stroke: #7fc97f;
273            }
274
275            .highway-primary-core {
276                stroke-width: 20px;
277                stroke: #e46d71;
278            }
279
280            .highway-secondary-core {
281                stroke-width: 16px;
282                stroke: #FDBF6F;
283            }
284
285            .highway-service-core {
286                stroke-width: 4px;
287                stroke: #ffffff;
288            }
289
290
291            .round {
292                stroke-linecap: round;
293            }
294
295
296            /* Mini roundabouts */
297
298            /* Aeroways */
299            .aeroway-runway-core {
300                stroke-width: 5px;
301                stroke-linecap: butt;
302                stroke-linejoin: round;
303                stroke: #d4dcbd;
304                fill: none;
305            }
306
307            /* Waterways */
308            .waterway-riverbank {
309                fill: #b5d6f1;
310                stroke: #aaaaaa;
311                stroke-width: 0px;
312            }
313
314            .waterway-river-core {
315                stroke-width: 12px;
316                stroke-linecap: butt;
317                stroke-linejoin: round;
318                stroke: #b5d6f1;
319                fill: none;
320            }
321
322            .waterway-canal-core {
323                stroke-width: 12px;
324                stroke-linecap: butt;
325                stroke-linejoin: round;
326                stroke: #b5d6f1;
327                fill: none;
328            }
329
330            .railway-rail {
331                stroke-width: 50px;
332                stroke-linecap: butt;
333                stroke-linejoin: round;
334                stroke: #666666;
335                fill: none;
336            }
337
338            /* Ferry */
339            .route-ferry {
340                stroke-width: 30px;
341                stroke-dasharray: 3,2;
342                stroke-linecap: butt;
343                stroke-linejoin: round;
344                stroke: #777777;
345                fill: none;
346            }
347
348
349            /* Place names */
350            .continent-caption {
351                fill: black;
352                stroke: white;
353                stroke-width: 0.6px;
354                font-family: "DejaVu Sans",sans-serif;
355                font-size: 500px;
356                font-weight: bold;
357                text-anchor: middle;
358            }
359
360            .country-caption {
361                fill: black;
362                stroke: white;
363                stroke-width: 0.5px;
364                font-family: "DejaVu Sans",sans-serif;
365                font-size: 380px;
366                font-weight: bold;
367                text-anchor: middle;
368            }
369
370            .state-caption {
371                fill: black;
372                stroke: white;
373                stroke-width: 0.5px;
374                font-family: "DejaVu Sans",sans-serif;
375                font-size: 160px;
376                font-weight: bold;
377                text-anchor: middle;
378            }
379
380            .region-caption {
381                fill: black;
382                stroke: white;
383                stroke-width: 0.4px;
384                font-family: "DejaVu Sans",sans-serif;
385                font-size: 140px;
386                font-weight: bold;
387                text-anchor: middle;
388            }
389
390            .county-caption {
391                fill: black;
392                stroke: white;
393                stroke-width: 0.4px;
394                font-family: "DejaVu Sans",sans-serif;
395                font-size: 120px;
396                font-weight: bold;
397                text-anchor: middle;
398            }
399
400            .city-caption {
401                fill: black;
402                stroke: none;
403                stroke-width: 0.4px;
404                font-family: "DejaVu Sans",sans-serif;
405                font-size: 400px;
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: 200px;
415                opacity: 0.9;
416                font-weight: normal;
417                text-anchor: middle;
418            }
419
420            /* Natural */
421            .natural-water {
422                fill: #b5d6f1;
423                stroke: #aaaaaa;
424                stroke-width: 0px;
425            }
426
427            .natural-coastline {
428                fill: #b5d6f1;
429                stroke: #b5d6f1;
430                stroke-width: 15px;
431            }
432
433            .natural-land {
434                fill: #ffffff;
435                stroke: #e0e0e0;
436                stroke-width: 10px;
437            }
438
439
440            /* Landuse */
441            .landuse-all {
442                stroke: none;
443                fill: #f0f0f0;
444            }
445
446            .landuse-wood {
447                fill: #72bf81;
448                stroke: #6fc18e;
449                stroke-width: 2px;
450            }
451
452            .landuse-field {
453                fill: #bde3cb;
454                stroke: #6fc13d;
455                stroke-width: 2px;
456            }
457
458
459            /* Leisure */
460            .leisure-park {
461                fill: #c7f1a3;
462                stroke: #6fc18e;
463                stroke-width: 2px;
464            }
465
466            .leisure-stadium {
467                fill: #bde3cb;
468                stroke: #6fc18e;
469                stroke-width: 2px;
470            }
471
472            .sport {
473                fill: #bde3cb;
474                stroke: #6fc18e;
475                stroke-width: 2px;
476            }
477
478                        /* Non-physical boundaries */
479            .boundary {
480                stroke-linecap: butt;
481                stroke-linejoin: round;
482                fill: none;
483            }
484
485                        .boundary-administrative-state-casing {
486                                stroke-width: 80px;
487                                stroke: #ffff00;
488                                opacity: 0.5;
489                }
490
491                        .boundary-administrative-state-core {
492                                stroke-width: 16px;
493                                stroke: #f9574b;
494                                stroke-dasharray: 80, 16, 16, 16;
495                        }
496
497                        /* Racetracks */
498                        .highway-raceway-core {
499                          stroke-width: 1.5px;
500                          stroke-linecap: butt;
501                          stroke-linejoin: round;
502                          fill: none;
503                          stroke: #f0f0f0;
504                          }
505
506                        .landuse-raceway {
507                          stroke-width: 0.3px;
508                          stroke-linecap: butt;
509                          stroke-linejoin: round;
510                          fill: #f0f0f0;
511                          stroke: #101010;
512                          }
513
514
515            /* Tourism */
516
517            /* Building */
518
519            /* Map decoration */
520            .map-grid-line {
521                fill: none;
522                stroke: #8080ff;
523                stroke-width: 0.1px;
524                stroke-opacity: 0.5;
525            }
526
527            .map-border-casing {
528                fill: none;
529                stroke: #8080ff;
530                stroke-width: 3px;
531                stroke-miterlimit: 4;
532                stroke-dasharray: none;
533                stroke-opacity: 1;
534                stroke-linecap: round;
535            }
536
537            .map-border-core {
538                fill: none;
539                fill-opacity: 1;
540                fill-rule: nonzero;
541                stroke: #ffffff;
542                stroke-width: 2px;
543                stroke-miterlimit: 0;
544                stroke-dashoffset: -0.5px;
545                stroke-opacity: 1;
546            }
547
548            .map-scale-casing {
549                fill: none;
550                stroke: #8080ff;
551                stroke-width: 4px;
552                stroke-linecap: butt;
553            }
554
555            .map-scale-core {
556                fill: none;
557                stroke: #ffffff;
558                stroke-width: 3px;
559                stroke-linecap: butt;
560            }
561
562            .map-scale-bookend {
563                fill: none;
564                stroke: #8080ff;
565                stroke-width: 1px;
566                stroke-linecap: butt;
567            }
568
569            .map-scale-caption {
570                font-family: "DejaVu Sans",sans-serif;
571                font-size: 10px;
572                fill: #8080ff;
573            }
574
575            <!-- map background must be the same for all zooms or else empty tile detection will fail -->
576            .map-background {
577                fill: #f8f8f8;
578                stroke: none;
579            }
580
581            .map-title {
582                font-family: "DejaVu Sans",sans-serif;
583                font-size: 20px;
584                text-anchor: middle;
585                fill: black;
586            }
587
588            .map-title-background {
589                fill: white;
590            }
591
592            .map-marginalia-background {
593                fill: white;
594            }
595        </style>
596
597        <svg:symbol
598          id="airport"
599          viewBox="0 0 10 10"
600          fill="black"
601          fill-opacity="1"
602          fill-rule="evenodd"
603          stroke="none">
604            <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 " />
605        </svg:symbol>
606
607    </defs>
608</rules>
Note: See TracBrowser for help on using the repository browser.