source: josm/trunk/resources/data/validator/deprecated.mapcss@ 17262

Last change on this file since 17262 was 17216, checked in by Klumbumbus, 5 years ago
  • fix #19949 - Improve warning message for sidewalk=yes (patch by Famlam)
  • Ignore some site tags
  • Property svn:eol-style set to native
File size: 64.0 KB
RevLine 
[6506]1*[barrier=wire_fence] {
[9551]2 throwWarning: tr("{0} is deprecated", "{0.tag}");
[11138]3 group: tr("deprecated tagging");
[10538]4 suggestAlternative: "barrier=fence + fence_type=chain_link";
[6506]5 fixAdd: "barrier=fence";
6 fixAdd: "fence_type=chain_link";
[6512]7 assertMatch: "way barrier=wire_fence";
8 assertNoMatch: "way barrier=fence";
[6506]9}
[17092]10
[6506]11*[barrier=wood_fence] {
[9551]12 throwWarning: tr("{0} is deprecated", "{0.tag}");
13 suggestAlternative: "barrier=fence + fence_type=wood";
[11138]14 group: tr("deprecated tagging");
[6506]15 fixAdd: "barrier=fence";
16 fixAdd: "fence_type=wood";
17}
[17092]18
[10916]19node[highway=ford] {
[9551]20 throwWarning: tr("{0} is deprecated", "{0.tag}");
21 suggestAlternative: "ford=yes";
[11138]22 group: tr("deprecated tagging");
[6506]23 fixRemove: "highway";
24 fixAdd: "ford=yes";
25}
[10916]26way[highway=ford] {
27 throwWarning: tr("{0} is deprecated", "{0.tag}");
28 suggestAlternative: "highway=* + ford=yes";
[11138]29 group: tr("deprecated tagging");
[10916]30}
[17092]31
32/* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
[11985]33way[class] {
[6689]34 throwWarning: tr("{0} is deprecated", "{0.key}");
[6506]35 suggestAlternative: "highway";
[11138]36 group: tr("deprecated tagging");
[6506]37}
38*[highway=stile] {
[9551]39 throwWarning: tr("{0} is deprecated", "{0.tag}");
40 suggestAlternative: "barrier=stile";
[11138]41 group: tr("deprecated tagging");
[6506]42 fixRemove: "highway";
43 fixAdd: "barrier=stile";
44}
45*[highway=incline] {
[9551]46 throwWarning: tr("{0} is deprecated", "{0.tag}");
[6506]47 suggestAlternative: "incline";
[11138]48 group: tr("deprecated tagging");
[6506]49}
50*[highway=incline_steep] {
[9551]51 throwWarning: tr("{0} is deprecated", "{0.tag}");
[6506]52 suggestAlternative: "incline";
[11138]53 group: tr("deprecated tagging");
[6506]54}
55*[highway=unsurfaced] {
[9551]56 throwWarning: tr("{0} is deprecated", "{0.tag}");
57 suggestAlternative: "highway=* + surface=unpaved";
[11138]58 group: tr("deprecated tagging");
[6506]59 fixAdd: "highway=road";
[8161]60 fixAdd: "surface=unpaved";
[6506]61}
62*[landuse=wood] {
[9551]63 throwWarning: tr("{0} is deprecated", "{0.tag}");
[6506]64 suggestAlternative: "landuse=forest";
65 suggestAlternative: "natural=wood";
[11138]66 group: tr("deprecated tagging");
[6506]67}
68*[natural=marsh] {
[9551]69 throwWarning: tr("{0} is deprecated", "{0.tag}");
70 suggestAlternative: "natural=wetland + wetland=marsh";
[11138]71 group: tr("deprecated tagging");
[6506]72 fixAdd: "natural=wetland";
73 fixAdd: "wetland=marsh";
74}
75*[highway=byway] {
[9551]76 throwWarning: tr("{0} is deprecated", "{0.tag}");
[11138]77 group: tr("deprecated tagging");
[6506]78}
79*[power_source] {
[6689]80 throwWarning: tr("{0} is deprecated", "{0.key}");
[6506]81 suggestAlternative: "generator:source";
[11138]82 group: tr("deprecated tagging");
[6506]83}
84*[power_rating] {
[6689]85 throwWarning: tr("{0} is deprecated", "{0.key}");
[6506]86 suggestAlternative: "generator:output";
[11138]87 group: tr("deprecated tagging");
[6506]88}
[17092]89
[7600]90*[shop=antique] {
[9551]91 throwWarning: tr("{0} is deprecated", "{0.tag}");
92 suggestAlternative: "shop=antiques";
[11138]93 group: tr("deprecated tagging");
[7600]94 fixAdd: "shop=antiques";
95}
96
97*[shop=bags] {
[9551]98 throwWarning: tr("{0} is deprecated", "{0.tag}");
99 suggestAlternative: "shop=bag";
[11138]100 group: tr("deprecated tagging");
[7600]101 fixAdd: "shop=bag";
102}
103
[14940]104/* #17527 */
[14935]105*[shop=fashion] {
106 throwWarning: tr("{0} is deprecated", "{0.tag}");
107 suggestAlternative: "shop=clothes";
108 group: tr("deprecated tagging");
109 fixAdd: "shop=clothes";
110}
111
[6506]112*[shop=organic] {
[9551]113 throwWarning: tr("{0} is deprecated", "{0.tag}");
[10329]114 suggestAlternative: "shop=* + organic=yes";
115 suggestAlternative: "shop=* + organic=only";
[11138]116 group: tr("deprecated tagging");
[6506]117}
[7600]118
119*[shop=pets] {
[9551]120 throwWarning: tr("{0} is deprecated", "{0.tag}");
121 suggestAlternative: "shop=pet";
[11138]122 group: tr("deprecated tagging");
[7600]123 fixAdd: "shop=pet";
124}
125
126*[shop=pharmacy] {
[9551]127 throwWarning: tr("{0} is deprecated", "{0.tag}");
128 suggestAlternative: "amenity=pharmacy";
[11138]129 group: tr("deprecated tagging");
[7600]130 fixChangeKey: "shop => amenity";
131}
132
[6506]133*[bicycle_parking=sheffield] {
[9551]134 throwWarning: tr("{0} is deprecated", "{0.tag}");
135 suggestAlternative: "bicycle_parking=stands";
[11138]136 group: tr("deprecated tagging");
[6506]137 fixAdd: "bicycle_parking=stands";
138}
[17092]139
[6506]140*[amenity=emergency_phone] {
[9551]141 throwWarning: tr("{0} is deprecated", "{0.tag}");
142 suggestAlternative: "emergency=phone";
[11138]143 group: tr("deprecated tagging");
[6506]144 fixRemove: "amenity";
145 fixAdd: "emergency=phone";
146}
[17092]147
148/* #8132 */
[6506]149*[sport=gaelic_football] {
[9551]150 throwWarning: tr("{0} is deprecated", "{0.tag}");
151 suggestAlternative: "sport=gaelic_games";
[11138]152 group: tr("deprecated tagging");
[6506]153 fixAdd: "sport=gaelic_games";
154}
[17092]155
156/* #8847, #8961 */
[6506]157*[power=station] {
[9551]158 throwWarning: tr("{0} is deprecated", "{0.tag}");
[6506]159 suggestAlternative: "power=plant";
[6688]160 suggestAlternative: "power=substation";
[11138]161 group: tr("deprecated tagging");
[6506]162}
[6689]163
164*[power=sub_station] {
[9551]165 throwWarning: tr("{0} is deprecated", "{0.tag}");
166 suggestAlternative: "power=substation";
[11138]167 group: tr("deprecated tagging");
[6689]168 fixAdd: "power=substation";
169}
[15372]170
171*[location=rooftop] {
172 throwWarning: tr("{0} is deprecated", "{0.tag}");
173 suggestAlternative: "location=roof";
174 group: tr("deprecated tagging");
175 fixAdd: "location=roof";
176}
177
[15373]178*[generator:location] {
[15372]179 throwWarning: tr("{0} is deprecated", "{0.key}");
180 suggestAlternative: "location";
181 group: tr("deprecated tagging");
182 fixChangeKey: "generator:location => location";
183}
184
[6506]185*[generator:method=dam] {
[9551]186 throwWarning: tr("{0} is deprecated", "{0.tag}");
187 suggestAlternative: "generator:method=water-storage";
[11138]188 group: tr("deprecated tagging");
[6506]189 fixAdd: "generator:method=water-storage";
190}
[17092]191
[6506]192*[generator:method=pumped-storage] {
[9551]193 throwWarning: tr("{0} is deprecated", "{0.tag}");
194 suggestAlternative: "generator:method=water-pumped-storage";
[11138]195 group: tr("deprecated tagging");
[6506]196 fixAdd: "generator:method=water-pumped-storage";
197}
[17092]198
[6506]199*[generator:method=pumping] {
[9551]200 throwWarning: tr("{0} is deprecated", "{0.tag}");
201 suggestAlternative: "generator:method=water-pumped-storage";
[11138]202 group: tr("deprecated tagging");
[6506]203 fixAdd: "generator:method=water-pumped-storage";
204}
[17092]205
206/* #8962 */
[6506]207*[fence_type=chain] {
[9551]208 throwWarning: tr("{0} is deprecated", "{0.tag}");
[6506]209 suggestAlternative: "barrier=chain";
[9552]210 suggestAlternative: "barrier=fence + fence_type=chain_link";
[11138]211 group: tr("deprecated tagging");
[6506]212}
213
[17092]214/* #9000 */
[6506]215*[building=entrance] {
[9551]216 throwWarning: tr("{0} is deprecated", "{0.tag}");
[6506]217 suggestAlternative: "entrance";
[11138]218 group: tr("deprecated tagging");
[6506]219}
[17092]220
221/* #9213 */
[6506]222*[board_type=board] {
[9551]223 throwWarning: tr("{0} is deprecated", "{0.tag}");
[11138]224 group: tr("deprecated tagging");
[6506]225 fixRemove: "board_type";
226}
[17092]227
228/* #8434 */
[6506]229*[man_made=measurement_station] {
[9551]230 throwWarning: tr("{0} is deprecated", "{0.tag}");
231 suggestAlternative: "man_made=monitoring_station";
[11138]232 group: tr("deprecated tagging");
[6506]233 fixAdd: "man_made=monitoring_station";
234}
[17092]235
[6506]236*[measurement=water_level] {
[9551]237 throwWarning: tr("{0} is deprecated", "{0.tag}");
238 suggestAlternative: "monitoring:water_level=yes";
[11138]239 group: tr("deprecated tagging");
[6506]240 fixRemove: "measurement";
241 fixAdd: "monitoring:water_level=yes";
242}
[17092]243
[6506]244*[measurement=weather] {
[9551]245 throwWarning: tr("{0} is deprecated", "{0.tag}");
246 suggestAlternative: "monitoring:weather=yes";
[11138]247 group: tr("deprecated tagging");
[6506]248 fixRemove: "measurement";
249 fixAdd: "monitoring:weather=yes";
250}
[17092]251
[6506]252*[measurement=seismic] {
[9551]253 throwWarning: tr("{0} is deprecated", "{0.tag}");
254 suggestAlternative: "monitoring:seismic_activity=yes";
[11138]255 group: tr("deprecated tagging");
[6506]256 fixRemove: "measurement";
257 fixAdd: "monitoring:seismic_activity=yes";
258}
259
260*[monitoring:river_level] {
[6689]261 throwWarning: tr("{0} is deprecated", "{0.key}");
[9551]262 suggestAlternative: "monitoring:water_level";
[11138]263 group: tr("deprecated tagging");
[6506]264 fixChangeKey: "monitoring:river_level => monitoring:water_level";
265}
[6605]266
[7449]267*[stay] {
268 throwWarning: tr("{0} is deprecated", "{0.key}");
[9551]269 suggestAlternative: "maxstay";
[11138]270 group: tr("deprecated tagging");
[7449]271 fixChangeKey: "stay => maxstay";
272}
273
[17092]274/* #9554 */
[6658]275*[emergency=aed] {
[9551]276 throwWarning: tr("{0} is deprecated", "{0.tag}");
277 suggestAlternative: "emergency=defibrillator";
[11138]278 group: tr("deprecated tagging");
[6658]279 fixAdd: "emergency=defibrillator";
280}
281
[6605]282/* from http://wiki.openstreetmap.org/wiki/Conditional_restrictions#Deprecated_tags */
[6645]283*[day_on][!restriction],
284*[day_off][!restriction],
285*[date_on][!restriction],
286*[date_off][!restriction],
287*[hour_on][!restriction],
288*[hour_off][!restriction] {
[6605]289 throwWarning: tr("{0} is deprecated", "{0.key}");
290 suggestAlternative: "*:conditional";
[11138]291 group: tr("deprecated tagging");
[6605]292 assertMatch: "node day_on=0-12";
293}
[7105]294
[17092]295/* #10000 */
[7105]296*[access=designated] {
297 throwWarning: tr("''{0}'' is meaningless, use more specific tags, e.g. ''{1}''", "access=designated", "bicycle=designated");
298 assertMatch: "way access=designated";
299}
[7106]300*[access=official] {
301 throwWarning: tr("''{0}'' does not specify the official mode of transportation, use ''{1}'' for example", "access=official", "bicycle=official");
302 assertMatch: "way access=official";
303}
[7197]304
[17092]305/* #10085 */
[7197]306*[fixme=yes], *[FIXME=yes] {
307 throwWarning: tr("{0}={1} is unspecific. Instead of ''{1}'' please give more information about what exactly should be fixed.", "{0.key}", "{0.value}");
308 assertMatch: "way fixme=yes";
309}
310
[9088]311*[name][name=~/^(?i)fixme$/] {
312 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}");
313 fixRemove: "name";
314 assertMatch: "node name=fixme";
315 assertMatch: "node name=Fixme";
316 assertMatch: "node name=FIXME";
317 assertNoMatch: "node name=valid name";
318}
319
[10004]320*[note][note=~/^(?i)fixme$/] {
321 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}");
322}
323
[17092]324/* #10107, #10108, #10929, #13391 - http://wiki.openstreetmap.org/wiki/Proposed_features/leaftype#Features.2FPages_affected */
[7222]325*[type=broad_leaved],
326*[type=broad_leafed] {
[9551]327 throwWarning: tr("{0} is deprecated", "{0.tag}");
328 suggestAlternative: "leaf_type=broadleaved";
[11138]329 group: tr("deprecated tagging");
[7222]330 fixRemove: "{0.key}";
331 fixAdd: "leaf_type=broadleaved";
[9557]332}
[7924]333*[wood=coniferous],
334*[type=coniferous],
335*[type=conifer] {
[9551]336 throwWarning: tr("{0} is deprecated", "{0.tag}");
337 suggestAlternative: "leaf_type=needleleaved";
[11138]338 group: tr("deprecated tagging");
[7924]339 fixRemove: "{0.key}";
[7222]340 fixAdd: "leaf_type=needleleaved";
341}
342*[wood=mixed] {
[9551]343 throwWarning: tr("{0} is deprecated", "{0.tag}");
344 suggestAlternative: "leaf_type=mixed";
[11138]345 group: tr("deprecated tagging");
[7222]346 fixRemove: "wood";
347 fixAdd: "leaf_type=mixed";
348}
349*[wood=evergreen],
350*[type=evergreen] {
[9551]351 throwWarning: tr("{0} is deprecated", "{0.tag}");
352 suggestAlternative: "leaf_cycle=evergreen";
[11138]353 group: tr("deprecated tagging");
[7222]354 fixRemove: "{0.key}";
355 fixAdd: "leaf_cycle=evergreen";
356}
357*[type=deciduous],
358*[type=deciduos] {
[9551]359 throwWarning: tr("{0} is deprecated", "{0.tag}");
360 suggestAlternative: "leaf_cycle=deciduous";
[11138]361 group: tr("deprecated tagging");
[7222]362 fixRemove: "type";
363 fixAdd: "leaf_cycle=deciduous";
364}
[10860]365*[wood=deciduous] {
366 throwWarning: tr("{0} is deprecated", "{0.tag}");
367 suggestAlternative: "leaf_type + leaf_cycle";
[11138]368 group: tr("deprecated tagging");
[10860]369}
[10798]370node[type=palm],
371way[type=palm] {
372 throwWarning: tr("{0} is deprecated", "{0.tag}");
373 suggestAlternative: "leaf_type";
374 suggestAlternative: "trees";
375 suggestAlternative: "species";
[11138]376 group: tr("deprecated tagging");
[10798]377}
378
[7391]379*[natural=land] {
[9551]380 throwWarning: tr("{0} is deprecated. Please use instead a multipolygon.", "{0.tag}");
[11138]381 group: tr("deprecated tagging");
[7391]382 assertMatch: "way natural=land";
383}
[7490]384
[17092]385/* #10447 - https://wiki.openstreetmap.org/wiki/Proposed_features/Bridge_types#Deprecated_bridge_key_values */
[7490]386*[bridge=causeway] {
[9551]387 throwWarning: tr("{0} is deprecated", "{0.tag}");
[7490]388 suggestAlternative: "ford=yes";
389 suggestAlternative: "bridge=low_water_crossing";
390 suggestAlternative: "embankment=yes";
[11138]391 group: tr("deprecated tagging");
[7490]392}
393*[bridge=swing] {
[9551]394 throwWarning: tr("{0} is deprecated", "{0.tag}");
[7490]395 suggestAlternative: "bridge:movable=swing";
396 suggestAlternative: "bridge:structure=simple-suspension";
[11138]397 group: tr("deprecated tagging");
[7490]398}
399*[bridge=suspension] {
[9551]400 throwWarning: tr("{0} is deprecated", "{0.tag}");
401 suggestAlternative: "bridge=yes + bridge:structure=suspension";
[11138]402 group: tr("deprecated tagging");
[7490]403 fixAdd: "bridge=yes";
404 fixAdd: "bridge:structure=suspension";
405}
[15262]406*[bridge=pontoon] {
407 throwWarning: tr("{0} is deprecated", "{0.tag}");
408 suggestAlternative: "bridge=yes + bridge:structure=floating";
409 group: tr("deprecated tagging");
410 fixAdd: "bridge=yes";
411 fixAdd: "bridge:structure=floating";
412}
[7599]413
[17092]414/* #10530 - Incorrect tag proposed in internal preset for years */
[7623]415*[fee=interval],
416*[lit=interval],
417*[supervised=interval] {
[7647]418 throwWarning: tr("{0} is deprecated. Please specify interval by using opening_hours syntax", "{0.tag}");
[11138]419 group: tr("deprecated tagging");
[7620]420}
421
[17092]422/* #10582 - JOSM supported this tag as "don't upload this" feature, before the introduction of upload flag at layer level */
[7599]423*[/josm\/ignore/] {
424 throwError: tr("{0} is deprecated. Please delete this object and use a private layer instead", "{0.key}");
[11138]425 group: tr("deprecated tagging");
[7599]426 fixDeleteObject: this;
427}
[7630]428
[17092]429/* #8281 */
[7630]430*[sport=diving] {
[7647]431 throwWarning: tr("{0} is deprecated", "{0.tag}");
[7630]432 suggestAlternative: "sport=scuba_diving";
433 suggestAlternative: "sport=cliff_diving";
[11138]434 group: tr("deprecated tagging");
[7635]435}
436
[17092]437/* #8281 */
[7635]438*[parking=park_and_ride] {
[7647]439 throwWarning: tr("{0} is deprecated", "{0.tag}");
[9551]440 suggestAlternative: "amenity=parking + park_ride=yes";
[11138]441 group: tr("deprecated tagging");
[7635]442 fixRemove: "parking";
443 fixAdd: "amenity=parking";
444 fixAdd: "park_ride=yes";
[7647]445}
446
[17092]447/* #19287, #18334, #17950, #10661, #10837, #11737, #12771 */
[16500]448*[playground=yes],
[15530]449*[manhole=plain],
450*[manhole=unknown],
[15532]451*[manhole=yes],
[15307]452*[police=yes],
[9506]453*[traffic_calming=yes],
[8699]454*[access=restricted],
[7818]455*[barrier=yes],
[8630]456*[aerialway=yes][!public_transport],
[7818]457*[amenity=yes],
[10272]458*[leisure=yes],
[9435]459*[shop="*"],
[14805]460*[shop=yes][amenity!=fuel],
[9681]461*[craft=yes],
[10229]462*[service=yes],
[7818]463*[place=yes] {
[7647]464 throwWarning: tr("{0}={1} is unspecific. Please replace ''{1}'' by a specific value.", "{0.key}", "{0.value}");
[7697]465}
466
[17092]467/* #10693 - http://wiki.openstreetmap.org/wiki/Proposed_features/drop_recommendation_for_place_name , #10837 */
[7697]468*[place_name][!name] {
469 throwWarning: tr("{0} should be replaced with {1}", "{0.key}", "{1.key}");
470 fixChangeKey: "place_name => name";
471}
[7818]472*[place][place_name = *name] {
473 throwWarning: tr("{0} = {1}; remove {0}", "{1.key}", "{1.value}");
474 fixRemove: "{1.key}";
475}
[7707]476
477way[sidewalk=yes] {
[17216]478 throwWarning: tr("{0} is unspecific", "{0.tag}");
479 suggestAlternative: "sidewalk=left";
480 suggestAlternative: "sidewalk=right";
481 suggestAlternative: "sidewalk=both";
482 suggestAlternative: "sidewalk=separate";
[7737]483}
484
[9551]485*[waterway=water_point] {
486 throwWarning: tr("{0} is deprecated", "{0.tag}");
487 suggestAlternative: "amenity=water_point";
[11138]488 group: tr("deprecated tagging");
[9551]489 fixChangeKey: "waterway => amenity";
490}
[7737]491*[waterway=waste_disposal] {
492 throwWarning: tr("{0} is deprecated", "{0.tag}");
[9551]493 suggestAlternative: "amenity=waste_disposal";
[11138]494 group: tr("deprecated tagging");
[7737]495 fixChangeKey: "waterway => amenity";
496}
497*[waterway=mooring] {
498 throwWarning: tr("{0} is deprecated", "{0.tag}");
[9551]499 suggestAlternative: "mooring=yes";
[11138]500 group: tr("deprecated tagging");
[7737]501 fixRemove: "waterway";
502 fixAdd: "mooring=yes";
[7818]503}
504
[17092]505/* #10837 */
[7969]506*[building][levels],
507*[building:part=yes][levels] {
[7818]508 throwWarning: tr("{0} is deprecated", "{1.key}");
509 suggestAlternative: "building:levels";
[11138]510 group: tr("deprecated tagging");
[7818]511 fixChangeKey: "levels => building:levels";
[7973]512}
513
[17092]514/* #10691 */
[7973]515*[protected_class] {
516 throwWarning: tr("{0} is deprecated", "{0.key}");
517 suggestAlternative: "protect_class";
[11138]518 group: tr("deprecated tagging");
[7973]519 fixChangeKey: "protected_class => protect_class";
[8008]520}
521
[17092]522/* #11070 */
[15648]523*[kerb=unknown],
[8008]524*[lock=unknown],
525*[hide=unknown],
526*[shelter=unknown],
527*[access=unknown],
528*[capacity:parent=unknown],
529*[capacity:women=unknown],
530*[capacity:disabled=unknown],
531*[crossing=unknown],
532*[foot=unknown] {
[8023]533 throwWarning: tr("Unspecific tag {0}", "{0.tag}");
[8121]534}
535
[17092]536/* #11183 */
[11159]537*[sport=skiing] {
[8121]538 throwWarning: tr("Definition of {0} is unclear", "{0.tag}");
[11159]539 suggestAlternative: tr("{0} + {1} + {2}", "piste:type=*", "piste:difficulty=*", "piste:grooming=*");
540 group: tr("deprecated tagging");
[8135]541}
542
[17092]543/* #11223 */
[8135]544*[waterway=wadi] {
545 throwWarning: tr("{0} is deprecated", "{0.tag}");
546 suggestAlternative: "{0.key}=* + intermittent=yes";
547 suggestAlternative: "natural=valley";
[11138]548 group: tr("deprecated tagging");
[8137]549}
550
[17209]551/* #10346 */
552way[oneway=1] {
[8137]553 throwWarning: tr("{0} is deprecated", "{0.tag}");
554 suggestAlternative: "oneway=yes";
[11138]555 group: tr("deprecated tagging");
[8137]556 fixAdd: "oneway=yes";
[8165]557}
558
[17209]559/* #11329 */
560way[oneway=-1] {
[8183]561 throwWarning: tr("{0} is not recommended. Use the Reverse Ways function from the Tools menu.", "{0.tag}");
562}
563
[8165]564*[drinkable] {
565 throwWarning: tr("{0} is deprecated", "{0.key}");
566 suggestAlternative: "drinking_water";
[11138]567 group: tr("deprecated tagging");
[8184]568}
569
[17092]570/* #10329, #15877 */
[13788]571 /* simple key change */
[8184]572*[color][!colour] {
573 throwWarning: tr("{0} is deprecated", "{0.key}");
574 suggestAlternative: "colour";
[11138]575 group: tr("deprecated tagging");
[8184]576 fixChangeKey: "color => colour";
[13788]577 assertMatch: "way color=red";
578 assertNoMatch: "way color=red colour=red";
[8184]579}
[13788]580area[building:color][!building:colour] {
581 throwWarning: tr("{0} is deprecated", "{0.key}");
582 suggestAlternative: "building:colour";
[11138]583 group: tr("deprecated tagging");
[13788]584 fixChangeKey: "building:color => building:colour";
585 assertMatch: "way building:color=red";
586 assertNoMatch: "way building:color=red building:colour=red";
587}
588area[roof:color][!roof:colour] {
589 throwWarning: tr("{0} is deprecated", "{0.key}");
590 suggestAlternative: "roof:colour";
591 group: tr("deprecated tagging");
592 fixChangeKey: "roof:color => roof:colour";
593 assertMatch: "way roof:color=red";
594 assertNoMatch: "way roof:color=red roof:colour=red";
595}
596 /* both tags with same value, remove color */
597*[color][colour][color=*colour] {
598 throwWarning: tr("{0} together with {1}", "{0.key}", "{1.key}");
599 suggestAlternative: "colour";
600 group: tr("deprecated tagging");
[8184]601 set samecolor;
602 fixRemove: "color";
[11049]603 assertMatch: "way color=red colour=red";
604 assertNoMatch: "way color=red colour=green";
[8184]605}
[13788]606area[building:color][building:colour]["building:color"=*"building:colour"] {
607 throwWarning: tr("{0} together with {1}", "{0.key}", "{1.key}");
608 suggestAlternative: "building:colour";
609 group: tr("deprecated tagging");
610 set samebuildingcolor;
611 fixRemove: "building:color";
612 assertMatch: "way building:color=red building:colour=red";
613 assertNoMatch: "way building:color=red building:colour=green";
614}
615area[roof:color][roof:colour]["roof:color"=*"roof:colour"] {
616 throwWarning: tr("{0} together with {1}", "{0.key}", "{1.key}");
617 suggestAlternative: "roof:colour";
618 group: tr("deprecated tagging");
619 set sameroofcolor;
620 fixRemove: "roof:color";
621 assertMatch: "way roof:color=red roof:colour=red";
622 assertNoMatch: "way roof:color=red roof:colour=green";
623}
624 /* both tags with different values, no autofix */
[8184]625*[color][colour]!.samecolor {
[13788]626 throwWarning: tr("{0} together with {1} and conflicting values", "{0.key}", "{1.key}");
627 suggestAlternative: "colour";
[11138]628 group: tr("deprecated tagging");
[11049]629 assertNoMatch: "way color=red colour=red";
630 assertMatch: "way color=red colour=green";
[8185]631}
[13788]632*[building:color][building:colour]!.samebuildingcolor {
633 throwWarning: tr("{0} together with {1} and conflicting values", "{0.key}", "{1.key}");
634 suggestAlternative: "building:colour";
635 group: tr("deprecated tagging");
636 assertNoMatch: "way building:color=red building:colour=red";
637 assertMatch: "way building:color=red building:colour=green";
638}
639*[roof:color][roof:colour]!.sameroofcolor {
640 throwWarning: tr("{0} together with {1} and conflicting values", "{0.key}", "{1.key}");
641 suggestAlternative: "roof:colour";
642 group: tr("deprecated tagging");
643 assertNoMatch: "way roof:color=red roof:colour=red";
644 assertMatch: "way roof:color=red roof:colour=green";
645}
[15496]646/* further more universal checks, no autofix */
647/* gpxd:color has another warning in unnecessary.mapcss */
648*[/:color/][!building:color][!roof:color][!gpxd:color] {
[8204]649 throwWarning: tr("{0} is deprecated", "{0.key}");
650 suggestAlternative: ":colour";
[11138]651 group: tr("deprecated tagging");
[11049]652 assertNoMatch: "way color=red";
[13788]653 assertNoMatch: "way roof:color=grey";
654 assertMatch: "way cycleway:surface:color=grey";
[8204]655}
[13788]656*[/color:/] {
[8204]657 throwWarning: tr("{0} is deprecated", "{0.key}");
658 suggestAlternative: "colour:";
[11138]659 group: tr("deprecated tagging");
[13788]660 assertNoMatch: "way color=red";
661 assertMatch: "way color:back=grey";
[8204]662}
[8185]663
[17092]664/* #11234 */
[8544]665*[/=|\+|\/|&|<|>|;|'|"|%|#|@|\\|,|\.|\{|\}|\?|\*|\^|\$/] {
[11133]666 throwWarning: tr("{0}", "{0.key}");
667 group: tr("key with uncommon character");
[8192]668}
669
[17092]670/* #11330, #18642 */
[8192]671*[/^.$/],
[8204]672node[/^..$/],
[15828]673way[/^..$/][route=ferry][!to],
674way[/^..$/][route!=ferry],
[8204]675relation[/^..$/][!to] {
[8192]676 throwWarning: tr("uncommon short key");
[11049]677 assertNoMatch: "relation to=Berlin";
678 assertMatch: "relation fo=bar";
679 assertMatch: "way to=bar";
[15828]680 assertNoMatch: "way to=Zuidschermer;Akersloot route=ferry";
[11049]681 assertMatch: "node fo=bar";
682 assertMatch: "node f=b";
[8204]683}
684
[17092]685/* #11439 */
[8383]686*[sport=hockey] {
[11138]687 throwWarning: tr("{0} is deprecated", "{0.tag}");
[8383]688 suggestAlternative: "sport=field_hockey";
689 suggestAlternative: "sport=ice_hockey";
[11138]690 group: tr("deprecated tagging");
[8428]691}
692
[17092]693/* #11471 */
[8428]694*[sport=billard],
695*[sport=billards],
696*[sport=billiard] {
697 throwWarning: tr("{0} is deprecated", "{0.tag}");
698 suggestAlternative: "sport=billiards";
[11138]699 group: tr("deprecated tagging");
[8428]700 fixAdd: "sport=billiards";
[8546]701}
702
[17092]703/* #11499, #16928 */
[8546]704*[payment:credit_cards=yes] {
[14392]705 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");
[8546]706}
707*[payment:debit_cards=yes] {
[14392]708 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");
[8546]709}
710*[payment:electronic_purses=yes] {
[14392]711 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");
[8546]712}
713*[payment:cryptocurrencies=yes] {
[14392]714 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");
[8725]715}
716
[17092]717/* #16253 */
[13786]718*[payment:ep_quick],
719*[payment:ep_cash],
720*[payment:ep_proton],
721*[payment:ep_chipknip] {
722 throwWarning: tr("{0} is deprecated", "{0.key}");
723 group: tr("deprecated tagging");
724 fixRemove: "{0.key}";
725}
726
[17092]727/* #8717 */
[8725]728*[kp][highway=milestone],
729*[kp][railway=milestone],
730*[kp][waterway=milestone] {
731 throwWarning: tr("{0} is deprecated", "{0.key}");
732 suggestAlternative: "distance";
[11138]733 group: tr("deprecated tagging");
[8725]734 fixChangeKey: "kp => distance";
735}
736*[pk][highway=milestone],
737*[pk][railway=milestone],
738*[pk][waterway=milestone] {
739 throwWarning: tr("{0} is deprecated", "{0.key}");
740 suggestAlternative: "distance";
[11138]741 group: tr("deprecated tagging");
[8725]742 fixChangeKey: "pk => distance";
[8730]743}
744
745*[postcode] {
746 throwWarning: tr("{0} is deprecated", "{0.key}");
747 suggestAlternative: "addr:postcode";
[11138]748 group: tr("deprecated tagging");
[8730]749 suggestAlternative: "postal_code";
[9031]750}
751
752*[water=intermittent] {
753 throwWarning: tr("{0} is deprecated", "{0.tag}");
754 suggestAlternative: "intermittent=yes";
[11138]755 group: tr("deprecated tagging");
[9031]756 fixRemove: "water";
757 fixAdd: "intermittent=yes";
[9037]758}
759
[11409]760/* #10907, #14141 */
761/* 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 */
762way[type][type!=waterway][man_made=pipeline],
763node[type][pipeline=marker] {
[9037]764 throwWarning: tr("{0} is deprecated", "{0.key}");
765 suggestAlternative: "substance";
[11138]766 group: tr("deprecated tagging");
[9037]767 fixChangeKey: "type => substance";
768}
[9040]769
770*[landuse=farm] {
771 throwWarning: tr("{0} is deprecated", "{0.tag}");
772 suggestAlternative: "landuse=farmland";
[9045]773 suggestAlternative: "landuse=farmyard";
[11138]774 group: tr("deprecated tagging");
[9040]775}
[9093]776
777/* #12135 comment:11 */
778*[seamark=buoy]["seamark:type"=~/^(buoy_cardinal|buoy_installation|buoy_isolated_danger|buoy_lateral|buoy_safe_water|buoy_special_purpose|mooring)$/] {
779 throwWarning: tr("{0} is deprecated", "{0.tag}");
780 suggestAlternative: "{1.tag}";
[11138]781 group: tr("deprecated tagging");
[9093]782 fixRemove: "seamark";
783}
784*[seamark=buoy]["seamark:type"!~/^(buoy_cardinal|buoy_installation|buoy_isolated_danger|buoy_lateral|buoy_safe_water|buoy_special_purpose|mooring)$/] {
785 throwWarning: tr("{0} is deprecated", "{0.tag}");
786 suggestAlternative: "{1.tag}";
[11138]787 group: tr("deprecated tagging");
[9156]788}
[17092]789/* #12135 */
[9160]790*[landuse=conservation] {
791 throwWarning: tr("{0} is deprecated", "{0.tag}");
792 suggestAlternative: "boundary=protected_area";
[11138]793 group: tr("deprecated tagging");
[9160]794 fixAdd: "boundary=protected_area";
795 fixRemove: "landuse";
796}
[9156]797
798/* #12205 */
799*[amenity=kiosk] {
800 throwWarning: tr("{0} is deprecated", "{0.tag}");
801 suggestAlternative: "shop=kiosk";
[11138]802 group: tr("deprecated tagging");
[9156]803 fixChangeKey: "amenity => shop";
804}
805*[amenity=shop] {
806 throwWarning: tr("{0} is deprecated", "{0.tag}");
807 suggestAlternative: "shop=*";
[11138]808 group: tr("deprecated tagging");
[9156]809}
810*[shop=fishmonger] {
811 throwWarning: tr("{0} is deprecated", "{0.tag}");
812 suggestAlternative: "shop=seafood";
[11138]813 group: tr("deprecated tagging");
[9156]814 fixAdd: "shop=seafood";
815}
816*[shop=fish] {
817 throwWarning: tr("{0} is deprecated", "{0.tag}");
[9435]818 suggestAlternative: "shop=seafood";
819 suggestAlternative: "shop=pet";
820 suggestAlternative: "shop=fishing";
[11138]821 group: tr("deprecated tagging");
[9156]822}
823*[shop=betting] {
824 throwWarning: tr("{0} is deprecated", "{0.tag}");
[9163]825 suggestAlternative: "shop=bookmaker";
826 suggestAlternative: "shop=lottery";
827 suggestAlternative: "amenity=casino";
828 suggestAlternative: "leisure=amusement_arcade";
829 suggestAlternative: "leisure=adult_gaming_centre";
830 suggestAlternative: "amenity=gambling";
[11138]831 group: tr("deprecated tagging");
[9156]832}
833*[shop=perfume] {
834 throwWarning: tr("{0} is deprecated", "{0.tag}");
835 suggestAlternative: "shop=perfumery";
[11138]836 group: tr("deprecated tagging");
[9156]837 fixAdd: "shop=perfumery";
838}
839*[amenity=exercise_point] {
840 throwWarning: tr("{0} is deprecated", "{0.tag}");
841 suggestAlternative: "leisure=fitness_station";
[11138]842 group: tr("deprecated tagging");
[9156]843 fixAdd: "leisure=fitness_station";
844 fixRemove: "amenity";
845}
846*[shop=auto_parts] {
847 throwWarning: tr("{0} is deprecated", "{0.tag}");
848 suggestAlternative: "shop=car_parts";
[11138]849 group: tr("deprecated tagging");
[9156]850 fixAdd: "shop=car_parts";
851}
852*[amenity=car_repair] {
853 throwWarning: tr("{0} is deprecated", "{0.tag}");
854 suggestAlternative: "shop=car_repair";
[11138]855 group: tr("deprecated tagging");
[9156]856 fixChangeKey: "amenity => shop";
857}
[9363]858
859/* #12311 */
860*[amenity=studio][type=audio],
861*[amenity=studio][type=radio],
862*[amenity=studio][type=television],
863*[amenity=studio][type=video] {
864 throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}");
865 suggestAlternative: "studio";
[11138]866 group: tr("deprecated tagging");
[9363]867 fixChangeKey: "type => studio";
[9434]868}
869
[12930]870/* #11507, #12297, #15409 */
[9434]871*[power=cable_distribution_cabinet] {
872 throwWarning: tr("{0} is deprecated", "{0.tag}");
[12930]873 suggestAlternative: "man_made=street_cabinet + street_cabinet=*";
[11138]874 group: tr("deprecated tagging");
[9434]875 fixAdd: "man_made=street_cabinet";
876 fixRemove: "power";
[9435]877}
878
[13982]879/* #16430 */
880*[power][location=kiosk] {
881 throwWarning: tr("{0} is deprecated", "{1.tag}");
882 group: tr("deprecated tagging");
883 fixAdd: "man_made=street_cabinet";
884 fixAdd: "street_cabinet=power";
885 fixRemove: "location";
886}
887
[9435]888/* #12276 */
889*[man_made=well] {
890 throwWarning: tr("{0} is deprecated", "{0.tag}");
891 suggestAlternative: "man_made=water_well";
892 suggestAlternative: "man_made=petroleum_well";
[11138]893 group: tr("deprecated tagging");
[9435]894}
895*[amenity=dog_bin],
896*[amenity=dog_waste_bin] {
897 throwWarning: tr("{0} is deprecated", "{0.tag}");
898 suggestAlternative: "amenity=waste_basket + waste=dog_excrement + vending=excrement_bags";
[11138]899 group: tr("deprecated tagging");
[9435]900 fixAdd: "amenity=waste_basket";
901 fixAdd: "waste=dog_excrement";
902 fixAdd: "vending=excrement_bags";
903}
904*[amenity=artwork] {
905 throwWarning: tr("{0} is deprecated", "{0.tag}");
906 suggestAlternative: "tourism=artwork";
[11138]907 group: tr("deprecated tagging");
[9435]908 fixAdd: "tourism=artwork";
909 fixRemove: "amenity";
910}
911*[amenity=community_center] {
912 throwWarning: tr("{0} is deprecated", "{0.tag}");
913 suggestAlternative: "amenity=community_centre";
[11138]914 group: tr("deprecated tagging");
[9435]915 fixAdd: "amenity=community_centre";
916}
917*[man_made=cut_line] {
918 throwWarning: tr("{0} is deprecated", "{0.tag}");
919 suggestAlternative: "man_made=cutline";
[11138]920 group: tr("deprecated tagging");
[9435]921 fixAdd: "man_made=cutline";
922}
923*[amenity=park] {
924 throwWarning: tr("{0} is deprecated", "{0.tag}");
925 suggestAlternative: "leisure=park";
[11138]926 group: tr("deprecated tagging");
[9435]927 fixAdd: "leisure=park";
928 fixRemove: "amenity";
929}
930*[amenity=hotel] {
931 throwWarning: tr("{0} is deprecated", "{0.tag}");
932 suggestAlternative: "tourism=hotel";
[11138]933 group: tr("deprecated tagging");
[9435]934 fixAdd: "tourism=hotel";
935 fixRemove: "amenity";
936}
937*[shop=window],
938*[shop=windows] {
939 throwWarning: tr("{0} is deprecated", "{0.tag}");
940 suggestAlternative: "craft=window_construction";
[11138]941 group: tr("deprecated tagging");
[9435]942 fixAdd: "craft=window_construction";
943 fixRemove: "shop";
944}
945*[amenity=education] {
946 throwWarning: tr("{0} is deprecated", "{0.tag}");
947 suggestAlternative: "amenity=college";
948 suggestAlternative: "amenity=school";
949 suggestAlternative: "amenity=university";
[11138]950 group: tr("deprecated tagging");
[9435]951}
952*[shop=gallery] {
953 throwWarning: tr("{0} is deprecated", "{0.tag}");
954 suggestAlternative: "shop=art";
[11138]955 group: tr("deprecated tagging");
[9435]956 fixAdd: "shop=art";
957}
958*[shop=gambling],
959*[leisure=gambling] {
960 throwWarning: tr("{0} is deprecated", "{0.tag}");
961 suggestAlternative: "shop=bookmaker";
962 suggestAlternative: "shop=lottery";
963 suggestAlternative: "amenity=casino";
964 suggestAlternative: "leisure=amusement_arcade";
965 suggestAlternative: "amenity=gambling";
[11138]966 group: tr("deprecated tagging");
[9435]967}
[15262]968*[office=real_estate],
[9435]969*[office=real_estate_agent] {
970 throwWarning: tr("{0} is deprecated", "{0.tag}");
[15262]971 suggestAlternative: "office=estate_agent";
[11138]972 group: tr("deprecated tagging");
[15262]973 fixAdd: "office=estate_agent";
[9435]974}
975*[shop=glass] {
976 throwWarning: tr("{0} is deprecated", "{0.tag}");
977 suggestAlternative: "shop=glaziery";
978 suggestAlternative: "craft=glaziery";
[11138]979 group: tr("deprecated tagging");
[9435]980}
981*[amenity=proposed],
982*[amenity=disused],
983*[shop=disused],
[15262]984*[highway=abandoned],
[9435]985*[historic=abandoned] {
986 throwWarning: tr("{0} is deprecated. Use the {1}: key prefix instead.", "{0.tag}", "{0.value}");
[11138]987 group: tr("deprecated tagging");
[9593]988}
989
[14815]990/* #12431 */
991*[amenity=swimming_pool] {
992 throwWarning: tr("{0} is deprecated", "{0.tag}");
993 suggestAlternative: "leisure=swimming_pool";
994 group: tr("deprecated tagging");
995 fixChangeKey: "amenity => leisure";
996}
997
998/* #17379 */
[14804]999*[amenity=sauna] {
[9593]1000 throwWarning: tr("{0} is deprecated", "{0.tag}");
[14815]1001 suggestAlternative: "leisure=sauna";
[11138]1002 group: tr("deprecated tagging");
[9593]1003 fixChangeKey: "amenity => leisure";
[9747]1004}
1005
[14957]1006/* #12494, #17554 */
[9836]1007*[/^[^t][^i][^g].+_[0-9]$/][!/^note_[0-9]$/][!/^description_[0-9]$/] {
[14957]1008 throwWarning: tr("{0}", "{0.key}");
[11146]1009 group: tr("questionable key (ending with a number)");
[11138]1010 assertMatch: "way name_1=foo";
1011 assertNoMatch: "way note_2=foo";
1012 assertNoMatch: "way description_3=foo";
1013 assertNoMatch: "way tiger:name_base_1=bar"; /*should not warn for key tiger:name_base_1 */
1014}
[9835]1015
1016/* #12500 */
1017*[sport=skating] {
1018 throwWarning: tr("{0} is deprecated", "{0.tag}");
1019 suggestAlternative: "sport=ice_skating";
1020 suggestAlternative: "sport=roller_skating";
[11138]1021 group: tr("deprecated tagging");
[10027]1022}
1023
1024way[barrier=wall][type=noise_barrier][!wall],
1025way[barrier=wall][type=noise_barrier][wall=noise_barrier] {
1026 throwWarning: tr("{0} is deprecated", "{1.tag}");
1027 suggestAlternative: "wall=noise_barrier";
[11138]1028 group: tr("deprecated tagging");
[10027]1029 fixChangeKey: "type => wall";
1030}
1031way[barrier=wall][type=noise_barrier][wall][wall!=noise_barrier] {
1032 throwWarning: tr("{0} is deprecated", "{1.tag}");
1033 suggestAlternative: "wall=noise_barrier";
[11138]1034 group: tr("deprecated tagging");
[10095]1035}
1036
1037/* #8978, 12588 */
1038*[amenity=public_building] {
1039 throwWarning: tr("{0} is deprecated", "{0.tag}");
1040 suggestAlternative: "amenity=townhall";
1041 suggestAlternative: "amenity=community_centre";
1042 suggestAlternative: "amenity=hospital";
1043 suggestAlternative: "leisure=sports_centre";
1044 suggestAlternative: "office=government";
1045 suggestAlternative: "building=hospital";
1046 suggestAlternative: "building=public";
1047 suggestAlternative: "...";
[11138]1048 group: tr("deprecated tagging");
[10100]1049}
1050
[15648]1051/* #18517 */
[15634]1052*[office=administrative] {
1053 throwWarning: tr("{0} is deprecated", "{0.tag}");
[15648]1054 suggestAlternative: "office=government";
[15634]1055 group: tr("deprecated tagging");
[15648]1056 fixAdd: "office=government";
[15634]1057}
1058
[10100]1059/* #12708 */
1060*[vending=news_papers] {
1061 throwWarning: tr("{0} is deprecated", "{0.tag}");
1062 suggestAlternative: "vending=newspapers";
[11138]1063 group: tr("deprecated tagging");
[10100]1064 fixAdd: "vending=newspapers";
[10229]1065}
1066
1067/* #12771 */
1068*[service=drive_through] {
1069 throwWarning: tr("{0} is deprecated", "{0.tag}");
1070 suggestAlternative: "service=drive-through";
[11138]1071 group: tr("deprecated tagging");
[10229]1072 fixAdd: "service=drive-through";
[10230]1073}
1074
[15954]1075/* #12771, #9895 */
1076*[noexit][noexit!=yes][noexit!=no], /* noexit=no has an own warning */
[15548]1077way[highway=service][service][service !~ /^(alley|drive-through|drive_through|driveway|emergency_access|parking_aisle|rest_area|slipway|yes)$/], /* drive_through and yes have special warnings */
[10230]1078way[railway=rail][service][service !~ /^(crossover|siding|spur|yard)$/],
1079way[waterway=canal][service][service !~ /^(irrigation|transportation|water_power)$/] {
1080 throwWarning: tr("The key {0} has an uncommon value.", "{1.key}");
[10451]1081}
1082
1083/* #13008 */
1084*[name:botanical] {
1085 throwWarning: tr("{0} is deprecated", "{0.key}");
1086 suggestAlternative: "species";
[11138]1087 group: tr("deprecated tagging");
[10511]1088}
1089
[13049]1090/* #11344, #13101, #15480 */
1091node[pole=air_to_ground],
[10511]1092node[pole=transition] {
1093 throwWarning: tr("{0} is deprecated", "{0.tag}");
1094 suggestAlternative: "location:transition=yes";
[11138]1095 group: tr("deprecated tagging");
[10511]1096 fixAdd: "location:transition=yes";
1097 fixRemove: "pole";
1098}
[13049]1099node[tower=air_to_ground],
[10511]1100node[tower=transition] {
1101 throwWarning: tr("{0} is deprecated", "{0.tag}");
1102 suggestAlternative: "location:transition=yes";
[11138]1103 group: tr("deprecated tagging");
[10511]1104 fixAdd: "location:transition=yes";
1105 fixRemove: "tower";
[10538]1106}
1107
1108/* #13138 */
1109area[landuse=pond] {
1110 throwWarning: tr("{0} is deprecated", "{0.tag}");
1111 suggestAlternative: "natural=water + water=pond";
[11138]1112 group: tr("deprecated tagging");
[10538]1113 fixAdd: "natural=water";
1114 fixAdd: "water=pond";
1115 fixRemove: "landuse";
[10911]1116}
1117
1118*[shop=souvenir],
1119*[shop=souvenirs],
1120*[shop=souveniers] {
1121 throwWarning: tr("{0} is deprecated", "{0.tag}");
1122 suggestAlternative: "shop=gift";
[11138]1123 group: tr("deprecated tagging");
[10911]1124 fixAdd: "shop=gift";
1125}
1126
1127*[vending=animal_food] {
1128 throwWarning: tr("{0} is deprecated", "{0.tag}");
1129 suggestAlternative: "vending=animal_feed";
[11138]1130 group: tr("deprecated tagging");
[10911]1131 fixAdd: "vending=animal_feed";
[11025]1132}
1133
[11583]1134/* #14376 */
1135node[vending=photos][amenity=vending_machine],
1136node[vending=photo][amenity=vending_machine] {
1137 throwWarning: tr("{0} is deprecated", "{0.tag}");
1138 suggestAlternative: "amenity=photo_booth";
1139 group: tr("deprecated tagging");
1140 fixRemove: "vending";
1141 fixAdd: "amenity=photo_booth";
1142
1143}
1144node[vending=photos][amenity!=vending_machine] {
1145 throwWarning: tr("{0} is deprecated", "{0.tag}");
1146 suggestAlternative: "amenity=photo_booth";
1147 group: tr("deprecated tagging");
1148}
1149
[11025]1150/* #13653 */
1151node[highway=emergency_access_point][phone][!emergency_telephone_code],
1152way[highway=emergency_access_point][phone][!emergency_telephone_code] {
1153 throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}");
1154 suggestAlternative: "emergency_telephone_code";
[11138]1155 group: tr("deprecated tagging");
[11025]1156 fixChangeKey: "phone => emergency_telephone_code";
1157 assertMatch: "node highway=emergency_access_point phone=123";
1158 assertNoMatch: "node highway=emergency_access_point emergency_telephone_code=456";
1159 assertNoMatch: "node highway=emergency_access_point phone=123 emergency_telephone_code=456";
1160 assertNoMatch: "node phone=123";
1161}
1162node[highway=emergency_access_point][phone=*emergency_telephone_code],
1163way[highway=emergency_access_point][phone=*emergency_telephone_code] {
1164 throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}");
1165 suggestAlternative: "emergency_telephone_code";
[11138]1166 group: tr("deprecated tagging");
[11025]1167 fixRemove: "phone";
1168 assertNoMatch: "node highway=emergency_access_point phone=123";
1169 assertNoMatch: "node highway=emergency_access_point emergency_telephone_code=123";
1170 assertMatch: "node highway=emergency_access_point phone=123 emergency_telephone_code=123";
1171}
1172node[highway=emergency_access_point][phone][emergency_telephone_code][phone!=*emergency_telephone_code],
1173way[highway=emergency_access_point][phone][emergency_telephone_code][phone!=*emergency_telephone_code] {
1174 throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}");
1175 suggestAlternative: "emergency_telephone_code";
[11138]1176 group: tr("deprecated tagging");
[11025]1177 assertNoMatch: "node highway=emergency_access_point phone=123";
1178 assertNoMatch: "node highway=emergency_access_point emergency_telephone_code=123";
1179 assertNoMatch: "node highway=emergency_access_point phone=123 emergency_telephone_code=123";
[11232]1180}
1181
1182/* #13879 */
1183way[tracktype=1] {
1184 throwError: tr("{0}", "{0.tag}");
1185 suggestAlternative: "tracktype=grade1";
1186 group: tr("misspelled value");
1187 fixAdd: "tracktype=grade1";
1188}
1189way[tracktype=2] {
1190 throwError: tr("{0}", "{0.tag}");
1191 suggestAlternative: "tracktype=grade2";
1192 group: tr("misspelled value");
1193 fixAdd: "tracktype=grade2";
1194}
1195way[tracktype=3] {
1196 throwError: tr("{0}", "{0.tag}");
1197 suggestAlternative: "tracktype=grade3";
1198 group: tr("misspelled value");
1199 fixAdd: "tracktype=grade3";
1200}
1201way[tracktype=4] {
1202 throwError: tr("{0}", "{0.tag}");
1203 suggestAlternative: "tracktype=grade4";
1204 group: tr("misspelled value");
1205 fixAdd: "tracktype=grade4";
1206}
1207way[tracktype=5] {
1208 throwError: tr("{0}", "{0.tag}");
1209 suggestAlternative: "tracktype=grade5";
1210 group: tr("misspelled value");
1211 fixAdd: "tracktype=grade5";
1212}
1213way[tracktype][tracktype!~/^(1|2|3|4|5|grade1|grade2|grade3|grade4|grade5)$/] {
1214 throwError: tr("wrong value: {0}", "{0.tag}");
1215 suggestAlternative: "tracktype=grade1";
1216 suggestAlternative: "tracktype=grade2";
1217 suggestAlternative: "tracktype=grade3";
1218 suggestAlternative: "tracktype=grade4";
1219 suggestAlternative: "tracktype=grade5";
[11263]1220}
1221
[11477]1222area[area][area!=yes][area!=no] {
[11476]1223 throwError: tr("wrong value: {0}", "{0.tag}");
1224 suggestAlternative: "area=yes";
1225 suggestAlternative: "area=no";
1226}
1227
[11263]1228/* #13953 */
1229*[amenity=hunting_stand][lock=yes],
1230*[amenity=hunting_stand][lock=no] {
1231 throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}");
1232 suggestAlternative: "lockable";
1233 group: tr("deprecated tagging");
1234 fixChangeKey: "lock => lockable";
[11337]1235}
1236
1237*[amenity=advertising][!advertising] {
1238 throwWarning: tr("{0} is deprecated", "{0.tag}");
1239 suggestAlternative: "advertising=*";
1240 group: tr("deprecated tagging");
1241}
1242*[amenity=advertising][advertising] {
1243 throwWarning: tr("{0} is deprecated", "{0.tag}");
1244 suggestAlternative: "advertising=*";
1245 group: tr("deprecated tagging");
1246 fixRemove: "amenity";
1247}
1248
1249way[direction=up][incline=up],
1250way[direction=down][incline=down],
1251way[direction=up][!incline],
1252way[direction=down][!incline] {
1253 throwWarning: tr("{0} is deprecated", "{0.tag}");
1254 suggestAlternative: "incline";
1255 group: tr("deprecated tagging");
1256 fixChangeKey: "direction => incline";
1257}
1258way[direction=up][incline][incline!=up],
1259way[direction=down][incline][incline!=down] {
1260 throwWarning: tr("{0} is deprecated", "{0.tag}");
1261 suggestAlternative: "incline";
1262 group: tr("deprecated tagging");
[13218]1263}
1264
[15310]1265*[building=true],
1266*[building="*"],
1267*[building=Y],
1268*[building=y],
1269*[building=1] {
[13218]1270 throwError: tr("{0}", "{0.tag}");
1271 suggestAlternative: "building=yes";
1272 group: tr("misspelled value");
1273 fixAdd: "building=yes";
[13290]1274}
1275
[15758]1276/* #17786, #18612 */
[15309]1277*[building=abandoned],
1278*[building=address],
1279*[building=bing],
1280*[building=collapsed],
1281*[building=damaged],
1282*[building=demolished],
1283*[building=disused],
1284*[building=fixme],
1285*[building=occupied],
[15758]1286*[building=razed] {
1287 throwWarning: tr("{0} is not a building type.", "{0.tag}");
1288 group: tr("deprecated tagging");
1289}
[15309]1290*[building=other],
1291*[building=unclassified],
1292*[building=undefined],
1293*[building=unknown],
1294*[building=unidentified] {
1295 throwWarning: tr("{0} is not a building type.", "{0.tag}");
1296 group: tr("deprecated tagging");
[15758]1297 fixAdd: "building=yes";
[15309]1298}
1299
[13290]1300/* #15675 */
1301node[power=transformer][location=pole][transformer] {
1302 throwWarning: tr("{0} together with {1}", "{0.tag}", "{1.tag}");
1303 group: tr("deprecated tagging");
1304 fixChangeKey: "location => power";
1305}
1306node[power=transformer][location=pole][!transformer] {
1307 throwWarning: tr("{0} together with {1}", "{0.tag}", "{1.tag}");
1308 group: tr("deprecated tagging");
1309 fixChangeKey: "location => power";
1310 fixAdd: "transformer=yes";
1311}
[13320]1312
1313node[tourism=picnic_table],
1314node[amenity=picnic_table],
1315node[leisure=picnic],
1316node[leisure=picnic_site] {
1317 throwWarning: tr("{0} is deprecated", "{0.tag}");
1318 suggestAlternative: "tourism=picnic_site";
1319 suggestAlternative: "leisure=picnic_table";
1320 group: tr("deprecated tagging");
[13339]1321}
1322
1323/* #15804 */
1324relation[water=salt],
1325way[water=salt],
1326way[water=salt_pool],
1327way[water=salt_panne],
1328way[water=salt_pond] {
1329 throwWarning: tr("{0} is deprecated", "{0.tag}");
1330 suggestAlternative: "salt=yes";
1331 suggestAlternative: "landuse=salt_pond";
1332 group: tr("deprecated tagging");
1333}
1334
1335/* #15805 */
1336way[water=tidal] {
1337 throwWarning: tr("{0} is deprecated", "{0.tag}");
1338 suggestAlternative: "tidal=yes";
1339 fixAdd: "tidal=yes";
1340 fixRemove: "water";
1341 group: tr("deprecated tagging");
[13424]1342}
1343
1344*[amenity=toilet] {
1345 throwError: tr("{0}", "{0.tag}");
1346 suggestAlternative: "amenity=toilets";
1347 group: tr("misspelled value");
1348 fixAdd: "amenity=toilets";
[13576]1349}
1350
1351way[power=busbar] {
1352 throwWarning: tr("{0} is deprecated", "{0.tag}");
1353 suggestAlternative: "power=line + line=busbar";
1354 group: tr("deprecated tagging");
1355 fixAdd: "power=line";
1356 fixAdd: "line=busbar";
[14393]1357}
1358
1359/* #16924 */
1360*[man_made=MDF],
1361*[man_made=telephone_exchange] {
1362 throwWarning: tr("{0} is deprecated", "{0.tag}");
1363 suggestAlternative: "telecom=exchange";
1364 fixAdd: "telecom=exchange";
1365 fixRemove: "man_made";
1366 group: tr("deprecated tagging");
1367}
1368*[building=central_office] {
1369 throwWarning: tr("{0} is deprecated", "{0.tag}");
1370 suggestAlternative: "telecom=exchange";
1371 fixAdd: "telecom=exchange";
1372 fixAdd: "building=yes";
1373 group: tr("deprecated tagging");
1374}
1375*[telecom=central_office] {
1376 throwWarning: tr("{0} is deprecated", "{0.tag}");
1377 suggestAlternative: "telecom=exchange";
1378 fixAdd: "telecom=exchange";
1379 group: tr("deprecated tagging");
1380}
1381
1382/* #16925 */
1383node[communication=outdoor_dslam],
1384node[man_made=outdoor_dslam],
1385node[street_cabinet=outdoor_dslam] {
1386 throwWarning: tr("{0} is deprecated", "{0.tag}");
1387 suggestAlternative: "telecom=service_device";
1388 fixAdd: "telecom=service_device";
1389 fixRemove: "{0.key}";
1390 group: tr("deprecated tagging");
1391}
1392node[telecom=dslam],
1393node[telecom=outdoor_dslam] {
1394 throwWarning: tr("{0} is deprecated", "{0.tag}");
1395 suggestAlternative: "telecom=service_device";
1396 fixAdd: "telecom=service_device";
1397 group: tr("deprecated tagging");
1398}
[14593]1399
1400/* #15774 */
1401node[amenity=fire_hydrant] {
1402 throwWarning: tr("{0} is deprecated", "{0.tag}");
1403 suggestAlternative: "emergency=fire_hydrant";
1404 fixChangeKey: "amenity => emergency";
1405 group: tr("deprecated tagging");
1406}
1407node[fire_hydrant:type=pond] {
1408 throwWarning: tr("{0} is deprecated", "{0.tag}");
1409 suggestAlternative: "water_source=pond";
1410 fixAdd: "water_source=pond";
1411 fixRemove: "{0.key}";
1412 group: tr("deprecated tagging");
1413}
1414node[fire_hydrant:flow_capacity] {
1415 throwWarning: tr("{0} is deprecated", "{0.key}");
1416 suggestAlternative: "flow_rate";
1417 group: tr("deprecated tagging");
1418}
1419node[emergency=fire_hydrant][in_service=no] {
1420 throwWarning: tr("{0} is deprecated", "{1.tag}");
1421 suggestAlternative: "disused:emergency=fire_hydrant";
1422 fixAdd: "disused:emergency=fire_hydrant";
1423 fixRemove: "{1.key}";
1424 fixRemove: "{0.key}";
1425 group: tr("deprecated tagging");
1426}
1427node[fire_hydrant:water_source] {
1428 throwWarning: tr("{0} is deprecated", "{0.key}");
1429 suggestAlternative: "water_source";
1430 fixChangeKey: "fire_hydrant:water_source => water_source";
1431 group: tr("deprecated tagging");
[14814]1432}
1433
1434/* #17383 */
[14815]1435*[natural=waterfall] {
[14814]1436 throwWarning: tr("{0} is deprecated", "{0.tag}");
1437 suggestAlternative: "waterway=waterfall";
1438 fixChangeKey: "natural => waterway";
1439 group: tr("deprecated tagging");
[14867]1440}
1441
1442/* #17249 */
1443*[religion=unitarian] {
1444 throwWarning: tr("{0} is deprecated", "{0.tag}");
1445 suggestAlternative: "religion=unitarian_universalist";
1446 fixAdd: "religion=unitarian_universalist";
1447 group: tr("deprecated tagging");
[14874]1448}
1449
1450*[shop=shopping_centre] {
1451 throwWarning: tr("{0} is deprecated", "{0.tag}");
1452 suggestAlternative: "shop=mall";
1453 fixAdd: "shop=mall";
1454 group: tr("deprecated tagging");
[14917]1455}
1456
1457/* #17504 */
1458*[is_in],
1459node[/^is_in:.*$/],
1460way[/^is_in:.*$/] {
1461 throwWarning: tr("{0} is deprecated", "{0.key}");
1462 group: tr("deprecated tagging");
1463 fixRemove: "{0.key}";
1464}
[15004]1465
1466/* #17593 */
1467*[sport=football] {
1468 throwWarning: tr("{0} is deprecated", "{0.tag}");
1469 suggestAlternative: "sport=soccer";
1470 suggestAlternative: "sport=american_football";
1471 suggestAlternative: "sport=australian_football";
1472 suggestAlternative: "sport=canadian_football";
1473 suggestAlternative: "sport=rugby_league";
1474 suggestAlternative: "sport=rugby_union";
1475 suggestAlternative: "sport=gaelic_games";
1476 group: tr("deprecated tagging");
1477}
[15086]1478
1479/* #17556 */
1480*[leisure=common] {
1481 throwWarning: tr("{0} is deprecated", "{0.tag}");
1482 suggestAlternative: "landuse=*";
1483 suggestAlternative: "leisure=*";
1484 suggestAlternative: "designation=common";
1485 group: tr("deprecated tagging");
[15166]1486}
1487
1488/* #17043 */
1489*[cuisine=vegan],
1490*[cuisine=vegetarian] {
1491 throwWarning: tr("{0} is deprecated", "{0.tag}");
1492 suggestAlternative: concat("diet:", "{0.value}", "=yes");
1493 suggestAlternative: concat("diet:", "{0.value}", "=only");
1494 group: tr("deprecated tagging");
1495}
1496
1497/* #17798 */
1498*[kitchen_hours] {
1499 throwWarning: tr("{0} is deprecated", "{0.key}");
1500 suggestAlternative: "opening_hours:kitchen";
1501 fixChangeKey: "kitchen_hours => opening_hours:kitchen";
1502 group: tr("deprecated tagging");
[15199]1503}
1504
1505/* #17681 */
1506*[shop=money_transfer] {
1507 throwWarning: tr("{0} is deprecated", "{0.tag}");
1508 suggestAlternative: "amenity=money_transfer";
1509 fixChangeKey: "shop => amenity";
1510 group: tr("deprecated tagging");
[15200]1511}
1512
1513*[contact:google_plus] {
1514 throwWarning: tr("{0} is deprecated", "{0.key}");
1515 fixRemove: "contact:google_plus";
1516 group: tr("deprecated tagging");
[15262]1517}
1518
1519/* #17370 */
1520*[amenity=garages],
1521*[amenity=garage] {
1522 throwWarning: tr("{0} is deprecated", "{0.tag}");
1523 suggestAlternative: concat("building=", "{0.value}");
1524 suggestAlternative: "landuse=garages";
1525 suggestAlternative: "amenity=parking + parking=garage_boxes";
1526 group: tr("deprecated tagging");
1527}
1528*[shop=winery],
1529*[amenity=winery] {
1530 throwWarning: tr("{0} is deprecated", "{0.tag}");
1531 suggestAlternative: "craft=winery";
1532 suggestAlternative: "shop=wine";
1533 group: tr("deprecated tagging");
1534}
1535*[amenity=youth_centre] {
1536 throwWarning: tr("{0} is deprecated", "{0.tag}");
1537 suggestAlternative: "amenity=community_centre + community_centre=youth_centre";
1538 fixAdd: "amenity=community_centre";
1539 fixAdd: "community_centre=youth_centre";
1540 group: tr("deprecated tagging");
1541}
1542*[building:type][building=yes],
1543*[building:type][!building] {
1544 throwWarning: tr("{0} is deprecated", "{0.key}");
1545 suggestAlternative: "building";
1546 group: tr("deprecated tagging");
1547 fixChangeKey: "building:type => building";
1548 assertMatch: "way building:type=church";
1549 assertMatch: "way building:type=church building=yes";
1550 assertNoMatch: "way building:type=church building=supermarket";
1551}
1552*[building:type][building][building!=yes] {
1553 throwWarning: tr("{0} is deprecated", "{0.key}");
1554 suggestAlternative: "building";
1555 group: tr("deprecated tagging");
1556 assertNoMatch: "way building:type=church";
1557 assertNoMatch: "way building:type=church building=yes";
1558 assertMatch: "way building:type=church building=supermarket";
1559}
1560*[escalator] {
1561 throwWarning: tr("{0} is deprecated", "{0.key}");
1562 suggestAlternative: "highway=steps + conveying=*";
1563 group: tr("deprecated tagging");
1564}
1565*[fenced] {
1566 throwWarning: tr("{0} is deprecated", "{0.key}");
1567 suggestAlternative: "barrier=fence";
1568 group: tr("deprecated tagging");
1569}
1570*[historic_name][!old_name] {
1571 throwWarning: tr("{0} is deprecated", "{0.key}");
1572 suggestAlternative: "old_name";
1573 group: tr("deprecated tagging");
1574 fixChangeKey: "historic_name => old_name";
1575}
1576*[historic_name][old_name] {
1577 throwWarning: tr("{0} is deprecated", "{0.key}");
1578 suggestAlternative: "old_name";
1579 group: tr("deprecated tagging");
1580}
1581*[landuse=field] {
1582 throwWarning: tr("{0} is deprecated", "{0.tag}");
1583 suggestAlternative: "landuse=farmland";
1584 group: tr("deprecated tagging");
1585 fixAdd: "landuse=farmland";
1586}
1587*[leisure=beach] {
1588 throwWarning: tr("{0} is deprecated", "{0.tag}");
1589 suggestAlternative: "natural=beach";
1590 suggestAlternative: "leisure=beach_resort";
1591 group: tr("deprecated tagging");
1592}
1593*[leisure=club] {
1594 throwWarning: tr("{0} is deprecated", "{0.tag}");
1595 suggestAlternative: "club=*";
1596 group: tr("deprecated tagging");
1597}
1598*[leisure=video_arcade] {
1599 throwWarning: tr("{0} is deprecated", "{0.tag}");
1600 suggestAlternative: "leisure=amusement_arcade";
1601 suggestAlternative: "leisure=adult_gaming_centre";
1602 group: tr("deprecated tagging");
1603}
1604*[man_made=jetty] {
1605 throwWarning: tr("{0} is deprecated", "{0.tag}");
1606 suggestAlternative: "man_made=pier";
1607 group: tr("deprecated tagging");
1608 fixAdd: "man_made=pier";
1609}
1610*[man_made=village_pump] {
1611 throwWarning: tr("{0} is deprecated", "{0.tag}");
1612 suggestAlternative: "man_made=water_well";
1613 group: tr("deprecated tagging");
1614 fixAdd: "man_made=water_well";
1615}
1616*[man_made=water_tank] {
1617 throwWarning: tr("{0} is deprecated", "{0.tag}");
1618 suggestAlternative: "man_made=storage_tank + content=water";
1619 group: tr("deprecated tagging");
1620 fixAdd: "man_made=storage_tank";
1621 fixAdd: "content=water";
1622}
1623*[natural=moor] {
1624 throwWarning: tr("{0} is deprecated", "{0.tag}");
1625 suggestAlternative: "natural=heath";
1626 suggestAlternative: "natural=scrub";
1627 suggestAlternative: "natural=grassland";
1628 suggestAlternative: "natural=wetland";
1629 suggestAlternative: "natural=fell";
1630 suggestAlternative: "natural=tundra";
1631 suggestAlternative: "landuse=meadow + meadow=agricultural";
1632 group: tr("deprecated tagging");
1633}
1634*[noexit=no][!fixme] {
1635 throwWarning: tr("{0} is deprecated", "{0.tag}");
1636 suggestAlternative: "fixme=continue";
1637 group: tr("deprecated tagging");
1638 fixAdd: "fixme=continue";
1639 fixRemove: "noexit";
1640}
1641*[noexit=no][fixme] {
1642 throwWarning: tr("{0} is deprecated", "{0.tag}");
1643 suggestAlternative: "fixme=continue";
1644 group: tr("deprecated tagging");
1645}
1646*[shop=dive] {
1647 throwWarning: tr("{0} is deprecated", "{0.tag}");
1648 suggestAlternative: "shop=scuba_diving";
1649 group: tr("deprecated tagging");
1650 fixAdd: "shop=scuba_diving";
1651}
1652*[shop=furnace] {
1653 throwWarning: tr("{0} is deprecated", "{0.tag}");
1654 suggestAlternative: "shop=fireplace";
1655 suggestAlternative: "craft=plumber";
1656 group: tr("deprecated tagging");
1657}
1658*[sport=paragliding] {
1659 throwWarning: tr("{0} is deprecated", "{0.tag}");
1660 suggestAlternative: "sport=free_flying";
1661 group: tr("deprecated tagging");
1662 fixAdd: "sport=free_flying";
1663}
1664*[tourism=bed_and_breakfast] {
1665 throwWarning: tr("{0} is deprecated", "{0.tag}");
1666 suggestAlternative: "tourism=guest_house + guest_house=bed_and_breakfast";
1667 group: tr("deprecated tagging");
1668 fixAdd: "tourism=guest_house";
1669 fixAdd: "guest_house=bed_and_breakfast";
[15263]1670}
1671
1672/* #17880 */
1673*[diaper=yes],
1674*[diaper=no] {
1675 throwWarning: tr("{0} is deprecated", "{0.tag}");
1676 suggestAlternative: concat("changing_table=", "{0.value}");
1677 group: tr("deprecated tagging");
1678 fixChangeKey: "diaper => changing_table";
1679 set diaper_checked;
1680}
1681*[diaper][diaper =~ /^[1-9][0-9]*$/] {
1682 throwWarning: tr("{0} is deprecated", "{0.tag}");
1683 suggestAlternative: concat("changing_table=yes + changing_table:count=", "{0.value}");
1684 group: tr("deprecated tagging");
1685 fixChangeKey: "diaper => changing_table:count";
1686 fixAdd: "changing_table=yes";
1687 set diaper_checked;
1688}
1689*[diaper=room] {
1690 throwWarning: tr("{0} is deprecated", "{0.tag}");
1691 suggestAlternative: "changing_table=room";
1692 suggestAlternative: "changing_table=dedicated_room";
1693 group: tr("deprecated tagging");
1694 set diaper_checked;
1695}
1696*[diaper]!.diaper_checked {
1697 throwWarning: tr("{0} is deprecated", "{0.key}");
1698 suggestAlternative: "changing_table";
1699 group: tr("deprecated tagging");
1700}
1701*[diaper:male=yes] {
1702 throwWarning: tr("{0} is deprecated", "{0.tag}");
1703 suggestAlternative: "changing_table:location=male_toilet";
1704 group: tr("deprecated tagging");
1705 fixAdd: "changing_table:location=male_toilet";
1706 fixRemove: "diaper:male";
1707 set diaper___checked;
1708}
1709*[diaper:female=yes] {
1710 throwWarning: tr("{0} is deprecated", "{0.tag}");
1711 suggestAlternative: "changing_table:location=female_toilet";
1712 group: tr("deprecated tagging");
1713 fixAdd: "changing_table:location=female_toilet";
1714 fixRemove: "diaper:female";
1715 set diaper___checked;
1716}
1717*[diaper:unisex=yes] {
1718 throwWarning: tr("{0} is deprecated", "{0.tag}");
1719 suggestAlternative: "changing_table:location=unisex_toilet";
1720 group: tr("deprecated tagging");
1721 fixAdd: "changing_table:location=unisex_toilet";
1722 fixRemove: "diaper:unisex";
1723 set diaper___checked;
1724}
1725*[diaper:wheelchair=yes],
1726*[diaper:wheelchair=no] {
1727 throwWarning: tr("{0} is deprecated", "{0.tag}");
1728 suggestAlternative: concat("changing_table:wheelchair=", "{0.value}");
1729 group: tr("deprecated tagging");
1730 fixChangeKey: "diaper:wheelchair => changing_table:wheelchair";
1731 set diaper___checked;
1732}
1733*[diaper:fee=yes],
1734*[diaper:fee=no] {
1735 throwWarning: tr("{0} is deprecated", "{0.tag}");
1736 suggestAlternative: concat("changing_table:fee=", "{0.value}");
1737 group: tr("deprecated tagging");
1738 fixChangeKey: "diaper:fee => changing_table:fee";
1739 set diaper___checked;
1740}
1741*[/^diaper:/]!.diaper___checked {
1742 throwWarning: tr("{0} is deprecated", "diaper:*");
1743 suggestAlternative: "changing_table:*";
1744 group: tr("deprecated tagging");
1745}
1746*[changing_table][changing_table!~/^(yes|no|limited)$/] {
1747 throwWarning: tr("wrong value: {0}", "{0.tag}");
1748 suggestAlternative: "changing_table=yes";
1749 suggestAlternative: "changing_table=no";
1750 suggestAlternative: "changing_table=limited";
[15264]1751}
1752
1753/* #17990 */
1754*[roof:shape=half_hipped] {
1755 throwWarning: tr("{0} is deprecated", "{0.tag}");
1756 suggestAlternative: "roof:shape=half-hipped";
1757 group: tr("deprecated tagging");
1758 fixAdd: "roof:shape=half-hipped";
[15266]1759}
1760
1761/* #18003 */
1762*[bridge_name] {
1763 throwWarning: tr("{0} is deprecated", "{0.key}");
1764 suggestAlternative: "bridge:name";
1765 group: tr("deprecated tagging");
1766 fixChangeKey: "bridge_name => bridge:name";
[15270]1767}
1768
1769/* #18007 */
1770*[access=public] {
1771 throwWarning: tr("{0} is deprecated", "{0.tag}");
1772 suggestAlternative: "access=yes";
1773 group: tr("deprecated tagging");
1774 fixAdd: "access=yes";
[15273]1775}
1776
1777/* #17330 */
1778*[crossing=island] {
1779 throwWarning: tr("{0} is deprecated", "{0.tag}");
1780 suggestAlternative: "crossing:island=yes";
1781 group: tr("deprecated tagging");
1782 fixRemove: "crossing";
1783 fixAdd: "crossing:island=yes";
[15360]1784}
1785
1786/* #18152 */
1787*[recycling:metal] {
1788 throwWarning: tr("{0} is deprecated", "{0.key}");
1789 suggestAlternative: "recycling:scrap_metal";
1790 group: tr("deprecated tagging");
1791 fixChangeKey: "recycling:metal => recycling:scrap_metal";
1792}
[15435]1793
1794/* #18154 */
1795*[shop=dog_grooming] {
1796 throwWarning: tr("{0} is deprecated", "{0.tag}");
1797 suggestAlternative: "shop=pet_grooming";
1798 fixAdd: "shop=pet_grooming";
1799 group: tr("deprecated tagging");
[15454]1800}
1801
1802/* #17984 */
1803*[tower:type=anchor],
1804*[tower:type=suspension] {
1805 throwWarning: tr("{0} is deprecated", "{0.tag}");
1806 suggestAlternative: concat("line_attachment=", "{0.value}");
1807 fixChangeKey: "tower:type => line_attachment";
1808 group: tr("deprecated tagging");
[15464]1809}
1810node[pole:type=anchor],
1811node[pole:type=suspension] {
1812 throwWarning: tr("{0} is deprecated", "{0.tag}");
1813 suggestAlternative: concat("line_attachment=", "{0.value}");
1814 fixChangeKey: "pole:type => line_attachment";
1815 group: tr("deprecated tagging");
1816}
[15526]1817
1818/* #18267 */
[15528]1819node[man_made=pipeline_marker],
[15526]1820node[pipeline=marker],
1821node[power=marker],
1822node[cable=marker] {
1823 throwWarning: tr("{0} is deprecated", "{0.tag}");
1824 suggestAlternative: "marker=* + utility=*";
1825 group: tr("deprecated tagging");
[15533]1826}
1827
1828/* #17643 */
1829way[barrier=embankment] {
1830 throwWarning: tr("{0} is deprecated", "{0.tag}");
1831 suggestAlternative: "man_made=embankment";
1832 suggestAlternative: "embankment=yes";
1833 group: tr("deprecated tagging");
[15636]1834}
1835
1836/* #18469 */
1837way[landuse=churchyard] {
1838 throwWarning: tr("{0} is deprecated", "{0.tag}");
1839 suggestAlternative: "landuse=religious";
1840 suggestAlternative: "amenity=graveyard";
1841 group: tr("deprecated tagging");
1842}
[15648]1843
1844*[sloped_curb=yes][!kerb],
1845*[sloped_curb=both][!kerb] {
1846 throwWarning: tr("{0} is deprecated", "{0.tag}");
1847 suggestAlternative: "kerb=lowered";
1848 group: tr("deprecated tagging");
1849 fixRemove: "sloped_curb";
1850 fixAdd: "kerb=lowered";
1851}
1852*[sloped_curb=no][!kerb] {
1853 throwWarning: tr("{0} is deprecated", "{0.tag}");
1854 suggestAlternative: "kerb=yes";
1855 group: tr("deprecated tagging");
1856 fixRemove: "sloped_curb";
1857 fixAdd: "kerb=yes";
1858}
1859*[sloped_curb][sloped_curb !~ /^(yes|both|no)$/][!kerb],
1860*[sloped_curb][kerb] {
1861 throwWarning: tr("{0} is deprecated", "{0.key}");
1862 suggestAlternative: "kerb=*";
1863 group: tr("deprecated tagging");
1864}
[15715]1865
1866/* #18571 */
1867*[unnamed=yes] {
1868 throwWarning: tr("{0} is deprecated", "{0.tag}");
1869 suggestAlternative: "noname=yes";
1870 fixChangeKey: "unnamed => noname";
1871 group: tr("deprecated tagging");
[15722]1872}
1873
1874node[segregated][segregated!=yes][segregated!=no],
1875way[segregated ][segregated!=yes][segregated!=no] {
1876 throwWarning: tr("unusual value of {0}", "{0.key}");
[15758]1877}
1878
1879/* #18603 */
1880way[bicycle:oneway] {
1881 throwWarning: tr("{0} is deprecated", "{0.key}");
1882 suggestAlternative: "oneway:bicycle";
1883 fixChangeKey: "bicycle:oneway => oneway:bicycle";
1884 group: tr("deprecated tagging");
1885}
1886
1887/* #18605 */
1888*[building:height] {
1889 throwWarning: tr("{0} is deprecated", "{0.key}");
1890 suggestAlternative: "height";
1891 fixChangeKey: "building:height => height";
1892 group: tr("deprecated tagging");
1893}
1894*[building:min_height] {
1895 throwWarning: tr("{0} is deprecated", "{0.key}");
1896 suggestAlternative: "min_height";
1897 fixChangeKey: "building:min_height => min_height";
1898 group: tr("deprecated tagging");
[15831]1899}
1900
1901/* #11232 */
1902way[highway][construction=yes][highway!=construction] {
1903 throwWarning: tr("{0} is deprecated", "{1.tag}");
1904 suggestAlternative: "construction=minor";
1905 suggestAlternative: concat("highway=construction + construction=", "{0.value}");
1906 group: tr("deprecated tagging");
[15867]1907}
1908
1909/* #18659 */
1910*[car][amenity=charging_station] {
1911 throwWarning: tr("{0} is deprecated", "{0.key}");
1912 suggestAlternative: "motorcar";
1913 group: tr("deprecated tagging");
1914 fixChangeKey: "car => motorcar";
1915}
[15930]1916
1917/* #18767 */
1918*[navigationaid=approach_light],
1919*[navigationaid="ALS (Approach lighting system)"] {
1920 throwWarning: tr("{0} is deprecated", "{0.tag}");
1921 suggestAlternative: "navigationaid=als";
1922 group: tr("deprecated tagging");
1923 fixAdd: "navigationaid=als";
[15966]1924}
1925
1926/* #18819 */
1927node[exit_to] {
1928 throwWarning: tr("{0} is deprecated", "{0.key}");
1929 suggestAlternative: "destination";
1930 group: tr("deprecated tagging");
[16173]1931}
1932
1933/* #18951 */
[16185]1934*[water=riverbank][!natural] {
[16173]1935 throwWarning: tr("{0} is deprecated", "{0.tag}");
[16185]1936 suggestAlternative: "natural=water + water=river";
[16173]1937 group: tr("deprecated tagging");
1938 fixAdd: "water=river";
[16185]1939 fixAdd: "natural=water";
1940}
1941*[water=riverbank][natural] {
1942 throwWarning: tr("{0} is deprecated", "{0.tag}");
1943 suggestAlternative: "natural=water + water=river";
1944 group: tr("deprecated tagging");
[16316]1945}
1946
1947node[amenity=bench][capacity][!seats],
1948way[amenity=bench][capacity][!seats] {
1949 throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}");
1950 suggestAlternative: "seats";
1951 group: tr("deprecated tagging");
1952 fixChangeKey: "capacity => seats";
1953}
1954node[amenity=bench][capacity][seats],
1955way[amenity=bench][capacity][seats] {
1956 throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}");
1957 suggestAlternative: "seats";
1958 group: tr("deprecated tagging");
[16656]1959}
1960
1961/* #19396 */
1962way[stream=intermittent] {
1963 throwWarning: tr("{0} is deprecated", "{0.tag}");
1964 suggestAlternative: "intermittent=yes";
1965 suggestAlternative: "seasonal=yes";
1966 group: tr("deprecated tagging");
[16714]1967}
1968
1969*[shop=lamps] {
1970 throwWarning: tr("{0} is deprecated", "{0.tag}");
1971 suggestAlternative: "shop=lighting";
1972 group: tr("deprecated tagging");
1973 fixAdd: "shop=lighting";
[16752]1974}
1975
[16762]1976/* #19180 */
[16752]1977*[access=customer] {
1978 throwWarning: tr("{0} is deprecated", "{0.tag}");
1979 suggestAlternative: "access=customers";
1980 group: tr("deprecated tagging");
1981 fixAdd: "access=customers";
1982}
1983*[addr:inclusion=estimated] {
1984 throwWarning: tr("{0} is deprecated", "{0.tag}");
1985 suggestAlternative: "addr:inclusion=estimate";
1986 group: tr("deprecated tagging");
1987 fixAdd: "addr:inclusion=estimate";
1988}
1989*[building=apartment] {
1990 throwWarning: tr("{0} is deprecated", "{0.tag}");
1991 suggestAlternative: "building=apartments";
1992 group: tr("deprecated tagging");
1993 fixAdd: "building=apartments";
[16760]1994}
1995node[lamp_mount="bent mast"] {
1996 throwWarning: tr("{0} is deprecated", "{0.tag}");
1997 suggestAlternative: "lamp_mount=bent_mast";
1998 group: tr("deprecated tagging");
1999 fixAdd: "lamp_mount=bent_mast";
2000}
2001node[lamp_mount="straight mast"] {
2002 throwWarning: tr("{0} is deprecated", "{0.tag}");
2003 suggestAlternative: "lamp_mount=straight_mast";
2004 group: tr("deprecated tagging");
2005 fixAdd: "lamp_mount=straight_mast";
2006}
2007node[lamp_type=electrical] {
2008 throwWarning: tr("{0} is deprecated", "{0.tag}");
2009 suggestAlternative: "lamp_type=electric";
2010 group: tr("deprecated tagging");
2011 fixAdd: "lamp_type=electric";
[16787]2012}
2013*[generator:type=solar_photovoltaic_panels] {
2014 throwWarning: tr("{0} is deprecated", "{0.tag}");
2015 suggestAlternative: "generator:type=solar_photovoltaic_panel";
2016 group: tr("deprecated tagging");
2017 fixAdd: "generator:type=solar_photovoltaic_panel";
2018}
2019*[building=part] {
2020 throwWarning: tr("{0} is deprecated", "{0.tag}");
2021 suggestAlternative: "building:part=yes";
2022 group: tr("deprecated tagging");
2023 /* without autofix, it is not clear if a building or a building part is mapped */
2024}
2025
[17017]2026/* #19739 */
2027*[natural=sink_hole] {
2028 throwWarning: tr("{0} is deprecated", "{0.tag}");
2029 suggestAlternative: "natural=sinkhole";
2030 group: tr("deprecated tagging");
2031 fixAdd: "natural=sinkhole";
2032}
2033
[17020]2034/* #19782 */
2035*[climbing:grade:UIAA:min] {
2036 throwWarning: tr("{0} is deprecated", "{0.key}");
2037 suggestAlternative: "climbing:grade:uiaa:min";
2038 group: tr("deprecated tagging");
2039 fixChangeKey: "climbing:grade:UIAA:min => climbing:grade:uiaa:min";
2040}
2041*[climbing:grade:UIAA:max] {
2042 throwWarning: tr("{0} is deprecated", "{0.key}");
2043 suggestAlternative: "climbing:grade:uiaa:max";
2044 group: tr("deprecated tagging");
2045 fixChangeKey: "climbing:grade:UIAA:max => climbing:grade:uiaa:max";
2046}
2047*[climbing:grade:UIAA:mean] {
2048 throwWarning: tr("{0} is deprecated", "{0.key}");
2049 suggestAlternative: "climbing:grade:uiaa:mean";
2050 group: tr("deprecated tagging");
2051 fixChangeKey: "climbing:grade:UIAA:mean => climbing:grade:uiaa:mean";
2052}
2053*[climbing:grade:UIAA] {
2054 throwWarning: tr("{0} is deprecated", "{0.key}");
2055 suggestAlternative: "climbing:grade:uiaa";
2056 group: tr("deprecated tagging");
2057 fixChangeKey: "climbing:grade:UIAA => climbing:grade:uiaa";
2058}
2059
[17048]2060/* #19835 */
2061*[cuisine][cuisine =~ /^(?i)(bbq)$/] { /* single value cases with autofix */
2062 throwWarning: tr("{0} is deprecated", "{0.tag}");
2063 suggestAlternative: "cuisine=barbecue";
2064 group: tr("deprecated tagging");
2065 fixAdd: "cuisine=barbecue";
2066 set bbq_autofix;
2067 assertMatch: "way cuisine=bbq";
2068 assertMatch: "way cuisine=BBQ";
2069 assertNoMatch: "way cuisine=pizza;Bbq";
2070 assertNoMatch: "way cuisine=pizza;bbq";
2071 assertNoMatch: "way cuisine=bbq;pizza";
2072 assertNoMatch: "way cuisine=pasta;bbq;pizza";
2073 assertNoMatch: "way cuisine=korean_bbq";
2074 assertNoMatch: "way cuisine=korean_bbq;bbq";
2075}
2076*[cuisine =~ /(?i)(;bbq|bbq;)/][cuisine!~/(?i)(_bbq)/] { /* multi value cases without autofix */
2077 throwWarning: tr("{0} is deprecated", "cuisine=bbq");
2078 suggestAlternative: "cuisine=barbecue";
2079 group: tr("deprecated tagging");
2080 assertNoMatch: "way cuisine=bbq";
2081 assertNoMatch: "way cuisine=BBQ";
2082 assertMatch: "way cuisine=pizza;Bbq";
2083 assertMatch: "way cuisine=pizza;bbq";
2084 assertMatch: "way cuisine=bbq;pizza";
2085 assertMatch: "way cuisine=pasta;bbq;pizza";
2086 assertNoMatch: "way cuisine=korean_bbq";
2087 assertNoMatch: "way cuisine=korean_bbq;bbq"; /* corner case (mixed ; and _) not supported by these rules, probably not present in the osm database */
2088}
2089
[17122]2090/* #17498 */
2091way[cycleway=none],
2092way[cycleway:left=none],
2093way[cycleway:right=none] {
2094 throwWarning: tr("{0} is deprecated", "{0.tag}");
2095 suggestAlternative: concat("{0.key}", "=no");
2096 group: tr("deprecated tagging");
2097 fixAdd: concat("{0.key}", "=no");
2098}
2099
[17153]2100/* #17809 */
2101*[Fixme] {
2102 throwWarning: tr("{0} is deprecated", "{0.key}");
2103 suggestAlternative: "fixme";
2104 group: tr("deprecated tagging");
2105 fixChangeKey: "Fixme => fixme";
2106 assertMatch: "way Fixme=foo";
2107 assertNoMatch: "way fixme=foo";
2108 assertNoMatch: "way FIXME=foo";
2109}
2110
[16787]2111/* When tags are deprecated they should be added to ignoretags.cfg too. */
Note: See TracBrowser for help on using the repository browser.