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

Last change on this file since 14911 was 14911, checked in by Klumbumbus, 18 months 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.