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

Last change on this file since 11075 was 11049, checked in by Klumbumbus, 8 years ago

adjust some validator rules

  • Property svn:eol-style set to native
File size: 28.7 KB
Line 
1*[barrier=wire_fence] {
2 throwWarning: tr("{0} is deprecated", "{0.tag}");
3 suggestAlternative: "barrier=fence + fence_type=chain_link";
4 fixAdd: "barrier=fence";
5 fixAdd: "fence_type=chain_link";
6 assertMatch: "way barrier=wire_fence";
7 assertNoMatch: "way barrier=fence";
8}
9
10*[barrier=wood_fence] {
11 throwWarning: tr("{0} is deprecated", "{0.tag}");
12 suggestAlternative: "barrier=fence + fence_type=wood";
13 fixAdd: "barrier=fence";
14 fixAdd: "fence_type=wood";
15}
16
17node[highway=ford] {
18 throwWarning: tr("{0} is deprecated", "{0.tag}");
19 suggestAlternative: "ford=yes";
20 fixRemove: "highway";
21 fixAdd: "ford=yes";
22}
23way[highway=ford] {
24 throwWarning: tr("{0} is deprecated", "{0.tag}");
25 suggestAlternative: "highway=* + ford=yes";
26}
27
28*[class] {
29 /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
30 throwWarning: tr("{0} is deprecated", "{0.key}");
31 suggestAlternative: "highway";
32}
33
34*[highway=stile] {
35 /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
36 throwWarning: tr("{0} is deprecated", "{0.tag}");
37 suggestAlternative: "barrier=stile";
38 fixRemove: "highway";
39 fixAdd: "barrier=stile";
40}
41
42*[highway=incline] {
43 /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
44 throwWarning: tr("{0} is deprecated", "{0.tag}");
45 suggestAlternative: "incline";
46}
47
48*[highway=incline_steep] {
49 /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
50 throwWarning: tr("{0} is deprecated", "{0.tag}");
51 suggestAlternative: "incline";
52}
53
54*[highway=unsurfaced] {
55 /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
56 throwWarning: tr("{0} is deprecated", "{0.tag}");
57 suggestAlternative: "highway=* + surface=unpaved";
58 fixAdd: "highway=road";
59 fixAdd: "surface=unpaved";
60}
61
62*[landuse=wood] {
63 /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
64 throwWarning: tr("{0} is deprecated", "{0.tag}");
65 suggestAlternative: "landuse=forest";
66 suggestAlternative: "natural=wood";
67}
68
69*[natural=marsh] {
70 /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
71 throwWarning: tr("{0} is deprecated", "{0.tag}");
72 suggestAlternative: "natural=wetland + wetland=marsh";
73 fixAdd: "natural=wetland";
74 fixAdd: "wetland=marsh";
75}
76
77*[highway=byway] {
78 /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
79 throwWarning: tr("{0} is deprecated", "{0.tag}");
80}
81
82*[power_source] {
83 /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
84 throwWarning: tr("{0} is deprecated", "{0.key}");
85 suggestAlternative: "generator:source";
86}
87
88*[power_rating] {
89 /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */
90 throwWarning: tr("{0} is deprecated", "{0.key}");
91 suggestAlternative: "generator:output";
92}
93
94*[shop=antique] {
95 throwWarning: tr("{0} is deprecated", "{0.tag}");
96 suggestAlternative: "shop=antiques";
97 fixAdd: "shop=antiques";
98}
99
100*[shop=bags] {
101 throwWarning: tr("{0} is deprecated", "{0.tag}");
102 suggestAlternative: "shop=bag";
103 fixAdd: "shop=bag";
104}
105
106*[shop=organic] {
107 /* from http://wiki.openstreetmap.org/wiki/Tag:shop=organic */
108 throwWarning: tr("{0} is deprecated", "{0.tag}");
109 suggestAlternative: "shop=* + organic=yes";
110 suggestAlternative: "shop=* + organic=only";
111}
112
113*[shop=pets] {
114 throwWarning: tr("{0} is deprecated", "{0.tag}");
115 suggestAlternative: "shop=pet";
116 fixAdd: "shop=pet";
117}
118
119*[shop=pharmacy] {
120 throwWarning: tr("{0} is deprecated", "{0.tag}");
121 suggestAlternative: "amenity=pharmacy";
122 fixChangeKey: "shop => amenity";
123}
124
125*[bicycle_parking=sheffield] {
126 /* from http://wiki.openstreetmap.org/wiki/Key:bicycle_parking */
127 throwWarning: tr("{0} is deprecated", "{0.tag}");
128 suggestAlternative: "bicycle_parking=stands";
129 fixAdd: "bicycle_parking=stands";
130}
131
132*[amenity=emergency_phone] {
133 /* http://wiki.openstreetmap.org/wiki/Tag:emergency=phone */
134 throwWarning: tr("{0} is deprecated", "{0.tag}");
135 suggestAlternative: "emergency=phone";
136 fixRemove: "amenity";
137 fixAdd: "emergency=phone";
138}
139
140*[sport=gaelic_football] {
141 /* fix #8132 - http://wiki.openstreetmap.org/wiki/Tag:sport=gaelic_football */
142 throwWarning: tr("{0} is deprecated", "{0.tag}");
143 suggestAlternative: "sport=gaelic_games";
144 fixAdd: "sport=gaelic_games";
145}
146
147*[power=station] {
148 /* see #8847 / #8961 - http://wiki.openstreetmap.org/wiki/Tag:power=station */
149 throwWarning: tr("{0} is deprecated", "{0.tag}");
150 suggestAlternative: "power=plant";
151 suggestAlternative: "power=substation";
152}
153
154*[power=sub_station] {
155 throwWarning: tr("{0} is deprecated", "{0.tag}");
156 suggestAlternative: "power=substation";
157 fixAdd: "power=substation";
158}
159
160*[generator:method=dam] {
161 throwWarning: tr("{0} is deprecated", "{0.tag}");
162 suggestAlternative: "generator:method=water-storage";
163 fixAdd: "generator:method=water-storage";
164}
165
166*[generator:method=pumped-storage] {
167 throwWarning: tr("{0} is deprecated", "{0.tag}");
168 suggestAlternative: "generator:method=water-pumped-storage";
169 fixAdd: "generator:method=water-pumped-storage";
170}
171
172*[generator:method=pumping] {
173 throwWarning: tr("{0} is deprecated", "{0.tag}");
174 suggestAlternative: "generator:method=water-pumped-storage";
175 fixAdd: "generator:method=water-pumped-storage";
176}
177
178*[fence_type=chain] {
179 /* see #8962 - http://wiki.openstreetmap.org/wiki/Key:fence_type */
180 throwWarning: tr("{0} is deprecated", "{0.tag}");
181 suggestAlternative: "barrier=chain";
182 suggestAlternative: "barrier=fence + fence_type=chain_link";
183}
184
185*[building=entrance] {
186 /* see #9000 - http://wiki.openstreetmap.org/wiki/Key:entrance */
187 throwWarning: tr("{0} is deprecated", "{0.tag}");
188 suggestAlternative: "entrance";
189}
190
191*[board_type=board] {
192 /* see #9213 - Useless tag proposed in internal preset for years */
193 throwWarning: tr("{0} is deprecated", "{0.tag}");
194 fixRemove: "board_type";
195}
196
197*[man_made=measurement_station] {
198 /* see #8434 - http://wiki.openstreetmap.org/wiki/Proposed_features/monitoring_station */
199 throwWarning: tr("{0} is deprecated", "{0.tag}");
200 suggestAlternative: "man_made=monitoring_station";
201 fixAdd: "man_made=monitoring_station";
202}
203
204*[measurement=water_level] {
205 throwWarning: tr("{0} is deprecated", "{0.tag}");
206 suggestAlternative: "monitoring:water_level=yes";
207 fixRemove: "measurement";
208 fixAdd: "monitoring:water_level=yes";
209}
210
211*[measurement=weather] {
212 throwWarning: tr("{0} is deprecated", "{0.tag}");
213 suggestAlternative: "monitoring:weather=yes";
214 fixRemove: "measurement";
215 fixAdd: "monitoring:weather=yes";
216}
217
218*[measurement=seismic] {
219 throwWarning: tr("{0} is deprecated", "{0.tag}");
220 suggestAlternative: "monitoring:seismic_activity=yes";
221 fixRemove: "measurement";
222 fixAdd: "monitoring:seismic_activity=yes";
223}
224
225*[monitoring:river_level] {
226 throwWarning: tr("{0} is deprecated", "{0.key}");
227 suggestAlternative: "monitoring:water_level";
228 fixChangeKey: "monitoring:river_level => monitoring:water_level";
229}
230
231*[stay] {
232 throwWarning: tr("{0} is deprecated", "{0.key}");
233 suggestAlternative: "maxstay";
234 fixChangeKey: "stay => maxstay";
235}
236
237*[emergency=aed] {
238 /* see #9554 - http://wiki.openstreetmap.org/wiki/Proposed_features/automated_external_defibrillator */
239 throwWarning: tr("{0} is deprecated", "{0.tag}");
240 suggestAlternative: "emergency=defibrillator";
241 fixAdd: "emergency=defibrillator";
242}
243
244/* from http://wiki.openstreetmap.org/wiki/Conditional_restrictions#Deprecated_tags */
245*[day_on][!restriction],
246*[day_off][!restriction],
247*[date_on][!restriction],
248*[date_off][!restriction],
249*[hour_on][!restriction],
250*[hour_off][!restriction] {
251 throwWarning: tr("{0} is deprecated", "{0.key}");
252 suggestAlternative: "*:conditional";
253 assertMatch: "node day_on=0-12";
254}
255
256/* see #10000, http://wiki.openstreetmap.org/wiki/Tag%3Aaccess%3Ddesignated */
257*[access=designated] {
258 throwWarning: tr("''{0}'' is meaningless, use more specific tags, e.g. ''{1}''", "access=designated", "bicycle=designated");
259 assertMatch: "way access=designated";
260}
261*[access=official] {
262 throwWarning: tr("''{0}'' does not specify the official mode of transportation, use ''{1}'' for example", "access=official", "bicycle=official");
263 assertMatch: "way access=official";
264}
265
266/* see #10085 - give warning for fixme=yes */
267*[fixme=yes], *[FIXME=yes] {
268 throwWarning: tr("{0}={1} is unspecific. Instead of ''{1}'' please give more information about what exactly should be fixed.", "{0.key}", "{0.value}");
269 assertMatch: "way fixme=yes";
270}
271
272*[name][name=~/^(?i)fixme$/] {
273 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}");
274 fixRemove: "name";
275 assertMatch: "node name=fixme";
276 assertMatch: "node name=Fixme";
277 assertMatch: "node name=FIXME";
278 assertNoMatch: "node name=valid name";
279}
280
281*[note][note=~/^(?i)fixme$/] {
282 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}");
283}
284
285/* see #10107, #10108, #10929, #13391 - http://wiki.openstreetmap.org/wiki/Proposed_features/leaftype#Features.2FPages_affected */
286*[type=broad_leaved],
287*[type=broad_leafed] {
288 throwWarning: tr("{0} is deprecated", "{0.tag}");
289 suggestAlternative: "leaf_type=broadleaved";
290 fixRemove: "{0.key}";
291 fixAdd: "leaf_type=broadleaved";
292}
293
294*[wood=coniferous],
295*[type=coniferous],
296*[type=conifer] {
297 throwWarning: tr("{0} is deprecated", "{0.tag}");
298 suggestAlternative: "leaf_type=needleleaved";
299 fixRemove: "{0.key}";
300 fixAdd: "leaf_type=needleleaved";
301}
302
303*[wood=mixed] {
304 throwWarning: tr("{0} is deprecated", "{0.tag}");
305 suggestAlternative: "leaf_type=mixed";
306 fixRemove: "wood";
307 fixAdd: "leaf_type=mixed";
308}
309
310*[wood=evergreen],
311*[type=evergreen] {
312 throwWarning: tr("{0} is deprecated", "{0.tag}");
313 suggestAlternative: "leaf_cycle=evergreen";
314 fixRemove: "{0.key}";
315 fixAdd: "leaf_cycle=evergreen";
316}
317
318*[type=deciduous],
319*[type=deciduos] {
320 throwWarning: tr("{0} is deprecated", "{0.tag}");
321 suggestAlternative: "leaf_cycle=deciduous";
322 fixRemove: "type";
323 fixAdd: "leaf_cycle=deciduous";
324}
325
326*[wood=deciduous] {
327 throwWarning: tr("{0} is deprecated", "{0.tag}");
328 suggestAlternative: "leaf_type + leaf_cycle";
329}
330
331node[type=palm],
332way[type=palm] {
333 throwWarning: tr("{0} is deprecated", "{0.tag}");
334 suggestAlternative: "leaf_type";
335 suggestAlternative: "trees";
336 suggestAlternative: "species";
337}
338
339*[natural=land] {
340 throwWarning: tr("{0} is deprecated. Please use instead a multipolygon.", "{0.tag}");
341 assertMatch: "way natural=land";
342}
343
344/* see #10447 - https://wiki.openstreetmap.org/wiki/Proposed_features/Bridge_types#Deprecated_bridge_key_values */
345*[bridge=causeway] {
346 throwWarning: tr("{0} is deprecated", "{0.tag}");
347 suggestAlternative: "ford=yes";
348 suggestAlternative: "bridge=low_water_crossing";
349 suggestAlternative: "embankment=yes";
350}
351
352*[bridge=swing] {
353 throwWarning: tr("{0} is deprecated", "{0.tag}");
354 suggestAlternative: "bridge:movable=swing";
355 suggestAlternative: "bridge:structure=simple-suspension";
356}
357
358*[bridge=suspension] {
359 throwWarning: tr("{0} is deprecated", "{0.tag}");
360 suggestAlternative: "bridge=yes + bridge:structure=suspension";
361 fixAdd: "bridge=yes";
362 fixAdd: "bridge:structure=suspension";
363}
364
365/* See #10530 - Incorrect tag proposed in internal preset for years */
366*[fee=interval],
367*[lit=interval],
368*[supervised=interval] {
369 throwWarning: tr("{0} is deprecated. Please specify interval by using opening_hours syntax", "{0.tag}");
370}
371
372/* See #10582 - JOSM supported this tag as "don't upload this" feature, before the introduction of upload flag at layer level */
373*[/josm\/ignore/] {
374 throwError: tr("{0} is deprecated. Please delete this object and use a private layer instead", "{0.key}");
375 fixDeleteObject: this;
376}
377
378/* see #8281 */
379*[sport=diving] {
380 throwWarning: tr("{0} is deprecated", "{0.tag}");
381 suggestAlternative: "sport=scuba_diving";
382 suggestAlternative: "sport=cliff_diving";
383}
384
385/* see #8281 */
386*[parking=park_and_ride] {
387 throwWarning: tr("{0} is deprecated", "{0.tag}");
388 suggestAlternative: "amenity=parking + park_ride=yes";
389 fixRemove: "parking";
390 fixAdd: "amenity=parking";
391 fixAdd: "park_ride=yes";
392}
393
394/* see #10661, #10837, #11737, #12771 */
395*[traffic_calming=yes],
396*[access=restricted],
397*[barrier=yes],
398*[aerialway=yes][!public_transport],
399*[amenity=yes],
400*[leisure=yes],
401*[shop="*"],
402*[craft=yes],
403*[service=yes],
404*[place=yes] {
405 throwWarning: tr("{0}={1} is unspecific. Please replace ''{1}'' by a specific value.", "{0.key}", "{0.value}");
406}
407
408/* see #10693 - http://wiki.openstreetmap.org/wiki/Proposed_features/drop_recommendation_for_place_name , #10837 */
409*[place_name][!name] {
410 throwWarning: tr("{0} should be replaced with {1}", "{0.key}", "{1.key}");
411 fixChangeKey: "place_name => name";
412}
413*[place][place_name = *name] {
414 throwWarning: tr("{0} = {1}; remove {0}", "{1.key}", "{1.value}");
415 fixRemove: "{1.key}";
416}
417
418way[sidewalk=yes] {
419 throwWarning: tr("{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or ''both''.", "{0.key}", "{0.value}");
420}
421
422*[waterway=water_point] {
423 throwWarning: tr("{0} is deprecated", "{0.tag}");
424 suggestAlternative: "amenity=water_point";
425 fixChangeKey: "waterway => amenity";
426}
427*[waterway=waste_disposal] {
428 throwWarning: tr("{0} is deprecated", "{0.tag}");
429 suggestAlternative: "amenity=waste_disposal";
430 fixChangeKey: "waterway => amenity";
431}
432*[waterway=mooring] {
433 throwWarning: tr("{0} is deprecated", "{0.tag}");
434 suggestAlternative: "mooring=yes";
435 fixRemove: "waterway";
436 fixAdd: "mooring=yes";
437}
438
439/* see #10837 */
440*[building][levels],
441*[building:part=yes][levels] {
442 throwWarning: tr("{0} is deprecated", "{1.key}");
443 suggestAlternative: "building:levels";
444 fixChangeKey: "levels => building:levels";
445}
446
447/* see #10691 */
448*[protected_class] {
449 throwWarning: tr("{0} is deprecated", "{0.key}");
450 suggestAlternative: "protect_class";
451 fixChangeKey: "protected_class => protect_class";
452}
453
454/* see #11070 */
455*[lock=unknown],
456*[hide=unknown],
457*[shelter=unknown],
458*[access=unknown],
459*[capacity:parent=unknown],
460*[capacity:women=unknown],
461*[capacity:disabled=unknown],
462*[crossing=unknown],
463*[foot=unknown] {
464 throwWarning: tr("Unspecific tag {0}", "{0.tag}");
465}
466
467/* unclear definition, see #11183 */
468*[sport=skiing][!piste:type] {
469 throwWarning: tr("Definition of {0} is unclear", "{0.tag}");
470 suggestAlternative: {1.key};
471}
472
473/* see #11223 */
474*[waterway=wadi] {
475 throwWarning: tr("{0} is deprecated", "{0.tag}");
476 suggestAlternative: "{0.key}=* + intermittent=yes";
477 suggestAlternative: "natural=valley";
478}
479
480/* see #10346 */
481way[oneway=1] {
482 throwWarning: tr("{0} is deprecated", "{0.tag}");
483 suggestAlternative: "oneway=yes";
484 fixAdd: "oneway=yes";
485}
486
487/* see #11329 */
488way[oneway=-1] {
489 throwWarning: tr("{0} is not recommended. Use the Reverse Ways function from the Tools menu.", "{0.tag}");
490}
491
492*[drinkable] {
493 throwWarning: tr("{0} is deprecated", "{0.key}");
494 suggestAlternative: "drinking_water";
495}
496
497/* see #10329 */
498*[color][!colour] {
499 throwWarning: tr("{0} is deprecated", "{0.key}");
500 suggestAlternative: "colour";
501 fixChangeKey: "color => colour";
502}
503*[color][colour][tag(color)=tag(colour)] {
504 throwWarning: tr("{0} together with {1}", "{0.tag}", "{1.tag}");
505 set samecolor;
506 fixRemove: "color";
507 assertMatch: "way color=red colour=red";
508 assertNoMatch: "way color=red colour=green";
509}
510*[color][colour]!.samecolor {
511 throwWarning: tr("{0} together with {1}", "{0.tag}", "{1.tag}");
512 assertNoMatch: "way color=red colour=red";
513 assertMatch: "way color=red colour=green";
514}
515*[/:color/]{
516 throwWarning: tr("{0} is deprecated", "{0.key}");
517 suggestAlternative: ":colour";
518 assertNoMatch: "way color=red";
519 assertMatch: "way roof:color=grey";
520}
521*[/color:/] {
522 throwWarning: tr("{0} is deprecated", "{0.key}");
523 suggestAlternative: "colour:";
524}
525
526/* see #11234 */
527*[/=|\+|\/|&|<|>|;|'|"|%|#|@|\\|,|\.|\{|\}|\?|\*|\^|\$/] {
528 throwWarning: tr("key with uncommon character");
529}
530
531/* see #11330 */
532*[/^.$/],
533node[/^..$/],
534way[/^..$/],
535relation[/^..$/][!to] {
536 throwWarning: tr("uncommon short key");
537 assertNoMatch: "relation to=Berlin";
538 assertMatch: "relation fo=bar";
539 assertMatch: "way to=bar";
540 assertMatch: "node fo=bar";
541 assertMatch: "node f=b";
542}
543
544/* see #11344 */
545*[tower=air_to_ground] {
546 throwWarning: tr("{0} is deprecated", "{0.tag}");
547 suggestAlternative: "tower=transition";
548 fixAdd: "tower=transition";
549}
550*[pole=air_to_ground] {
551 throwWarning: tr("{0} is deprecated", "{0.tag}");
552 suggestAlternative: "pole=transition";
553 fixAdd: "pole=transition";
554}
555
556/* see #11439 */
557*[sport=hockey] {
558 throwWarning: tr("{0} is inaccurate", "{0.tag}");
559 suggestAlternative: "sport=field_hockey";
560 suggestAlternative: "sport=ice_hockey";
561}
562
563/* see #11471 */
564*[sport=billard],
565*[sport=billards],
566*[sport=billiard] {
567 throwWarning: tr("{0} is deprecated", "{0.tag}");
568 suggestAlternative: "sport=billiards";
569 fixAdd: "sport=billiards";
570}
571
572/* see #11499 */
573*[payment:credit_cards=yes] {
574 throwWarning: tr("{0} is inaccurate", "{0.tag}");
575 suggestAlternative: "payment:mastercard=yes";
576 suggestAlternative: "payment:visa=yes";
577 suggestAlternative: "...";
578}
579*[payment:debit_cards=yes] {
580 throwWarning: tr("{0} is inaccurate", "{0.tag}");
581 suggestAlternative: "payment:maestro=yes";
582 suggestAlternative: "payment:girocard=yes";
583 suggestAlternative: "...";
584}
585*[payment:electronic_purses=yes] {
586 throwWarning: tr("{0} is inaccurate", "{0.tag}");
587 suggestAlternative: "payment:ep_geldkarte=yes";
588 suggestAlternative: "payment:ep_quick=yes";
589 suggestAlternative: "...";
590}
591*[payment:cryptocurrencies=yes] {
592 throwWarning: tr("{0} is inaccurate", "{0.tag}");
593 suggestAlternative: "payment:bitcoin=yes";
594 suggestAlternative: "payment:litecoin=yes";
595 suggestAlternative: "...";
596}
597
598/* see #8717 */
599*[kp][highway=milestone],
600*[kp][railway=milestone],
601*[kp][waterway=milestone] {
602 throwWarning: tr("{0} is deprecated", "{0.key}");
603 suggestAlternative: "distance";
604 fixChangeKey: "kp => distance";
605}
606*[pk][highway=milestone],
607*[pk][railway=milestone],
608*[pk][waterway=milestone] {
609 throwWarning: tr("{0} is deprecated", "{0.key}");
610 suggestAlternative: "distance";
611 fixChangeKey: "pk => distance";
612}
613
614*[postcode] {
615 throwWarning: tr("{0} is deprecated", "{0.key}");
616 suggestAlternative: "addr:postcode";
617 suggestAlternative: "postal_code";
618}
619
620*[water=intermittent] {
621 throwWarning: tr("{0} is deprecated", "{0.tag}");
622 suggestAlternative: "intermittent=yes";
623 fixRemove: "water";
624 fixAdd: "intermittent=yes";
625}
626
627*[type][man_made=pipeline],
628*[type][pipeline=marker] {
629 throwWarning: tr("{0} is deprecated", "{0.key}");
630 suggestAlternative: "substance";
631 fixChangeKey: "type => substance";
632}
633
634*[landuse=farm] {
635 throwWarning: tr("{0} is deprecated", "{0.tag}");
636 suggestAlternative: "landuse=farmland";
637 suggestAlternative: "landuse=farmyard";
638}
639
640/* #12135 comment:11 */
641*[seamark=buoy]["seamark:type"=~/^(buoy_cardinal|buoy_installation|buoy_isolated_danger|buoy_lateral|buoy_safe_water|buoy_special_purpose|mooring)$/] {
642 throwWarning: tr("{0} is deprecated", "{0.tag}");
643 suggestAlternative: "{1.tag}";
644 fixRemove: "seamark";
645}
646*[seamark=buoy]["seamark:type"!~/^(buoy_cardinal|buoy_installation|buoy_isolated_danger|buoy_lateral|buoy_safe_water|buoy_special_purpose|mooring)$/] {
647 throwWarning: tr("{0} is deprecated", "{0.tag}");
648 suggestAlternative: "{1.tag}";
649}
650/* #12135 - Tag removed rom rendering https://github.com/gravitystorm/openstreetmap-carto/pull/1830 */
651*[landuse=conservation] {
652 throwWarning: tr("{0} is deprecated", "{0.tag}");
653 suggestAlternative: "boundary=protected_area";
654 fixAdd: "boundary=protected_area";
655 fixRemove: "landuse";
656}
657
658/* #12205 */
659*[amenity=kiosk] {
660 throwWarning: tr("{0} is deprecated", "{0.tag}");
661 suggestAlternative: "shop=kiosk";
662 fixChangeKey: "amenity => shop";
663}
664*[amenity=shop] {
665 throwWarning: tr("{0} is deprecated", "{0.tag}");
666 suggestAlternative: "shop=*";
667}
668*[shop=fishmonger] {
669 throwWarning: tr("{0} is deprecated", "{0.tag}");
670 suggestAlternative: "shop=seafood";
671 fixAdd: "shop=seafood";
672}
673*[shop=fish] {
674 throwWarning: tr("{0} is deprecated", "{0.tag}");
675 suggestAlternative: "shop=seafood";
676 suggestAlternative: "shop=pet";
677 suggestAlternative: "shop=fishing";
678}
679*[shop=betting] {
680 throwWarning: tr("{0} is deprecated", "{0.tag}");
681 suggestAlternative: "shop=bookmaker";
682 suggestAlternative: "shop=lottery";
683 suggestAlternative: "amenity=casino";
684 suggestAlternative: "leisure=amusement_arcade";
685 suggestAlternative: "leisure=adult_gaming_centre";
686 suggestAlternative: "amenity=gambling";
687}
688*[shop=perfume] {
689 throwWarning: tr("{0} is deprecated", "{0.tag}");
690 suggestAlternative: "shop=perfumery";
691 fixAdd: "shop=perfumery";
692}
693*[amenity=exercise_point] {
694 throwWarning: tr("{0} is deprecated", "{0.tag}");
695 suggestAlternative: "leisure=fitness_station";
696 fixAdd: "leisure=fitness_station";
697 fixRemove: "amenity";
698}
699*[shop=auto_parts] {
700 throwWarning: tr("{0} is deprecated", "{0.tag}");
701 suggestAlternative: "shop=car_parts";
702 fixAdd: "shop=car_parts";
703}
704*[amenity=car_repair] {
705 throwWarning: tr("{0} is deprecated", "{0.tag}");
706 suggestAlternative: "shop=car_repair";
707 fixChangeKey: "amenity => shop";
708}
709
710/* #12311 */
711*[amenity=studio][type=audio],
712*[amenity=studio][type=radio],
713*[amenity=studio][type=television],
714*[amenity=studio][type=video] {
715 throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}");
716 suggestAlternative: "studio";
717 fixChangeKey: "type => studio";
718}
719
720/* #11507, #12297 */
721*[power=cable_distribution_cabinet] {
722 throwWarning: tr("{0} is deprecated", "{0.tag}");
723 suggestAlternative: "man_made=street_cabinet + street_cabinet=power";
724 fixAdd: "man_made=street_cabinet";
725 fixAdd: "street_cabinet=power";
726 fixRemove: "power";
727}
728
729/* #12276 */
730*[man_made=well] {
731 throwWarning: tr("{0} is deprecated", "{0.tag}");
732 suggestAlternative: "man_made=water_well";
733 suggestAlternative: "man_made=petroleum_well";
734}
735*[amenity=dog_bin],
736*[amenity=dog_waste_bin] {
737 throwWarning: tr("{0} is deprecated", "{0.tag}");
738 suggestAlternative: "amenity=waste_basket + waste=dog_excrement + vending=excrement_bags";
739 fixAdd: "amenity=waste_basket";
740 fixAdd: "waste=dog_excrement";
741 fixAdd: "vending=excrement_bags";
742}
743*[amenity=artwork] {
744 throwWarning: tr("{0} is deprecated", "{0.tag}");
745 suggestAlternative: "tourism=artwork";
746 fixAdd: "tourism=artwork";
747 fixRemove: "amenity";
748}
749*[amenity=community_center] {
750 throwWarning: tr("{0} is deprecated", "{0.tag}");
751 suggestAlternative: "amenity=community_centre";
752 fixAdd: "amenity=community_centre";
753}
754*[man_made=cut_line] {
755 throwWarning: tr("{0} is deprecated", "{0.tag}");
756 suggestAlternative: "man_made=cutline";
757 fixAdd: "man_made=cutline";
758}
759*[amenity=park] {
760 throwWarning: tr("{0} is deprecated", "{0.tag}");
761 suggestAlternative: "leisure=park";
762 fixAdd: "leisure=park";
763 fixRemove: "amenity";
764}
765*[amenity=hotel] {
766 throwWarning: tr("{0} is deprecated", "{0.tag}");
767 suggestAlternative: "tourism=hotel";
768 fixAdd: "tourism=hotel";
769 fixRemove: "amenity";
770}
771*[shop=window],
772*[shop=windows] {
773 throwWarning: tr("{0} is deprecated", "{0.tag}");
774 suggestAlternative: "craft=window_construction";
775 fixAdd: "craft=window_construction";
776 fixRemove: "shop";
777}
778*[amenity=education] {
779 throwWarning: tr("{0} is deprecated", "{0.tag}");
780 suggestAlternative: "amenity=college";
781 suggestAlternative: "amenity=school";
782 suggestAlternative: "amenity=university";
783}
784*[shop=gallery] {
785 throwWarning: tr("{0} is deprecated", "{0.tag}");
786 suggestAlternative: "shop=art";
787 fixAdd: "shop=art";
788}
789*[shop=gambling],
790*[leisure=gambling] {
791 throwWarning: tr("{0} is deprecated", "{0.tag}");
792 suggestAlternative: "shop=bookmaker";
793 suggestAlternative: "shop=lottery";
794 suggestAlternative: "amenity=casino";
795 suggestAlternative: "leisure=amusement_arcade";
796 suggestAlternative: "amenity=gambling";
797}
798*[office=real_estate_agent] {
799 throwWarning: tr("{0} is deprecated", "{0.tag}");
800 suggestAlternative: "office=estate_agent ";
801 fixAdd: "office=estate_agent ";
802}
803*[shop=glass] {
804 throwWarning: tr("{0} is deprecated", "{0.tag}");
805 suggestAlternative: "shop=glaziery";
806 suggestAlternative: "craft=glaziery";
807}
808*[amenity=proposed],
809*[amenity=proposed],
810*[amenity=disused],
811*[shop=disused],
812*[historic=abandoned] {
813 throwWarning: tr("{0} is deprecated. Use the {1}: key prefix instead.", "{0.tag}", "{0.value}");
814}
815
816/* #12431 */
817*[amenity=swimming_pool] {
818 throwWarning: tr("{0} is deprecated", "{0.tag}");
819 suggestAlternative: "leisure=swimming_pool";
820 fixChangeKey: "amenity => leisure";
821}
822
823/* #12494 */
824*[/^[^t][^i][^g].+_[0-9]$/][!/^note_[0-9]$/][!/^description_[0-9]$/] {
825 throwOther: tr("questionable key (ending with a number): {0}", "{0.key}");
826} /*should not warn for key tiger:name_base_1 */
827
828/* #12500 */
829*[sport=skating] {
830 throwWarning: tr("{0} is deprecated", "{0.tag}");
831 suggestAlternative: "sport=ice_skating";
832 suggestAlternative: "sport=roller_skating";
833}
834
835way[barrier=wall][type=noise_barrier][!wall],
836way[barrier=wall][type=noise_barrier][wall=noise_barrier] {
837 throwWarning: tr("{0} is deprecated", "{1.tag}");
838 suggestAlternative: "wall=noise_barrier";
839 fixChangeKey: "type => wall";
840}
841way[barrier=wall][type=noise_barrier][wall][wall!=noise_barrier] {
842 throwWarning: tr("{0} is deprecated", "{1.tag}");
843 suggestAlternative: "wall=noise_barrier";
844}
845
846/* #8978, 12588 */
847*[amenity=public_building] {
848 throwWarning: tr("{0} is deprecated", "{0.tag}");
849 suggestAlternative: "amenity=townhall";
850 suggestAlternative: "amenity=community_centre";
851 suggestAlternative: "amenity=hospital";
852 suggestAlternative: "leisure=sports_centre";
853 suggestAlternative: "office=government";
854 suggestAlternative: "building=hospital";
855 suggestAlternative: "building=public";
856 suggestAlternative: "...";
857}
858
859/* #12708 */
860*[vending=news_papers] {
861 throwWarning: tr("{0} is deprecated", "{0.tag}");
862 suggestAlternative: "vending=newspapers";
863 fixAdd: "vending=newspapers";
864}
865
866/* #12771 */
867*[service=drive_through] {
868 throwWarning: tr("{0} is deprecated", "{0.tag}");
869 suggestAlternative: "service=drive-through";
870 fixAdd: "service=drive-through";
871}
872
873/* #12771 */
874way[highway=service][service][service !~ /^(alley|drive-through|drive_through|driveway|emergency_access|parking_aisle|rest_area|yes)$/], /* drive_through and yes have special warnings */
875way[railway=rail][service][service !~ /^(crossover|siding|spur|yard)$/],
876way[waterway=canal][service][service !~ /^(irrigation|transportation|water_power)$/] {
877 throwWarning: tr("The key {0} has an uncommon value.", "{1.key}");
878}
879
880/* #13008 */
881*[name:botanical] {
882 throwWarning: tr("{0} is deprecated", "{0.key}");
883 suggestAlternative: "species";
884}
885
886/* #13101 */
887node[pole=transition] {
888 throwWarning: tr("{0} is deprecated", "{0.tag}");
889 suggestAlternative: "location:transition=yes";
890 fixAdd: "location:transition=yes";
891 fixRemove: "pole";
892}
893node[tower=transition] {
894 throwWarning: tr("{0} is deprecated", "{0.tag}");
895 suggestAlternative: "location:transition=yes";
896 fixAdd: "location:transition=yes";
897 fixRemove: "tower";
898}
899
900/* #13138 */
901area[landuse=pond] {
902 throwWarning: tr("{0} is deprecated", "{0.tag}");
903 suggestAlternative: "natural=water + water=pond";
904 fixAdd: "natural=water";
905 fixAdd: "water=pond";
906 fixRemove: "landuse";
907}
908
909*[shop=souvenir],
910*[shop=souvenirs],
911*[shop=souveniers] {
912 throwWarning: tr("{0} is deprecated", "{0.tag}");
913 suggestAlternative: "shop=gift";
914 fixAdd: "shop=gift";
915}
916
917*[vending=animal_food] {
918 throwWarning: tr("{0} is deprecated", "{0.tag}");
919 suggestAlternative: "vending=animal_feed";
920 fixAdd: "vending=animal_feed";
921}
922
923/* #13653 */
924node[highway=emergency_access_point][phone][!emergency_telephone_code],
925way[highway=emergency_access_point][phone][!emergency_telephone_code] {
926 throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}");
927 suggestAlternative: "emergency_telephone_code";
928 fixChangeKey: "phone => emergency_telephone_code";
929 assertMatch: "node highway=emergency_access_point phone=123";
930 assertNoMatch: "node highway=emergency_access_point emergency_telephone_code=456";
931 assertNoMatch: "node highway=emergency_access_point phone=123 emergency_telephone_code=456";
932 assertNoMatch: "node phone=123";
933}
934node[highway=emergency_access_point][phone=*emergency_telephone_code],
935way[highway=emergency_access_point][phone=*emergency_telephone_code] {
936 throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}");
937 suggestAlternative: "emergency_telephone_code";
938 fixRemove: "phone";
939 assertNoMatch: "node highway=emergency_access_point phone=123";
940 assertNoMatch: "node highway=emergency_access_point emergency_telephone_code=123";
941 assertMatch: "node highway=emergency_access_point phone=123 emergency_telephone_code=123";
942}
943node[highway=emergency_access_point][phone][emergency_telephone_code][phone!=*emergency_telephone_code],
944way[highway=emergency_access_point][phone][emergency_telephone_code][phone!=*emergency_telephone_code] {
945 throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}");
946 suggestAlternative: "emergency_telephone_code";
947 assertNoMatch: "node highway=emergency_access_point phone=123";
948 assertNoMatch: "node highway=emergency_access_point emergency_telephone_code=123";
949 assertNoMatch: "node highway=emergency_access_point phone=123 emergency_telephone_code=123";
950}
Note: See TracBrowser for help on using the repository browser.