source: subversion/utils/osmarender4/rules/maplint.xml @ 2336

Revision 2336, 17.1 KB checked in by jochen, 7 years ago (diff)
  • added blue lakes
  • added grey parks and forests
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 rule file is for use with Maplint. See http://wiki.openstreetmap.org/index.php/Maplint for details -->
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="4"
17    minimumMapWidth="4"
18    minimumMapHeight="3"
19    withOSMLayers="no"
20    withUntaggedSegments="no"
21    symbolsDir=""
22    showScale="yes"
23    showGrid="yes"
24    showBorder="yes"
25    showLicense="yes"
26    interactive="no">
27
28    <!-- Uncomment this element if you want to explicitly specify the bounding box for a map, or you can add a <bounds> element to
29         your data.osm file, which is probably a better thing to do. -->
30    <!--<bounds
31        minlat="51.50583362991789"
32        minlon="-0.13313005495563884"
33        maxlat="51.516556840221504"
34        maxlon="-0.10891295872251346" />-->
35
36    <!-- Select all nodes, waysegments and ways (unless they have an osmarender:render=no tag) -->
37    <!-- If you really want to render segments then you will need to add segment to the element list, but please don't - tag the ways instead. -->
38    <rule e="node|segment|waysegment|way" k="osmarender:render" v="~|yes">
39
40        <layer name="Areas">
41            <rule e="way" k="landuse" v="forest|wood">
42                <area class='area-green'/>
43            </rule>
44            <rule e="way" k="natural" v="forest|wood">
45                <area class='area-green'/>
46            </rule>
47            <rule e="way" k="leisure" v="park|playing_fields|garden|pitch|golf_course|common|green">
48                <area class='area-green'/>
49            </rule>
50            <rule e="way" k="natural" v="water|pond|lake">
51                <area class='area-lake' />
52            </rule>
53        </layer>
54
55        <layer name="Maplint">
56<!--            <rule e="way" k="maplint:notice" v="*">
57                <line class="maplint-way-notice-casing"/>
58                <line class="maplint-way-notice-core"/>
59            </rule>-->
60            <rule e="way" k="maplint:warning" v="*">
61                <line class="maplint-way-warning-casing"/>
62                <line class="maplint-way-warning-core"/>
63            </rule>
64            <rule e="way" k="maplint:error" v="*">
65                <line class="maplint-way-error-casing"/>
66                <line class="maplint-way-error-core"/>
67            </rule>
68
69            <rule e="segment" k="maplint:notice" v="*">
70                <line class="maplint-segment-notice"/>
71            </rule>
72            <rule e="segment" k="maplint:warning" v="*">
73                <line class="maplint-segment-warning"/>
74            </rule>
75            <rule e="segment" k="maplint:error" v="*">
76                <line class="maplint-segment-error"/>
77            </rule>
78
79            <rule e="node" k="maplint:notice" v="*">
80                <circle r="4" class="maplint-node-notice"/>
81            </rule>
82            <rule e="node" k="maplint:warning" v="*">
83                <circle r="4" class="maplint-node-warning"/>
84            </rule>
85            <rule e="node" k="maplint:error" v="*">
86                <circle r="4" class="maplint-node-error"/>
87            </rule>
88        </layer>
89
90        <!-- Waterways -->
91        <layer name="Waterways">
92            <rule e="segment|way" k="waterway" v="*">
93                <line class='waterway-river'/>
94            </rule>
95        </layer>
96
97
98        <!-- Roads and paths -->
99        <layer name="Roads and Paths">
100
101            <rule e="segment|way" k="highway" v="service|unsurfaced|track|byway|bridleway|cycleway|footway|steps">
102                <line class='highway-small' />
103            </rule>
104
105            <rule e="segment|way" k="highway" v="unclassified|residential|minor|tertiary|pedestrian">
106                <line class='highway-minor' />
107            </rule>
108
109            <rule e="segment|way" k="highway" v="secondary|primary|primary_link">
110                <line class='highway-primary' />
111            </rule>
112
113            <rule e="segment|way" k="highway" v="motorway_link|motorway|trunk_link|trunk">
114                <line class='highway-major' />
115            </rule>
116
117        </layer>
118
119
120        <!-- Railway lines -->
121        <rule e="segment|way" k="railway" v="*">
122            <layer name="Railway/Subway/Tram">
123
124                <rule e="segment|way" k="railway" v="rail">
125                    <line class='railway-rail' />
126                    <line class='railway-rail-dashes' />
127                </rule>
128                <rule e="segment|way" k="railway" v="light_rail|tram">
129                    <line class='railway-light-rail' />
130                </rule>
131                <rule e="segment|way" k="railway" v="subway">
132                    <line class='railway-subway-rail' />
133                </rule>
134
135            </layer>
136        </rule>
137
138
139        <!-- Airfields and airports -->
140        <rule e="node|segment|way" k="aeroway" v="*">
141            <layer name="Airfields and airports">
142                <rule e="segment|way" k="aeroway" v="runway">
143                    <line class='aeroway-runway-core'/>
144                </rule>
145                <rule e="segment|way" k="aeroway" v="taxiway">
146                    <line class='aeroway-taxiway-core'/>
147                </rule>
148            </layer>
149        </rule>
150
151
152        <!-- Power lines and pylons -->
153        <rule e="node|way" k="power" v="*">
154            <layer name="Power lines">
155                <rule e="way" k="power" v="line">
156                    <line class='power-line'/>
157                </rule>
158            </layer>
159        </rule>
160
161
162        <!-- Non-pysical routes -->
163        <rule e="segment|way" k="route" v="ferry">
164            <layer name="Ferry">
165                <line class='route-ferry' />
166            </layer>
167        </rule>
168
169        <layer name="Maplint node dots">
170            <rule e="node" k="maplint:notice|maplint:warning|maplint:error" v="*">
171                <circle r="0.8" class="maplint-node-dot"/>
172            </rule>
173        </layer>
174
175        <layer name="Maplint text">
176<!--            <rule e="segment|way" k="maplint:notice" v="*">
177                <text k="maplint:notice" startOffset="50%" class='maplint-text' dy="0.33" />
178            </rule>-->
179            <rule e="segment|way" k="maplint:warning" v="*">
180                <text k="maplint:warning" startOffset="50%" class='maplint-text' dy="0.33" />
181            </rule>
182            <rule e="segment|way" k="maplint:error" v="*">
183                <text k="maplint:error" startOffset="50%" class='maplint-text' dy="0.33" />
184            </rule>
185
186            <rule e="node" k="maplint:notice" v="*">
187                <text k="maplint:notice" class='maplint-caption' dx='2.5px' dy='1.5px' />
188            </rule>
189            <rule e="node" k="maplint:warning" v="*">
190                <text k="maplint:warning" class='maplint-caption' dx='2.5px' dy='1.5px' />
191            </rule>
192            <rule e="node" k="maplint:error" v="*">
193                <text k="maplint:error" class='maplint-caption' dx='2.5px' dy='1.5px' />
194            </rule>
195        </layer>
196
197    </rule>
198
199
200    <!-- SVG Definitions - markers, symbols etc go here -->
201    <defs>
202
203        <style id="styles" type="text/css" xmlns="http://www.w3.org/2000/svg">
204            /* Highways */
205
206            .highway-major {
207                stroke-width: 2px;
208                stroke-linejoin: round;
209                stroke: #909090;
210                fill: none;
211            }
212
213            .highway-primary {
214                stroke-width: 1.5px;
215                stroke-linejoin: round;
216                stroke: #909090;
217                fill: none;
218            }
219
220            .highway-minor {
221                stroke-width: 1.2px;
222                stroke-linejoin: round;
223                stroke: #909090;
224                fill: none;
225            }
226
227            .highway-small {
228                stroke-width: 1px;
229                stroke-linejoin: round;
230                stroke: #a0a0a0;
231                fill: none;
232            }
233
234            /* Aeroways */
235            .aeroway-taxiway-core {
236                stroke-width: 1px;
237                stroke-linecap: butt;
238                stroke-linejoin: round;
239                stroke: #CCCCCC;
240                fill: none;
241            }
242
243            .aeroway-runway-core {
244                stroke-width: 5px;
245                stroke-linecap: butt;
246                stroke-linejoin: round;
247                stroke: #CCCCCC;
248                fill: none;
249            }
250
251            .aeroway-aerodrome-caption {
252                fill: black;
253                stroke: white;
254                stroke-width: 0.3px;
255                font-family: "DejaVu Sans",sans-serif;
256                font-size: 6px;
257                font-weight: bolder;
258            }
259
260            .aeroway-airport-caption {
261                fill: black;
262                stroke: white;
263                stroke-width: 0.3px;
264                font-family: "DejaVu Sans",sans-serif;
265                font-size: 10px;
266                font-weight: bolder;
267            }
268
269
270            /* Waterways */
271            .waterway-river {
272                stroke-width: 3px;
273                stroke-linecap: butt;
274                stroke-linejoin: round;
275                stroke: #89bac6;
276                fill: none;
277            }
278
279            .railway-rail {
280                stroke-width: 1.5px;
281                stroke-linecap: butt;
282                stroke-linejoin: round;
283                stroke: #000000;
284                fill: none;
285            }
286
287            .railway-light-rail {
288                stroke-width: 0.8px;
289                stroke-linecap: butt;
290                stroke-linejoin: round;
291                stroke: #000000;
292                fill: none;
293            }
294
295            .railway-subway-rail {
296                stroke-width: 0.8px;
297                stroke-linecap: butt;
298                stroke-linejoin: round;
299                stroke: #aaaaaa;
300                fill: none;
301                stroke-dasharray: 3px, 1px;
302                stroke-dashoffset: 0;
303                stroke-opacity: 1;
304            }
305
306            .railway-rail-dashes {
307                stroke-width: 1px;
308                stroke-linecap: butt;
309                stroke-linejoin: round;
310                stroke: #ffffff;
311                fill: none;
312                stroke-dasharray: 3px, 3px;
313                stroke-opacity: 1;
314            }
315
316            .railway-station {
317                fill: red;
318                stroke: black;
319                stroke-width: 0.5px;
320            }
321
322            .railway-station-caption {
323                fill: black;
324                stroke: white;
325                stroke-width: 0.2px;
326                font-family: "DejaVu Sans",sans-serif;
327                font-size: 4px;
328                font-weight: bolder;
329            }
330
331            .railway-halt {
332                fill: black;
333                stroke: black;
334                stroke-width: 0.5px;
335            }
336
337            .railway-halt-caption {
338                fill: black;
339                stroke: white;
340                stroke-width: 0.1px;
341                font-family: "DejaVu Sans",sans-serif;
342                font-size: 2px;
343                font-weight: bolder;
344            }
345
346
347            /* Ferry */
348            .route-ferry {
349                stroke-width: 0.5px;
350                stroke-linecap: butt;
351                stroke-linejoin: round;
352                stroke: #777777;
353                fill: none;
354            }
355
356
357            /* Points of interest */
358            .point-of-interest {
359                fill: red;
360                stroke: black;
361                stroke-width: 0.5px;
362            }
363
364
365            /* Areas */
366            .area-green {
367                fill: #f5f5f5;
368                stroke: none;
369            }
370            .area-lake {
371                fill: #89bac6;
372                stroke: none;
373            }
374
375
376            /* JOSM Debugging */
377            .josm-segment {
378                stroke-width: 0.2px;
379                stroke-linecap: butt;
380                stroke-linejoin: round;
381                stroke: #008000;
382                fill: none;
383                marker-end: url(#segment-direction);
384            }
385
386
387            /* Power line */
388            .power-line {
389                stroke-width: 0.1px;
390                stroke-linecap: butt;
391                stroke-linejoin: round;
392                stroke: #cccccc;
393                stroke-dasharray: 1px ,1px;
394                fill: none;
395            }
396
397
398            /* Maplint */
399            .maplint-node-error {
400                fill: #e74444;
401            }
402
403            .maplint-node-warning {
404                fill: #f89559;
405            }
406
407            .maplint-node-notice {
408                fill: #e2f91d;
409            }
410
411            .maplint-node-dot {
412                fill: black;
413            }
414
415            .maplint-segment-error {
416                fill: none;
417                stroke: #e74444;
418                stroke-width: 5px;
419            }
420
421            .maplint-segment-warning {
422                fill: none;
423                stroke: #f89559;
424                stroke-width: 5px;
425            }
426
427            .maplint-segment-notice {
428                fill: none;
429                stroke: #e2f91d;
430                stroke-width: 5px;
431            }
432
433            .maplint-way-error-casing {
434                fill: none;
435                stroke: #e74444;
436                stroke-width: 5px;
437            }
438
439            .maplint-way-warning-casing {
440                fill: none;
441                stroke: #f89559;
442                stroke-width: 5px;
443            }
444
445            .maplint-way-notice-casing {
446                fill: none;
447                stroke: #e2f91d;
448                stroke-width: 5px;
449            }
450
451            .maplint-way-error-core {
452                fill: none;
453                stroke: #fcfcfc;
454                stroke-width: 3.5px;
455            }
456
457            .maplint-way-warning-core {
458                fill: none;
459                stroke: #fcfcfc;
460                stroke-width: 3.5px;
461            }
462
463            .maplint-way-notice-core {
464                fill: none;
465                stroke: #fcfcfc;
466                stroke-width: 3.5px;
467            }
468
469            .maplint-text {
470                fill: black;
471                font-family: "DejaVu Sans",sans-serif;
472                font-size: 2px;
473                font-weight: bold;
474                text-anchor: middle
475            }
476
477            .maplint-caption {
478                fill: black;
479                stroke: white;
480                stroke-width: 0.2px;
481                font-family: "DejaVu Sans",sans-serif;
482                font-size: 3px;
483                font-weight: bolder;
484            }
485
486            /* Map decoration */
487            .map-grid-line {
488                fill: none;
489                stroke: #8080ff;
490                stroke-width: 0.1px;
491                stroke-opacity: 0.5;
492            }
493
494            .map-border-casing {
495                fill: none;
496                stroke: #8080ff;
497                stroke-width: 3px;
498                stroke-miterlimit: 4;
499                stroke-dasharray: none;
500                stroke-opacity: 1;
501                stroke-linecap: round;
502            }
503
504            .map-border-core {
505                fill: none;
506                fill-opacity: 1;
507                fill-rule: nonzero;
508                stroke: #ffffff;
509                stroke-width: 2px;
510                stroke-miterlimit: 0;
511                stroke-dashoffset: -0.5px;
512                stroke-opacity: 1;
513            }
514
515            .map-scale-casing {
516                fill: none;
517                stroke: #8080ff;
518                stroke-width: 4px;
519                stroke-linecap: butt;
520            }
521
522            .map-scale-core {
523                fill: none;
524                stroke: #ffffff;
525                stroke-width: 3px;
526                stroke-linecap: butt;
527            }
528
529            .map-scale-bookend {
530                fill: none;
531                stroke: #8080ff;
532                stroke-width: 1px;
533                stroke-linecap: butt;
534            }
535
536            .map-scale-caption {
537                font-family: "DejaVu Sans",sans-serif;
538                font-size: 10px;
539                fill: #8080ff;
540            }
541
542            .map-background {
543                fill: #fcfcfc;
544                stroke: none;
545            }
546
547            .map-title {
548                font-family: "DejaVu Sans",sans-serif;
549                font-size: 20px;
550                text-anchor: middle;
551                fill: black;
552            }
553
554            .map-title-background {
555                fill: white;
556            }
557
558            .map-marginalia-background {
559                fill: white;
560            }
561        </style>
562
563        <svg:marker
564            id="segment-direction"
565            viewBox="0 0 10 10"
566            refX="10px" refY="5px"
567            markerUnits="userSpaceOnUse"
568            fill='none'
569            stroke-width='1px'
570            stroke='#008000'
571            markerWidth="1px"
572            markerHeight="1px"
573            orient="auto">
574            <svg:path d="M 0,2 L 10,5 L 0,8" />
575        </svg:marker>
576
577    </defs>
578
579</rules>
Note: See TracBrowser for help on using the repository browser.