source: josm/trunk/data/validator/deprecated.mapcss@ 14911

Last change on this file since 14911 was 14911, checked in by Klumbumbus, 6 years ago

fix #17100, see #17471 - add name=silo|rumah|jalan to descriptive name warning, move АЗС there too, disable autofix for cases where the value of the name tag could be the value of the other tag (manual fix by human required in these cases)

  • Property svn:eol-style set to native
File size: 43.6 KB
Line 
1*[barrier=wire_fence] {
2 throwWarning: tr("{0} is deprecated", "{0.tag}");
3 group: tr("deprecated tagging");
4 suggestAlternative: "barrier=fence + fence_type=chain_link";
5 fixAdd: "barrier=fence";
6 fixAdd: "fence_type=chain_link";
7 assertMatch: "way barrier=wire_fence";
8 assertNoMatch: "way barrier=fence";
9}
10
11*[barrier=wood_fence] {
12 throwWarning: tr("{0} is deprecated", "{0.tag}");
13 suggestAlternative: "barrier=fence + fence_type=wood";
14 group: tr("deprecated tagging");
15 fixAdd: "barrier=fence";
16 fixAdd: "fence_type=wood";
17}
18
19node[highway=ford] {
20 throwWarning: tr("{0} is deprecated", "{0.tag}");
21 suggestAlternative: "ford=yes";
22 group: tr("deprecated tagging");
23 fixRemove: "highway";
24 fixAdd: "ford=yes";
25}
26way[highway=ford] {
27 throwWarning: tr("{0} is deprecated", "{0.tag}");
28 suggestAlternative: "highway=* + ford=yes";
29 group: tr("deprecated tagging");
30}
31
32way[class] {
33 /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
34 throwWarning: tr("{0} is deprecated", "{0.key}");
35 suggestAlternative: "highway";
36 group: tr("deprecated tagging");
37}
38
39*[highway=stile] {
40 /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
41 throwWarning: tr("{0} is deprecated", "{0.tag}");
42 suggestAlternative: "barrier=stile";
43 group: tr("deprecated tagging");
44 fixRemove: "highway";
45 fixAdd: "barrier=stile";
46}
47
48*[highway=incline] {
49 /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
50 throwWarning: tr("{0} is deprecated", "{0.tag}");
51 suggestAlternative: "incline";
52 group: tr("deprecated tagging");
53}
54
55*[highway=incline_steep] {
56 /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
57 throwWarning: tr("{0} is deprecated", "{0.tag}");
58 suggestAlternative: "incline";
59 group: tr("deprecated tagging");
60}
61
62*[highway=unsurfaced] {
63 /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
64 throwWarning: tr("{0} is deprecated", "{0.tag}");
65 suggestAlternative: "highway=* + surface=unpaved";
66 group: tr("deprecated tagging");
67 fixAdd: "highway=road";
68 fixAdd: "surface=unpaved";
69}
70
71*[landuse=wood] {
72 /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
73 throwWarning: tr("{0} is deprecated", "{0.tag}");
74 suggestAlternative: "landuse=forest";
75 suggestAlternative: "natural=wood";
76 group: tr("deprecated tagging");
77}
78
79*[natural=marsh] {
80 /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
81 throwWarning: tr("{0} is deprecated", "{0.tag}");
82 suggestAlternative: "natural=wetland + wetland=marsh";
83 group: tr("deprecated tagging");
84 fixAdd: "natural=wetland";
85 fixAdd: "wetland=marsh";
86}
87
88*[highway=byway] {
89 /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
90 throwWarning: tr("{0} is deprecated", "{0.tag}");
91 group: tr("deprecated tagging");
92}
93
94*[power_source] {
95 /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
96 throwWarning: tr("{0} is deprecated", "{0.key}");
97 suggestAlternative: "generator:source";
98 group: tr("deprecated tagging");
99}
100
101*[power_rating] {
102 /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
103 throwWarning: tr("{0} is deprecated", "{0.key}");
104 suggestAlternative: "generator:output";
105 group: tr("deprecated tagging");
106}
107
108*[shop=antique] {
109 throwWarning: tr("{0} is deprecated", "{0.tag}");
110 suggestAlternative: "shop=antiques";
111 group: tr("deprecated tagging");
112 fixAdd: "shop=antiques";
113}
114
115*[shop=bags] {
116 throwWarning: tr("{0} is deprecated", "{0.tag}");
117 suggestAlternative: "shop=bag";
118 group: tr("deprecated tagging");
119 fixAdd: "shop=bag";
120}
121
122*[shop=organic] {
123 /* from http://wiki.openstreetmap.org/wiki/Tag:shop=organic */
124 throwWarning: tr("{0} is deprecated", "{0.tag}");
125 suggestAlternative: "shop=* + organic=yes";
126 suggestAlternative: "shop=* + organic=only";
127 group: tr("deprecated tagging");
128}
129
130*[shop=pets] {
131 throwWarning: tr("{0} is deprecated", "{0.tag}");
132 suggestAlternative: "shop=pet";
133 group: tr("deprecated tagging");
134 fixAdd: "shop=pet";
135}
136
137*[shop=pharmacy] {
138 throwWarning: tr("{0} is deprecated", "{0.tag}");
139 suggestAlternative: "amenity=pharmacy";
140 group: tr("deprecated tagging");
141 fixChangeKey: "shop => amenity";
142}
143
144*[bicycle_parking=sheffield] {
145 /* from http://wiki.openstreetmap.org/wiki/Key:bicycle_parking */
146 throwWarning: tr("{0} is deprecated", "{0.tag}");
147 suggestAlternative: "bicycle_parking=stands";
148 group: tr("deprecated tagging");
149 fixAdd: "bicycle_parking=stands";
150}
151
152*[amenity=emergency_phone] {
153 /* http://wiki.openstreetmap.org/wiki/Tag:emergency=phone */
154 throwWarning: tr("{0} is deprecated", "{0.tag}");
155 suggestAlternative: "emergency=phone";
156 group: tr("deprecated tagging");
157 fixRemove: "amenity";
158 fixAdd: "emergency=phone";
159}
160
161*[sport=gaelic_football] {
162 /* fix #8132 - http://wiki.openstreetmap.org/wiki/Tag:sport=gaelic_football */
163 throwWarning: tr("{0} is deprecated", "{0.tag}");
164 suggestAlternative: "sport=gaelic_games";
165 group: tr("deprecated tagging");
166 fixAdd: "sport=gaelic_games";
167}
168
169*[power=station] {
170 /* see #8847 / #8961 - http://wiki.openstreetmap.org/wiki/Tag:power=station */
171 throwWarning: tr("{0} is deprecated", "{0.tag}");
172 suggestAlternative: "power=plant";
173 suggestAlternative: "power=substation";
174 group: tr("deprecated tagging");
175}
176
177*[power=sub_station] {
178 throwWarning: tr("{0} is deprecated", "{0.tag}");
179 suggestAlternative: "power=substation";
180 group: tr("deprecated tagging");
181 fixAdd: "power=substation";
182}
183
184*[generator:method=dam] {
185 throwWarning: tr("{0} is deprecated", "{0.tag}");
186 suggestAlternative: "generator:method=water-storage";
187 group: tr("deprecated tagging");
188 fixAdd: "generator:method=water-storage";
189}
190
191*[generator:method=pumped-storage] {
192 throwWarning: tr("{0} is deprecated", "{0.tag}");
193 suggestAlternative: "generator:method=water-pumped-storage";
194 group: tr("deprecated tagging");
195 fixAdd: "generator:method=water-pumped-storage";
196}
197
198*[generator:method=pumping] {
199 throwWarning: tr("{0} is deprecated", "{0.tag}");
200 suggestAlternative: "generator:method=water-pumped-storage";
201 group: tr("deprecated tagging");
202 fixAdd: "generator:method=water-pumped-storage";
203}
204
205*[fence_type=chain] {
206 /* see #8962 - http://wiki.openstreetmap.org/wiki/Key:fence_type */
207 throwWarning: tr("{0} is deprecated", "{0.tag}");
208 suggestAlternative: "barrier=chain";
209 suggestAlternative: "barrier=fence + fence_type=chain_link";
210 group: tr("deprecated tagging");
211}
212
213*[building=entrance] {
214 /* see #9000 - http://wiki.openstreetmap.org/wiki/Key:entrance */
215 throwWarning: tr("{0} is deprecated", "{0.tag}");
216 suggestAlternative: "entrance";
217 group: tr("deprecated tagging");
218}
219
220*[board_type=board] {
221 /* see #9213 - Useless tag proposed in internal preset for years */
222 throwWarning: tr("{0} is deprecated", "{0.tag}");
223 group: tr("deprecated tagging");
224 fixRemove: "board_type";
225}
226
227*[man_made=measurement_station] {
228 /* see #8434 - http://wiki.openstreetmap.org/wiki/Proposed_features/monitoring_station */
229 throwWarning: tr("{0} is deprecated", "{0.tag}");
230 suggestAlternative: "man_made=monitoring_station";
231 group: tr("deprecated tagging");
232 fixAdd: "man_made=monitoring_station";
233}
234
235*[measurement=water_level] {
236 throwWarning: tr("{0} is deprecated", "{0.tag}");
237 suggestAlternative: "monitoring:water_level=yes";
238 group: tr("deprecated tagging");
239 fixRemove: "measurement";
240 fixAdd: "monitoring:water_level=yes";
241}
242
243*[measurement=weather] {
244 throwWarning: tr("{0} is deprecated", "{0.tag}");
245 suggestAlternative: "monitoring:weather=yes";
246 group: tr("deprecated tagging");
247 fixRemove: "measurement";
248 fixAdd: "monitoring:weather=yes";
249}
250
251*[measurement=seismic] {
252 throwWarning: tr("{0} is deprecated", "{0.tag}");
253 suggestAlternative: "monitoring:seismic_activity=yes";
254 group: tr("deprecated tagging");
255 fixRemove: "measurement";
256 fixAdd: "monitoring:seismic_activity=yes";
257}
258
259*[monitoring:river_level] {
260 throwWarning: tr("{0} is deprecated", "{0.key}");
261 suggestAlternative: "monitoring:water_level";
262 group: tr("deprecated tagging");
263 fixChangeKey: "monitoring:river_level => monitoring:water_level";
264}
265
266*[stay] {
267 throwWarning: tr("{0} is deprecated", "{0.key}");
268 suggestAlternative: "maxstay";
269 group: tr("deprecated tagging");
270 fixChangeKey: "stay => maxstay";
271}
272
273*[emergency=aed] {
274 /* see #9554 - http://wiki.openstreetmap.org/wiki/Proposed_features/automated_external_defibrillator */
275 throwWarning: tr("{0} is deprecated", "{0.tag}");
276 suggestAlternative: "emergency=defibrillator";
277 group: tr("deprecated tagging");
278 fixAdd: "emergency=defibrillator";
279}
280
281/* from http://wiki.openstreetmap.org/wiki/Conditional_restrictions#Deprecated_tags */
282*[day_on][!restriction],
283*[day_off][!restriction],
284*[date_on][!restriction],
285*[date_off][!restriction],
286*[hour_on][!restriction],
287*[hour_off][!restriction] {
288 throwWarning: tr("{0} is deprecated", "{0.key}");
289 suggestAlternative: "*:conditional";
290 group: tr("deprecated tagging");
291 assertMatch: "node day_on=0-12";
292}
293
294/* see #10000, http://wiki.openstreetmap.org/wiki/Tag%3Aaccess%3Ddesignated */
295*[access=designated] {
296 throwWarning: tr("''{0}'' is meaningless, use more specific tags, e.g. ''{1}''", "access=designated", "bicycle=designated");
297 assertMatch: "way access=designated";
298}
299*[access=official] {
300 throwWarning: tr("''{0}'' does not specify the official mode of transportation, use ''{1}'' for example", "access=official", "bicycle=official");
301 assertMatch: "way access=official";
302}
303
304/* see #10085 - give warning for fixme=yes */
305*[fixme=yes], *[FIXME=yes] {
306 throwWarning: tr("{0}={1} is unspecific. Instead of ''{1}'' please give more information about what exactly should be fixed.", "{0.key}", "{0.value}");
307 assertMatch: "way fixme=yes";
308}
309
310*[name][name=~/^(?i)fixme$/] {
311 throwWarning: tr("Wrong usage of {0} tag. Remove {1}, because it is clear that the name is missing even without an additional tag.", "{0.key}", "{0.tag}");
312 fixRemove: "name";
313 assertMatch: "node name=fixme";
314 assertMatch: "node name=Fixme";
315 assertMatch: "node name=FIXME";
316 assertNoMatch: "node name=valid name";
317}
318
319*[note][note=~/^(?i)fixme$/] {
320 throwWarning: tr("{0} is unspecific. Instead use the key fixme with the information what exactly should be fixed in the value of fixme.", "{0.tag}");
321}
322
323/* see #10107, #10108, #10929, #13391 - http://wiki.openstreetmap.org/wiki/Proposed_features/leaftype#Features.2FPages_affected */
324*[type=broad_leaved],
325*[type=broad_leafed] {
326 throwWarning: tr("{0} is deprecated", "{0.tag}");
327 suggestAlternative: "leaf_type=broadleaved";
328 group: tr("deprecated tagging");
329 fixRemove: "{0.key}";
330 fixAdd: "leaf_type=broadleaved";
331}
332
333*[wood=coniferous],
334*[type=coniferous],
335*[type=conifer] {
336 throwWarning: tr("{0} is deprecated", "{0.tag}");
337 suggestAlternative: "leaf_type=needleleaved";
338 group: tr("deprecated tagging");
339 fixRemove: "{0.key}";
340 fixAdd: "leaf_type=needleleaved";
341}
342
343*[wood=mixed] {
344 throwWarning: tr("{0} is deprecated", "{0.tag}");
345 suggestAlternative: "leaf_type=mixed";
346 group: tr("deprecated tagging");
347 fixRemove: "wood";
348 fixAdd: "leaf_type=mixed";
349}
350
351*[wood=evergreen],
352*[type=evergreen] {
353 throwWarning: tr("{0} is deprecated", "{0.tag}");
354 suggestAlternative: "leaf_cycle=evergreen";
355 group: tr("deprecated tagging");
356 fixRemove: "{0.key}";
357 fixAdd: "leaf_cycle=evergreen";
358}
359
360*[type=deciduous],
361*[type=deciduos] {
362 throwWarning: tr("{0} is deprecated", "{0.tag}");
363 suggestAlternative: "leaf_cycle=deciduous";
364 group: tr("deprecated tagging");
365 fixRemove: "type";
366 fixAdd: "leaf_cycle=deciduous";
367}
368
369*[wood=deciduous] {
370 throwWarning: tr("{0} is deprecated", "{0.tag}");
371 suggestAlternative: "leaf_type + leaf_cycle";
372 group: tr("deprecated tagging");
373}
374
375node[type=palm],
376way[type=palm] {
377 throwWarning: tr("{0} is deprecated", "{0.tag}");
378 suggestAlternative: "leaf_type";
379 suggestAlternative: "trees";
380 suggestAlternative: "species";
381 group: tr("deprecated tagging");
382}
383
384*[natural=land] {
385 throwWarning: tr("{0} is deprecated. Please use instead a multipolygon.", "{0.tag}");
386 group: tr("deprecated tagging");
387 assertMatch: "way natural=land";
388}
389
390/* see #10447 - https://wiki.openstreetmap.org/wiki/Proposed_features/Bridge_types#Deprecated_bridge_key_values */
391*[bridge=causeway] {
392 throwWarning: tr("{0} is deprecated", "{0.tag}");
393 suggestAlternative: "ford=yes";
394 suggestAlternative: "bridge=low_water_crossing";
395 suggestAlternative: "embankment=yes";
396 group: tr("deprecated tagging");
397}
398
399*[bridge=swing] {
400 throwWarning: tr("{0} is deprecated", "{0.tag}");
401 suggestAlternative: "bridge:movable=swing";
402 suggestAlternative: "bridge:structure=simple-suspension";
403 group: tr("deprecated tagging");
404}
405
406*[bridge=suspension] {
407 throwWarning: tr("{0} is deprecated", "{0.tag}");
408 suggestAlternative: "bridge=yes + bridge:structure=suspension";
409 group: tr("deprecated tagging");
410 fixAdd: "bridge=yes";
411 fixAdd: "bridge:structure=suspension";
412}
413
414/* See #10530 - Incorrect tag proposed in internal preset for years */
415*[fee=interval],
416*[lit=interval],
417*[supervised=interval] {
418 throwWarning: tr("{0} is deprecated. Please specify interval by using opening_hours syntax", "{0.tag}");
419 group: tr("deprecated tagging");
420}
421
422/* See #10582 - JOSM supported this tag as "don't upload this" feature, before the introduction of upload flag at layer level */
423*[/josm\/ignore/] {
424 throwError: tr("{0} is deprecated. Please delete this object and use a private layer instead", "{0.key}");
425 group: tr("deprecated tagging");
426 fixDeleteObject: this;
427}
428
429/* see #8281 */
430*[sport=diving] {
431 throwWarning: tr("{0} is deprecated", "{0.tag}");
432 suggestAlternative: "sport=scuba_diving";
433 suggestAlternative: "sport=cliff_diving";
434 group: tr("deprecated tagging");
435}
436
437/* see #8281 */
438*[parking=park_and_ride] {
439 throwWarning: tr("{0} is deprecated", "{0.tag}");
440 suggestAlternative: "amenity=parking + park_ride=yes";
441 group: tr("deprecated tagging");
442 fixRemove: "parking";
443 fixAdd: "amenity=parking";
444 fixAdd: "park_ride=yes";
445}
446
447/* see #10661, #10837, #11737, #12771 */
448*[traffic_calming=yes],
449*[access=restricted],
450*[barrier=yes],
451*[aerialway=yes][!public_transport],
452*[amenity=yes],
453*[leisure=yes],
454*[shop="*"],
455*[shop=yes][amenity!=fuel],
456*[craft=yes],
457*[service=yes],
458*[place=yes] {
459 throwWarning: tr("{0}={1} is unspecific. Please replace ''{1}'' by a specific value.", "{0.key}", "{0.value}");
460}
461
462/* see #10693 - http://wiki.openstreetmap.org/wiki/Proposed_features/drop_recommendation_for_place_name , #10837 */
463*[place_name][!name] {
464 throwWarning: tr("{0} should be replaced with {1}", "{0.key}", "{1.key}");
465 fixChangeKey: "place_name => name";
466}
467*[place][place_name = *name] {
468 throwWarning: tr("{0} = {1}; remove {0}", "{1.key}", "{1.value}");
469 fixRemove: "{1.key}";
470}
471
472way[sidewalk=yes] {
473 throwWarning: tr("{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or ''both''.", "{0.key}", "{0.value}");
474}
475
476*[waterway=water_point] {
477 throwWarning: tr("{0} is deprecated", "{0.tag}");
478 suggestAlternative: "amenity=water_point";
479 group: tr("deprecated tagging");
480 fixChangeKey: "waterway => amenity";
481}
482*[waterway=waste_disposal] {
483 throwWarning: tr("{0} is deprecated", "{0.tag}");
484 suggestAlternative: "amenity=waste_disposal";
485 group: tr("deprecated tagging");
486 fixChangeKey: "waterway => amenity";
487}
488*[waterway=mooring] {
489 throwWarning: tr("{0} is deprecated", "{0.tag}");
490 suggestAlternative: "mooring=yes";
491 group: tr("deprecated tagging");
492 fixRemove: "waterway";
493 fixAdd: "mooring=yes";
494}
495
496/* see #10837 */
497*[building][levels],
498*[building:part=yes][levels] {
499 throwWarning: tr("{0} is deprecated", "{1.key}");
500 suggestAlternative: "building:levels";
501 group: tr("deprecated tagging");
502 fixChangeKey: "levels => building:levels";
503}
504
505/* see #10691 */
506*[protected_class] {
507 throwWarning: tr("{0} is deprecated", "{0.key}");
508 suggestAlternative: "protect_class";
509 group: tr("deprecated tagging");
510 fixChangeKey: "protected_class => protect_class";
511}
512
513/* see #11070 */
514*[lock=unknown],
515*[hide=unknown],
516*[shelter=unknown],
517*[access=unknown],
518*[capacity:parent=unknown],
519*[capacity:women=unknown],
520*[capacity:disabled=unknown],
521*[crossing=unknown],
522*[foot=unknown] {
523 throwWarning: tr("Unspecific tag {0}", "{0.tag}");
524}
525
526/* unclear definition, see #11183 */
527*[sport=skiing] {
528 throwWarning: tr("Definition of {0} is unclear", "{0.tag}");
529 suggestAlternative: tr("{0} + {1} + {2}", "piste:type=*", "piste:difficulty=*", "piste:grooming=*");
530 group: tr("deprecated tagging");
531}
532
533/* see #11223 */
534*[waterway=wadi] {
535 throwWarning: tr("{0} is deprecated", "{0.tag}");
536 suggestAlternative: "{0.key}=* + intermittent=yes";
537 suggestAlternative: "natural=valley";
538 group: tr("deprecated tagging");
539}
540
541/* see #10346, #15667 (waterway has its own rules in unnecessary.mapcss) */
542way[oneway=1][!waterway] {
543 throwWarning: tr("{0} is deprecated", "{0.tag}");
544 suggestAlternative: "oneway=yes";
545 group: tr("deprecated tagging");
546 fixAdd: "oneway=yes";
547}
548
549/* see #11329, #15667 */
550way[oneway=-1][!waterway] {
551 throwWarning: tr("{0} is not recommended. Use the Reverse Ways function from the Tools menu.", "{0.tag}");
552}
553
554*[drinkable] {
555 throwWarning: tr("{0} is deprecated", "{0.key}");
556 suggestAlternative: "drinking_water";
557 group: tr("deprecated tagging");
558}
559
560/* see #10329, #15877 */
561 /* simple key change */
562*[color][!colour] {
563 throwWarning: tr("{0} is deprecated", "{0.key}");
564 suggestAlternative: "colour";
565 group: tr("deprecated tagging");
566 fixChangeKey: "color => colour";
567 assertMatch: "way color=red";
568 assertNoMatch: "way color=red colour=red";
569}
570area[building:color][!building:colour] {
571 throwWarning: tr("{0} is deprecated", "{0.key}");
572 suggestAlternative: "building:colour";
573 group: tr("deprecated tagging");
574 fixChangeKey: "building:color => building:colour";
575 assertMatch: "way building:color=red";
576 assertNoMatch: "way building:color=red building:colour=red";
577}
578area[roof:color][!roof:colour] {
579 throwWarning: tr("{0} is deprecated", "{0.key}");
580 suggestAlternative: "roof:colour";
581 group: tr("deprecated tagging");
582 fixChangeKey: "roof:color => roof:colour";
583 assertMatch: "way roof:color=red";
584 assertNoMatch: "way roof:color=red roof:colour=red";
585}
586 /* both tags with same value, remove color */
587*[color][colour][color=*colour] {
588 throwWarning: tr("{0} together with {1}", "{0.key}", "{1.key}");
589 suggestAlternative: "colour";
590 group: tr("deprecated tagging");
591 set samecolor;
592 fixRemove: "color";
593 assertMatch: "way color=red colour=red";
594 assertNoMatch: "way color=red colour=green";
595}
596area[building:color][building:colour]["building:color"=*"building:colour"] {
597 throwWarning: tr("{0} together with {1}", "{0.key}", "{1.key}");
598 suggestAlternative: "building:colour";
599 group: tr("deprecated tagging");
600 set samebuildingcolor;
601 fixRemove: "building:color";
602 assertMatch: "way building:color=red building:colour=red";
603 assertNoMatch: "way building:color=red building:colour=green";
604}
605area[roof:color][roof:colour]["roof:color"=*"roof:colour"] {
606 throwWarning: tr("{0} together with {1}", "{0.key}", "{1.key}");
607 suggestAlternative: "roof:colour";
608 group: tr("deprecated tagging");
609 set sameroofcolor;
610 fixRemove: "roof:color";
611 assertMatch: "way roof:color=red roof:colour=red";
612 assertNoMatch: "way roof:color=red roof:colour=green";
613}
614 /* both tags with different values, no autofix */
615*[color][colour]!.samecolor {
616 throwWarning: tr("{0} together with {1} and conflicting values", "{0.key}", "{1.key}");
617 suggestAlternative: "colour";
618 group: tr("deprecated tagging");
619 assertNoMatch: "way color=red colour=red";
620 assertMatch: "way color=red colour=green";
621}
622*[building:color][building:colour]!.samebuildingcolor {
623 throwWarning: tr("{0} together with {1} and conflicting values", "{0.key}", "{1.key}");
624 suggestAlternative: "building:colour";
625 group: tr("deprecated tagging");
626 assertNoMatch: "way building:color=red building:colour=red";
627 assertMatch: "way building:color=red building:colour=green";
628}
629*[roof:color][roof:colour]!.sameroofcolor {
630 throwWarning: tr("{0} together with {1} and conflicting values", "{0.key}", "{1.key}");
631 suggestAlternative: "roof:colour";
632 group: tr("deprecated tagging");
633 assertNoMatch: "way roof:color=red roof:colour=red";
634 assertMatch: "way roof:color=red roof:colour=green";
635}
636 /* further more universal checks, no autofix */
637*[/:color/][!building:color][!roof:color] {
638 throwWarning: tr("{0} is deprecated", "{0.key}");
639 suggestAlternative: ":colour";
640 group: tr("deprecated tagging");
641 assertNoMatch: "way color=red";
642 assertNoMatch: "way roof:color=grey";
643 assertMatch: "way cycleway:surface:color=grey";
644}
645*[/color:/] {
646 throwWarning: tr("{0} is deprecated", "{0.key}");
647 suggestAlternative: "colour:";
648 group: tr("deprecated tagging");
649 assertNoMatch: "way color=red";
650 assertMatch: "way color:back=grey";
651}
652
653/* see #11234 */
654*[/=|\+|\/|&|<|>|;|'|"|%|#|@|\\|,|\.|\{|\}|\?|\*|\^|\$/] {
655 throwWarning: tr("{0}", "{0.key}");
656 group: tr("key with uncommon character");
657}
658
659/* see #11330 */
660*[/^.$/],
661node[/^..$/],
662way[/^..$/],
663relation[/^..$/][!to] {
664 throwWarning: tr("uncommon short key");
665 assertNoMatch: "relation to=Berlin";
666 assertMatch: "relation fo=bar";
667 assertMatch: "way to=bar";
668 assertMatch: "node fo=bar";
669 assertMatch: "node f=b";
670}
671
672/* see #11439 */
673*[sport=hockey] {
674 throwWarning: tr("{0} is deprecated", "{0.tag}");
675 suggestAlternative: "sport=field_hockey";
676 suggestAlternative: "sport=ice_hockey";
677 group: tr("deprecated tagging");
678}
679
680/* see #11471 */
681*[sport=billard],
682*[sport=billards],
683*[sport=billiard] {
684 throwWarning: tr("{0} is deprecated", "{0.tag}");
685 suggestAlternative: "sport=billiards";
686 group: tr("deprecated tagging");
687 fixAdd: "sport=billiards";
688}
689
690/* see #11499, #16928 */
691*[payment:credit_cards=yes] {
692 throwWarning: tr("{0} is inaccurate. Use separate tags for each specific type, e.g. {1} or {2}.", "{0.tag}", "payment:mastercard=yes", "payment:visa=yes");
693}
694*[payment:debit_cards=yes] {
695 throwWarning: tr("{0} is inaccurate. Use separate tags for each specific type, e.g. {1} or {2}.", "{0.tag}", "payment:maestro=yes", "payment:girocard=yes");
696}
697*[payment:electronic_purses=yes] {
698 throwWarning: tr("{0} is inaccurate. Use separate tags for each specific type, e.g. {1} or {2}.", "{0.tag}", "payment:ep_geldkarte=yes", "payment:ep_quick=yes");
699}
700*[payment:cryptocurrencies=yes] {
701 throwWarning: tr("{0} is inaccurate. Use separate tags for each specific type, e.g. {1} or {2}.", "{0.tag}", "payment:bitcoin=yes", "payment:litecoin=yes");
702}
703
704/* defunct payment cards */
705*[payment:ep_quick],
706*[payment:ep_cash],
707*[payment:ep_proton],
708*[payment:ep_chipknip] {
709 throwWarning: tr("{0} is deprecated", "{0.key}");
710 group: tr("deprecated tagging");
711 fixRemove: "{0.key}";
712}
713
714/* see #8717 */
715*[kp][highway=milestone],
716*[kp][railway=milestone],
717*[kp][waterway=milestone] {
718 throwWarning: tr("{0} is deprecated", "{0.key}");
719 suggestAlternative: "distance";
720 group: tr("deprecated tagging");
721 fixChangeKey: "kp => distance";
722}
723*[pk][highway=milestone],
724*[pk][railway=milestone],
725*[pk][waterway=milestone] {
726 throwWarning: tr("{0} is deprecated", "{0.key}");
727 suggestAlternative: "distance";
728 group: tr("deprecated tagging");
729 fixChangeKey: "pk => distance";
730}
731
732*[postcode] {
733 throwWarning: tr("{0} is deprecated", "{0.key}");
734 suggestAlternative: "addr:postcode";
735 group: tr("deprecated tagging");
736 suggestAlternative: "postal_code";
737}
738
739*[water=intermittent] {
740 throwWarning: tr("{0} is deprecated", "{0.tag}");
741 suggestAlternative: "intermittent=yes";
742 group: tr("deprecated tagging");
743 fixRemove: "water";
744 fixAdd: "intermittent=yes";
745}
746
747/* #10907, #14141 */
748/* type=waterway on ways is questionable, but the autofix doesn't make it better, so disabled; type=route and type=network is used only on relations */
749way[type][type!=waterway][man_made=pipeline],
750node[type][pipeline=marker] {
751 throwWarning: tr("{0} is deprecated", "{0.key}");
752 suggestAlternative: "substance";
753 group: tr("deprecated tagging");
754 fixChangeKey: "type => substance";
755}
756
757*[landuse=farm] {
758 throwWarning: tr("{0} is deprecated", "{0.tag}");
759 suggestAlternative: "landuse=farmland";
760 suggestAlternative: "landuse=farmyard";
761 group: tr("deprecated tagging");
762}
763
764/* #12135 comment:11 */
765*[seamark=buoy]["seamark:type"=~/^(buoy_cardinal|buoy_installation|buoy_isolated_danger|buoy_lateral|buoy_safe_water|buoy_special_purpose|mooring)$/] {
766 throwWarning: tr("{0} is deprecated", "{0.tag}");
767 suggestAlternative: "{1.tag}";
768 group: tr("deprecated tagging");
769 fixRemove: "seamark";
770}
771*[seamark=buoy]["seamark:type"!~/^(buoy_cardinal|buoy_installation|buoy_isolated_danger|buoy_lateral|buoy_safe_water|buoy_special_purpose|mooring)$/] {
772 throwWarning: tr("{0} is deprecated", "{0.tag}");
773 suggestAlternative: "{1.tag}";
774 group: tr("deprecated tagging");
775}
776/* #12135 - Tag removed rom rendering https://github.com/gravitystorm/openstreetmap-carto/pull/1830 */
777*[landuse=conservation] {
778 throwWarning: tr("{0} is deprecated", "{0.tag}");
779 suggestAlternative: "boundary=protected_area";
780 group: tr("deprecated tagging");
781 fixAdd: "boundary=protected_area";
782 fixRemove: "landuse";
783}
784
785/* #12205 */
786*[amenity=kiosk] {
787 throwWarning: tr("{0} is deprecated", "{0.tag}");
788 suggestAlternative: "shop=kiosk";
789 group: tr("deprecated tagging");
790 fixChangeKey: "amenity => shop";
791}
792*[amenity=shop] {
793 throwWarning: tr("{0} is deprecated", "{0.tag}");
794 suggestAlternative: "shop=*";
795 group: tr("deprecated tagging");
796}
797*[shop=fishmonger] {
798 throwWarning: tr("{0} is deprecated", "{0.tag}");
799 suggestAlternative: "shop=seafood";
800 group: tr("deprecated tagging");
801 fixAdd: "shop=seafood";
802}
803*[shop=fish] {
804 throwWarning: tr("{0} is deprecated", "{0.tag}");
805 suggestAlternative: "shop=seafood";
806 suggestAlternative: "shop=pet";
807 suggestAlternative: "shop=fishing";
808 group: tr("deprecated tagging");
809}
810*[shop=betting] {
811 throwWarning: tr("{0} is deprecated", "{0.tag}");
812 suggestAlternative: "shop=bookmaker";
813 suggestAlternative: "shop=lottery";
814 suggestAlternative: "amenity=casino";
815 suggestAlternative: "leisure=amusement_arcade";
816 suggestAlternative: "leisure=adult_gaming_centre";
817 suggestAlternative: "amenity=gambling";
818 group: tr("deprecated tagging");
819}
820*[shop=perfume] {
821 throwWarning: tr("{0} is deprecated", "{0.tag}");
822 suggestAlternative: "shop=perfumery";
823 group: tr("deprecated tagging");
824 fixAdd: "shop=perfumery";
825}
826*[amenity=exercise_point] {
827 throwWarning: tr("{0} is deprecated", "{0.tag}");
828 suggestAlternative: "leisure=fitness_station";
829 group: tr("deprecated tagging");
830 fixAdd: "leisure=fitness_station";
831 fixRemove: "amenity";
832}
833*[shop=auto_parts] {
834 throwWarning: tr("{0} is deprecated", "{0.tag}");
835 suggestAlternative: "shop=car_parts";
836 group: tr("deprecated tagging");
837 fixAdd: "shop=car_parts";
838}
839*[amenity=car_repair] {
840 throwWarning: tr("{0} is deprecated", "{0.tag}");
841 suggestAlternative: "shop=car_repair";
842 group: tr("deprecated tagging");
843 fixChangeKey: "amenity => shop";
844}
845
846/* #12311 */
847*[amenity=studio][type=audio],
848*[amenity=studio][type=radio],
849*[amenity=studio][type=television],
850*[amenity=studio][type=video] {
851 throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}");
852 suggestAlternative: "studio";
853 group: tr("deprecated tagging");
854 fixChangeKey: "type => studio";
855}
856
857/* #11507, #12297, #15409 */
858*[power=cable_distribution_cabinet] {
859 throwWarning: tr("{0} is deprecated", "{0.tag}");
860 suggestAlternative: "man_made=street_cabinet + street_cabinet=*";
861 group: tr("deprecated tagging");
862 fixAdd: "man_made=street_cabinet";
863 fixRemove: "power";
864}
865
866/* #16430 */
867*[power][location=kiosk] {
868 throwWarning: tr("{0} is deprecated", "{1.tag}");
869 group: tr("deprecated tagging");
870 fixAdd: "man_made=street_cabinet";
871 fixAdd: "street_cabinet=power";
872 fixRemove: "location";
873}
874
875/* #12276 */
876*[man_made=well] {
877 throwWarning: tr("{0} is deprecated", "{0.tag}");
878 suggestAlternative: "man_made=water_well";
879 suggestAlternative: "man_made=petroleum_well";
880 group: tr("deprecated tagging");
881}
882*[amenity=dog_bin],
883*[amenity=dog_waste_bin] {
884 throwWarning: tr("{0} is deprecated", "{0.tag}");
885 suggestAlternative: "amenity=waste_basket + waste=dog_excrement + vending=excrement_bags";
886 group: tr("deprecated tagging");
887 fixAdd: "amenity=waste_basket";
888 fixAdd: "waste=dog_excrement";
889 fixAdd: "vending=excrement_bags";
890}
891*[amenity=artwork] {
892 throwWarning: tr("{0} is deprecated", "{0.tag}");
893 suggestAlternative: "tourism=artwork";
894 group: tr("deprecated tagging");
895 fixAdd: "tourism=artwork";
896 fixRemove: "amenity";
897}
898*[amenity=community_center] {
899 throwWarning: tr("{0} is deprecated", "{0.tag}");
900 suggestAlternative: "amenity=community_centre";
901 group: tr("deprecated tagging");
902 fixAdd: "amenity=community_centre";
903}
904*[man_made=cut_line] {
905 throwWarning: tr("{0} is deprecated", "{0.tag}");
906 suggestAlternative: "man_made=cutline";
907 group: tr("deprecated tagging");
908 fixAdd: "man_made=cutline";
909}
910*[amenity=park] {
911 throwWarning: tr("{0} is deprecated", "{0.tag}");
912 suggestAlternative: "leisure=park";
913 group: tr("deprecated tagging");
914 fixAdd: "leisure=park";
915 fixRemove: "amenity";
916}
917*[amenity=hotel] {
918 throwWarning: tr("{0} is deprecated", "{0.tag}");
919 suggestAlternative: "tourism=hotel";
920 group: tr("deprecated tagging");
921 fixAdd: "tourism=hotel";
922 fixRemove: "amenity";
923}
924*[shop=window],
925*[shop=windows] {
926 throwWarning: tr("{0} is deprecated", "{0.tag}");
927 suggestAlternative: "craft=window_construction";
928 group: tr("deprecated tagging");
929 fixAdd: "craft=window_construction";
930 fixRemove: "shop";
931}
932*[amenity=education] {
933 throwWarning: tr("{0} is deprecated", "{0.tag}");
934 suggestAlternative: "amenity=college";
935 suggestAlternative: "amenity=school";
936 suggestAlternative: "amenity=university";
937 group: tr("deprecated tagging");
938}
939*[shop=gallery] {
940 throwWarning: tr("{0} is deprecated", "{0.tag}");
941 suggestAlternative: "shop=art";
942 group: tr("deprecated tagging");
943 fixAdd: "shop=art";
944}
945*[shop=gambling],
946*[leisure=gambling] {
947 throwWarning: tr("{0} is deprecated", "{0.tag}");
948 suggestAlternative: "shop=bookmaker";
949 suggestAlternative: "shop=lottery";
950 suggestAlternative: "amenity=casino";
951 suggestAlternative: "leisure=amusement_arcade";
952 suggestAlternative: "amenity=gambling";
953 group: tr("deprecated tagging");
954}
955*[office=real_estate_agent] {
956 throwWarning: tr("{0} is deprecated", "{0.tag}");
957 suggestAlternative: "office=estate_agent ";
958 group: tr("deprecated tagging");
959 fixAdd: "office=estate_agent ";
960}
961*[shop=glass] {
962 throwWarning: tr("{0} is deprecated", "{0.tag}");
963 suggestAlternative: "shop=glaziery";
964 suggestAlternative: "craft=glaziery";
965 group: tr("deprecated tagging");
966}
967*[amenity=proposed],
968*[amenity=proposed],
969*[amenity=disused],
970*[shop=disused],
971*[historic=abandoned] {
972 throwWarning: tr("{0} is deprecated. Use the {1}: key prefix instead.", "{0.tag}", "{0.value}");
973 group: tr("deprecated tagging");
974}
975
976/* #12431 */
977*[amenity=swimming_pool] {
978 throwWarning: tr("{0} is deprecated", "{0.tag}");
979 suggestAlternative: "leisure=swimming_pool";
980 group: tr("deprecated tagging");
981 fixChangeKey: "amenity => leisure";
982}
983
984/* #17379 */
985*[amenity=sauna] {
986 throwWarning: tr("{0} is deprecated", "{0.tag}");
987 suggestAlternative: "leisure=sauna";
988 group: tr("deprecated tagging");
989 fixChangeKey: "amenity => leisure";
990}
991
992/* #12494 */
993*[/^[^t][^i][^g].+_[0-9]$/][!/^note_[0-9]$/][!/^description_[0-9]$/] {
994 throwOther: tr("{0}", "{0.key}");
995 group: tr("questionable key (ending with a number)");
996 assertMatch: "way name_1=foo";
997 assertNoMatch: "way note_2=foo";
998 assertNoMatch: "way description_3=foo";
999 assertNoMatch: "way tiger:name_base_1=bar"; /*should not warn for key tiger:name_base_1 */
1000}
1001
1002/* #12500 */
1003*[sport=skating] {
1004 throwWarning: tr("{0} is deprecated", "{0.tag}");
1005 suggestAlternative: "sport=ice_skating";
1006 suggestAlternative: "sport=roller_skating";
1007 group: tr("deprecated tagging");
1008}
1009
1010way[barrier=wall][type=noise_barrier][!wall],
1011way[barrier=wall][type=noise_barrier][wall=noise_barrier] {
1012 throwWarning: tr("{0} is deprecated", "{1.tag}");
1013 suggestAlternative: "wall=noise_barrier";
1014 group: tr("deprecated tagging");
1015 fixChangeKey: "type => wall";
1016}
1017way[barrier=wall][type=noise_barrier][wall][wall!=noise_barrier] {
1018 throwWarning: tr("{0} is deprecated", "{1.tag}");
1019 suggestAlternative: "wall=noise_barrier";
1020 group: tr("deprecated tagging");
1021}
1022
1023/* #8978, 12588 */
1024*[amenity=public_building] {
1025 throwWarning: tr("{0} is deprecated", "{0.tag}");
1026 suggestAlternative: "amenity=townhall";
1027 suggestAlternative: "amenity=community_centre";
1028 suggestAlternative: "amenity=hospital";
1029 suggestAlternative: "leisure=sports_centre";
1030 suggestAlternative: "office=government";
1031 suggestAlternative: "building=hospital";
1032 suggestAlternative: "building=public";
1033 suggestAlternative: "...";
1034 group: tr("deprecated tagging");
1035}
1036
1037/* #12708 */
1038*[vending=news_papers] {
1039 throwWarning: tr("{0} is deprecated", "{0.tag}");
1040 suggestAlternative: "vending=newspapers";
1041 group: tr("deprecated tagging");
1042 fixAdd: "vending=newspapers";
1043}
1044
1045/* #12771 */
1046*[service=drive_through] {
1047 throwWarning: tr("{0} is deprecated", "{0.tag}");
1048 suggestAlternative: "service=drive-through";
1049 group: tr("deprecated tagging");
1050 fixAdd: "service=drive-through";
1051}
1052
1053/* #12771 */
1054way[highway=service][service][service !~ /^(alley|drive-through|drive_through|driveway|emergency_access|parking_aisle|rest_area|yes)$/], /* drive_through and yes have special warnings */
1055way[railway=rail][service][service !~ /^(crossover|siding|spur|yard)$/],
1056way[waterway=canal][service][service !~ /^(irrigation|transportation|water_power)$/] {
1057 throwWarning: tr("The key {0} has an uncommon value.", "{1.key}");
1058}
1059
1060/* #13008 */
1061*[name:botanical] {
1062 throwWarning: tr("{0} is deprecated", "{0.key}");
1063 suggestAlternative: "species";
1064 group: tr("deprecated tagging");
1065}
1066
1067/* #11344, #13101, #15480 */
1068node[pole=air_to_ground],
1069node[pole=transition] {
1070 throwWarning: tr("{0} is deprecated", "{0.tag}");
1071 suggestAlternative: "location:transition=yes";
1072 group: tr("deprecated tagging");
1073 fixAdd: "location:transition=yes";
1074 fixRemove: "pole";
1075}
1076node[tower=air_to_ground],
1077node[tower=transition] {
1078 throwWarning: tr("{0} is deprecated", "{0.tag}");
1079 suggestAlternative: "location:transition=yes";
1080 group: tr("deprecated tagging");
1081 fixAdd: "location:transition=yes";
1082 fixRemove: "tower";
1083}
1084
1085/* #13138 */
1086area[landuse=pond] {
1087 throwWarning: tr("{0} is deprecated", "{0.tag}");
1088 suggestAlternative: "natural=water + water=pond";
1089 group: tr("deprecated tagging");
1090 fixAdd: "natural=water";
1091 fixAdd: "water=pond";
1092 fixRemove: "landuse";
1093}
1094
1095*[shop=souvenir],
1096*[shop=souvenirs],
1097*[shop=souveniers] {
1098 throwWarning: tr("{0} is deprecated", "{0.tag}");
1099 suggestAlternative: "shop=gift";
1100 group: tr("deprecated tagging");
1101 fixAdd: "shop=gift";
1102}
1103
1104*[vending=animal_food] {
1105 throwWarning: tr("{0} is deprecated", "{0.tag}");
1106 suggestAlternative: "vending=animal_feed";
1107 group: tr("deprecated tagging");
1108 fixAdd: "vending=animal_feed";
1109}
1110
1111/* #14376 */
1112node[vending=photos][amenity=vending_machine],
1113node[vending=photo][amenity=vending_machine] {
1114 throwWarning: tr("{0} is deprecated", "{0.tag}");
1115 suggestAlternative: "amenity=photo_booth";
1116 group: tr("deprecated tagging");
1117 fixRemove: "vending";
1118 fixAdd: "amenity=photo_booth";
1119
1120}
1121node[vending=photos][amenity!=vending_machine] {
1122 throwWarning: tr("{0} is deprecated", "{0.tag}");
1123 suggestAlternative: "amenity=photo_booth";
1124 group: tr("deprecated tagging");
1125}
1126
1127/* #13653 */
1128node[highway=emergency_access_point][phone][!emergency_telephone_code],
1129way[highway=emergency_access_point][phone][!emergency_telephone_code] {
1130 throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}");
1131 suggestAlternative: "emergency_telephone_code";
1132 group: tr("deprecated tagging");
1133 fixChangeKey: "phone => emergency_telephone_code";
1134 assertMatch: "node highway=emergency_access_point phone=123";
1135 assertNoMatch: "node highway=emergency_access_point emergency_telephone_code=456";
1136 assertNoMatch: "node highway=emergency_access_point phone=123 emergency_telephone_code=456";
1137 assertNoMatch: "node phone=123";
1138}
1139node[highway=emergency_access_point][phone=*emergency_telephone_code],
1140way[highway=emergency_access_point][phone=*emergency_telephone_code] {
1141 throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}");
1142 suggestAlternative: "emergency_telephone_code";
1143 group: tr("deprecated tagging");
1144 fixRemove: "phone";
1145 assertNoMatch: "node highway=emergency_access_point phone=123";
1146 assertNoMatch: "node highway=emergency_access_point emergency_telephone_code=123";
1147 assertMatch: "node highway=emergency_access_point phone=123 emergency_telephone_code=123";
1148}
1149node[highway=emergency_access_point][phone][emergency_telephone_code][phone!=*emergency_telephone_code],
1150way[highway=emergency_access_point][phone][emergency_telephone_code][phone!=*emergency_telephone_code] {
1151 throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}");
1152 suggestAlternative: "emergency_telephone_code";
1153 group: tr("deprecated tagging");
1154 assertNoMatch: "node highway=emergency_access_point phone=123";
1155 assertNoMatch: "node highway=emergency_access_point emergency_telephone_code=123";
1156 assertNoMatch: "node highway=emergency_access_point phone=123 emergency_telephone_code=123";
1157}
1158
1159/* #13879 */
1160way[tracktype=1] {
1161 throwError: tr("{0}", "{0.tag}");
1162 suggestAlternative: "tracktype=grade1";
1163 group: tr("misspelled value");
1164 fixAdd: "tracktype=grade1";
1165}
1166way[tracktype=2] {
1167 throwError: tr("{0}", "{0.tag}");
1168 suggestAlternative: "tracktype=grade2";
1169 group: tr("misspelled value");
1170 fixAdd: "tracktype=grade2";
1171}
1172way[tracktype=3] {
1173 throwError: tr("{0}", "{0.tag}");
1174 suggestAlternative: "tracktype=grade3";
1175 group: tr("misspelled value");
1176 fixAdd: "tracktype=grade3";
1177}
1178way[tracktype=4] {
1179 throwError: tr("{0}", "{0.tag}");
1180 suggestAlternative: "tracktype=grade4";
1181 group: tr("misspelled value");
1182 fixAdd: "tracktype=grade4";
1183}
1184way[tracktype=5] {
1185 throwError: tr("{0}", "{0.tag}");
1186 suggestAlternative: "tracktype=grade5";
1187 group: tr("misspelled value");
1188 fixAdd: "tracktype=grade5";
1189}
1190way[tracktype][tracktype!~/^(1|2|3|4|5|grade1|grade2|grade3|grade4|grade5)$/] {
1191 throwError: tr("wrong value: {0}", "{0.tag}");
1192 suggestAlternative: "tracktype=grade1";
1193 suggestAlternative: "tracktype=grade2";
1194 suggestAlternative: "tracktype=grade3";
1195 suggestAlternative: "tracktype=grade4";
1196 suggestAlternative: "tracktype=grade5";
1197}
1198
1199area[area][area!=yes][area!=no] {
1200 throwError: tr("wrong value: {0}", "{0.tag}");
1201 suggestAlternative: "area=yes";
1202 suggestAlternative: "area=no";
1203}
1204
1205/* #13953 */
1206*[amenity=hunting_stand][lock=yes],
1207*[amenity=hunting_stand][lock=no] {
1208 throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}");
1209 suggestAlternative: "lockable";
1210 group: tr("deprecated tagging");
1211 fixChangeKey: "lock => lockable";
1212}
1213
1214*[amenity=advertising][!advertising] {
1215 throwWarning: tr("{0} is deprecated", "{0.tag}");
1216 suggestAlternative: "advertising=*";
1217 group: tr("deprecated tagging");
1218}
1219*[amenity=advertising][advertising] {
1220 throwWarning: tr("{0} is deprecated", "{0.tag}");
1221 suggestAlternative: "advertising=*";
1222 group: tr("deprecated tagging");
1223 fixRemove: "amenity";
1224}
1225
1226way[direction=up][incline=up],
1227way[direction=down][incline=down],
1228way[direction=up][!incline],
1229way[direction=down][!incline] {
1230 throwWarning: tr("{0} is deprecated", "{0.tag}");
1231 suggestAlternative: "incline";
1232 group: tr("deprecated tagging");
1233 fixChangeKey: "direction => incline";
1234}
1235way[direction=up][incline][incline!=up],
1236way[direction=down][incline][incline!=down] {
1237 throwWarning: tr("{0} is deprecated", "{0.tag}");
1238 suggestAlternative: "incline";
1239 group: tr("deprecated tagging");
1240}
1241
1242way[building=y],
1243way[building=1] {
1244 throwError: tr("{0}", "{0.tag}");
1245 suggestAlternative: "building=yes";
1246 group: tr("misspelled value");
1247 fixAdd: "building=yes";
1248}
1249
1250/* #15675 */
1251node[power=transformer][location=pole][transformer] {
1252 throwWarning: tr("{0} together with {1}", "{0.tag}", "{1.tag}");
1253 group: tr("deprecated tagging");
1254 fixChangeKey: "location => power";
1255}
1256node[power=transformer][location=pole][!transformer] {
1257 throwWarning: tr("{0} together with {1}", "{0.tag}", "{1.tag}");
1258 group: tr("deprecated tagging");
1259 fixChangeKey: "location => power";
1260 fixAdd: "transformer=yes";
1261}
1262
1263node[tourism=picnic_table],
1264node[amenity=picnic_table],
1265node[leisure=picnic],
1266node[leisure=picnic_site] {
1267 throwWarning: tr("{0} is deprecated", "{0.tag}");
1268 suggestAlternative: "tourism=picnic_site";
1269 suggestAlternative: "leisure=picnic_table";
1270 group: tr("deprecated tagging");
1271}
1272
1273/* #15804 */
1274relation[water=salt],
1275way[water=salt],
1276way[water=salt_pool],
1277way[water=salt_panne],
1278way[water=salt_pond] {
1279 throwWarning: tr("{0} is deprecated", "{0.tag}");
1280 suggestAlternative: "salt=yes";
1281 suggestAlternative: "landuse=salt_pond";
1282 group: tr("deprecated tagging");
1283}
1284
1285/* #15805 */
1286way[water=tidal] {
1287 throwWarning: tr("{0} is deprecated", "{0.tag}");
1288 suggestAlternative: "tidal=yes";
1289 fixAdd: "tidal=yes";
1290 fixRemove: "water";
1291 group: tr("deprecated tagging");
1292}
1293
1294*[amenity=toilet] {
1295 throwError: tr("{0}", "{0.tag}");
1296 suggestAlternative: "amenity=toilets";
1297 group: tr("misspelled value");
1298 fixAdd: "amenity=toilets";
1299}
1300
1301way[power=busbar] {
1302 throwWarning: tr("{0} is deprecated", "{0.tag}");
1303 suggestAlternative: "power=line + line=busbar";
1304 group: tr("deprecated tagging");
1305 fixAdd: "power=line";
1306 fixAdd: "line=busbar";
1307}
1308
1309/* #16924 */
1310*[man_made=MDF],
1311*[man_made=telephone_exchange] {
1312 throwWarning: tr("{0} is deprecated", "{0.tag}");
1313 suggestAlternative: "telecom=exchange";
1314 fixAdd: "telecom=exchange";
1315 fixRemove: "man_made";
1316 group: tr("deprecated tagging");
1317}
1318*[building=central_office] {
1319 throwWarning: tr("{0} is deprecated", "{0.tag}");
1320 suggestAlternative: "telecom=exchange";
1321 fixAdd: "telecom=exchange";
1322 fixAdd: "building=yes";
1323 group: tr("deprecated tagging");
1324}
1325*[telecom=central_office] {
1326 throwWarning: tr("{0} is deprecated", "{0.tag}");
1327 suggestAlternative: "telecom=exchange";
1328 fixAdd: "telecom=exchange";
1329 group: tr("deprecated tagging");
1330}
1331
1332/* #16925 */
1333node[communication=outdoor_dslam],
1334node[man_made=outdoor_dslam],
1335node[street_cabinet=outdoor_dslam] {
1336 throwWarning: tr("{0} is deprecated", "{0.tag}");
1337 suggestAlternative: "telecom=service_device";
1338 fixAdd: "telecom=service_device";
1339 fixRemove: "{0.key}";
1340 group: tr("deprecated tagging");
1341}
1342node[telecom=dslam],
1343node[telecom=outdoor_dslam] {
1344 throwWarning: tr("{0} is deprecated", "{0.tag}");
1345 suggestAlternative: "telecom=service_device";
1346 fixAdd: "telecom=service_device";
1347 group: tr("deprecated tagging");
1348}
1349
1350/* #15774 */
1351node[amenity=fire_hydrant] {
1352 throwWarning: tr("{0} is deprecated", "{0.tag}");
1353 suggestAlternative: "emergency=fire_hydrant";
1354 fixChangeKey: "amenity => emergency";
1355 group: tr("deprecated tagging");
1356}
1357node[fire_hydrant:type=pond] {
1358 throwWarning: tr("{0} is deprecated", "{0.tag}");
1359 suggestAlternative: "water_source=pond";
1360 fixAdd: "water_source=pond";
1361 fixRemove: "{0.key}";
1362 group: tr("deprecated tagging");
1363}
1364node[fire_hydrant:flow_capacity] {
1365 throwWarning: tr("{0} is deprecated", "{0.key}");
1366 suggestAlternative: "flow_rate";
1367 group: tr("deprecated tagging");
1368}
1369node[emergency=fire_hydrant][in_service=no] {
1370 throwWarning: tr("{0} is deprecated", "{1.tag}");
1371 suggestAlternative: "disused:emergency=fire_hydrant";
1372 fixAdd: "disused:emergency=fire_hydrant";
1373 fixRemove: "{1.key}";
1374 fixRemove: "{0.key}";
1375 group: tr("deprecated tagging");
1376}
1377node[fire_hydrant:water_source] {
1378 throwWarning: tr("{0} is deprecated", "{0.key}");
1379 suggestAlternative: "water_source";
1380 fixChangeKey: "fire_hydrant:water_source => water_source";
1381 group: tr("deprecated tagging");
1382}
1383
1384/* #17383 */
1385*[natural=waterfall] {
1386 throwWarning: tr("{0} is deprecated", "{0.tag}");
1387 suggestAlternative: "waterway=waterfall";
1388 fixChangeKey: "natural => waterway";
1389 group: tr("deprecated tagging");
1390}
1391
1392/* #17249 */
1393*[religion=unitarian] {
1394 throwWarning: tr("{0} is deprecated", "{0.tag}");
1395 suggestAlternative: "religion=unitarian_universalist";
1396 fixAdd: "religion=unitarian_universalist";
1397 group: tr("deprecated tagging");
1398}
1399
1400*[shop=shopping_centre] {
1401 throwWarning: tr("{0} is deprecated", "{0.tag}");
1402 suggestAlternative: "shop=mall";
1403 fixAdd: "shop=mall";
1404 group: tr("deprecated tagging");
1405}
Note: See TracBrowser for help on using the repository browser.