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

Last change on this file since 12726 was 11985, checked in by Klumbumbus, 10 years ago

limit class warning to ways as this is now mostly used in tmc relations, ​https://wiki.openstreetmap.org/wiki/Relation:tmc:point

  • Property svn:eol-style set to native
File size: 36.2 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*[craft=yes],
456*[service=yes],
457*[place=yes] {
458 throwWarning: tr("{0}={1} is unspecific. Please replace ''{1}'' by a specific value.", "{0.key}", "{0.value}");
459}
460
461/* see #10693 - http://wiki.openstreetmap.org/wiki/Proposed_features/drop_recommendation_for_place_name , #10837 */
462*[place_name][!name] {
463 throwWarning: tr("{0} should be replaced with {1}", "{0.key}", "{1.key}");
464 fixChangeKey: "place_name => name";
465}
466*[place][place_name = *name] {
467 throwWarning: tr("{0} = {1}; remove {0}", "{1.key}", "{1.value}");
468 fixRemove: "{1.key}";
469}
470
471way[sidewalk=yes] {
472 throwWarning: tr("{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or ''both''.", "{0.key}", "{0.value}");
473}
474
475*[waterway=water_point] {
476 throwWarning: tr("{0} is deprecated", "{0.tag}");
477 suggestAlternative: "amenity=water_point";
478 group: tr("deprecated tagging");
479 fixChangeKey: "waterway => amenity";
480}
481*[waterway=waste_disposal] {
482 throwWarning: tr("{0} is deprecated", "{0.tag}");
483 suggestAlternative: "amenity=waste_disposal";
484 group: tr("deprecated tagging");
485 fixChangeKey: "waterway => amenity";
486}
487*[waterway=mooring] {
488 throwWarning: tr("{0} is deprecated", "{0.tag}");
489 suggestAlternative: "mooring=yes";
490 group: tr("deprecated tagging");
491 fixRemove: "waterway";
492 fixAdd: "mooring=yes";
493}
494
495/* see #10837 */
496*[building][levels],
497*[building:part=yes][levels] {
498 throwWarning: tr("{0} is deprecated", "{1.key}");
499 suggestAlternative: "building:levels";
500 group: tr("deprecated tagging");
501 fixChangeKey: "levels => building:levels";
502}
503
504/* see #10691 */
505*[protected_class] {
506 throwWarning: tr("{0} is deprecated", "{0.key}");
507 suggestAlternative: "protect_class";
508 group: tr("deprecated tagging");
509 fixChangeKey: "protected_class => protect_class";
510}
511
512/* see #11070 */
513*[lock=unknown],
514*[hide=unknown],
515*[shelter=unknown],
516*[access=unknown],
517*[capacity:parent=unknown],
518*[capacity:women=unknown],
519*[capacity:disabled=unknown],
520*[crossing=unknown],
521*[foot=unknown] {
522 throwWarning: tr("Unspecific tag {0}", "{0.tag}");
523}
524
525/* unclear definition, see #11183 */
526*[sport=skiing] {
527 throwWarning: tr("Definition of {0} is unclear", "{0.tag}");
528 suggestAlternative: tr("{0} + {1} + {2}", "piste:type=*", "piste:difficulty=*", "piste:grooming=*");
529 group: tr("deprecated tagging");
530}
531
532/* see #11223 */
533*[waterway=wadi] {
534 throwWarning: tr("{0} is deprecated", "{0.tag}");
535 suggestAlternative: "{0.key}=* + intermittent=yes";
536 suggestAlternative: "natural=valley";
537 group: tr("deprecated tagging");
538}
539
540/* see #10346 */
541way[oneway=1] {
542 throwWarning: tr("{0} is deprecated", "{0.tag}");
543 suggestAlternative: "oneway=yes";
544 group: tr("deprecated tagging");
545 fixAdd: "oneway=yes";
546}
547
548/* see #11329 */
549way[oneway=-1] {
550 throwWarning: tr("{0} is not recommended. Use the Reverse Ways function from the Tools menu.", "{0.tag}");
551}
552
553*[drinkable] {
554 throwWarning: tr("{0} is deprecated", "{0.key}");
555 suggestAlternative: "drinking_water";
556 group: tr("deprecated tagging");
557}
558
559/* see #10329 */
560*[color][!colour] {
561 throwWarning: tr("{0} is deprecated", "{0.key}");
562 suggestAlternative: "colour";
563 group: tr("deprecated tagging");
564 fixChangeKey: "color => colour";
565}
566*[color][colour][tag(color)=tag(colour)] {
567 throwWarning: tr("{0} together with {1}", "{0.tag}", "{1.tag}");
568 group: tr("deprecated tagging");
569 set samecolor;
570 fixRemove: "color";
571 assertMatch: "way color=red colour=red";
572 assertNoMatch: "way color=red colour=green";
573}
574*[color][colour]!.samecolor {
575 throwWarning: tr("{0} together with {1}", "{0.tag}", "{1.tag}");
576 group: tr("deprecated tagging");
577 assertNoMatch: "way color=red colour=red";
578 assertMatch: "way color=red colour=green";
579}
580*[/:color/]{
581 throwWarning: tr("{0} is deprecated", "{0.key}");
582 suggestAlternative: ":colour";
583 group: tr("deprecated tagging");
584 assertNoMatch: "way color=red";
585 assertMatch: "way roof:color=grey";
586}
587*[/color:/] {
588 throwWarning: tr("{0} is deprecated", "{0.key}");
589 suggestAlternative: "colour:";
590 group: tr("deprecated tagging");
591}
592
593/* see #11234 */
594*[/=|\+|\/|&|<|>|;|'|"|%|#|@|\\|,|\.|\{|\}|\?|\*|\^|\$/] {
595 throwWarning: tr("{0}", "{0.key}");
596 group: tr("key with uncommon character");
597}
598
599/* see #11330 */
600*[/^.$/],
601node[/^..$/],
602way[/^..$/],
603relation[/^..$/][!to] {
604 throwWarning: tr("uncommon short key");
605 assertNoMatch: "relation to=Berlin";
606 assertMatch: "relation fo=bar";
607 assertMatch: "way to=bar";
608 assertMatch: "node fo=bar";
609 assertMatch: "node f=b";
610}
611
612/* see #11344 */
613*[tower=air_to_ground] {
614 throwWarning: tr("{0} is deprecated", "{0.tag}");
615 suggestAlternative: "tower=transition";
616 group: tr("deprecated tagging");
617 fixAdd: "tower=transition";
618}
619*[pole=air_to_ground] {
620 throwWarning: tr("{0} is deprecated", "{0.tag}");
621 suggestAlternative: "pole=transition";
622 group: tr("deprecated tagging");
623 fixAdd: "pole=transition";
624}
625
626/* see #11439 */
627*[sport=hockey] {
628 throwWarning: tr("{0} is deprecated", "{0.tag}");
629 suggestAlternative: "sport=field_hockey";
630 suggestAlternative: "sport=ice_hockey";
631 group: tr("deprecated tagging");
632}
633
634/* see #11471 */
635*[sport=billard],
636*[sport=billards],
637*[sport=billiard] {
638 throwWarning: tr("{0} is deprecated", "{0.tag}");
639 suggestAlternative: "sport=billiards";
640 group: tr("deprecated tagging");
641 fixAdd: "sport=billiards";
642}
643
644/* see #11499 */
645*[payment:credit_cards=yes] {
646 throwWarning: tr("{0} is inaccurate", "{0.tag}");
647 suggestAlternative: "payment:mastercard=yes";
648 suggestAlternative: "payment:visa=yes";
649 suggestAlternative: "...";
650}
651*[payment:debit_cards=yes] {
652 throwWarning: tr("{0} is inaccurate", "{0.tag}");
653 suggestAlternative: "payment:maestro=yes";
654 suggestAlternative: "payment:girocard=yes";
655 suggestAlternative: "...";
656}
657*[payment:electronic_purses=yes] {
658 throwWarning: tr("{0} is inaccurate", "{0.tag}");
659 suggestAlternative: "payment:ep_geldkarte=yes";
660 suggestAlternative: "payment:ep_quick=yes";
661 suggestAlternative: "...";
662}
663*[payment:cryptocurrencies=yes] {
664 throwWarning: tr("{0} is inaccurate", "{0.tag}");
665 suggestAlternative: "payment:bitcoin=yes";
666 suggestAlternative: "payment:litecoin=yes";
667 suggestAlternative: "...";
668}
669
670/* see #8717 */
671*[kp][highway=milestone],
672*[kp][railway=milestone],
673*[kp][waterway=milestone] {
674 throwWarning: tr("{0} is deprecated", "{0.key}");
675 suggestAlternative: "distance";
676 group: tr("deprecated tagging");
677 fixChangeKey: "kp => distance";
678}
679*[pk][highway=milestone],
680*[pk][railway=milestone],
681*[pk][waterway=milestone] {
682 throwWarning: tr("{0} is deprecated", "{0.key}");
683 suggestAlternative: "distance";
684 group: tr("deprecated tagging");
685 fixChangeKey: "pk => distance";
686}
687
688*[postcode] {
689 throwWarning: tr("{0} is deprecated", "{0.key}");
690 suggestAlternative: "addr:postcode";
691 group: tr("deprecated tagging");
692 suggestAlternative: "postal_code";
693}
694
695*[water=intermittent] {
696 throwWarning: tr("{0} is deprecated", "{0.tag}");
697 suggestAlternative: "intermittent=yes";
698 group: tr("deprecated tagging");
699 fixRemove: "water";
700 fixAdd: "intermittent=yes";
701}
702
703/* #10907, #14141 */
704/* 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 */
705way[type][type!=waterway][man_made=pipeline],
706node[type][pipeline=marker] {
707 throwWarning: tr("{0} is deprecated", "{0.key}");
708 suggestAlternative: "substance";
709 group: tr("deprecated tagging");
710 fixChangeKey: "type => substance";
711}
712
713*[landuse=farm] {
714 throwWarning: tr("{0} is deprecated", "{0.tag}");
715 suggestAlternative: "landuse=farmland";
716 suggestAlternative: "landuse=farmyard";
717 group: tr("deprecated tagging");
718}
719
720/* #12135 comment:11 */
721*[seamark=buoy]["seamark:type"=~/^(buoy_cardinal|buoy_installation|buoy_isolated_danger|buoy_lateral|buoy_safe_water|buoy_special_purpose|mooring)$/] {
722 throwWarning: tr("{0} is deprecated", "{0.tag}");
723 suggestAlternative: "{1.tag}";
724 group: tr("deprecated tagging");
725 fixRemove: "seamark";
726}
727*[seamark=buoy]["seamark:type"!~/^(buoy_cardinal|buoy_installation|buoy_isolated_danger|buoy_lateral|buoy_safe_water|buoy_special_purpose|mooring)$/] {
728 throwWarning: tr("{0} is deprecated", "{0.tag}");
729 suggestAlternative: "{1.tag}";
730 group: tr("deprecated tagging");
731}
732/* #12135 - Tag removed rom rendering https://github.com/gravitystorm/openstreetmap-carto/pull/1830 */
733*[landuse=conservation] {
734 throwWarning: tr("{0} is deprecated", "{0.tag}");
735 suggestAlternative: "boundary=protected_area";
736 group: tr("deprecated tagging");
737 fixAdd: "boundary=protected_area";
738 fixRemove: "landuse";
739}
740
741/* #12205 */
742*[amenity=kiosk] {
743 throwWarning: tr("{0} is deprecated", "{0.tag}");
744 suggestAlternative: "shop=kiosk";
745 group: tr("deprecated tagging");
746 fixChangeKey: "amenity => shop";
747}
748*[amenity=shop] {
749 throwWarning: tr("{0} is deprecated", "{0.tag}");
750 suggestAlternative: "shop=*";
751 group: tr("deprecated tagging");
752}
753*[shop=fishmonger] {
754 throwWarning: tr("{0} is deprecated", "{0.tag}");
755 suggestAlternative: "shop=seafood";
756 group: tr("deprecated tagging");
757 fixAdd: "shop=seafood";
758}
759*[shop=fish] {
760 throwWarning: tr("{0} is deprecated", "{0.tag}");
761 suggestAlternative: "shop=seafood";
762 suggestAlternative: "shop=pet";
763 suggestAlternative: "shop=fishing";
764 group: tr("deprecated tagging");
765}
766*[shop=betting] {
767 throwWarning: tr("{0} is deprecated", "{0.tag}");
768 suggestAlternative: "shop=bookmaker";
769 suggestAlternative: "shop=lottery";
770 suggestAlternative: "amenity=casino";
771 suggestAlternative: "leisure=amusement_arcade";
772 suggestAlternative: "leisure=adult_gaming_centre";
773 suggestAlternative: "amenity=gambling";
774 group: tr("deprecated tagging");
775}
776*[shop=perfume] {
777 throwWarning: tr("{0} is deprecated", "{0.tag}");
778 suggestAlternative: "shop=perfumery";
779 group: tr("deprecated tagging");
780 fixAdd: "shop=perfumery";
781}
782*[amenity=exercise_point] {
783 throwWarning: tr("{0} is deprecated", "{0.tag}");
784 suggestAlternative: "leisure=fitness_station";
785 group: tr("deprecated tagging");
786 fixAdd: "leisure=fitness_station";
787 fixRemove: "amenity";
788}
789*[shop=auto_parts] {
790 throwWarning: tr("{0} is deprecated", "{0.tag}");
791 suggestAlternative: "shop=car_parts";
792 group: tr("deprecated tagging");
793 fixAdd: "shop=car_parts";
794}
795*[amenity=car_repair] {
796 throwWarning: tr("{0} is deprecated", "{0.tag}");
797 suggestAlternative: "shop=car_repair";
798 group: tr("deprecated tagging");
799 fixChangeKey: "amenity => shop";
800}
801
802/* #12311 */
803*[amenity=studio][type=audio],
804*[amenity=studio][type=radio],
805*[amenity=studio][type=television],
806*[amenity=studio][type=video] {
807 throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}");
808 suggestAlternative: "studio";
809 group: tr("deprecated tagging");
810 fixChangeKey: "type => studio";
811}
812
813/* #11507, #12297 */
814*[power=cable_distribution_cabinet] {
815 throwWarning: tr("{0} is deprecated", "{0.tag}");
816 suggestAlternative: "man_made=street_cabinet + street_cabinet=power";
817 group: tr("deprecated tagging");
818 fixAdd: "man_made=street_cabinet";
819 fixAdd: "street_cabinet=power";
820 fixRemove: "power";
821}
822
823/* #12276 */
824*[man_made=well] {
825 throwWarning: tr("{0} is deprecated", "{0.tag}");
826 suggestAlternative: "man_made=water_well";
827 suggestAlternative: "man_made=petroleum_well";
828 group: tr("deprecated tagging");
829}
830*[amenity=dog_bin],
831*[amenity=dog_waste_bin] {
832 throwWarning: tr("{0} is deprecated", "{0.tag}");
833 suggestAlternative: "amenity=waste_basket + waste=dog_excrement + vending=excrement_bags";
834 group: tr("deprecated tagging");
835 fixAdd: "amenity=waste_basket";
836 fixAdd: "waste=dog_excrement";
837 fixAdd: "vending=excrement_bags";
838}
839*[amenity=artwork] {
840 throwWarning: tr("{0} is deprecated", "{0.tag}");
841 suggestAlternative: "tourism=artwork";
842 group: tr("deprecated tagging");
843 fixAdd: "tourism=artwork";
844 fixRemove: "amenity";
845}
846*[amenity=community_center] {
847 throwWarning: tr("{0} is deprecated", "{0.tag}");
848 suggestAlternative: "amenity=community_centre";
849 group: tr("deprecated tagging");
850 fixAdd: "amenity=community_centre";
851}
852*[man_made=cut_line] {
853 throwWarning: tr("{0} is deprecated", "{0.tag}");
854 suggestAlternative: "man_made=cutline";
855 group: tr("deprecated tagging");
856 fixAdd: "man_made=cutline";
857}
858*[amenity=park] {
859 throwWarning: tr("{0} is deprecated", "{0.tag}");
860 suggestAlternative: "leisure=park";
861 group: tr("deprecated tagging");
862 fixAdd: "leisure=park";
863 fixRemove: "amenity";
864}
865*[amenity=hotel] {
866 throwWarning: tr("{0} is deprecated", "{0.tag}");
867 suggestAlternative: "tourism=hotel";
868 group: tr("deprecated tagging");
869 fixAdd: "tourism=hotel";
870 fixRemove: "amenity";
871}
872*[shop=window],
873*[shop=windows] {
874 throwWarning: tr("{0} is deprecated", "{0.tag}");
875 suggestAlternative: "craft=window_construction";
876 group: tr("deprecated tagging");
877 fixAdd: "craft=window_construction";
878 fixRemove: "shop";
879}
880*[amenity=education] {
881 throwWarning: tr("{0} is deprecated", "{0.tag}");
882 suggestAlternative: "amenity=college";
883 suggestAlternative: "amenity=school";
884 suggestAlternative: "amenity=university";
885 group: tr("deprecated tagging");
886}
887*[shop=gallery] {
888 throwWarning: tr("{0} is deprecated", "{0.tag}");
889 suggestAlternative: "shop=art";
890 group: tr("deprecated tagging");
891 fixAdd: "shop=art";
892}
893*[shop=gambling],
894*[leisure=gambling] {
895 throwWarning: tr("{0} is deprecated", "{0.tag}");
896 suggestAlternative: "shop=bookmaker";
897 suggestAlternative: "shop=lottery";
898 suggestAlternative: "amenity=casino";
899 suggestAlternative: "leisure=amusement_arcade";
900 suggestAlternative: "amenity=gambling";
901 group: tr("deprecated tagging");
902}
903*[office=real_estate_agent] {
904 throwWarning: tr("{0} is deprecated", "{0.tag}");
905 suggestAlternative: "office=estate_agent ";
906 group: tr("deprecated tagging");
907 fixAdd: "office=estate_agent ";
908}
909*[shop=glass] {
910 throwWarning: tr("{0} is deprecated", "{0.tag}");
911 suggestAlternative: "shop=glaziery";
912 suggestAlternative: "craft=glaziery";
913 group: tr("deprecated tagging");
914}
915*[amenity=proposed],
916*[amenity=proposed],
917*[amenity=disused],
918*[shop=disused],
919*[historic=abandoned] {
920 throwWarning: tr("{0} is deprecated. Use the {1}: key prefix instead.", "{0.tag}", "{0.value}");
921 group: tr("deprecated tagging");
922}
923
924/* #12431 */
925*[amenity=swimming_pool] {
926 throwWarning: tr("{0} is deprecated", "{0.tag}");
927 suggestAlternative: "leisure=swimming_pool";
928 group: tr("deprecated tagging");
929 fixChangeKey: "amenity => leisure";
930}
931
932/* #12494 */
933*[/^[^t][^i][^g].+_[0-9]$/][!/^note_[0-9]$/][!/^description_[0-9]$/] {
934 throwOther: tr("{0}", "{0.key}");
935 group: tr("questionable key (ending with a number)");
936 assertMatch: "way name_1=foo";
937 assertNoMatch: "way note_2=foo";
938 assertNoMatch: "way description_3=foo";
939 assertNoMatch: "way tiger:name_base_1=bar"; /*should not warn for key tiger:name_base_1 */
940}
941
942/* #12500 */
943*[sport=skating] {
944 throwWarning: tr("{0} is deprecated", "{0.tag}");
945 suggestAlternative: "sport=ice_skating";
946 suggestAlternative: "sport=roller_skating";
947 group: tr("deprecated tagging");
948}
949
950way[barrier=wall][type=noise_barrier][!wall],
951way[barrier=wall][type=noise_barrier][wall=noise_barrier] {
952 throwWarning: tr("{0} is deprecated", "{1.tag}");
953 suggestAlternative: "wall=noise_barrier";
954 group: tr("deprecated tagging");
955 fixChangeKey: "type => wall";
956}
957way[barrier=wall][type=noise_barrier][wall][wall!=noise_barrier] {
958 throwWarning: tr("{0} is deprecated", "{1.tag}");
959 suggestAlternative: "wall=noise_barrier";
960 group: tr("deprecated tagging");
961}
962
963/* #8978, 12588 */
964*[amenity=public_building] {
965 throwWarning: tr("{0} is deprecated", "{0.tag}");
966 suggestAlternative: "amenity=townhall";
967 suggestAlternative: "amenity=community_centre";
968 suggestAlternative: "amenity=hospital";
969 suggestAlternative: "leisure=sports_centre";
970 suggestAlternative: "office=government";
971 suggestAlternative: "building=hospital";
972 suggestAlternative: "building=public";
973 suggestAlternative: "...";
974 group: tr("deprecated tagging");
975}
976
977/* #12708 */
978*[vending=news_papers] {
979 throwWarning: tr("{0} is deprecated", "{0.tag}");
980 suggestAlternative: "vending=newspapers";
981 group: tr("deprecated tagging");
982 fixAdd: "vending=newspapers";
983}
984
985/* #12771 */
986*[service=drive_through] {
987 throwWarning: tr("{0} is deprecated", "{0.tag}");
988 suggestAlternative: "service=drive-through";
989 group: tr("deprecated tagging");
990 fixAdd: "service=drive-through";
991}
992
993/* #12771 */
994way[highway=service][service][service !~ /^(alley|drive-through|drive_through|driveway|emergency_access|parking_aisle|rest_area|yes)$/], /* drive_through and yes have special warnings */
995way[railway=rail][service][service !~ /^(crossover|siding|spur|yard)$/],
996way[waterway=canal][service][service !~ /^(irrigation|transportation|water_power)$/] {
997 throwWarning: tr("The key {0} has an uncommon value.", "{1.key}");
998}
999
1000/* #13008 */
1001*[name:botanical] {
1002 throwWarning: tr("{0} is deprecated", "{0.key}");
1003 suggestAlternative: "species";
1004 group: tr("deprecated tagging");
1005}
1006
1007/* #13101 */
1008node[pole=transition] {
1009 throwWarning: tr("{0} is deprecated", "{0.tag}");
1010 suggestAlternative: "location:transition=yes";
1011 group: tr("deprecated tagging");
1012 fixAdd: "location:transition=yes";
1013 fixRemove: "pole";
1014}
1015node[tower=transition] {
1016 throwWarning: tr("{0} is deprecated", "{0.tag}");
1017 suggestAlternative: "location:transition=yes";
1018 group: tr("deprecated tagging");
1019 fixAdd: "location:transition=yes";
1020 fixRemove: "tower";
1021}
1022
1023/* #13138 */
1024area[landuse=pond] {
1025 throwWarning: tr("{0} is deprecated", "{0.tag}");
1026 suggestAlternative: "natural=water + water=pond";
1027 group: tr("deprecated tagging");
1028 fixAdd: "natural=water";
1029 fixAdd: "water=pond";
1030 fixRemove: "landuse";
1031}
1032
1033*[shop=souvenir],
1034*[shop=souvenirs],
1035*[shop=souveniers] {
1036 throwWarning: tr("{0} is deprecated", "{0.tag}");
1037 suggestAlternative: "shop=gift";
1038 group: tr("deprecated tagging");
1039 fixAdd: "shop=gift";
1040}
1041
1042*[vending=animal_food] {
1043 throwWarning: tr("{0} is deprecated", "{0.tag}");
1044 suggestAlternative: "vending=animal_feed";
1045 group: tr("deprecated tagging");
1046 fixAdd: "vending=animal_feed";
1047}
1048
1049/* #14376 */
1050node[vending=photos][amenity=vending_machine],
1051node[vending=photo][amenity=vending_machine] {
1052 throwWarning: tr("{0} is deprecated", "{0.tag}");
1053 suggestAlternative: "amenity=photo_booth";
1054 group: tr("deprecated tagging");
1055 fixRemove: "vending";
1056 fixAdd: "amenity=photo_booth";
1057
1058}
1059node[vending=photos][amenity!=vending_machine] {
1060 throwWarning: tr("{0} is deprecated", "{0.tag}");
1061 suggestAlternative: "amenity=photo_booth";
1062 group: tr("deprecated tagging");
1063}
1064
1065/* #13653 */
1066node[highway=emergency_access_point][phone][!emergency_telephone_code],
1067way[highway=emergency_access_point][phone][!emergency_telephone_code] {
1068 throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}");
1069 suggestAlternative: "emergency_telephone_code";
1070 group: tr("deprecated tagging");
1071 fixChangeKey: "phone => emergency_telephone_code";
1072 assertMatch: "node highway=emergency_access_point phone=123";
1073 assertNoMatch: "node highway=emergency_access_point emergency_telephone_code=456";
1074 assertNoMatch: "node highway=emergency_access_point phone=123 emergency_telephone_code=456";
1075 assertNoMatch: "node phone=123";
1076}
1077node[highway=emergency_access_point][phone=*emergency_telephone_code],
1078way[highway=emergency_access_point][phone=*emergency_telephone_code] {
1079 throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}");
1080 suggestAlternative: "emergency_telephone_code";
1081 group: tr("deprecated tagging");
1082 fixRemove: "phone";
1083 assertNoMatch: "node highway=emergency_access_point phone=123";
1084 assertNoMatch: "node highway=emergency_access_point emergency_telephone_code=123";
1085 assertMatch: "node highway=emergency_access_point phone=123 emergency_telephone_code=123";
1086}
1087node[highway=emergency_access_point][phone][emergency_telephone_code][phone!=*emergency_telephone_code],
1088way[highway=emergency_access_point][phone][emergency_telephone_code][phone!=*emergency_telephone_code] {
1089 throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}");
1090 suggestAlternative: "emergency_telephone_code";
1091 group: tr("deprecated tagging");
1092 assertNoMatch: "node highway=emergency_access_point phone=123";
1093 assertNoMatch: "node highway=emergency_access_point emergency_telephone_code=123";
1094 assertNoMatch: "node highway=emergency_access_point phone=123 emergency_telephone_code=123";
1095}
1096
1097/* #13879 */
1098way[tracktype=1] {
1099 throwError: tr("{0}", "{0.tag}");
1100 suggestAlternative: "tracktype=grade1";
1101 group: tr("misspelled value");
1102 fixAdd: "tracktype=grade1";
1103}
1104way[tracktype=2] {
1105 throwError: tr("{0}", "{0.tag}");
1106 suggestAlternative: "tracktype=grade2";
1107 group: tr("misspelled value");
1108 fixAdd: "tracktype=grade2";
1109}
1110way[tracktype=3] {
1111 throwError: tr("{0}", "{0.tag}");
1112 suggestAlternative: "tracktype=grade3";
1113 group: tr("misspelled value");
1114 fixAdd: "tracktype=grade3";
1115}
1116way[tracktype=4] {
1117 throwError: tr("{0}", "{0.tag}");
1118 suggestAlternative: "tracktype=grade4";
1119 group: tr("misspelled value");
1120 fixAdd: "tracktype=grade4";
1121}
1122way[tracktype=5] {
1123 throwError: tr("{0}", "{0.tag}");
1124 suggestAlternative: "tracktype=grade5";
1125 group: tr("misspelled value");
1126 fixAdd: "tracktype=grade5";
1127}
1128way[tracktype][tracktype!~/^(1|2|3|4|5|grade1|grade2|grade3|grade4|grade5)$/] {
1129 throwError: tr("wrong value: {0}", "{0.tag}");
1130 suggestAlternative: "tracktype=grade1";
1131 suggestAlternative: "tracktype=grade2";
1132 suggestAlternative: "tracktype=grade3";
1133 suggestAlternative: "tracktype=grade4";
1134 suggestAlternative: "tracktype=grade5";
1135}
1136
1137area[area][area!=yes][area!=no] {
1138 throwError: tr("wrong value: {0}", "{0.tag}");
1139 suggestAlternative: "area=yes";
1140 suggestAlternative: "area=no";
1141}
1142
1143/* #13953 */
1144*[amenity=hunting_stand][lock=yes],
1145*[amenity=hunting_stand][lock=no] {
1146 throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}");
1147 suggestAlternative: "lockable";
1148 group: tr("deprecated tagging");
1149 fixChangeKey: "lock => lockable";
1150}
1151
1152*[amenity=advertising][!advertising] {
1153 throwWarning: tr("{0} is deprecated", "{0.tag}");
1154 suggestAlternative: "advertising=*";
1155 group: tr("deprecated tagging");
1156}
1157*[amenity=advertising][advertising] {
1158 throwWarning: tr("{0} is deprecated", "{0.tag}");
1159 suggestAlternative: "advertising=*";
1160 group: tr("deprecated tagging");
1161 fixRemove: "amenity";
1162}
1163
1164way[direction=up][incline=up],
1165way[direction=down][incline=down],
1166way[direction=up][!incline],
1167way[direction=down][!incline] {
1168 throwWarning: tr("{0} is deprecated", "{0.tag}");
1169 suggestAlternative: "incline";
1170 group: tr("deprecated tagging");
1171 fixChangeKey: "direction => incline";
1172}
1173way[direction=up][incline][incline!=up],
1174way[direction=down][incline][incline!=down] {
1175 throwWarning: tr("{0} is deprecated", "{0.tag}");
1176 suggestAlternative: "incline";
1177 group: tr("deprecated tagging");
1178}
Note: See TracBrowser for help on using the repository browser.