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

Last change on this file since 18231 was 18230, checked in by Don-vip, 4 years ago

fix #20530 - fix #20531 - Add man_made pump preset, deprecate man_made=pumping_rig, pump:type=* and substance=heat (patch and icons by skyper, François Lacombe and gaben)

  • Property svn:eol-style set to native
File size: 71.7 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
[17926]447/* #19287, #18334, #17950, #10661, #10837, #11737, #12771, #21009 */
[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],
[17926]459*[landuse=yes],
[9435]460*[shop="*"],
[14805]461*[shop=yes][amenity!=fuel],
[9681]462*[craft=yes],
[10229]463*[service=yes],
[7818]464*[place=yes] {
[7647]465 throwWarning: tr("{0}={1} is unspecific. Please replace ''{1}'' by a specific value.", "{0.key}", "{0.value}");
[7697]466}
467
[17092]468/* #10693 - http://wiki.openstreetmap.org/wiki/Proposed_features/drop_recommendation_for_place_name , #10837 */
[7697]469*[place_name][!name] {
470 throwWarning: tr("{0} should be replaced with {1}", "{0.key}", "{1.key}");
471 fixChangeKey: "place_name => name";
472}
[7818]473*[place][place_name = *name] {
474 throwWarning: tr("{0} = {1}; remove {0}", "{1.key}", "{1.value}");
475 fixRemove: "{1.key}";
476}
[7707]477
478way[sidewalk=yes] {
[17216]479 throwWarning: tr("{0} is unspecific", "{0.tag}");
480 suggestAlternative: "sidewalk=left";
481 suggestAlternative: "sidewalk=right";
482 suggestAlternative: "sidewalk=both";
483 suggestAlternative: "sidewalk=separate";
[7737]484}
485
[9551]486*[waterway=water_point] {
487 throwWarning: tr("{0} is deprecated", "{0.tag}");
488 suggestAlternative: "amenity=water_point";
[11138]489 group: tr("deprecated tagging");
[9551]490 fixChangeKey: "waterway => amenity";
491}
[7737]492*[waterway=waste_disposal] {
493 throwWarning: tr("{0} is deprecated", "{0.tag}");
[9551]494 suggestAlternative: "amenity=waste_disposal";
[11138]495 group: tr("deprecated tagging");
[7737]496 fixChangeKey: "waterway => amenity";
497}
498*[waterway=mooring] {
499 throwWarning: tr("{0} is deprecated", "{0.tag}");
[9551]500 suggestAlternative: "mooring=yes";
[11138]501 group: tr("deprecated tagging");
[7737]502 fixRemove: "waterway";
503 fixAdd: "mooring=yes";
[7818]504}
505
[18188]506/* #10837, #21268 */
[7969]507*[building][levels],
[18188]508*[building:part][levels] {
[7818]509 throwWarning: tr("{0} is deprecated", "{1.key}");
510 suggestAlternative: "building:levels";
[11138]511 group: tr("deprecated tagging");
[7818]512 fixChangeKey: "levels => building:levels";
[18188]513 set levels_building;
[7973]514}
[18188]515*[levels]!.levels_building {
516 throwWarning: tr("Unusual key {0}, maybe {1} or {2} is meant", "{0.key}", "level", "building:levels");
517}
[7973]518
[17092]519/* #10691 */
[7973]520*[protected_class] {
521 throwWarning: tr("{0} is deprecated", "{0.key}");
522 suggestAlternative: "protect_class";
[11138]523 group: tr("deprecated tagging");
[7973]524 fixChangeKey: "protected_class => protect_class";
[8008]525}
526
[17092]527/* #11070 */
[15648]528*[kerb=unknown],
[8008]529*[lock=unknown],
530*[hide=unknown],
531*[shelter=unknown],
532*[access=unknown],
533*[capacity:parent=unknown],
534*[capacity:women=unknown],
535*[capacity:disabled=unknown],
536*[crossing=unknown],
537*[foot=unknown] {
[8023]538 throwWarning: tr("Unspecific tag {0}", "{0.tag}");
[8121]539}
540
[17092]541/* #11183 */
[11159]542*[sport=skiing] {
[8121]543 throwWarning: tr("Definition of {0} is unclear", "{0.tag}");
[11159]544 suggestAlternative: tr("{0} + {1} + {2}", "piste:type=*", "piste:difficulty=*", "piste:grooming=*");
545 group: tr("deprecated tagging");
[8135]546}
547
[17092]548/* #11223 */
[8135]549*[waterway=wadi] {
550 throwWarning: tr("{0} is deprecated", "{0.tag}");
551 suggestAlternative: "{0.key}=* + intermittent=yes";
552 suggestAlternative: "natural=valley";
[11138]553 group: tr("deprecated tagging");
[8137]554}
555
[17209]556/* #10346 */
557way[oneway=1] {
[8137]558 throwWarning: tr("{0} is deprecated", "{0.tag}");
559 suggestAlternative: "oneway=yes";
[11138]560 group: tr("deprecated tagging");
[8137]561 fixAdd: "oneway=yes";
[8165]562}
563
[17209]564/* #11329 */
565way[oneway=-1] {
[8183]566 throwWarning: tr("{0} is not recommended. Use the Reverse Ways function from the Tools menu.", "{0.tag}");
567}
568
[8165]569*[drinkable] {
570 throwWarning: tr("{0} is deprecated", "{0.key}");
571 suggestAlternative: "drinking_water";
[11138]572 group: tr("deprecated tagging");
[8184]573}
574
[17092]575/* #10329, #15877 */
[13788]576 /* simple key change */
[8184]577*[color][!colour] {
578 throwWarning: tr("{0} is deprecated", "{0.key}");
579 suggestAlternative: "colour";
[11138]580 group: tr("deprecated tagging");
[8184]581 fixChangeKey: "color => colour";
[13788]582 assertMatch: "way color=red";
583 assertNoMatch: "way color=red colour=red";
[8184]584}
[13788]585area[building:color][!building:colour] {
586 throwWarning: tr("{0} is deprecated", "{0.key}");
587 suggestAlternative: "building:colour";
[11138]588 group: tr("deprecated tagging");
[13788]589 fixChangeKey: "building:color => building:colour";
590 assertMatch: "way building:color=red";
591 assertNoMatch: "way building:color=red building:colour=red";
592}
593area[roof:color][!roof:colour] {
594 throwWarning: tr("{0} is deprecated", "{0.key}");
595 suggestAlternative: "roof:colour";
596 group: tr("deprecated tagging");
597 fixChangeKey: "roof:color => roof:colour";
598 assertMatch: "way roof:color=red";
599 assertNoMatch: "way roof:color=red roof:colour=red";
600}
601 /* both tags with same value, remove color */
602*[color][colour][color=*colour] {
603 throwWarning: tr("{0} together with {1}", "{0.key}", "{1.key}");
604 suggestAlternative: "colour";
605 group: tr("deprecated tagging");
[8184]606 set samecolor;
607 fixRemove: "color";
[11049]608 assertMatch: "way color=red colour=red";
609 assertNoMatch: "way color=red colour=green";
[8184]610}
[13788]611area[building:color][building:colour]["building:color"=*"building:colour"] {
612 throwWarning: tr("{0} together with {1}", "{0.key}", "{1.key}");
613 suggestAlternative: "building:colour";
614 group: tr("deprecated tagging");
615 set samebuildingcolor;
616 fixRemove: "building:color";
617 assertMatch: "way building:color=red building:colour=red";
618 assertNoMatch: "way building:color=red building:colour=green";
619}
620area[roof:color][roof:colour]["roof:color"=*"roof:colour"] {
621 throwWarning: tr("{0} together with {1}", "{0.key}", "{1.key}");
622 suggestAlternative: "roof:colour";
623 group: tr("deprecated tagging");
624 set sameroofcolor;
625 fixRemove: "roof:color";
626 assertMatch: "way roof:color=red roof:colour=red";
627 assertNoMatch: "way roof:color=red roof:colour=green";
628}
629 /* both tags with different values, no autofix */
[8184]630*[color][colour]!.samecolor {
[13788]631 throwWarning: tr("{0} together with {1} and conflicting values", "{0.key}", "{1.key}");
632 suggestAlternative: "colour";
[11138]633 group: tr("deprecated tagging");
[11049]634 assertNoMatch: "way color=red colour=red";
635 assertMatch: "way color=red colour=green";
[8185]636}
[13788]637*[building:color][building:colour]!.samebuildingcolor {
638 throwWarning: tr("{0} together with {1} and conflicting values", "{0.key}", "{1.key}");
639 suggestAlternative: "building:colour";
640 group: tr("deprecated tagging");
641 assertNoMatch: "way building:color=red building:colour=red";
642 assertMatch: "way building:color=red building:colour=green";
643}
644*[roof:color][roof:colour]!.sameroofcolor {
645 throwWarning: tr("{0} together with {1} and conflicting values", "{0.key}", "{1.key}");
646 suggestAlternative: "roof:colour";
647 group: tr("deprecated tagging");
648 assertNoMatch: "way roof:color=red roof:colour=red";
649 assertMatch: "way roof:color=red roof:colour=green";
650}
[15496]651/* further more universal checks, no autofix */
652/* gpxd:color has another warning in unnecessary.mapcss */
653*[/:color/][!building:color][!roof:color][!gpxd:color] {
[8204]654 throwWarning: tr("{0} is deprecated", "{0.key}");
655 suggestAlternative: ":colour";
[11138]656 group: tr("deprecated tagging");
[11049]657 assertNoMatch: "way color=red";
[13788]658 assertNoMatch: "way roof:color=grey";
659 assertMatch: "way cycleway:surface:color=grey";
[8204]660}
[13788]661*[/color:/] {
[8204]662 throwWarning: tr("{0} is deprecated", "{0.key}");
663 suggestAlternative: "colour:";
[11138]664 group: tr("deprecated tagging");
[13788]665 assertNoMatch: "way color=red";
666 assertMatch: "way color:back=grey";
[8204]667}
[8185]668
[17092]669/* #11234 */
[8544]670*[/=|\+|\/|&|<|>|;|'|"|%|#|@|\\|,|\.|\{|\}|\?|\*|\^|\$/] {
[11133]671 throwWarning: tr("{0}", "{0.key}");
672 group: tr("key with uncommon character");
[8192]673}
674
[17092]675/* #11330, #18642 */
[8192]676*[/^.$/],
[17466]677node[/^..$/][!kp][!pk],
[15828]678way[/^..$/][route=ferry][!to],
679way[/^..$/][route!=ferry],
[8204]680relation[/^..$/][!to] {
[8192]681 throwWarning: tr("uncommon short key");
[11049]682 assertNoMatch: "relation to=Berlin";
683 assertMatch: "relation fo=bar";
684 assertMatch: "way to=bar";
[15828]685 assertNoMatch: "way to=Zuidschermer;Akersloot route=ferry";
[11049]686 assertMatch: "node fo=bar";
687 assertMatch: "node f=b";
[17466]688 assertNoMatch: "node kp=5"; /* already has a deprecated warning */
689 assertNoMatch: "node pk=7"; /* already has a deprecated warning */
[8204]690}
691
[17092]692/* #11439 */
[8383]693*[sport=hockey] {
[11138]694 throwWarning: tr("{0} is deprecated", "{0.tag}");
[8383]695 suggestAlternative: "sport=field_hockey";
696 suggestAlternative: "sport=ice_hockey";
[11138]697 group: tr("deprecated tagging");
[8428]698}
699
[17092]700/* #11471 */
[8428]701*[sport=billard],
702*[sport=billards],
703*[sport=billiard] {
704 throwWarning: tr("{0} is deprecated", "{0.tag}");
705 suggestAlternative: "sport=billiards";
[11138]706 group: tr("deprecated tagging");
[8428]707 fixAdd: "sport=billiards";
[8546]708}
709
[17092]710/* #11499, #16928 */
[8546]711*[payment:credit_cards=yes] {
[17851]712 throwOther: 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]713}
714*[payment:debit_cards=yes] {
[14392]715 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]716}
717*[payment:electronic_purses=yes] {
[14392]718 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]719}
720*[payment:cryptocurrencies=yes] {
[14392]721 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]722}
723
[17092]724/* #16253 */
[13786]725*[payment:ep_quick],
726*[payment:ep_cash],
727*[payment:ep_proton],
728*[payment:ep_chipknip] {
729 throwWarning: tr("{0} is deprecated", "{0.key}");
730 group: tr("deprecated tagging");
731 fixRemove: "{0.key}";
732}
733
[17466]734/* #8717, #20326 */
735*[kp][railway!=milestone] {
[8725]736 throwWarning: tr("{0} is deprecated", "{0.key}");
737 suggestAlternative: "distance";
[11138]738 group: tr("deprecated tagging");
[8725]739 fixChangeKey: "kp => distance";
740}
[17466]741*[pk][railway!=milestone] {
[8725]742 throwWarning: tr("{0} is deprecated", "{0.key}");
743 suggestAlternative: "distance";
[11138]744 group: tr("deprecated tagging");
[8725]745 fixChangeKey: "pk => distance";
[8730]746}
[17466]747*[kp][railway=milestone] {
748 throwWarning: tr("{0} is deprecated", "{0.key}");
749 suggestAlternative: "railway:position";
750 group: tr("deprecated tagging");
751 fixChangeKey: "kp => railway:position";
752}
753*[pk][railway=milestone] {
754 throwWarning: tr("{0} is deprecated", "{0.key}");
755 suggestAlternative: "railway:position";
756 group: tr("deprecated tagging");
757 fixChangeKey: "pk => railway:position";
758}
759*[distance][railway=milestone] {
760 throwWarning: tr("{0} is deprecated for {1}", "{0.key}", "{1.tag}");
761 suggestAlternative: "railway:position";
762 group: tr("deprecated tagging");
763 fixChangeKey: "distance => railway:position";
764}
[8730]765
766*[postcode] {
767 throwWarning: tr("{0} is deprecated", "{0.key}");
768 suggestAlternative: "addr:postcode";
[11138]769 group: tr("deprecated tagging");
[8730]770 suggestAlternative: "postal_code";
[9031]771}
772
773*[water=intermittent] {
774 throwWarning: tr("{0} is deprecated", "{0.tag}");
775 suggestAlternative: "intermittent=yes";
[11138]776 group: tr("deprecated tagging");
[9031]777 fixRemove: "water";
778 fixAdd: "intermittent=yes";
[9037]779}
780
[11409]781/* #10907, #14141 */
782/* 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 */
783way[type][type!=waterway][man_made=pipeline],
784node[type][pipeline=marker] {
[9037]785 throwWarning: tr("{0} is deprecated", "{0.key}");
786 suggestAlternative: "substance";
[11138]787 group: tr("deprecated tagging");
[9037]788 fixChangeKey: "type => substance";
789}
[9040]790
791*[landuse=farm] {
792 throwWarning: tr("{0} is deprecated", "{0.tag}");
793 suggestAlternative: "landuse=farmland";
[9045]794 suggestAlternative: "landuse=farmyard";
[11138]795 group: tr("deprecated tagging");
[9040]796}
[9093]797
798/* #12135 comment:11 */
799*[seamark=buoy]["seamark:type"=~/^(buoy_cardinal|buoy_installation|buoy_isolated_danger|buoy_lateral|buoy_safe_water|buoy_special_purpose|mooring)$/] {
800 throwWarning: tr("{0} is deprecated", "{0.tag}");
801 suggestAlternative: "{1.tag}";
[11138]802 group: tr("deprecated tagging");
[9093]803 fixRemove: "seamark";
804}
805*[seamark=buoy]["seamark:type"!~/^(buoy_cardinal|buoy_installation|buoy_isolated_danger|buoy_lateral|buoy_safe_water|buoy_special_purpose|mooring)$/] {
806 throwWarning: tr("{0} is deprecated", "{0.tag}");
807 suggestAlternative: "{1.tag}";
[11138]808 group: tr("deprecated tagging");
[9156]809}
[17092]810/* #12135 */
[9160]811*[landuse=conservation] {
812 throwWarning: tr("{0} is deprecated", "{0.tag}");
813 suggestAlternative: "boundary=protected_area";
[11138]814 group: tr("deprecated tagging");
[9160]815 fixAdd: "boundary=protected_area";
816 fixRemove: "landuse";
817}
[9156]818
819/* #12205 */
820*[amenity=kiosk] {
821 throwWarning: tr("{0} is deprecated", "{0.tag}");
822 suggestAlternative: "shop=kiosk";
[11138]823 group: tr("deprecated tagging");
[9156]824 fixChangeKey: "amenity => shop";
825}
826*[amenity=shop] {
827 throwWarning: tr("{0} is deprecated", "{0.tag}");
828 suggestAlternative: "shop=*";
[11138]829 group: tr("deprecated tagging");
[9156]830}
831*[shop=fishmonger] {
832 throwWarning: tr("{0} is deprecated", "{0.tag}");
833 suggestAlternative: "shop=seafood";
[11138]834 group: tr("deprecated tagging");
[9156]835 fixAdd: "shop=seafood";
836}
837*[shop=fish] {
838 throwWarning: tr("{0} is deprecated", "{0.tag}");
[9435]839 suggestAlternative: "shop=seafood";
840 suggestAlternative: "shop=pet";
841 suggestAlternative: "shop=fishing";
[11138]842 group: tr("deprecated tagging");
[9156]843}
844*[shop=betting] {
845 throwWarning: tr("{0} is deprecated", "{0.tag}");
[9163]846 suggestAlternative: "shop=bookmaker";
847 suggestAlternative: "shop=lottery";
848 suggestAlternative: "amenity=casino";
849 suggestAlternative: "leisure=amusement_arcade";
850 suggestAlternative: "leisure=adult_gaming_centre";
851 suggestAlternative: "amenity=gambling";
[11138]852 group: tr("deprecated tagging");
[9156]853}
854*[shop=perfume] {
855 throwWarning: tr("{0} is deprecated", "{0.tag}");
856 suggestAlternative: "shop=perfumery";
[11138]857 group: tr("deprecated tagging");
[9156]858 fixAdd: "shop=perfumery";
859}
860*[amenity=exercise_point] {
861 throwWarning: tr("{0} is deprecated", "{0.tag}");
862 suggestAlternative: "leisure=fitness_station";
[11138]863 group: tr("deprecated tagging");
[9156]864 fixAdd: "leisure=fitness_station";
865 fixRemove: "amenity";
866}
867*[shop=auto_parts] {
868 throwWarning: tr("{0} is deprecated", "{0.tag}");
869 suggestAlternative: "shop=car_parts";
[11138]870 group: tr("deprecated tagging");
[9156]871 fixAdd: "shop=car_parts";
872}
873*[amenity=car_repair] {
874 throwWarning: tr("{0} is deprecated", "{0.tag}");
875 suggestAlternative: "shop=car_repair";
[11138]876 group: tr("deprecated tagging");
[9156]877 fixChangeKey: "amenity => shop";
878}
[9363]879
880/* #12311 */
881*[amenity=studio][type=audio],
882*[amenity=studio][type=radio],
883*[amenity=studio][type=television],
884*[amenity=studio][type=video] {
885 throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}");
886 suggestAlternative: "studio";
[11138]887 group: tr("deprecated tagging");
[9363]888 fixChangeKey: "type => studio";
[9434]889}
890
[12930]891/* #11507, #12297, #15409 */
[9434]892*[power=cable_distribution_cabinet] {
893 throwWarning: tr("{0} is deprecated", "{0.tag}");
[12930]894 suggestAlternative: "man_made=street_cabinet + street_cabinet=*";
[11138]895 group: tr("deprecated tagging");
[9434]896 fixAdd: "man_made=street_cabinet";
897 fixRemove: "power";
[9435]898}
899
[13982]900/* #16430 */
901*[power][location=kiosk] {
902 throwWarning: tr("{0} is deprecated", "{1.tag}");
903 group: tr("deprecated tagging");
904 fixAdd: "man_made=street_cabinet";
905 fixAdd: "street_cabinet=power";
906 fixRemove: "location";
907}
908
[9435]909/* #12276 */
910*[man_made=well] {
911 throwWarning: tr("{0} is deprecated", "{0.tag}");
912 suggestAlternative: "man_made=water_well";
913 suggestAlternative: "man_made=petroleum_well";
[11138]914 group: tr("deprecated tagging");
[9435]915}
916*[amenity=dog_bin],
917*[amenity=dog_waste_bin] {
918 throwWarning: tr("{0} is deprecated", "{0.tag}");
919 suggestAlternative: "amenity=waste_basket + waste=dog_excrement + vending=excrement_bags";
[11138]920 group: tr("deprecated tagging");
[9435]921 fixAdd: "amenity=waste_basket";
922 fixAdd: "waste=dog_excrement";
923 fixAdd: "vending=excrement_bags";
924}
925*[amenity=artwork] {
926 throwWarning: tr("{0} is deprecated", "{0.tag}");
927 suggestAlternative: "tourism=artwork";
[11138]928 group: tr("deprecated tagging");
[9435]929 fixAdd: "tourism=artwork";
930 fixRemove: "amenity";
931}
932*[amenity=community_center] {
933 throwWarning: tr("{0} is deprecated", "{0.tag}");
934 suggestAlternative: "amenity=community_centre";
[11138]935 group: tr("deprecated tagging");
[9435]936 fixAdd: "amenity=community_centre";
937}
938*[man_made=cut_line] {
939 throwWarning: tr("{0} is deprecated", "{0.tag}");
940 suggestAlternative: "man_made=cutline";
[11138]941 group: tr("deprecated tagging");
[9435]942 fixAdd: "man_made=cutline";
943}
944*[amenity=park] {
945 throwWarning: tr("{0} is deprecated", "{0.tag}");
946 suggestAlternative: "leisure=park";
[11138]947 group: tr("deprecated tagging");
[9435]948 fixAdd: "leisure=park";
949 fixRemove: "amenity";
950}
951*[amenity=hotel] {
952 throwWarning: tr("{0} is deprecated", "{0.tag}");
953 suggestAlternative: "tourism=hotel";
[11138]954 group: tr("deprecated tagging");
[9435]955 fixAdd: "tourism=hotel";
956 fixRemove: "amenity";
957}
958*[shop=window],
959*[shop=windows] {
960 throwWarning: tr("{0} is deprecated", "{0.tag}");
961 suggestAlternative: "craft=window_construction";
[11138]962 group: tr("deprecated tagging");
[9435]963 fixAdd: "craft=window_construction";
964 fixRemove: "shop";
965}
966*[amenity=education] {
967 throwWarning: tr("{0} is deprecated", "{0.tag}");
968 suggestAlternative: "amenity=college";
969 suggestAlternative: "amenity=school";
970 suggestAlternative: "amenity=university";
[17950]971 suggestAlternative: "landuse=education";
[11138]972 group: tr("deprecated tagging");
[9435]973}
974*[shop=gallery] {
975 throwWarning: tr("{0} is deprecated", "{0.tag}");
976 suggestAlternative: "shop=art";
[11138]977 group: tr("deprecated tagging");
[9435]978 fixAdd: "shop=art";
979}
980*[shop=gambling],
981*[leisure=gambling] {
982 throwWarning: tr("{0} is deprecated", "{0.tag}");
983 suggestAlternative: "shop=bookmaker";
984 suggestAlternative: "shop=lottery";
985 suggestAlternative: "amenity=casino";
986 suggestAlternative: "leisure=amusement_arcade";
987 suggestAlternative: "amenity=gambling";
[11138]988 group: tr("deprecated tagging");
[9435]989}
[15262]990*[office=real_estate],
[9435]991*[office=real_estate_agent] {
992 throwWarning: tr("{0} is deprecated", "{0.tag}");
[15262]993 suggestAlternative: "office=estate_agent";
[11138]994 group: tr("deprecated tagging");
[15262]995 fixAdd: "office=estate_agent";
[9435]996}
997*[shop=glass] {
998 throwWarning: tr("{0} is deprecated", "{0.tag}");
999 suggestAlternative: "shop=glaziery";
1000 suggestAlternative: "craft=glaziery";
[11138]1001 group: tr("deprecated tagging");
[9435]1002}
1003*[amenity=proposed],
1004*[amenity=disused],
1005*[shop=disused],
[15262]1006*[highway=abandoned],
[9435]1007*[historic=abandoned] {
1008 throwWarning: tr("{0} is deprecated. Use the {1}: key prefix instead.", "{0.tag}", "{0.value}");
[11138]1009 group: tr("deprecated tagging");
[9593]1010}
1011
[14815]1012/* #12431 */
1013*[amenity=swimming_pool] {
1014 throwWarning: tr("{0} is deprecated", "{0.tag}");
1015 suggestAlternative: "leisure=swimming_pool";
1016 group: tr("deprecated tagging");
1017 fixChangeKey: "amenity => leisure";
1018}
1019
1020/* #17379 */
[14804]1021*[amenity=sauna] {
[9593]1022 throwWarning: tr("{0} is deprecated", "{0.tag}");
[14815]1023 suggestAlternative: "leisure=sauna";
[11138]1024 group: tr("deprecated tagging");
[9593]1025 fixChangeKey: "amenity => leisure";
[9747]1026}
1027
[14957]1028/* #12494, #17554 */
[9836]1029*[/^[^t][^i][^g].+_[0-9]$/][!/^note_[0-9]$/][!/^description_[0-9]$/] {
[14957]1030 throwWarning: tr("{0}", "{0.key}");
[11146]1031 group: tr("questionable key (ending with a number)");
[11138]1032 assertMatch: "way name_1=foo";
1033 assertNoMatch: "way note_2=foo";
1034 assertNoMatch: "way description_3=foo";
1035 assertNoMatch: "way tiger:name_base_1=bar"; /*should not warn for key tiger:name_base_1 */
1036}
[9835]1037
1038/* #12500 */
1039*[sport=skating] {
1040 throwWarning: tr("{0} is deprecated", "{0.tag}");
1041 suggestAlternative: "sport=ice_skating";
1042 suggestAlternative: "sport=roller_skating";
[11138]1043 group: tr("deprecated tagging");
[10027]1044}
1045
1046way[barrier=wall][type=noise_barrier][!wall],
1047way[barrier=wall][type=noise_barrier][wall=noise_barrier] {
1048 throwWarning: tr("{0} is deprecated", "{1.tag}");
1049 suggestAlternative: "wall=noise_barrier";
[11138]1050 group: tr("deprecated tagging");
[10027]1051 fixChangeKey: "type => wall";
1052}
1053way[barrier=wall][type=noise_barrier][wall][wall!=noise_barrier] {
1054 throwWarning: tr("{0} is deprecated", "{1.tag}");
1055 suggestAlternative: "wall=noise_barrier";
[11138]1056 group: tr("deprecated tagging");
[10095]1057}
1058
1059/* #8978, 12588 */
1060*[amenity=public_building] {
1061 throwWarning: tr("{0} is deprecated", "{0.tag}");
1062 suggestAlternative: "amenity=townhall";
1063 suggestAlternative: "amenity=community_centre";
1064 suggestAlternative: "amenity=hospital";
1065 suggestAlternative: "leisure=sports_centre";
1066 suggestAlternative: "office=government";
1067 suggestAlternative: "building=hospital";
1068 suggestAlternative: "building=public";
1069 suggestAlternative: "...";
[11138]1070 group: tr("deprecated tagging");
[10100]1071}
1072
[15648]1073/* #18517 */
[15634]1074*[office=administrative] {
1075 throwWarning: tr("{0} is deprecated", "{0.tag}");
[15648]1076 suggestAlternative: "office=government";
[15634]1077 group: tr("deprecated tagging");
[15648]1078 fixAdd: "office=government";
[15634]1079}
1080
[10100]1081/* #12708 */
1082*[vending=news_papers] {
1083 throwWarning: tr("{0} is deprecated", "{0.tag}");
1084 suggestAlternative: "vending=newspapers";
[11138]1085 group: tr("deprecated tagging");
[10100]1086 fixAdd: "vending=newspapers";
[10229]1087}
1088
1089/* #12771 */
1090*[service=drive_through] {
1091 throwWarning: tr("{0} is deprecated", "{0.tag}");
1092 suggestAlternative: "service=drive-through";
[11138]1093 group: tr("deprecated tagging");
[10229]1094 fixAdd: "service=drive-through";
[10230]1095}
1096
[15954]1097/* #12771, #9895 */
1098*[noexit][noexit!=yes][noexit!=no], /* noexit=no has an own warning */
[15548]1099way[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]1100way[railway=rail][service][service !~ /^(crossover|siding|spur|yard)$/],
1101way[waterway=canal][service][service !~ /^(irrigation|transportation|water_power)$/] {
1102 throwWarning: tr("The key {0} has an uncommon value.", "{1.key}");
[10451]1103}
1104
1105/* #13008 */
1106*[name:botanical] {
1107 throwWarning: tr("{0} is deprecated", "{0.key}");
1108 suggestAlternative: "species";
[11138]1109 group: tr("deprecated tagging");
[10511]1110}
1111
[13049]1112/* #11344, #13101, #15480 */
1113node[pole=air_to_ground],
[10511]1114node[pole=transition] {
1115 throwWarning: tr("{0} is deprecated", "{0.tag}");
1116 suggestAlternative: "location:transition=yes";
[11138]1117 group: tr("deprecated tagging");
[10511]1118 fixAdd: "location:transition=yes";
1119 fixRemove: "pole";
1120}
[13049]1121node[tower=air_to_ground],
[10511]1122node[tower=transition] {
1123 throwWarning: tr("{0} is deprecated", "{0.tag}");
1124 suggestAlternative: "location:transition=yes";
[11138]1125 group: tr("deprecated tagging");
[10511]1126 fixAdd: "location:transition=yes";
1127 fixRemove: "tower";
[10538]1128}
1129
1130/* #13138 */
1131area[landuse=pond] {
1132 throwWarning: tr("{0} is deprecated", "{0.tag}");
1133 suggestAlternative: "natural=water + water=pond";
[11138]1134 group: tr("deprecated tagging");
[10538]1135 fixAdd: "natural=water";
1136 fixAdd: "water=pond";
1137 fixRemove: "landuse";
[10911]1138}
1139
1140*[shop=souvenir],
1141*[shop=souvenirs],
1142*[shop=souveniers] {
1143 throwWarning: tr("{0} is deprecated", "{0.tag}");
1144 suggestAlternative: "shop=gift";
[11138]1145 group: tr("deprecated tagging");
[10911]1146 fixAdd: "shop=gift";
1147}
1148
1149*[vending=animal_food] {
1150 throwWarning: tr("{0} is deprecated", "{0.tag}");
1151 suggestAlternative: "vending=animal_feed";
[11138]1152 group: tr("deprecated tagging");
[10911]1153 fixAdd: "vending=animal_feed";
[11025]1154}
1155
[11583]1156/* #14376 */
1157node[vending=photos][amenity=vending_machine],
1158node[vending=photo][amenity=vending_machine] {
1159 throwWarning: tr("{0} is deprecated", "{0.tag}");
1160 suggestAlternative: "amenity=photo_booth";
1161 group: tr("deprecated tagging");
1162 fixRemove: "vending";
1163 fixAdd: "amenity=photo_booth";
1164
1165}
1166node[vending=photos][amenity!=vending_machine] {
1167 throwWarning: tr("{0} is deprecated", "{0.tag}");
1168 suggestAlternative: "amenity=photo_booth";
1169 group: tr("deprecated tagging");
1170}
1171
[11025]1172/* #13653 */
1173node[highway=emergency_access_point][phone][!emergency_telephone_code],
1174way[highway=emergency_access_point][phone][!emergency_telephone_code] {
1175 throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}");
1176 suggestAlternative: "emergency_telephone_code";
[11138]1177 group: tr("deprecated tagging");
[11025]1178 fixChangeKey: "phone => emergency_telephone_code";
1179 assertMatch: "node highway=emergency_access_point phone=123";
1180 assertNoMatch: "node highway=emergency_access_point emergency_telephone_code=456";
1181 assertNoMatch: "node highway=emergency_access_point phone=123 emergency_telephone_code=456";
1182 assertNoMatch: "node phone=123";
1183}
1184node[highway=emergency_access_point][phone=*emergency_telephone_code],
1185way[highway=emergency_access_point][phone=*emergency_telephone_code] {
1186 throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}");
1187 suggestAlternative: "emergency_telephone_code";
[11138]1188 group: tr("deprecated tagging");
[11025]1189 fixRemove: "phone";
1190 assertNoMatch: "node highway=emergency_access_point phone=123";
1191 assertNoMatch: "node highway=emergency_access_point emergency_telephone_code=123";
1192 assertMatch: "node highway=emergency_access_point phone=123 emergency_telephone_code=123";
1193}
1194node[highway=emergency_access_point][phone][emergency_telephone_code][phone!=*emergency_telephone_code],
1195way[highway=emergency_access_point][phone][emergency_telephone_code][phone!=*emergency_telephone_code] {
1196 throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}");
1197 suggestAlternative: "emergency_telephone_code";
[11138]1198 group: tr("deprecated tagging");
[11025]1199 assertNoMatch: "node highway=emergency_access_point phone=123";
1200 assertNoMatch: "node highway=emergency_access_point emergency_telephone_code=123";
1201 assertNoMatch: "node highway=emergency_access_point phone=123 emergency_telephone_code=123";
[11232]1202}
1203
1204/* #13879 */
1205way[tracktype=1] {
1206 throwError: tr("{0}", "{0.tag}");
1207 suggestAlternative: "tracktype=grade1";
1208 group: tr("misspelled value");
1209 fixAdd: "tracktype=grade1";
1210}
1211way[tracktype=2] {
1212 throwError: tr("{0}", "{0.tag}");
1213 suggestAlternative: "tracktype=grade2";
1214 group: tr("misspelled value");
1215 fixAdd: "tracktype=grade2";
1216}
1217way[tracktype=3] {
1218 throwError: tr("{0}", "{0.tag}");
1219 suggestAlternative: "tracktype=grade3";
1220 group: tr("misspelled value");
1221 fixAdd: "tracktype=grade3";
1222}
1223way[tracktype=4] {
1224 throwError: tr("{0}", "{0.tag}");
1225 suggestAlternative: "tracktype=grade4";
1226 group: tr("misspelled value");
1227 fixAdd: "tracktype=grade4";
1228}
1229way[tracktype=5] {
1230 throwError: tr("{0}", "{0.tag}");
1231 suggestAlternative: "tracktype=grade5";
1232 group: tr("misspelled value");
1233 fixAdd: "tracktype=grade5";
1234}
1235way[tracktype][tracktype!~/^(1|2|3|4|5|grade1|grade2|grade3|grade4|grade5)$/] {
1236 throwError: tr("wrong value: {0}", "{0.tag}");
1237 suggestAlternative: "tracktype=grade1";
1238 suggestAlternative: "tracktype=grade2";
1239 suggestAlternative: "tracktype=grade3";
1240 suggestAlternative: "tracktype=grade4";
1241 suggestAlternative: "tracktype=grade5";
[11263]1242}
1243
[11477]1244area[area][area!=yes][area!=no] {
[11476]1245 throwError: tr("wrong value: {0}", "{0.tag}");
1246 suggestAlternative: "area=yes";
1247 suggestAlternative: "area=no";
1248}
1249
[11263]1250/* #13953 */
1251*[amenity=hunting_stand][lock=yes],
1252*[amenity=hunting_stand][lock=no] {
1253 throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}");
1254 suggestAlternative: "lockable";
1255 group: tr("deprecated tagging");
1256 fixChangeKey: "lock => lockable";
[11337]1257}
1258
1259*[amenity=advertising][!advertising] {
1260 throwWarning: tr("{0} is deprecated", "{0.tag}");
1261 suggestAlternative: "advertising=*";
1262 group: tr("deprecated tagging");
1263}
1264*[amenity=advertising][advertising] {
1265 throwWarning: tr("{0} is deprecated", "{0.tag}");
1266 suggestAlternative: "advertising=*";
1267 group: tr("deprecated tagging");
1268 fixRemove: "amenity";
1269}
1270
1271way[direction=up][incline=up],
1272way[direction=down][incline=down],
1273way[direction=up][!incline],
1274way[direction=down][!incline] {
1275 throwWarning: tr("{0} is deprecated", "{0.tag}");
1276 suggestAlternative: "incline";
1277 group: tr("deprecated tagging");
1278 fixChangeKey: "direction => incline";
1279}
1280way[direction=up][incline][incline!=up],
1281way[direction=down][incline][incline!=down] {
1282 throwWarning: tr("{0} is deprecated", "{0.tag}");
1283 suggestAlternative: "incline";
1284 group: tr("deprecated tagging");
[13218]1285}
1286
[15310]1287*[building=true],
1288*[building="*"],
1289*[building=Y],
1290*[building=y],
1291*[building=1] {
[13218]1292 throwError: tr("{0}", "{0.tag}");
1293 suggestAlternative: "building=yes";
1294 group: tr("misspelled value");
1295 fixAdd: "building=yes";
[13290]1296}
1297
[15758]1298/* #17786, #18612 */
[15309]1299*[building=abandoned],
1300*[building=address],
1301*[building=bing],
1302*[building=collapsed],
1303*[building=damaged],
1304*[building=demolished],
1305*[building=disused],
1306*[building=fixme],
1307*[building=occupied],
[15758]1308*[building=razed] {
1309 throwWarning: tr("{0} is not a building type.", "{0.tag}");
1310 group: tr("deprecated tagging");
1311}
[15309]1312*[building=other],
1313*[building=unclassified],
1314*[building=undefined],
1315*[building=unknown],
1316*[building=unidentified] {
1317 throwWarning: tr("{0} is not a building type.", "{0.tag}");
1318 group: tr("deprecated tagging");
[15758]1319 fixAdd: "building=yes";
[15309]1320}
1321
[13290]1322/* #15675 */
1323node[power=transformer][location=pole][transformer] {
1324 throwWarning: tr("{0} together with {1}", "{0.tag}", "{1.tag}");
1325 group: tr("deprecated tagging");
1326 fixChangeKey: "location => power";
1327}
1328node[power=transformer][location=pole][!transformer] {
1329 throwWarning: tr("{0} together with {1}", "{0.tag}", "{1.tag}");
1330 group: tr("deprecated tagging");
1331 fixChangeKey: "location => power";
1332 fixAdd: "transformer=yes";
1333}
[13320]1334
1335node[tourism=picnic_table],
1336node[amenity=picnic_table],
1337node[leisure=picnic],
1338node[leisure=picnic_site] {
1339 throwWarning: tr("{0} is deprecated", "{0.tag}");
1340 suggestAlternative: "tourism=picnic_site";
1341 suggestAlternative: "leisure=picnic_table";
1342 group: tr("deprecated tagging");
[13339]1343}
1344
1345/* #15804 */
1346relation[water=salt],
1347way[water=salt],
1348way[water=salt_pool],
1349way[water=salt_panne],
1350way[water=salt_pond] {
1351 throwWarning: tr("{0} is deprecated", "{0.tag}");
1352 suggestAlternative: "salt=yes";
1353 suggestAlternative: "landuse=salt_pond";
1354 group: tr("deprecated tagging");
1355}
1356
1357/* #15805 */
1358way[water=tidal] {
1359 throwWarning: tr("{0} is deprecated", "{0.tag}");
1360 suggestAlternative: "tidal=yes";
1361 fixAdd: "tidal=yes";
1362 fixRemove: "water";
1363 group: tr("deprecated tagging");
[13424]1364}
1365
1366*[amenity=toilet] {
1367 throwError: tr("{0}", "{0.tag}");
1368 suggestAlternative: "amenity=toilets";
1369 group: tr("misspelled value");
1370 fixAdd: "amenity=toilets";
[13576]1371}
1372
1373way[power=busbar] {
1374 throwWarning: tr("{0} is deprecated", "{0.tag}");
1375 suggestAlternative: "power=line + line=busbar";
1376 group: tr("deprecated tagging");
1377 fixAdd: "power=line";
1378 fixAdd: "line=busbar";
[14393]1379}
1380
1381/* #16924 */
1382*[man_made=MDF],
1383*[man_made=telephone_exchange] {
1384 throwWarning: tr("{0} is deprecated", "{0.tag}");
1385 suggestAlternative: "telecom=exchange";
1386 fixAdd: "telecom=exchange";
1387 fixRemove: "man_made";
1388 group: tr("deprecated tagging");
1389}
1390*[building=central_office] {
1391 throwWarning: tr("{0} is deprecated", "{0.tag}");
1392 suggestAlternative: "telecom=exchange";
1393 fixAdd: "telecom=exchange";
1394 fixAdd: "building=yes";
1395 group: tr("deprecated tagging");
1396}
1397*[telecom=central_office] {
1398 throwWarning: tr("{0} is deprecated", "{0.tag}");
1399 suggestAlternative: "telecom=exchange";
1400 fixAdd: "telecom=exchange";
1401 group: tr("deprecated tagging");
1402}
1403
1404/* #16925 */
1405node[communication=outdoor_dslam],
1406node[man_made=outdoor_dslam],
1407node[street_cabinet=outdoor_dslam] {
1408 throwWarning: tr("{0} is deprecated", "{0.tag}");
1409 suggestAlternative: "telecom=service_device";
1410 fixAdd: "telecom=service_device";
1411 fixRemove: "{0.key}";
1412 group: tr("deprecated tagging");
1413}
1414node[telecom=dslam],
1415node[telecom=outdoor_dslam] {
1416 throwWarning: tr("{0} is deprecated", "{0.tag}");
1417 suggestAlternative: "telecom=service_device";
1418 fixAdd: "telecom=service_device";
1419 group: tr("deprecated tagging");
1420}
[14593]1421
1422/* #15774 */
1423node[amenity=fire_hydrant] {
1424 throwWarning: tr("{0} is deprecated", "{0.tag}");
1425 suggestAlternative: "emergency=fire_hydrant";
1426 fixChangeKey: "amenity => emergency";
1427 group: tr("deprecated tagging");
1428}
1429node[fire_hydrant:type=pond] {
1430 throwWarning: tr("{0} is deprecated", "{0.tag}");
1431 suggestAlternative: "water_source=pond";
1432 fixAdd: "water_source=pond";
1433 fixRemove: "{0.key}";
1434 group: tr("deprecated tagging");
1435}
1436node[fire_hydrant:flow_capacity] {
1437 throwWarning: tr("{0} is deprecated", "{0.key}");
1438 suggestAlternative: "flow_rate";
1439 group: tr("deprecated tagging");
1440}
1441node[emergency=fire_hydrant][in_service=no] {
1442 throwWarning: tr("{0} is deprecated", "{1.tag}");
1443 suggestAlternative: "disused:emergency=fire_hydrant";
1444 fixAdd: "disused:emergency=fire_hydrant";
1445 fixRemove: "{1.key}";
1446 fixRemove: "{0.key}";
1447 group: tr("deprecated tagging");
1448}
1449node[fire_hydrant:water_source] {
1450 throwWarning: tr("{0} is deprecated", "{0.key}");
1451 suggestAlternative: "water_source";
1452 fixChangeKey: "fire_hydrant:water_source => water_source";
1453 group: tr("deprecated tagging");
[14814]1454}
1455
1456/* #17383 */
[14815]1457*[natural=waterfall] {
[14814]1458 throwWarning: tr("{0} is deprecated", "{0.tag}");
1459 suggestAlternative: "waterway=waterfall";
1460 fixChangeKey: "natural => waterway";
1461 group: tr("deprecated tagging");
[14867]1462}
1463
1464/* #17249 */
1465*[religion=unitarian] {
1466 throwWarning: tr("{0} is deprecated", "{0.tag}");
1467 suggestAlternative: "religion=unitarian_universalist";
1468 fixAdd: "religion=unitarian_universalist";
1469 group: tr("deprecated tagging");
[14874]1470}
1471
1472*[shop=shopping_centre] {
1473 throwWarning: tr("{0} is deprecated", "{0.tag}");
1474 suggestAlternative: "shop=mall";
1475 fixAdd: "shop=mall";
1476 group: tr("deprecated tagging");
[14917]1477}
1478
1479/* #17504 */
1480*[is_in],
[17944]1481node[/^is_in:/],
1482way[/^is_in:/] {
[14917]1483 throwWarning: tr("{0} is deprecated", "{0.key}");
1484 group: tr("deprecated tagging");
1485 fixRemove: "{0.key}";
1486}
[15004]1487
1488/* #17593 */
1489*[sport=football] {
1490 throwWarning: tr("{0} is deprecated", "{0.tag}");
1491 suggestAlternative: "sport=soccer";
1492 suggestAlternative: "sport=american_football";
1493 suggestAlternative: "sport=australian_football";
1494 suggestAlternative: "sport=canadian_football";
1495 suggestAlternative: "sport=rugby_league";
1496 suggestAlternative: "sport=rugby_union";
1497 suggestAlternative: "sport=gaelic_games";
1498 group: tr("deprecated tagging");
1499}
[15086]1500
1501/* #17556 */
1502*[leisure=common] {
1503 throwWarning: tr("{0} is deprecated", "{0.tag}");
1504 suggestAlternative: "landuse=*";
1505 suggestAlternative: "leisure=*";
1506 suggestAlternative: "designation=common";
1507 group: tr("deprecated tagging");
[15166]1508}
1509
1510/* #17043 */
1511*[cuisine=vegan],
1512*[cuisine=vegetarian] {
1513 throwWarning: tr("{0} is deprecated", "{0.tag}");
1514 suggestAlternative: concat("diet:", "{0.value}", "=yes");
1515 suggestAlternative: concat("diet:", "{0.value}", "=only");
1516 group: tr("deprecated tagging");
1517}
1518
1519/* #17798 */
1520*[kitchen_hours] {
1521 throwWarning: tr("{0} is deprecated", "{0.key}");
1522 suggestAlternative: "opening_hours:kitchen";
1523 fixChangeKey: "kitchen_hours => opening_hours:kitchen";
1524 group: tr("deprecated tagging");
[15199]1525}
1526
1527/* #17681 */
1528*[shop=money_transfer] {
1529 throwWarning: tr("{0} is deprecated", "{0.tag}");
1530 suggestAlternative: "amenity=money_transfer";
1531 fixChangeKey: "shop => amenity";
1532 group: tr("deprecated tagging");
[15200]1533}
1534
1535*[contact:google_plus] {
1536 throwWarning: tr("{0} is deprecated", "{0.key}");
1537 fixRemove: "contact:google_plus";
1538 group: tr("deprecated tagging");
[15262]1539}
1540
1541/* #17370 */
1542*[amenity=garages],
1543*[amenity=garage] {
1544 throwWarning: tr("{0} is deprecated", "{0.tag}");
1545 suggestAlternative: concat("building=", "{0.value}");
1546 suggestAlternative: "landuse=garages";
1547 suggestAlternative: "amenity=parking + parking=garage_boxes";
1548 group: tr("deprecated tagging");
1549}
1550*[shop=winery],
1551*[amenity=winery] {
1552 throwWarning: tr("{0} is deprecated", "{0.tag}");
1553 suggestAlternative: "craft=winery";
1554 suggestAlternative: "shop=wine";
1555 group: tr("deprecated tagging");
1556}
1557*[amenity=youth_centre] {
1558 throwWarning: tr("{0} is deprecated", "{0.tag}");
1559 suggestAlternative: "amenity=community_centre + community_centre=youth_centre";
1560 fixAdd: "amenity=community_centre";
1561 fixAdd: "community_centre=youth_centre";
1562 group: tr("deprecated tagging");
1563}
1564*[building:type][building=yes],
1565*[building:type][!building] {
1566 throwWarning: tr("{0} is deprecated", "{0.key}");
1567 suggestAlternative: "building";
1568 group: tr("deprecated tagging");
1569 fixChangeKey: "building:type => building";
1570 assertMatch: "way building:type=church";
1571 assertMatch: "way building:type=church building=yes";
1572 assertNoMatch: "way building:type=church building=supermarket";
1573}
1574*[building:type][building][building!=yes] {
1575 throwWarning: tr("{0} is deprecated", "{0.key}");
1576 suggestAlternative: "building";
1577 group: tr("deprecated tagging");
1578 assertNoMatch: "way building:type=church";
1579 assertNoMatch: "way building:type=church building=yes";
1580 assertMatch: "way building:type=church building=supermarket";
1581}
1582*[escalator] {
1583 throwWarning: tr("{0} is deprecated", "{0.key}");
1584 suggestAlternative: "highway=steps + conveying=*";
1585 group: tr("deprecated tagging");
1586}
1587*[fenced] {
1588 throwWarning: tr("{0} is deprecated", "{0.key}");
1589 suggestAlternative: "barrier=fence";
1590 group: tr("deprecated tagging");
1591}
1592*[historic_name][!old_name] {
1593 throwWarning: tr("{0} is deprecated", "{0.key}");
1594 suggestAlternative: "old_name";
1595 group: tr("deprecated tagging");
1596 fixChangeKey: "historic_name => old_name";
1597}
1598*[historic_name][old_name] {
1599 throwWarning: tr("{0} is deprecated", "{0.key}");
1600 suggestAlternative: "old_name";
1601 group: tr("deprecated tagging");
1602}
1603*[landuse=field] {
1604 throwWarning: tr("{0} is deprecated", "{0.tag}");
1605 suggestAlternative: "landuse=farmland";
1606 group: tr("deprecated tagging");
1607 fixAdd: "landuse=farmland";
1608}
1609*[leisure=beach] {
1610 throwWarning: tr("{0} is deprecated", "{0.tag}");
1611 suggestAlternative: "natural=beach";
1612 suggestAlternative: "leisure=beach_resort";
1613 group: tr("deprecated tagging");
1614}
1615*[leisure=club] {
1616 throwWarning: tr("{0} is deprecated", "{0.tag}");
1617 suggestAlternative: "club=*";
1618 group: tr("deprecated tagging");
1619}
1620*[leisure=video_arcade] {
1621 throwWarning: tr("{0} is deprecated", "{0.tag}");
1622 suggestAlternative: "leisure=amusement_arcade";
1623 suggestAlternative: "leisure=adult_gaming_centre";
1624 group: tr("deprecated tagging");
1625}
1626*[man_made=jetty] {
1627 throwWarning: tr("{0} is deprecated", "{0.tag}");
1628 suggestAlternative: "man_made=pier";
1629 group: tr("deprecated tagging");
1630 fixAdd: "man_made=pier";
1631}
1632*[man_made=village_pump] {
1633 throwWarning: tr("{0} is deprecated", "{0.tag}");
1634 suggestAlternative: "man_made=water_well";
1635 group: tr("deprecated tagging");
1636 fixAdd: "man_made=water_well";
1637}
1638*[man_made=water_tank] {
1639 throwWarning: tr("{0} is deprecated", "{0.tag}");
1640 suggestAlternative: "man_made=storage_tank + content=water";
1641 group: tr("deprecated tagging");
1642 fixAdd: "man_made=storage_tank";
1643 fixAdd: "content=water";
1644}
1645*[natural=moor] {
1646 throwWarning: tr("{0} is deprecated", "{0.tag}");
1647 suggestAlternative: "natural=heath";
1648 suggestAlternative: "natural=scrub";
1649 suggestAlternative: "natural=grassland";
1650 suggestAlternative: "natural=wetland";
1651 suggestAlternative: "natural=fell";
1652 suggestAlternative: "natural=tundra";
1653 suggestAlternative: "landuse=meadow + meadow=agricultural";
1654 group: tr("deprecated tagging");
1655}
1656*[noexit=no][!fixme] {
1657 throwWarning: tr("{0} is deprecated", "{0.tag}");
1658 suggestAlternative: "fixme=continue";
1659 group: tr("deprecated tagging");
1660 fixAdd: "fixme=continue";
1661 fixRemove: "noexit";
1662}
1663*[noexit=no][fixme] {
1664 throwWarning: tr("{0} is deprecated", "{0.tag}");
1665 suggestAlternative: "fixme=continue";
1666 group: tr("deprecated tagging");
1667}
1668*[shop=dive] {
1669 throwWarning: tr("{0} is deprecated", "{0.tag}");
1670 suggestAlternative: "shop=scuba_diving";
1671 group: tr("deprecated tagging");
1672 fixAdd: "shop=scuba_diving";
1673}
1674*[shop=furnace] {
1675 throwWarning: tr("{0} is deprecated", "{0.tag}");
1676 suggestAlternative: "shop=fireplace";
1677 suggestAlternative: "craft=plumber";
1678 group: tr("deprecated tagging");
1679}
1680*[sport=paragliding] {
1681 throwWarning: tr("{0} is deprecated", "{0.tag}");
1682 suggestAlternative: "sport=free_flying";
1683 group: tr("deprecated tagging");
1684 fixAdd: "sport=free_flying";
1685}
1686*[tourism=bed_and_breakfast] {
1687 throwWarning: tr("{0} is deprecated", "{0.tag}");
1688 suggestAlternative: "tourism=guest_house + guest_house=bed_and_breakfast";
1689 group: tr("deprecated tagging");
1690 fixAdd: "tourism=guest_house";
1691 fixAdd: "guest_house=bed_and_breakfast";
[15263]1692}
1693
1694/* #17880 */
1695*[diaper=yes],
1696*[diaper=no] {
1697 throwWarning: tr("{0} is deprecated", "{0.tag}");
1698 suggestAlternative: concat("changing_table=", "{0.value}");
1699 group: tr("deprecated tagging");
1700 fixChangeKey: "diaper => changing_table";
1701 set diaper_checked;
1702}
1703*[diaper][diaper =~ /^[1-9][0-9]*$/] {
1704 throwWarning: tr("{0} is deprecated", "{0.tag}");
1705 suggestAlternative: concat("changing_table=yes + changing_table:count=", "{0.value}");
1706 group: tr("deprecated tagging");
1707 fixChangeKey: "diaper => changing_table:count";
1708 fixAdd: "changing_table=yes";
1709 set diaper_checked;
1710}
1711*[diaper=room] {
1712 throwWarning: tr("{0} is deprecated", "{0.tag}");
1713 suggestAlternative: "changing_table=room";
1714 suggestAlternative: "changing_table=dedicated_room";
1715 group: tr("deprecated tagging");
1716 set diaper_checked;
1717}
1718*[diaper]!.diaper_checked {
1719 throwWarning: tr("{0} is deprecated", "{0.key}");
1720 suggestAlternative: "changing_table";
1721 group: tr("deprecated tagging");
1722}
1723*[diaper:male=yes] {
1724 throwWarning: tr("{0} is deprecated", "{0.tag}");
1725 suggestAlternative: "changing_table:location=male_toilet";
1726 group: tr("deprecated tagging");
1727 fixAdd: "changing_table:location=male_toilet";
1728 fixRemove: "diaper:male";
1729 set diaper___checked;
1730}
1731*[diaper:female=yes] {
1732 throwWarning: tr("{0} is deprecated", "{0.tag}");
1733 suggestAlternative: "changing_table:location=female_toilet";
1734 group: tr("deprecated tagging");
1735 fixAdd: "changing_table:location=female_toilet";
1736 fixRemove: "diaper:female";
1737 set diaper___checked;
1738}
1739*[diaper:unisex=yes] {
1740 throwWarning: tr("{0} is deprecated", "{0.tag}");
1741 suggestAlternative: "changing_table:location=unisex_toilet";
1742 group: tr("deprecated tagging");
1743 fixAdd: "changing_table:location=unisex_toilet";
1744 fixRemove: "diaper:unisex";
1745 set diaper___checked;
1746}
1747*[diaper:wheelchair=yes],
1748*[diaper:wheelchair=no] {
1749 throwWarning: tr("{0} is deprecated", "{0.tag}");
1750 suggestAlternative: concat("changing_table:wheelchair=", "{0.value}");
1751 group: tr("deprecated tagging");
1752 fixChangeKey: "diaper:wheelchair => changing_table:wheelchair";
1753 set diaper___checked;
1754}
1755*[diaper:fee=yes],
1756*[diaper:fee=no] {
1757 throwWarning: tr("{0} is deprecated", "{0.tag}");
1758 suggestAlternative: concat("changing_table:fee=", "{0.value}");
1759 group: tr("deprecated tagging");
1760 fixChangeKey: "diaper:fee => changing_table:fee";
1761 set diaper___checked;
1762}
1763*[/^diaper:/]!.diaper___checked {
1764 throwWarning: tr("{0} is deprecated", "diaper:*");
1765 suggestAlternative: "changing_table:*";
1766 group: tr("deprecated tagging");
1767}
1768*[changing_table][changing_table!~/^(yes|no|limited)$/] {
1769 throwWarning: tr("wrong value: {0}", "{0.tag}");
1770 suggestAlternative: "changing_table=yes";
1771 suggestAlternative: "changing_table=no";
1772 suggestAlternative: "changing_table=limited";
[15264]1773}
1774
1775/* #17990 */
1776*[roof:shape=half_hipped] {
1777 throwWarning: tr("{0} is deprecated", "{0.tag}");
1778 suggestAlternative: "roof:shape=half-hipped";
1779 group: tr("deprecated tagging");
1780 fixAdd: "roof:shape=half-hipped";
[15266]1781}
1782
1783/* #18003 */
1784*[bridge_name] {
1785 throwWarning: tr("{0} is deprecated", "{0.key}");
1786 suggestAlternative: "bridge:name";
1787 group: tr("deprecated tagging");
1788 fixChangeKey: "bridge_name => bridge:name";
[15270]1789}
1790
1791/* #18007 */
1792*[access=public] {
1793 throwWarning: tr("{0} is deprecated", "{0.tag}");
1794 suggestAlternative: "access=yes";
1795 group: tr("deprecated tagging");
1796 fixAdd: "access=yes";
[15273]1797}
1798
1799/* #17330 */
1800*[crossing=island] {
1801 throwWarning: tr("{0} is deprecated", "{0.tag}");
1802 suggestAlternative: "crossing:island=yes";
1803 group: tr("deprecated tagging");
1804 fixRemove: "crossing";
1805 fixAdd: "crossing:island=yes";
[15360]1806}
1807
1808/* #18152 */
1809*[recycling:metal] {
1810 throwWarning: tr("{0} is deprecated", "{0.key}");
1811 suggestAlternative: "recycling:scrap_metal";
1812 group: tr("deprecated tagging");
1813 fixChangeKey: "recycling:metal => recycling:scrap_metal";
1814}
[15435]1815
1816/* #18154 */
1817*[shop=dog_grooming] {
1818 throwWarning: tr("{0} is deprecated", "{0.tag}");
1819 suggestAlternative: "shop=pet_grooming";
1820 fixAdd: "shop=pet_grooming";
1821 group: tr("deprecated tagging");
[15454]1822}
1823
[17263]1824/* #17984, #19383 */
[15454]1825*[tower:type=anchor],
1826*[tower:type=suspension] {
1827 throwWarning: tr("{0} is deprecated", "{0.tag}");
1828 suggestAlternative: concat("line_attachment=", "{0.value}");
1829 fixChangeKey: "tower:type => line_attachment";
[17263]1830 set power_tower_type_warning;
[15454]1831 group: tr("deprecated tagging");
[15464]1832}
[17263]1833*[tower:type=branch][branch:type=split],
1834*[tower:type=branch][branch:type=loop] {
1835 throwWarning: tr("{0} is deprecated", "{0.tag}");
1836 suggestAlternative: "line_management=split";
1837 fixAdd: "line_management=split";
1838 fixRemove: "tower:type";
1839 fixRemove: "branch:type";
1840 set power_tower_type_warning;
1841 group: tr("deprecated tagging");
1842}
1843*[tower:type=branch][!branch:type],
1844*[tower:type=branch][branch:type=tap] {
1845 throwWarning: tr("{0} is deprecated", "{0.tag}");
1846 suggestAlternative: "line_management=branch";
1847 fixAdd: "line_management=branch";
1848 fixRemove: "tower:type";
1849 fixRemove: "branch:type";
1850 set power_tower_type_warning;
1851 group: tr("deprecated tagging");
1852}
1853*[tower:type=branch][branch:type=cross] {
1854 throwWarning: tr("{0} is deprecated", "{0.tag}");
1855 suggestAlternative: "line_management=cross";
1856 fixAdd: "line_management=cross";
1857 fixRemove: "tower:type";
1858 fixRemove: "branch:type";
1859 set power_tower_type_warning;
1860 group: tr("deprecated tagging");
1861}
1862*[tower:type=termination] {
1863 throwWarning: tr("{0} is deprecated", "{0.tag}");
1864 suggestAlternative: "line_management=termination";
1865 fixAdd: "line_management=termination";
1866 fixRemove: "tower:type";
1867 set power_tower_type_warning;
1868 group: tr("deprecated tagging");
1869}
[17284]1870*[tower:type=transition] {
1871 throwWarning: tr("{0} is deprecated", "{0.tag}");
1872 suggestAlternative: "location:transition=yes";
1873 fixAdd: "location:transition=yes";
1874 fixRemove: "tower:type";
1875 set power_tower_type_warning;
1876 group: tr("deprecated tagging");
1877}
[17263]1878*[tower:type=transposing] {
1879 throwWarning: tr("{0} is deprecated", "{0.tag}");
1880 suggestAlternative: "line_management=transpose";
1881 fixAdd: "line_management=transpose";
1882 fixRemove: "tower:type";
1883 set power_tower_type_warning;
1884 group: tr("deprecated tagging");
1885}
1886*[tower:type=crossing] {
1887 throwWarning: tr("{0} is deprecated", "{0.tag}");
1888 suggestAlternative: "height=* + design=*";
1889 set power_tower_type_warning;
1890 group: tr("deprecated tagging");
1891}
1892*[tower:type][power][power=~/^(tower|pole|insulator|portal|terminal)$/]!.power_tower_type_warning {
1893 throwWarning: tr("{0} is deprecated for {1}", "{0.key}", "{1.tag}");
1894 suggestAlternative: "design";
1895 suggestAlternative: "structure";
1896 suggestAlternative: "line_management";
1897 suggestAlternative: "line_attachment";
1898 set generic_power_tower_type_warning;
1899 group: tr("deprecated tagging");
1900}
[15464]1901node[pole:type=anchor],
1902node[pole:type=suspension] {
1903 throwWarning: tr("{0} is deprecated", "{0.tag}");
1904 suggestAlternative: concat("line_attachment=", "{0.value}");
1905 fixChangeKey: "pole:type => line_attachment";
[17263]1906 set power_pole_type_warning;
[15464]1907 group: tr("deprecated tagging");
1908}
[17263]1909node[pole:type=branch][branch:type=split],
1910node[pole:type=branch][branch:type=loop] {
1911 throwWarning: tr("{0} is deprecated", "{0.tag}");
1912 suggestAlternative: "line_management=split";
1913 fixAdd: "line_management=split";
1914 fixRemove: "pole:type";
1915 fixRemove: "branch:type";
1916 set power_pole_type_warning;
1917 group: tr("deprecated tagging");
1918}
1919node[pole:type=branch][!branch:type],
1920node[pole:type=branch][branch:type=tap] {
1921 throwWarning: tr("{0} is deprecated", "{0.tag}");
1922 suggestAlternative: "line_management=branch";
1923 fixAdd: "line_management=branch";
1924 fixRemove: "pole:type";
1925 fixRemove: "branch:type";
1926 set power_pole_type_warning;
1927 group: tr("deprecated tagging");
1928}
1929node[pole:type=branch][branch:type=cross] {
1930 throwWarning: tr("{0} is deprecated", "{0.tag}");
1931 suggestAlternative: "line_management=cross";
1932 fixAdd: "line_management=cross";
1933 fixRemove: "pole:type";
1934 fixRemove: "branch:type";
1935 set power_pole_type_warning;
1936 group: tr("deprecated tagging");
1937}
1938node[pole:type=termination] {
1939 throwWarning: tr("{0} is deprecated", "{0.tag}");
1940 suggestAlternative: "line_management=termination";
1941 fixAdd: "line_management=termination";
1942 fixRemove: "pole:type";
1943 set power_pole_type_warning;
1944 group: tr("deprecated tagging");
1945}
[17284]1946node[pole:type=transition] {
1947 throwWarning: tr("{0} is deprecated", "{0.tag}");
1948 suggestAlternative: "location:transition=yes";
1949 fixAdd: "location:transition=yes";
1950 fixRemove: "pole:type";
1951 set power_pole_type_warning;
1952 group: tr("deprecated tagging");
1953}
[17263]1954*[pole:type][power][power=~/^(tower|pole|insulator|portal|terminal)$/]!.power_pole_type_warning!.generic_power_tower_type_warning {
1955 throwWarning: tr("{0} is deprecated for {1}", "{0.key}", "{1.tag}");
1956 suggestAlternative: "line_management";
1957 suggestAlternative: "line_attachment";
1958 group: tr("deprecated tagging");
1959}
[15526]1960
1961/* #18267 */
[15528]1962node[man_made=pipeline_marker],
[15526]1963node[pipeline=marker],
1964node[power=marker],
1965node[cable=marker] {
1966 throwWarning: tr("{0} is deprecated", "{0.tag}");
1967 suggestAlternative: "marker=* + utility=*";
1968 group: tr("deprecated tagging");
[15533]1969}
1970
1971/* #17643 */
1972way[barrier=embankment] {
1973 throwWarning: tr("{0} is deprecated", "{0.tag}");
1974 suggestAlternative: "man_made=embankment";
1975 suggestAlternative: "embankment=yes";
1976 group: tr("deprecated tagging");
[15636]1977}
1978
1979/* #18469 */
1980way[landuse=churchyard] {
1981 throwWarning: tr("{0} is deprecated", "{0.tag}");
1982 suggestAlternative: "landuse=religious";
1983 suggestAlternative: "amenity=graveyard";
1984 group: tr("deprecated tagging");
1985}
[15648]1986
1987*[sloped_curb=yes][!kerb],
1988*[sloped_curb=both][!kerb] {
1989 throwWarning: tr("{0} is deprecated", "{0.tag}");
1990 suggestAlternative: "kerb=lowered";
1991 group: tr("deprecated tagging");
1992 fixRemove: "sloped_curb";
1993 fixAdd: "kerb=lowered";
1994}
1995*[sloped_curb=no][!kerb] {
1996 throwWarning: tr("{0} is deprecated", "{0.tag}");
1997 suggestAlternative: "kerb=yes";
1998 group: tr("deprecated tagging");
1999 fixRemove: "sloped_curb";
2000 fixAdd: "kerb=yes";
2001}
2002*[sloped_curb][sloped_curb !~ /^(yes|both|no)$/][!kerb],
2003*[sloped_curb][kerb] {
2004 throwWarning: tr("{0} is deprecated", "{0.key}");
2005 suggestAlternative: "kerb=*";
2006 group: tr("deprecated tagging");
2007}
[15715]2008
2009/* #18571 */
2010*[unnamed=yes] {
2011 throwWarning: tr("{0} is deprecated", "{0.tag}");
2012 suggestAlternative: "noname=yes";
2013 fixChangeKey: "unnamed => noname";
2014 group: tr("deprecated tagging");
[15722]2015}
2016
2017node[segregated][segregated!=yes][segregated!=no],
2018way[segregated ][segregated!=yes][segregated!=no] {
2019 throwWarning: tr("unusual value of {0}", "{0.key}");
[15758]2020}
2021
2022/* #18603 */
2023way[bicycle:oneway] {
2024 throwWarning: tr("{0} is deprecated", "{0.key}");
2025 suggestAlternative: "oneway:bicycle";
2026 fixChangeKey: "bicycle:oneway => oneway:bicycle";
2027 group: tr("deprecated tagging");
2028}
2029
2030/* #18605 */
2031*[building:height] {
2032 throwWarning: tr("{0} is deprecated", "{0.key}");
2033 suggestAlternative: "height";
2034 fixChangeKey: "building:height => height";
2035 group: tr("deprecated tagging");
2036}
2037*[building:min_height] {
2038 throwWarning: tr("{0} is deprecated", "{0.key}");
2039 suggestAlternative: "min_height";
2040 fixChangeKey: "building:min_height => min_height";
2041 group: tr("deprecated tagging");
[15831]2042}
2043
2044/* #11232 */
2045way[highway][construction=yes][highway!=construction] {
2046 throwWarning: tr("{0} is deprecated", "{1.tag}");
2047 suggestAlternative: "construction=minor";
2048 suggestAlternative: concat("highway=construction + construction=", "{0.value}");
2049 group: tr("deprecated tagging");
[15867]2050}
2051
2052/* #18659 */
2053*[car][amenity=charging_station] {
2054 throwWarning: tr("{0} is deprecated", "{0.key}");
2055 suggestAlternative: "motorcar";
2056 group: tr("deprecated tagging");
2057 fixChangeKey: "car => motorcar";
2058}
[15930]2059
2060/* #18767 */
2061*[navigationaid=approach_light],
2062*[navigationaid="ALS (Approach lighting system)"] {
2063 throwWarning: tr("{0} is deprecated", "{0.tag}");
2064 suggestAlternative: "navigationaid=als";
2065 group: tr("deprecated tagging");
2066 fixAdd: "navigationaid=als";
[15966]2067}
2068
2069/* #18819 */
2070node[exit_to] {
2071 throwWarning: tr("{0} is deprecated", "{0.key}");
2072 suggestAlternative: "destination";
2073 group: tr("deprecated tagging");
[16173]2074}
2075
2076/* #18951 */
[16185]2077*[water=riverbank][!natural] {
[16173]2078 throwWarning: tr("{0} is deprecated", "{0.tag}");
[16185]2079 suggestAlternative: "natural=water + water=river";
[16173]2080 group: tr("deprecated tagging");
2081 fixAdd: "water=river";
[16185]2082 fixAdd: "natural=water";
2083}
2084*[water=riverbank][natural] {
2085 throwWarning: tr("{0} is deprecated", "{0.tag}");
2086 suggestAlternative: "natural=water + water=river";
2087 group: tr("deprecated tagging");
[16316]2088}
2089
2090node[amenity=bench][capacity][!seats],
2091way[amenity=bench][capacity][!seats] {
2092 throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}");
2093 suggestAlternative: "seats";
2094 group: tr("deprecated tagging");
2095 fixChangeKey: "capacity => seats";
2096}
2097node[amenity=bench][capacity][seats],
2098way[amenity=bench][capacity][seats] {
2099 throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}");
2100 suggestAlternative: "seats";
2101 group: tr("deprecated tagging");
[16656]2102}
2103
2104/* #19396 */
2105way[stream=intermittent] {
2106 throwWarning: tr("{0} is deprecated", "{0.tag}");
2107 suggestAlternative: "intermittent=yes";
2108 suggestAlternative: "seasonal=yes";
2109 group: tr("deprecated tagging");
[16714]2110}
2111
2112*[shop=lamps] {
2113 throwWarning: tr("{0} is deprecated", "{0.tag}");
2114 suggestAlternative: "shop=lighting";
2115 group: tr("deprecated tagging");
2116 fixAdd: "shop=lighting";
[16752]2117}
2118
[16762]2119/* #19180 */
[16752]2120*[access=customer] {
2121 throwWarning: tr("{0} is deprecated", "{0.tag}");
2122 suggestAlternative: "access=customers";
2123 group: tr("deprecated tagging");
2124 fixAdd: "access=customers";
2125}
2126*[addr:inclusion=estimated] {
2127 throwWarning: tr("{0} is deprecated", "{0.tag}");
2128 suggestAlternative: "addr:inclusion=estimate";
2129 group: tr("deprecated tagging");
2130 fixAdd: "addr:inclusion=estimate";
2131}
2132*[building=apartment] {
2133 throwWarning: tr("{0} is deprecated", "{0.tag}");
2134 suggestAlternative: "building=apartments";
2135 group: tr("deprecated tagging");
2136 fixAdd: "building=apartments";
[16760]2137}
2138node[lamp_mount="bent mast"] {
2139 throwWarning: tr("{0} is deprecated", "{0.tag}");
2140 suggestAlternative: "lamp_mount=bent_mast";
2141 group: tr("deprecated tagging");
2142 fixAdd: "lamp_mount=bent_mast";
2143}
2144node[lamp_mount="straight mast"] {
2145 throwWarning: tr("{0} is deprecated", "{0.tag}");
2146 suggestAlternative: "lamp_mount=straight_mast";
2147 group: tr("deprecated tagging");
2148 fixAdd: "lamp_mount=straight_mast";
2149}
2150node[lamp_type=electrical] {
2151 throwWarning: tr("{0} is deprecated", "{0.tag}");
2152 suggestAlternative: "lamp_type=electric";
2153 group: tr("deprecated tagging");
2154 fixAdd: "lamp_type=electric";
[16787]2155}
2156*[generator:type=solar_photovoltaic_panels] {
2157 throwWarning: tr("{0} is deprecated", "{0.tag}");
2158 suggestAlternative: "generator:type=solar_photovoltaic_panel";
2159 group: tr("deprecated tagging");
2160 fixAdd: "generator:type=solar_photovoltaic_panel";
2161}
2162*[building=part] {
2163 throwWarning: tr("{0} is deprecated", "{0.tag}");
2164 suggestAlternative: "building:part=yes";
2165 group: tr("deprecated tagging");
2166 /* without autofix, it is not clear if a building or a building part is mapped */
2167}
2168
[17017]2169/* #19739 */
2170*[natural=sink_hole] {
2171 throwWarning: tr("{0} is deprecated", "{0.tag}");
2172 suggestAlternative: "natural=sinkhole";
2173 group: tr("deprecated tagging");
2174 fixAdd: "natural=sinkhole";
2175}
2176
[17020]2177/* #19782 */
2178*[climbing:grade:UIAA:min] {
2179 throwWarning: tr("{0} is deprecated", "{0.key}");
2180 suggestAlternative: "climbing:grade:uiaa:min";
2181 group: tr("deprecated tagging");
2182 fixChangeKey: "climbing:grade:UIAA:min => climbing:grade:uiaa:min";
2183}
2184*[climbing:grade:UIAA:max] {
2185 throwWarning: tr("{0} is deprecated", "{0.key}");
2186 suggestAlternative: "climbing:grade:uiaa:max";
2187 group: tr("deprecated tagging");
2188 fixChangeKey: "climbing:grade:UIAA:max => climbing:grade:uiaa:max";
2189}
2190*[climbing:grade:UIAA:mean] {
2191 throwWarning: tr("{0} is deprecated", "{0.key}");
2192 suggestAlternative: "climbing:grade:uiaa:mean";
2193 group: tr("deprecated tagging");
2194 fixChangeKey: "climbing:grade:UIAA:mean => climbing:grade:uiaa:mean";
2195}
2196*[climbing:grade:UIAA] {
2197 throwWarning: tr("{0} is deprecated", "{0.key}");
2198 suggestAlternative: "climbing:grade:uiaa";
2199 group: tr("deprecated tagging");
2200 fixChangeKey: "climbing:grade:UIAA => climbing:grade:uiaa";
2201}
2202
[17048]2203/* #19835 */
2204*[cuisine][cuisine =~ /^(?i)(bbq)$/] { /* single value cases with autofix */
2205 throwWarning: tr("{0} is deprecated", "{0.tag}");
2206 suggestAlternative: "cuisine=barbecue";
2207 group: tr("deprecated tagging");
2208 fixAdd: "cuisine=barbecue";
2209 set bbq_autofix;
2210 assertMatch: "way cuisine=bbq";
2211 assertMatch: "way cuisine=BBQ";
2212 assertNoMatch: "way cuisine=pizza;Bbq";
2213 assertNoMatch: "way cuisine=pizza;bbq";
2214 assertNoMatch: "way cuisine=bbq;pizza";
2215 assertNoMatch: "way cuisine=pasta;bbq;pizza";
2216 assertNoMatch: "way cuisine=korean_bbq";
2217 assertNoMatch: "way cuisine=korean_bbq;bbq";
2218}
2219*[cuisine =~ /(?i)(;bbq|bbq;)/][cuisine!~/(?i)(_bbq)/] { /* multi value cases without autofix */
2220 throwWarning: tr("{0} is deprecated", "cuisine=bbq");
2221 suggestAlternative: "cuisine=barbecue";
2222 group: tr("deprecated tagging");
2223 assertNoMatch: "way cuisine=bbq";
2224 assertNoMatch: "way cuisine=BBQ";
2225 assertMatch: "way cuisine=pizza;Bbq";
2226 assertMatch: "way cuisine=pizza;bbq";
2227 assertMatch: "way cuisine=bbq;pizza";
2228 assertMatch: "way cuisine=pasta;bbq;pizza";
2229 assertNoMatch: "way cuisine=korean_bbq";
2230 assertNoMatch: "way cuisine=korean_bbq;bbq"; /* corner case (mixed ; and _) not supported by these rules, probably not present in the osm database */
2231}
2232
[17469]2233/* #17498, #20392 */
[17122]2234way[cycleway=none],
2235way[cycleway:left=none],
[17469]2236way[cycleway:right=none],
2237way[shoulder=none] {
[17122]2238 throwWarning: tr("{0} is deprecated", "{0.tag}");
2239 suggestAlternative: concat("{0.key}", "=no");
2240 group: tr("deprecated tagging");
2241 fixAdd: concat("{0.key}", "=no");
2242}
2243
[17153]2244/* #17809 */
2245*[Fixme] {
2246 throwWarning: tr("{0} is deprecated", "{0.key}");
2247 suggestAlternative: "fixme";
2248 group: tr("deprecated tagging");
2249 fixChangeKey: "Fixme => fixme";
2250 assertMatch: "way Fixme=foo";
2251 assertNoMatch: "way fixme=foo";
2252 assertNoMatch: "way FIXME=foo";
2253}
2254
[17468]2255/* #20338 */
2256*[amenity=embassy] {
2257 throwWarning: tr("{0} is deprecated", "{0.tag}");
2258 suggestAlternative: "office=diplomatic + diplomatic=embassy";
2259 group: tr("deprecated tagging");
2260 fixAdd: "office=diplomatic";
2261 fixChangeKey: "amenity => diplomatic";
2262}
2263
[17940]2264/* #11019 */
2265*[service:bicycle:chaintool] {
2266 throwWarning: tr("{0} is deprecated", "{0.key}");
2267 suggestAlternative: "service:bicycle:chain_tool";
2268 group: tr("deprecated tagging");
2269 fixChangeKey: "service:bicycle:chaintool => service:bicycle:chain_tool";
2270}
2271
[17942]2272/* #20434 */
2273*[building:roof:shape] {
2274 throwWarning: tr("{0} is deprecated", "{0.key}");
2275 suggestAlternative: "roof:shape";
2276 group: tr("deprecated tagging");
2277 fixChangeKey: "building:roof:shape => roof:shape";
2278}
2279
[18230]2280/* #20530 */
2281*[man_made=pumping_rig][!pump_mechanism][!mechanical_driver][!mechanical_coupling] {
2282 throwWarning: tr("{0} is deprecated", "{0.tag}");
2283 suggestAlternative: "man_made=petroleum_well";
2284 suggestAlternative: "man_made=water_well";
2285 fixAdd: "pump_mechanism=piston";
2286 fixAdd: "mechanical_driver=combustion_engine";
2287 fixAdd: "mechanical_coupling=nodding_donkey";
2288 group: tr("deprecated tagging");
2289 set pumping_ring_no_mech;
2290}
2291*[man_made=pumping_rig]!.pumping_ring_no_mech {
2292 throwWarning: tr("{0} is deprecated", "{0.tag}");
2293 suggestAlternative: "man_made=petroleum_well";
2294 suggestAlternative: "man_made=water_well";
2295 group: tr("deprecated tagging");
2296}
2297*[pump:type=beam_pump][!pump_mechanism][!mechanical_driver][!mechanical_coupling] {
2298 throwWarning: tr("{0} is deprecated", "{0.tag}");
2299 suggestAlternative: "pump_mechanism";
2300 fixRemove: "pump:type";
2301 fixAdd: "pump_mechanism=piston";
2302 fixAdd: "mechanical_driver=combustion_engine";
2303 fixAdd: "mechanical_coupling=nodding_donkey";
2304 group: tr("deprecated tagging");
2305 set beam_pump_no_mech
2306}
2307*[pump:type]!.beam_pump_no_mech {
2308 throwWarning: tr("{0} is deprecated", "{0.tag}");
2309 suggestAlternative: "pump_mechanism";
2310 group: tr("deprecated tagging");
2311}
2312*[substance=heat] {
2313 throwWarning: tr("{0} is deprecated", "{0.tag}");
2314 suggestAlternative: "substance=hot_water";
2315 suggestAlternative: "substance=steam";
2316 group: tr("deprecated tagging");
2317}
2318
[17950]2319/* #20959 */
2320*[landuse=school] {
2321 throwWarning: tr("{0} is deprecated", "{0.tag}");
2322 suggestAlternative: "amenity=college";
2323 suggestAlternative: "amenity=school";
2324 suggestAlternative: "amenity=university";
2325 suggestAlternative: "landuse=education";
2326 group: tr("deprecated tagging");
2327}
2328
[17956]2329/* #20637 */
2330*[role] {
[17959]2331 throwWarning: tr("{0} as a tag on an object. Roles are specified in the relation members list instead.", "{0.tag}", "{0.key}");
[17956]2332 assertMatch: "node role=stop";
2333}
2334
[16787]2335/* When tags are deprecated they should be added to ignoretags.cfg too. */
Note: See TracBrowser for help on using the repository browser.