1 | *[barrier=wire_fence] { |
---|
2 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
3 | group: tr("deprecated tagging"); |
---|
4 | suggestAlternative: "barrier=fence + fence_type=chain_link"; |
---|
5 | fixAdd: "barrier=fence"; |
---|
6 | fixAdd: "fence_type=chain_link"; |
---|
7 | assertMatch: "way barrier=wire_fence"; |
---|
8 | assertNoMatch: "way barrier=fence"; |
---|
9 | } |
---|
10 | |
---|
11 | *[barrier=wood_fence] { |
---|
12 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
13 | suggestAlternative: "barrier=fence + fence_type=wood"; |
---|
14 | group: tr("deprecated tagging"); |
---|
15 | fixAdd: "barrier=fence"; |
---|
16 | fixAdd: "fence_type=wood"; |
---|
17 | } |
---|
18 | |
---|
19 | node[highway=ford] { |
---|
20 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
21 | suggestAlternative: "ford=yes"; |
---|
22 | group: tr("deprecated tagging"); |
---|
23 | fixRemove: "highway"; |
---|
24 | fixAdd: "ford=yes"; |
---|
25 | } |
---|
26 | way[highway=ford] { |
---|
27 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
28 | suggestAlternative: "highway=* + ford=yes"; |
---|
29 | group: tr("deprecated tagging"); |
---|
30 | } |
---|
31 | |
---|
32 | way[class] { |
---|
33 | /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */ |
---|
34 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
35 | suggestAlternative: "highway"; |
---|
36 | group: tr("deprecated tagging"); |
---|
37 | } |
---|
38 | |
---|
39 | *[highway=stile] { |
---|
40 | /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */ |
---|
41 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
42 | suggestAlternative: "barrier=stile"; |
---|
43 | group: tr("deprecated tagging"); |
---|
44 | fixRemove: "highway"; |
---|
45 | fixAdd: "barrier=stile"; |
---|
46 | } |
---|
47 | |
---|
48 | *[highway=incline] { |
---|
49 | /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */ |
---|
50 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
51 | suggestAlternative: "incline"; |
---|
52 | group: tr("deprecated tagging"); |
---|
53 | } |
---|
54 | |
---|
55 | *[highway=incline_steep] { |
---|
56 | /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */ |
---|
57 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
58 | suggestAlternative: "incline"; |
---|
59 | group: tr("deprecated tagging"); |
---|
60 | } |
---|
61 | |
---|
62 | *[highway=unsurfaced] { |
---|
63 | /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */ |
---|
64 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
65 | suggestAlternative: "highway=* + surface=unpaved"; |
---|
66 | group: tr("deprecated tagging"); |
---|
67 | fixAdd: "highway=road"; |
---|
68 | fixAdd: "surface=unpaved"; |
---|
69 | } |
---|
70 | |
---|
71 | *[landuse=wood] { |
---|
72 | /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */ |
---|
73 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
74 | suggestAlternative: "landuse=forest"; |
---|
75 | suggestAlternative: "natural=wood"; |
---|
76 | group: tr("deprecated tagging"); |
---|
77 | } |
---|
78 | |
---|
79 | *[natural=marsh] { |
---|
80 | /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */ |
---|
81 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
82 | suggestAlternative: "natural=wetland + wetland=marsh"; |
---|
83 | group: tr("deprecated tagging"); |
---|
84 | fixAdd: "natural=wetland"; |
---|
85 | fixAdd: "wetland=marsh"; |
---|
86 | } |
---|
87 | |
---|
88 | *[highway=byway] { |
---|
89 | /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */ |
---|
90 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
91 | group: tr("deprecated tagging"); |
---|
92 | } |
---|
93 | |
---|
94 | *[power_source] { |
---|
95 | /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */ |
---|
96 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
97 | suggestAlternative: "generator:source"; |
---|
98 | group: tr("deprecated tagging"); |
---|
99 | } |
---|
100 | |
---|
101 | *[power_rating] { |
---|
102 | /* from http://wiki.openstreetmap.org/wiki/Deprecated_features */ |
---|
103 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
104 | suggestAlternative: "generator:output"; |
---|
105 | group: tr("deprecated tagging"); |
---|
106 | } |
---|
107 | |
---|
108 | *[shop=antique] { |
---|
109 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
110 | suggestAlternative: "shop=antiques"; |
---|
111 | group: tr("deprecated tagging"); |
---|
112 | fixAdd: "shop=antiques"; |
---|
113 | } |
---|
114 | |
---|
115 | *[shop=bags] { |
---|
116 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
117 | suggestAlternative: "shop=bag"; |
---|
118 | group: tr("deprecated tagging"); |
---|
119 | fixAdd: "shop=bag"; |
---|
120 | } |
---|
121 | |
---|
122 | /* #17527 */ |
---|
123 | *[shop=fashion] { |
---|
124 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
125 | suggestAlternative: "shop=clothes"; |
---|
126 | group: tr("deprecated tagging"); |
---|
127 | fixAdd: "shop=clothes"; |
---|
128 | } |
---|
129 | |
---|
130 | *[shop=organic] { |
---|
131 | /* from http://wiki.openstreetmap.org/wiki/Tag:shop=organic */ |
---|
132 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
133 | suggestAlternative: "shop=* + organic=yes"; |
---|
134 | suggestAlternative: "shop=* + organic=only"; |
---|
135 | group: tr("deprecated tagging"); |
---|
136 | } |
---|
137 | |
---|
138 | *[shop=pets] { |
---|
139 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
140 | suggestAlternative: "shop=pet"; |
---|
141 | group: tr("deprecated tagging"); |
---|
142 | fixAdd: "shop=pet"; |
---|
143 | } |
---|
144 | |
---|
145 | *[shop=pharmacy] { |
---|
146 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
147 | suggestAlternative: "amenity=pharmacy"; |
---|
148 | group: tr("deprecated tagging"); |
---|
149 | fixChangeKey: "shop => amenity"; |
---|
150 | } |
---|
151 | |
---|
152 | *[bicycle_parking=sheffield] { |
---|
153 | /* from http://wiki.openstreetmap.org/wiki/Key:bicycle_parking */ |
---|
154 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
155 | suggestAlternative: "bicycle_parking=stands"; |
---|
156 | group: tr("deprecated tagging"); |
---|
157 | fixAdd: "bicycle_parking=stands"; |
---|
158 | } |
---|
159 | |
---|
160 | *[amenity=emergency_phone] { |
---|
161 | /* http://wiki.openstreetmap.org/wiki/Tag:emergency=phone */ |
---|
162 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
163 | suggestAlternative: "emergency=phone"; |
---|
164 | group: tr("deprecated tagging"); |
---|
165 | fixRemove: "amenity"; |
---|
166 | fixAdd: "emergency=phone"; |
---|
167 | } |
---|
168 | |
---|
169 | *[sport=gaelic_football] { |
---|
170 | /* fix #8132 - http://wiki.openstreetmap.org/wiki/Tag:sport=gaelic_football */ |
---|
171 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
172 | suggestAlternative: "sport=gaelic_games"; |
---|
173 | group: tr("deprecated tagging"); |
---|
174 | fixAdd: "sport=gaelic_games"; |
---|
175 | } |
---|
176 | |
---|
177 | *[power=station] { |
---|
178 | /* see #8847 / #8961 - http://wiki.openstreetmap.org/wiki/Tag:power=station */ |
---|
179 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
180 | suggestAlternative: "power=plant"; |
---|
181 | suggestAlternative: "power=substation"; |
---|
182 | group: tr("deprecated tagging"); |
---|
183 | } |
---|
184 | |
---|
185 | *[power=sub_station] { |
---|
186 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
187 | suggestAlternative: "power=substation"; |
---|
188 | group: tr("deprecated tagging"); |
---|
189 | fixAdd: "power=substation"; |
---|
190 | } |
---|
191 | |
---|
192 | *[generator:method=dam] { |
---|
193 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
194 | suggestAlternative: "generator:method=water-storage"; |
---|
195 | group: tr("deprecated tagging"); |
---|
196 | fixAdd: "generator:method=water-storage"; |
---|
197 | } |
---|
198 | |
---|
199 | *[generator:method=pumped-storage] { |
---|
200 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
201 | suggestAlternative: "generator:method=water-pumped-storage"; |
---|
202 | group: tr("deprecated tagging"); |
---|
203 | fixAdd: "generator:method=water-pumped-storage"; |
---|
204 | } |
---|
205 | |
---|
206 | *[generator:method=pumping] { |
---|
207 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
208 | suggestAlternative: "generator:method=water-pumped-storage"; |
---|
209 | group: tr("deprecated tagging"); |
---|
210 | fixAdd: "generator:method=water-pumped-storage"; |
---|
211 | } |
---|
212 | |
---|
213 | *[fence_type=chain] { |
---|
214 | /* see #8962 - http://wiki.openstreetmap.org/wiki/Key:fence_type */ |
---|
215 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
216 | suggestAlternative: "barrier=chain"; |
---|
217 | suggestAlternative: "barrier=fence + fence_type=chain_link"; |
---|
218 | group: tr("deprecated tagging"); |
---|
219 | } |
---|
220 | |
---|
221 | *[building=entrance] { |
---|
222 | /* see #9000 - http://wiki.openstreetmap.org/wiki/Key:entrance */ |
---|
223 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
224 | suggestAlternative: "entrance"; |
---|
225 | group: tr("deprecated tagging"); |
---|
226 | } |
---|
227 | |
---|
228 | *[board_type=board] { |
---|
229 | /* see #9213 - Useless tag proposed in internal preset for years */ |
---|
230 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
231 | group: tr("deprecated tagging"); |
---|
232 | fixRemove: "board_type"; |
---|
233 | } |
---|
234 | |
---|
235 | *[man_made=measurement_station] { |
---|
236 | /* see #8434 - http://wiki.openstreetmap.org/wiki/Proposed_features/monitoring_station */ |
---|
237 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
238 | suggestAlternative: "man_made=monitoring_station"; |
---|
239 | group: tr("deprecated tagging"); |
---|
240 | fixAdd: "man_made=monitoring_station"; |
---|
241 | } |
---|
242 | |
---|
243 | *[measurement=water_level] { |
---|
244 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
245 | suggestAlternative: "monitoring:water_level=yes"; |
---|
246 | group: tr("deprecated tagging"); |
---|
247 | fixRemove: "measurement"; |
---|
248 | fixAdd: "monitoring:water_level=yes"; |
---|
249 | } |
---|
250 | |
---|
251 | *[measurement=weather] { |
---|
252 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
253 | suggestAlternative: "monitoring:weather=yes"; |
---|
254 | group: tr("deprecated tagging"); |
---|
255 | fixRemove: "measurement"; |
---|
256 | fixAdd: "monitoring:weather=yes"; |
---|
257 | } |
---|
258 | |
---|
259 | *[measurement=seismic] { |
---|
260 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
261 | suggestAlternative: "monitoring:seismic_activity=yes"; |
---|
262 | group: tr("deprecated tagging"); |
---|
263 | fixRemove: "measurement"; |
---|
264 | fixAdd: "monitoring:seismic_activity=yes"; |
---|
265 | } |
---|
266 | |
---|
267 | *[monitoring:river_level] { |
---|
268 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
269 | suggestAlternative: "monitoring:water_level"; |
---|
270 | group: tr("deprecated tagging"); |
---|
271 | fixChangeKey: "monitoring:river_level => monitoring:water_level"; |
---|
272 | } |
---|
273 | |
---|
274 | *[stay] { |
---|
275 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
276 | suggestAlternative: "maxstay"; |
---|
277 | group: tr("deprecated tagging"); |
---|
278 | fixChangeKey: "stay => maxstay"; |
---|
279 | } |
---|
280 | |
---|
281 | *[emergency=aed] { |
---|
282 | /* see #9554 - http://wiki.openstreetmap.org/wiki/Proposed_features/automated_external_defibrillator */ |
---|
283 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
284 | suggestAlternative: "emergency=defibrillator"; |
---|
285 | group: tr("deprecated tagging"); |
---|
286 | fixAdd: "emergency=defibrillator"; |
---|
287 | } |
---|
288 | |
---|
289 | /* from http://wiki.openstreetmap.org/wiki/Conditional_restrictions#Deprecated_tags */ |
---|
290 | *[day_on][!restriction], |
---|
291 | *[day_off][!restriction], |
---|
292 | *[date_on][!restriction], |
---|
293 | *[date_off][!restriction], |
---|
294 | *[hour_on][!restriction], |
---|
295 | *[hour_off][!restriction] { |
---|
296 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
297 | suggestAlternative: "*:conditional"; |
---|
298 | group: tr("deprecated tagging"); |
---|
299 | assertMatch: "node day_on=0-12"; |
---|
300 | } |
---|
301 | |
---|
302 | /* see #10000, http://wiki.openstreetmap.org/wiki/Tag%3Aaccess%3Ddesignated */ |
---|
303 | *[access=designated] { |
---|
304 | throwWarning: tr("''{0}'' is meaningless, use more specific tags, e.g. ''{1}''", "access=designated", "bicycle=designated"); |
---|
305 | assertMatch: "way access=designated"; |
---|
306 | } |
---|
307 | *[access=official] { |
---|
308 | throwWarning: tr("''{0}'' does not specify the official mode of transportation, use ''{1}'' for example", "access=official", "bicycle=official"); |
---|
309 | assertMatch: "way access=official"; |
---|
310 | } |
---|
311 | |
---|
312 | /* see #10085 - give warning for fixme=yes */ |
---|
313 | *[fixme=yes], *[FIXME=yes] { |
---|
314 | throwWarning: tr("{0}={1} is unspecific. Instead of ''{1}'' please give more information about what exactly should be fixed.", "{0.key}", "{0.value}"); |
---|
315 | assertMatch: "way fixme=yes"; |
---|
316 | } |
---|
317 | |
---|
318 | *[name][name=~/^(?i)fixme$/] { |
---|
319 | 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}"); |
---|
320 | fixRemove: "name"; |
---|
321 | assertMatch: "node name=fixme"; |
---|
322 | assertMatch: "node name=Fixme"; |
---|
323 | assertMatch: "node name=FIXME"; |
---|
324 | assertNoMatch: "node name=valid name"; |
---|
325 | } |
---|
326 | |
---|
327 | *[note][note=~/^(?i)fixme$/] { |
---|
328 | 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}"); |
---|
329 | } |
---|
330 | |
---|
331 | /* see #10107, #10108, #10929, #13391 - http://wiki.openstreetmap.org/wiki/Proposed_features/leaftype#Features.2FPages_affected */ |
---|
332 | *[type=broad_leaved], |
---|
333 | *[type=broad_leafed] { |
---|
334 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
335 | suggestAlternative: "leaf_type=broadleaved"; |
---|
336 | group: tr("deprecated tagging"); |
---|
337 | fixRemove: "{0.key}"; |
---|
338 | fixAdd: "leaf_type=broadleaved"; |
---|
339 | } |
---|
340 | |
---|
341 | *[wood=coniferous], |
---|
342 | *[type=coniferous], |
---|
343 | *[type=conifer] { |
---|
344 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
345 | suggestAlternative: "leaf_type=needleleaved"; |
---|
346 | group: tr("deprecated tagging"); |
---|
347 | fixRemove: "{0.key}"; |
---|
348 | fixAdd: "leaf_type=needleleaved"; |
---|
349 | } |
---|
350 | |
---|
351 | *[wood=mixed] { |
---|
352 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
353 | suggestAlternative: "leaf_type=mixed"; |
---|
354 | group: tr("deprecated tagging"); |
---|
355 | fixRemove: "wood"; |
---|
356 | fixAdd: "leaf_type=mixed"; |
---|
357 | } |
---|
358 | |
---|
359 | *[wood=evergreen], |
---|
360 | *[type=evergreen] { |
---|
361 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
362 | suggestAlternative: "leaf_cycle=evergreen"; |
---|
363 | group: tr("deprecated tagging"); |
---|
364 | fixRemove: "{0.key}"; |
---|
365 | fixAdd: "leaf_cycle=evergreen"; |
---|
366 | } |
---|
367 | |
---|
368 | *[type=deciduous], |
---|
369 | *[type=deciduos] { |
---|
370 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
371 | suggestAlternative: "leaf_cycle=deciduous"; |
---|
372 | group: tr("deprecated tagging"); |
---|
373 | fixRemove: "type"; |
---|
374 | fixAdd: "leaf_cycle=deciduous"; |
---|
375 | } |
---|
376 | |
---|
377 | *[wood=deciduous] { |
---|
378 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
379 | suggestAlternative: "leaf_type + leaf_cycle"; |
---|
380 | group: tr("deprecated tagging"); |
---|
381 | } |
---|
382 | |
---|
383 | node[type=palm], |
---|
384 | way[type=palm] { |
---|
385 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
386 | suggestAlternative: "leaf_type"; |
---|
387 | suggestAlternative: "trees"; |
---|
388 | suggestAlternative: "species"; |
---|
389 | group: tr("deprecated tagging"); |
---|
390 | } |
---|
391 | |
---|
392 | *[natural=land] { |
---|
393 | throwWarning: tr("{0} is deprecated. Please use instead a multipolygon.", "{0.tag}"); |
---|
394 | group: tr("deprecated tagging"); |
---|
395 | assertMatch: "way natural=land"; |
---|
396 | } |
---|
397 | |
---|
398 | /* see #10447 - https://wiki.openstreetmap.org/wiki/Proposed_features/Bridge_types#Deprecated_bridge_key_values */ |
---|
399 | *[bridge=causeway] { |
---|
400 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
401 | suggestAlternative: "ford=yes"; |
---|
402 | suggestAlternative: "bridge=low_water_crossing"; |
---|
403 | suggestAlternative: "embankment=yes"; |
---|
404 | group: tr("deprecated tagging"); |
---|
405 | } |
---|
406 | *[bridge=swing] { |
---|
407 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
408 | suggestAlternative: "bridge:movable=swing"; |
---|
409 | suggestAlternative: "bridge:structure=simple-suspension"; |
---|
410 | group: tr("deprecated tagging"); |
---|
411 | } |
---|
412 | *[bridge=suspension] { |
---|
413 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
414 | suggestAlternative: "bridge=yes + bridge:structure=suspension"; |
---|
415 | group: tr("deprecated tagging"); |
---|
416 | fixAdd: "bridge=yes"; |
---|
417 | fixAdd: "bridge:structure=suspension"; |
---|
418 | } |
---|
419 | *[bridge=pontoon] { |
---|
420 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
421 | suggestAlternative: "bridge=yes + bridge:structure=floating"; |
---|
422 | group: tr("deprecated tagging"); |
---|
423 | fixAdd: "bridge=yes"; |
---|
424 | fixAdd: "bridge:structure=floating"; |
---|
425 | } |
---|
426 | |
---|
427 | /* See #10530 - Incorrect tag proposed in internal preset for years */ |
---|
428 | *[fee=interval], |
---|
429 | *[lit=interval], |
---|
430 | *[supervised=interval] { |
---|
431 | throwWarning: tr("{0} is deprecated. Please specify interval by using opening_hours syntax", "{0.tag}"); |
---|
432 | group: tr("deprecated tagging"); |
---|
433 | } |
---|
434 | |
---|
435 | /* See #10582 - JOSM supported this tag as "don't upload this" feature, before the introduction of upload flag at layer level */ |
---|
436 | *[/josm\/ignore/] { |
---|
437 | throwError: tr("{0} is deprecated. Please delete this object and use a private layer instead", "{0.key}"); |
---|
438 | group: tr("deprecated tagging"); |
---|
439 | fixDeleteObject: this; |
---|
440 | } |
---|
441 | |
---|
442 | /* see #8281 */ |
---|
443 | *[sport=diving] { |
---|
444 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
445 | suggestAlternative: "sport=scuba_diving"; |
---|
446 | suggestAlternative: "sport=cliff_diving"; |
---|
447 | group: tr("deprecated tagging"); |
---|
448 | } |
---|
449 | |
---|
450 | /* see #8281 */ |
---|
451 | *[parking=park_and_ride] { |
---|
452 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
453 | suggestAlternative: "amenity=parking + park_ride=yes"; |
---|
454 | group: tr("deprecated tagging"); |
---|
455 | fixRemove: "parking"; |
---|
456 | fixAdd: "amenity=parking"; |
---|
457 | fixAdd: "park_ride=yes"; |
---|
458 | } |
---|
459 | |
---|
460 | /* see #17950, #10661, #10837, #11737, #12771 */ |
---|
461 | *[police=yes], |
---|
462 | *[traffic_calming=yes], |
---|
463 | *[access=restricted], |
---|
464 | *[barrier=yes], |
---|
465 | *[aerialway=yes][!public_transport], |
---|
466 | *[amenity=yes], |
---|
467 | *[leisure=yes], |
---|
468 | *[shop="*"], |
---|
469 | *[shop=yes][amenity!=fuel], |
---|
470 | *[craft=yes], |
---|
471 | *[service=yes], |
---|
472 | *[place=yes] { |
---|
473 | throwWarning: tr("{0}={1} is unspecific. Please replace ''{1}'' by a specific value.", "{0.key}", "{0.value}"); |
---|
474 | } |
---|
475 | |
---|
476 | /* see #10693 - http://wiki.openstreetmap.org/wiki/Proposed_features/drop_recommendation_for_place_name , #10837 */ |
---|
477 | *[place_name][!name] { |
---|
478 | throwWarning: tr("{0} should be replaced with {1}", "{0.key}", "{1.key}"); |
---|
479 | fixChangeKey: "place_name => name"; |
---|
480 | } |
---|
481 | *[place][place_name = *name] { |
---|
482 | throwWarning: tr("{0} = {1}; remove {0}", "{1.key}", "{1.value}"); |
---|
483 | fixRemove: "{1.key}"; |
---|
484 | } |
---|
485 | |
---|
486 | way[sidewalk=yes] { |
---|
487 | throwWarning: tr("{0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or ''both''.", "{0.key}", "{0.value}"); |
---|
488 | } |
---|
489 | |
---|
490 | *[waterway=water_point] { |
---|
491 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
492 | suggestAlternative: "amenity=water_point"; |
---|
493 | group: tr("deprecated tagging"); |
---|
494 | fixChangeKey: "waterway => amenity"; |
---|
495 | } |
---|
496 | *[waterway=waste_disposal] { |
---|
497 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
498 | suggestAlternative: "amenity=waste_disposal"; |
---|
499 | group: tr("deprecated tagging"); |
---|
500 | fixChangeKey: "waterway => amenity"; |
---|
501 | } |
---|
502 | *[waterway=mooring] { |
---|
503 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
504 | suggestAlternative: "mooring=yes"; |
---|
505 | group: tr("deprecated tagging"); |
---|
506 | fixRemove: "waterway"; |
---|
507 | fixAdd: "mooring=yes"; |
---|
508 | } |
---|
509 | |
---|
510 | /* see #10837 */ |
---|
511 | *[building][levels], |
---|
512 | *[building:part=yes][levels] { |
---|
513 | throwWarning: tr("{0} is deprecated", "{1.key}"); |
---|
514 | suggestAlternative: "building:levels"; |
---|
515 | group: tr("deprecated tagging"); |
---|
516 | fixChangeKey: "levels => building:levels"; |
---|
517 | } |
---|
518 | |
---|
519 | /* see #10691 */ |
---|
520 | *[protected_class] { |
---|
521 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
522 | suggestAlternative: "protect_class"; |
---|
523 | group: tr("deprecated tagging"); |
---|
524 | fixChangeKey: "protected_class => protect_class"; |
---|
525 | } |
---|
526 | |
---|
527 | /* see #11070 */ |
---|
528 | *[lock=unknown], |
---|
529 | *[hide=unknown], |
---|
530 | *[shelter=unknown], |
---|
531 | *[access=unknown], |
---|
532 | *[capacity:parent=unknown], |
---|
533 | *[capacity:women=unknown], |
---|
534 | *[capacity:disabled=unknown], |
---|
535 | *[crossing=unknown], |
---|
536 | *[foot=unknown] { |
---|
537 | throwWarning: tr("Unspecific tag {0}", "{0.tag}"); |
---|
538 | } |
---|
539 | |
---|
540 | /* unclear definition, see #11183 */ |
---|
541 | *[sport=skiing] { |
---|
542 | throwWarning: tr("Definition of {0} is unclear", "{0.tag}"); |
---|
543 | suggestAlternative: tr("{0} + {1} + {2}", "piste:type=*", "piste:difficulty=*", "piste:grooming=*"); |
---|
544 | group: tr("deprecated tagging"); |
---|
545 | } |
---|
546 | |
---|
547 | /* see #11223 */ |
---|
548 | *[waterway=wadi] { |
---|
549 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
550 | suggestAlternative: "{0.key}=* + intermittent=yes"; |
---|
551 | suggestAlternative: "natural=valley"; |
---|
552 | group: tr("deprecated tagging"); |
---|
553 | } |
---|
554 | |
---|
555 | /* see #10346, #15667 (waterway has its own rules in unnecessary.mapcss) */ |
---|
556 | way[oneway=1][!waterway] { |
---|
557 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
558 | suggestAlternative: "oneway=yes"; |
---|
559 | group: tr("deprecated tagging"); |
---|
560 | fixAdd: "oneway=yes"; |
---|
561 | } |
---|
562 | |
---|
563 | /* see #11329, #15667 */ |
---|
564 | way[oneway=-1][!waterway] { |
---|
565 | throwWarning: tr("{0} is not recommended. Use the Reverse Ways function from the Tools menu.", "{0.tag}"); |
---|
566 | } |
---|
567 | |
---|
568 | *[drinkable] { |
---|
569 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
570 | suggestAlternative: "drinking_water"; |
---|
571 | group: tr("deprecated tagging"); |
---|
572 | } |
---|
573 | |
---|
574 | /* see #10329, #15877 */ |
---|
575 | /* simple key change */ |
---|
576 | *[color][!colour] { |
---|
577 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
578 | suggestAlternative: "colour"; |
---|
579 | group: tr("deprecated tagging"); |
---|
580 | fixChangeKey: "color => colour"; |
---|
581 | assertMatch: "way color=red"; |
---|
582 | assertNoMatch: "way color=red colour=red"; |
---|
583 | } |
---|
584 | area[building:color][!building:colour] { |
---|
585 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
586 | suggestAlternative: "building:colour"; |
---|
587 | group: tr("deprecated tagging"); |
---|
588 | fixChangeKey: "building:color => building:colour"; |
---|
589 | assertMatch: "way building:color=red"; |
---|
590 | assertNoMatch: "way building:color=red building:colour=red"; |
---|
591 | } |
---|
592 | area[roof:color][!roof:colour] { |
---|
593 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
594 | suggestAlternative: "roof:colour"; |
---|
595 | group: tr("deprecated tagging"); |
---|
596 | fixChangeKey: "roof:color => roof:colour"; |
---|
597 | assertMatch: "way roof:color=red"; |
---|
598 | assertNoMatch: "way roof:color=red roof:colour=red"; |
---|
599 | } |
---|
600 | /* both tags with same value, remove color */ |
---|
601 | *[color][colour][color=*colour] { |
---|
602 | throwWarning: tr("{0} together with {1}", "{0.key}", "{1.key}"); |
---|
603 | suggestAlternative: "colour"; |
---|
604 | group: tr("deprecated tagging"); |
---|
605 | set samecolor; |
---|
606 | fixRemove: "color"; |
---|
607 | assertMatch: "way color=red colour=red"; |
---|
608 | assertNoMatch: "way color=red colour=green"; |
---|
609 | } |
---|
610 | area[building:color][building:colour]["building:color"=*"building:colour"] { |
---|
611 | throwWarning: tr("{0} together with {1}", "{0.key}", "{1.key}"); |
---|
612 | suggestAlternative: "building:colour"; |
---|
613 | group: tr("deprecated tagging"); |
---|
614 | set samebuildingcolor; |
---|
615 | fixRemove: "building:color"; |
---|
616 | assertMatch: "way building:color=red building:colour=red"; |
---|
617 | assertNoMatch: "way building:color=red building:colour=green"; |
---|
618 | } |
---|
619 | area[roof:color][roof:colour]["roof:color"=*"roof:colour"] { |
---|
620 | throwWarning: tr("{0} together with {1}", "{0.key}", "{1.key}"); |
---|
621 | suggestAlternative: "roof:colour"; |
---|
622 | group: tr("deprecated tagging"); |
---|
623 | set sameroofcolor; |
---|
624 | fixRemove: "roof:color"; |
---|
625 | assertMatch: "way roof:color=red roof:colour=red"; |
---|
626 | assertNoMatch: "way roof:color=red roof:colour=green"; |
---|
627 | } |
---|
628 | /* both tags with different values, no autofix */ |
---|
629 | *[color][colour]!.samecolor { |
---|
630 | throwWarning: tr("{0} together with {1} and conflicting values", "{0.key}", "{1.key}"); |
---|
631 | suggestAlternative: "colour"; |
---|
632 | group: tr("deprecated tagging"); |
---|
633 | assertNoMatch: "way color=red colour=red"; |
---|
634 | assertMatch: "way color=red colour=green"; |
---|
635 | } |
---|
636 | *[building:color][building:colour]!.samebuildingcolor { |
---|
637 | throwWarning: tr("{0} together with {1} and conflicting values", "{0.key}", "{1.key}"); |
---|
638 | suggestAlternative: "building:colour"; |
---|
639 | group: tr("deprecated tagging"); |
---|
640 | assertNoMatch: "way building:color=red building:colour=red"; |
---|
641 | assertMatch: "way building:color=red building:colour=green"; |
---|
642 | } |
---|
643 | *[roof:color][roof:colour]!.sameroofcolor { |
---|
644 | throwWarning: tr("{0} together with {1} and conflicting values", "{0.key}", "{1.key}"); |
---|
645 | suggestAlternative: "roof:colour"; |
---|
646 | group: tr("deprecated tagging"); |
---|
647 | assertNoMatch: "way roof:color=red roof:colour=red"; |
---|
648 | assertMatch: "way roof:color=red roof:colour=green"; |
---|
649 | } |
---|
650 | /* further more universal checks, no autofix */ |
---|
651 | *[/:color/][!building:color][!roof:color] { |
---|
652 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
653 | suggestAlternative: ":colour"; |
---|
654 | group: tr("deprecated tagging"); |
---|
655 | assertNoMatch: "way color=red"; |
---|
656 | assertNoMatch: "way roof:color=grey"; |
---|
657 | assertMatch: "way cycleway:surface:color=grey"; |
---|
658 | } |
---|
659 | *[/color:/] { |
---|
660 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
661 | suggestAlternative: "colour:"; |
---|
662 | group: tr("deprecated tagging"); |
---|
663 | assertNoMatch: "way color=red"; |
---|
664 | assertMatch: "way color:back=grey"; |
---|
665 | } |
---|
666 | |
---|
667 | /* see #11234 */ |
---|
668 | *[/=|\+|\/|&|<|>|;|'|"|%|#|@|\\|,|\.|\{|\}|\?|\*|\^|\$/] { |
---|
669 | throwWarning: tr("{0}", "{0.key}"); |
---|
670 | group: tr("key with uncommon character"); |
---|
671 | } |
---|
672 | |
---|
673 | /* see #11330 */ |
---|
674 | *[/^.$/], |
---|
675 | node[/^..$/], |
---|
676 | way[/^..$/], |
---|
677 | relation[/^..$/][!to] { |
---|
678 | throwWarning: tr("uncommon short key"); |
---|
679 | assertNoMatch: "relation to=Berlin"; |
---|
680 | assertMatch: "relation fo=bar"; |
---|
681 | assertMatch: "way to=bar"; |
---|
682 | assertMatch: "node fo=bar"; |
---|
683 | assertMatch: "node f=b"; |
---|
684 | } |
---|
685 | |
---|
686 | /* see #11439 */ |
---|
687 | *[sport=hockey] { |
---|
688 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
689 | suggestAlternative: "sport=field_hockey"; |
---|
690 | suggestAlternative: "sport=ice_hockey"; |
---|
691 | group: tr("deprecated tagging"); |
---|
692 | } |
---|
693 | |
---|
694 | /* see #11471 */ |
---|
695 | *[sport=billard], |
---|
696 | *[sport=billards], |
---|
697 | *[sport=billiard] { |
---|
698 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
699 | suggestAlternative: "sport=billiards"; |
---|
700 | group: tr("deprecated tagging"); |
---|
701 | fixAdd: "sport=billiards"; |
---|
702 | } |
---|
703 | |
---|
704 | /* see #11499, #16928 */ |
---|
705 | *[payment:credit_cards=yes] { |
---|
706 | throwWarning: tr("{0} is inaccurate. Use separate tags for each specific type, e.g. {1} or {2}.", "{0.tag}", "payment:mastercard=yes", "payment:visa=yes"); |
---|
707 | } |
---|
708 | *[payment:debit_cards=yes] { |
---|
709 | 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"); |
---|
710 | } |
---|
711 | *[payment:electronic_purses=yes] { |
---|
712 | 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"); |
---|
713 | } |
---|
714 | *[payment:cryptocurrencies=yes] { |
---|
715 | 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"); |
---|
716 | } |
---|
717 | |
---|
718 | /* defunct payment cards */ |
---|
719 | *[payment:ep_quick], |
---|
720 | *[payment:ep_cash], |
---|
721 | *[payment:ep_proton], |
---|
722 | *[payment:ep_chipknip] { |
---|
723 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
724 | group: tr("deprecated tagging"); |
---|
725 | fixRemove: "{0.key}"; |
---|
726 | } |
---|
727 | |
---|
728 | /* see #8717 */ |
---|
729 | *[kp][highway=milestone], |
---|
730 | *[kp][railway=milestone], |
---|
731 | *[kp][waterway=milestone] { |
---|
732 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
733 | suggestAlternative: "distance"; |
---|
734 | group: tr("deprecated tagging"); |
---|
735 | fixChangeKey: "kp => distance"; |
---|
736 | } |
---|
737 | *[pk][highway=milestone], |
---|
738 | *[pk][railway=milestone], |
---|
739 | *[pk][waterway=milestone] { |
---|
740 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
741 | suggestAlternative: "distance"; |
---|
742 | group: tr("deprecated tagging"); |
---|
743 | fixChangeKey: "pk => distance"; |
---|
744 | } |
---|
745 | |
---|
746 | *[postcode] { |
---|
747 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
748 | suggestAlternative: "addr:postcode"; |
---|
749 | group: tr("deprecated tagging"); |
---|
750 | suggestAlternative: "postal_code"; |
---|
751 | } |
---|
752 | |
---|
753 | *[water=intermittent] { |
---|
754 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
755 | suggestAlternative: "intermittent=yes"; |
---|
756 | group: tr("deprecated tagging"); |
---|
757 | fixRemove: "water"; |
---|
758 | fixAdd: "intermittent=yes"; |
---|
759 | } |
---|
760 | |
---|
761 | /* #10907, #14141 */ |
---|
762 | /* 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 */ |
---|
763 | way[type][type!=waterway][man_made=pipeline], |
---|
764 | node[type][pipeline=marker] { |
---|
765 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
766 | suggestAlternative: "substance"; |
---|
767 | group: tr("deprecated tagging"); |
---|
768 | fixChangeKey: "type => substance"; |
---|
769 | } |
---|
770 | |
---|
771 | *[landuse=farm] { |
---|
772 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
773 | suggestAlternative: "landuse=farmland"; |
---|
774 | suggestAlternative: "landuse=farmyard"; |
---|
775 | group: tr("deprecated tagging"); |
---|
776 | } |
---|
777 | |
---|
778 | /* #12135 comment:11 */ |
---|
779 | *[seamark=buoy]["seamark:type"=~/^(buoy_cardinal|buoy_installation|buoy_isolated_danger|buoy_lateral|buoy_safe_water|buoy_special_purpose|mooring)$/] { |
---|
780 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
781 | suggestAlternative: "{1.tag}"; |
---|
782 | group: tr("deprecated tagging"); |
---|
783 | fixRemove: "seamark"; |
---|
784 | } |
---|
785 | *[seamark=buoy]["seamark:type"!~/^(buoy_cardinal|buoy_installation|buoy_isolated_danger|buoy_lateral|buoy_safe_water|buoy_special_purpose|mooring)$/] { |
---|
786 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
787 | suggestAlternative: "{1.tag}"; |
---|
788 | group: tr("deprecated tagging"); |
---|
789 | } |
---|
790 | /* #12135 - Tag removed rom rendering https://github.com/gravitystorm/openstreetmap-carto/pull/1830 */ |
---|
791 | *[landuse=conservation] { |
---|
792 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
793 | suggestAlternative: "boundary=protected_area"; |
---|
794 | group: tr("deprecated tagging"); |
---|
795 | fixAdd: "boundary=protected_area"; |
---|
796 | fixRemove: "landuse"; |
---|
797 | } |
---|
798 | |
---|
799 | /* #12205 */ |
---|
800 | *[amenity=kiosk] { |
---|
801 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
802 | suggestAlternative: "shop=kiosk"; |
---|
803 | group: tr("deprecated tagging"); |
---|
804 | fixChangeKey: "amenity => shop"; |
---|
805 | } |
---|
806 | *[amenity=shop] { |
---|
807 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
808 | suggestAlternative: "shop=*"; |
---|
809 | group: tr("deprecated tagging"); |
---|
810 | } |
---|
811 | *[shop=fishmonger] { |
---|
812 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
813 | suggestAlternative: "shop=seafood"; |
---|
814 | group: tr("deprecated tagging"); |
---|
815 | fixAdd: "shop=seafood"; |
---|
816 | } |
---|
817 | *[shop=fish] { |
---|
818 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
819 | suggestAlternative: "shop=seafood"; |
---|
820 | suggestAlternative: "shop=pet"; |
---|
821 | suggestAlternative: "shop=fishing"; |
---|
822 | group: tr("deprecated tagging"); |
---|
823 | } |
---|
824 | *[shop=betting] { |
---|
825 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
826 | suggestAlternative: "shop=bookmaker"; |
---|
827 | suggestAlternative: "shop=lottery"; |
---|
828 | suggestAlternative: "amenity=casino"; |
---|
829 | suggestAlternative: "leisure=amusement_arcade"; |
---|
830 | suggestAlternative: "leisure=adult_gaming_centre"; |
---|
831 | suggestAlternative: "amenity=gambling"; |
---|
832 | group: tr("deprecated tagging"); |
---|
833 | } |
---|
834 | *[shop=perfume] { |
---|
835 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
836 | suggestAlternative: "shop=perfumery"; |
---|
837 | group: tr("deprecated tagging"); |
---|
838 | fixAdd: "shop=perfumery"; |
---|
839 | } |
---|
840 | *[amenity=exercise_point] { |
---|
841 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
842 | suggestAlternative: "leisure=fitness_station"; |
---|
843 | group: tr("deprecated tagging"); |
---|
844 | fixAdd: "leisure=fitness_station"; |
---|
845 | fixRemove: "amenity"; |
---|
846 | } |
---|
847 | *[shop=auto_parts] { |
---|
848 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
849 | suggestAlternative: "shop=car_parts"; |
---|
850 | group: tr("deprecated tagging"); |
---|
851 | fixAdd: "shop=car_parts"; |
---|
852 | } |
---|
853 | *[amenity=car_repair] { |
---|
854 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
855 | suggestAlternative: "shop=car_repair"; |
---|
856 | group: tr("deprecated tagging"); |
---|
857 | fixChangeKey: "amenity => shop"; |
---|
858 | } |
---|
859 | |
---|
860 | /* #12311 */ |
---|
861 | *[amenity=studio][type=audio], |
---|
862 | *[amenity=studio][type=radio], |
---|
863 | *[amenity=studio][type=television], |
---|
864 | *[amenity=studio][type=video] { |
---|
865 | throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}"); |
---|
866 | suggestAlternative: "studio"; |
---|
867 | group: tr("deprecated tagging"); |
---|
868 | fixChangeKey: "type => studio"; |
---|
869 | } |
---|
870 | |
---|
871 | /* #11507, #12297, #15409 */ |
---|
872 | *[power=cable_distribution_cabinet] { |
---|
873 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
874 | suggestAlternative: "man_made=street_cabinet + street_cabinet=*"; |
---|
875 | group: tr("deprecated tagging"); |
---|
876 | fixAdd: "man_made=street_cabinet"; |
---|
877 | fixRemove: "power"; |
---|
878 | } |
---|
879 | |
---|
880 | /* #16430 */ |
---|
881 | *[power][location=kiosk] { |
---|
882 | throwWarning: tr("{0} is deprecated", "{1.tag}"); |
---|
883 | group: tr("deprecated tagging"); |
---|
884 | fixAdd: "man_made=street_cabinet"; |
---|
885 | fixAdd: "street_cabinet=power"; |
---|
886 | fixRemove: "location"; |
---|
887 | } |
---|
888 | |
---|
889 | /* #12276 */ |
---|
890 | *[man_made=well] { |
---|
891 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
892 | suggestAlternative: "man_made=water_well"; |
---|
893 | suggestAlternative: "man_made=petroleum_well"; |
---|
894 | group: tr("deprecated tagging"); |
---|
895 | } |
---|
896 | *[amenity=dog_bin], |
---|
897 | *[amenity=dog_waste_bin] { |
---|
898 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
899 | suggestAlternative: "amenity=waste_basket + waste=dog_excrement + vending=excrement_bags"; |
---|
900 | group: tr("deprecated tagging"); |
---|
901 | fixAdd: "amenity=waste_basket"; |
---|
902 | fixAdd: "waste=dog_excrement"; |
---|
903 | fixAdd: "vending=excrement_bags"; |
---|
904 | } |
---|
905 | *[amenity=artwork] { |
---|
906 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
907 | suggestAlternative: "tourism=artwork"; |
---|
908 | group: tr("deprecated tagging"); |
---|
909 | fixAdd: "tourism=artwork"; |
---|
910 | fixRemove: "amenity"; |
---|
911 | } |
---|
912 | *[amenity=community_center] { |
---|
913 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
914 | suggestAlternative: "amenity=community_centre"; |
---|
915 | group: tr("deprecated tagging"); |
---|
916 | fixAdd: "amenity=community_centre"; |
---|
917 | } |
---|
918 | *[man_made=cut_line] { |
---|
919 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
920 | suggestAlternative: "man_made=cutline"; |
---|
921 | group: tr("deprecated tagging"); |
---|
922 | fixAdd: "man_made=cutline"; |
---|
923 | } |
---|
924 | *[amenity=park] { |
---|
925 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
926 | suggestAlternative: "leisure=park"; |
---|
927 | group: tr("deprecated tagging"); |
---|
928 | fixAdd: "leisure=park"; |
---|
929 | fixRemove: "amenity"; |
---|
930 | } |
---|
931 | *[amenity=hotel] { |
---|
932 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
933 | suggestAlternative: "tourism=hotel"; |
---|
934 | group: tr("deprecated tagging"); |
---|
935 | fixAdd: "tourism=hotel"; |
---|
936 | fixRemove: "amenity"; |
---|
937 | } |
---|
938 | *[shop=window], |
---|
939 | *[shop=windows] { |
---|
940 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
941 | suggestAlternative: "craft=window_construction"; |
---|
942 | group: tr("deprecated tagging"); |
---|
943 | fixAdd: "craft=window_construction"; |
---|
944 | fixRemove: "shop"; |
---|
945 | } |
---|
946 | *[amenity=education] { |
---|
947 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
948 | suggestAlternative: "amenity=college"; |
---|
949 | suggestAlternative: "amenity=school"; |
---|
950 | suggestAlternative: "amenity=university"; |
---|
951 | group: tr("deprecated tagging"); |
---|
952 | } |
---|
953 | *[shop=gallery] { |
---|
954 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
955 | suggestAlternative: "shop=art"; |
---|
956 | group: tr("deprecated tagging"); |
---|
957 | fixAdd: "shop=art"; |
---|
958 | } |
---|
959 | *[shop=gambling], |
---|
960 | *[leisure=gambling] { |
---|
961 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
962 | suggestAlternative: "shop=bookmaker"; |
---|
963 | suggestAlternative: "shop=lottery"; |
---|
964 | suggestAlternative: "amenity=casino"; |
---|
965 | suggestAlternative: "leisure=amusement_arcade"; |
---|
966 | suggestAlternative: "amenity=gambling"; |
---|
967 | group: tr("deprecated tagging"); |
---|
968 | } |
---|
969 | *[office=real_estate], |
---|
970 | *[office=real_estate_agent] { |
---|
971 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
972 | suggestAlternative: "office=estate_agent"; |
---|
973 | group: tr("deprecated tagging"); |
---|
974 | fixAdd: "office=estate_agent"; |
---|
975 | } |
---|
976 | *[shop=glass] { |
---|
977 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
978 | suggestAlternative: "shop=glaziery"; |
---|
979 | suggestAlternative: "craft=glaziery"; |
---|
980 | group: tr("deprecated tagging"); |
---|
981 | } |
---|
982 | *[amenity=proposed], |
---|
983 | *[amenity=proposed], |
---|
984 | *[amenity=disused], |
---|
985 | *[shop=disused], |
---|
986 | *[highway=abandoned], |
---|
987 | *[historic=abandoned] { |
---|
988 | throwWarning: tr("{0} is deprecated. Use the {1}: key prefix instead.", "{0.tag}", "{0.value}"); |
---|
989 | group: tr("deprecated tagging"); |
---|
990 | } |
---|
991 | |
---|
992 | /* #12431 */ |
---|
993 | *[amenity=swimming_pool] { |
---|
994 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
995 | suggestAlternative: "leisure=swimming_pool"; |
---|
996 | group: tr("deprecated tagging"); |
---|
997 | fixChangeKey: "amenity => leisure"; |
---|
998 | } |
---|
999 | |
---|
1000 | /* #17379 */ |
---|
1001 | *[amenity=sauna] { |
---|
1002 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1003 | suggestAlternative: "leisure=sauna"; |
---|
1004 | group: tr("deprecated tagging"); |
---|
1005 | fixChangeKey: "amenity => leisure"; |
---|
1006 | } |
---|
1007 | |
---|
1008 | /* #12494, #17554 */ |
---|
1009 | *[/^[^t][^i][^g].+_[0-9]$/][!/^note_[0-9]$/][!/^description_[0-9]$/] { |
---|
1010 | throwWarning: tr("{0}", "{0.key}"); |
---|
1011 | group: tr("questionable key (ending with a number)"); |
---|
1012 | assertMatch: "way name_1=foo"; |
---|
1013 | assertNoMatch: "way note_2=foo"; |
---|
1014 | assertNoMatch: "way description_3=foo"; |
---|
1015 | assertNoMatch: "way tiger:name_base_1=bar"; /*should not warn for key tiger:name_base_1 */ |
---|
1016 | } |
---|
1017 | |
---|
1018 | /* #12500 */ |
---|
1019 | *[sport=skating] { |
---|
1020 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1021 | suggestAlternative: "sport=ice_skating"; |
---|
1022 | suggestAlternative: "sport=roller_skating"; |
---|
1023 | group: tr("deprecated tagging"); |
---|
1024 | } |
---|
1025 | |
---|
1026 | way[barrier=wall][type=noise_barrier][!wall], |
---|
1027 | way[barrier=wall][type=noise_barrier][wall=noise_barrier] { |
---|
1028 | throwWarning: tr("{0} is deprecated", "{1.tag}"); |
---|
1029 | suggestAlternative: "wall=noise_barrier"; |
---|
1030 | group: tr("deprecated tagging"); |
---|
1031 | fixChangeKey: "type => wall"; |
---|
1032 | } |
---|
1033 | way[barrier=wall][type=noise_barrier][wall][wall!=noise_barrier] { |
---|
1034 | throwWarning: tr("{0} is deprecated", "{1.tag}"); |
---|
1035 | suggestAlternative: "wall=noise_barrier"; |
---|
1036 | group: tr("deprecated tagging"); |
---|
1037 | } |
---|
1038 | |
---|
1039 | /* #8978, 12588 */ |
---|
1040 | *[amenity=public_building] { |
---|
1041 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1042 | suggestAlternative: "amenity=townhall"; |
---|
1043 | suggestAlternative: "amenity=community_centre"; |
---|
1044 | suggestAlternative: "amenity=hospital"; |
---|
1045 | suggestAlternative: "leisure=sports_centre"; |
---|
1046 | suggestAlternative: "office=government"; |
---|
1047 | suggestAlternative: "building=hospital"; |
---|
1048 | suggestAlternative: "building=public"; |
---|
1049 | suggestAlternative: "..."; |
---|
1050 | group: tr("deprecated tagging"); |
---|
1051 | } |
---|
1052 | |
---|
1053 | /* #12708 */ |
---|
1054 | *[vending=news_papers] { |
---|
1055 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1056 | suggestAlternative: "vending=newspapers"; |
---|
1057 | group: tr("deprecated tagging"); |
---|
1058 | fixAdd: "vending=newspapers"; |
---|
1059 | } |
---|
1060 | |
---|
1061 | /* #12771 */ |
---|
1062 | *[service=drive_through] { |
---|
1063 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1064 | suggestAlternative: "service=drive-through"; |
---|
1065 | group: tr("deprecated tagging"); |
---|
1066 | fixAdd: "service=drive-through"; |
---|
1067 | } |
---|
1068 | |
---|
1069 | /* #12771 */ |
---|
1070 | way[highway=service][service][service !~ /^(alley|drive-through|drive_through|driveway|emergency_access|parking_aisle|rest_area|yes)$/], /* drive_through and yes have special warnings */ |
---|
1071 | way[railway=rail][service][service !~ /^(crossover|siding|spur|yard)$/], |
---|
1072 | way[waterway=canal][service][service !~ /^(irrigation|transportation|water_power)$/] { |
---|
1073 | throwWarning: tr("The key {0} has an uncommon value.", "{1.key}"); |
---|
1074 | } |
---|
1075 | |
---|
1076 | /* #13008 */ |
---|
1077 | *[name:botanical] { |
---|
1078 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
1079 | suggestAlternative: "species"; |
---|
1080 | group: tr("deprecated tagging"); |
---|
1081 | } |
---|
1082 | |
---|
1083 | /* #11344, #13101, #15480 */ |
---|
1084 | node[pole=air_to_ground], |
---|
1085 | node[pole=transition] { |
---|
1086 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1087 | suggestAlternative: "location:transition=yes"; |
---|
1088 | group: tr("deprecated tagging"); |
---|
1089 | fixAdd: "location:transition=yes"; |
---|
1090 | fixRemove: "pole"; |
---|
1091 | } |
---|
1092 | node[tower=air_to_ground], |
---|
1093 | node[tower=transition] { |
---|
1094 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1095 | suggestAlternative: "location:transition=yes"; |
---|
1096 | group: tr("deprecated tagging"); |
---|
1097 | fixAdd: "location:transition=yes"; |
---|
1098 | fixRemove: "tower"; |
---|
1099 | } |
---|
1100 | |
---|
1101 | /* #13138 */ |
---|
1102 | area[landuse=pond] { |
---|
1103 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1104 | suggestAlternative: "natural=water + water=pond"; |
---|
1105 | group: tr("deprecated tagging"); |
---|
1106 | fixAdd: "natural=water"; |
---|
1107 | fixAdd: "water=pond"; |
---|
1108 | fixRemove: "landuse"; |
---|
1109 | } |
---|
1110 | |
---|
1111 | *[shop=souvenir], |
---|
1112 | *[shop=souvenirs], |
---|
1113 | *[shop=souveniers] { |
---|
1114 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1115 | suggestAlternative: "shop=gift"; |
---|
1116 | group: tr("deprecated tagging"); |
---|
1117 | fixAdd: "shop=gift"; |
---|
1118 | } |
---|
1119 | |
---|
1120 | *[vending=animal_food] { |
---|
1121 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1122 | suggestAlternative: "vending=animal_feed"; |
---|
1123 | group: tr("deprecated tagging"); |
---|
1124 | fixAdd: "vending=animal_feed"; |
---|
1125 | } |
---|
1126 | |
---|
1127 | /* #14376 */ |
---|
1128 | node[vending=photos][amenity=vending_machine], |
---|
1129 | node[vending=photo][amenity=vending_machine] { |
---|
1130 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1131 | suggestAlternative: "amenity=photo_booth"; |
---|
1132 | group: tr("deprecated tagging"); |
---|
1133 | fixRemove: "vending"; |
---|
1134 | fixAdd: "amenity=photo_booth"; |
---|
1135 | |
---|
1136 | } |
---|
1137 | node[vending=photos][amenity!=vending_machine] { |
---|
1138 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1139 | suggestAlternative: "amenity=photo_booth"; |
---|
1140 | group: tr("deprecated tagging"); |
---|
1141 | } |
---|
1142 | |
---|
1143 | /* #13653 */ |
---|
1144 | node[highway=emergency_access_point][phone][!emergency_telephone_code], |
---|
1145 | way[highway=emergency_access_point][phone][!emergency_telephone_code] { |
---|
1146 | throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}"); |
---|
1147 | suggestAlternative: "emergency_telephone_code"; |
---|
1148 | group: tr("deprecated tagging"); |
---|
1149 | fixChangeKey: "phone => emergency_telephone_code"; |
---|
1150 | assertMatch: "node highway=emergency_access_point phone=123"; |
---|
1151 | assertNoMatch: "node highway=emergency_access_point emergency_telephone_code=456"; |
---|
1152 | assertNoMatch: "node highway=emergency_access_point phone=123 emergency_telephone_code=456"; |
---|
1153 | assertNoMatch: "node phone=123"; |
---|
1154 | } |
---|
1155 | node[highway=emergency_access_point][phone=*emergency_telephone_code], |
---|
1156 | way[highway=emergency_access_point][phone=*emergency_telephone_code] { |
---|
1157 | throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}"); |
---|
1158 | suggestAlternative: "emergency_telephone_code"; |
---|
1159 | group: tr("deprecated tagging"); |
---|
1160 | fixRemove: "phone"; |
---|
1161 | assertNoMatch: "node highway=emergency_access_point phone=123"; |
---|
1162 | assertNoMatch: "node highway=emergency_access_point emergency_telephone_code=123"; |
---|
1163 | assertMatch: "node highway=emergency_access_point phone=123 emergency_telephone_code=123"; |
---|
1164 | } |
---|
1165 | node[highway=emergency_access_point][phone][emergency_telephone_code][phone!=*emergency_telephone_code], |
---|
1166 | way[highway=emergency_access_point][phone][emergency_telephone_code][phone!=*emergency_telephone_code] { |
---|
1167 | throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}"); |
---|
1168 | suggestAlternative: "emergency_telephone_code"; |
---|
1169 | group: tr("deprecated tagging"); |
---|
1170 | assertNoMatch: "node highway=emergency_access_point phone=123"; |
---|
1171 | assertNoMatch: "node highway=emergency_access_point emergency_telephone_code=123"; |
---|
1172 | assertNoMatch: "node highway=emergency_access_point phone=123 emergency_telephone_code=123"; |
---|
1173 | } |
---|
1174 | |
---|
1175 | /* #13879 */ |
---|
1176 | way[tracktype=1] { |
---|
1177 | throwError: tr("{0}", "{0.tag}"); |
---|
1178 | suggestAlternative: "tracktype=grade1"; |
---|
1179 | group: tr("misspelled value"); |
---|
1180 | fixAdd: "tracktype=grade1"; |
---|
1181 | } |
---|
1182 | way[tracktype=2] { |
---|
1183 | throwError: tr("{0}", "{0.tag}"); |
---|
1184 | suggestAlternative: "tracktype=grade2"; |
---|
1185 | group: tr("misspelled value"); |
---|
1186 | fixAdd: "tracktype=grade2"; |
---|
1187 | } |
---|
1188 | way[tracktype=3] { |
---|
1189 | throwError: tr("{0}", "{0.tag}"); |
---|
1190 | suggestAlternative: "tracktype=grade3"; |
---|
1191 | group: tr("misspelled value"); |
---|
1192 | fixAdd: "tracktype=grade3"; |
---|
1193 | } |
---|
1194 | way[tracktype=4] { |
---|
1195 | throwError: tr("{0}", "{0.tag}"); |
---|
1196 | suggestAlternative: "tracktype=grade4"; |
---|
1197 | group: tr("misspelled value"); |
---|
1198 | fixAdd: "tracktype=grade4"; |
---|
1199 | } |
---|
1200 | way[tracktype=5] { |
---|
1201 | throwError: tr("{0}", "{0.tag}"); |
---|
1202 | suggestAlternative: "tracktype=grade5"; |
---|
1203 | group: tr("misspelled value"); |
---|
1204 | fixAdd: "tracktype=grade5"; |
---|
1205 | } |
---|
1206 | way[tracktype][tracktype!~/^(1|2|3|4|5|grade1|grade2|grade3|grade4|grade5)$/] { |
---|
1207 | throwError: tr("wrong value: {0}", "{0.tag}"); |
---|
1208 | suggestAlternative: "tracktype=grade1"; |
---|
1209 | suggestAlternative: "tracktype=grade2"; |
---|
1210 | suggestAlternative: "tracktype=grade3"; |
---|
1211 | suggestAlternative: "tracktype=grade4"; |
---|
1212 | suggestAlternative: "tracktype=grade5"; |
---|
1213 | } |
---|
1214 | |
---|
1215 | area[area][area!=yes][area!=no] { |
---|
1216 | throwError: tr("wrong value: {0}", "{0.tag}"); |
---|
1217 | suggestAlternative: "area=yes"; |
---|
1218 | suggestAlternative: "area=no"; |
---|
1219 | } |
---|
1220 | |
---|
1221 | /* #13953 */ |
---|
1222 | *[amenity=hunting_stand][lock=yes], |
---|
1223 | *[amenity=hunting_stand][lock=no] { |
---|
1224 | throwWarning: tr("{0} is deprecated for {1}", "{1.key}", "{0.tag}"); |
---|
1225 | suggestAlternative: "lockable"; |
---|
1226 | group: tr("deprecated tagging"); |
---|
1227 | fixChangeKey: "lock => lockable"; |
---|
1228 | } |
---|
1229 | |
---|
1230 | *[amenity=advertising][!advertising] { |
---|
1231 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1232 | suggestAlternative: "advertising=*"; |
---|
1233 | group: tr("deprecated tagging"); |
---|
1234 | } |
---|
1235 | *[amenity=advertising][advertising] { |
---|
1236 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1237 | suggestAlternative: "advertising=*"; |
---|
1238 | group: tr("deprecated tagging"); |
---|
1239 | fixRemove: "amenity"; |
---|
1240 | } |
---|
1241 | |
---|
1242 | way[direction=up][incline=up], |
---|
1243 | way[direction=down][incline=down], |
---|
1244 | way[direction=up][!incline], |
---|
1245 | way[direction=down][!incline] { |
---|
1246 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1247 | suggestAlternative: "incline"; |
---|
1248 | group: tr("deprecated tagging"); |
---|
1249 | fixChangeKey: "direction => incline"; |
---|
1250 | } |
---|
1251 | way[direction=up][incline][incline!=up], |
---|
1252 | way[direction=down][incline][incline!=down] { |
---|
1253 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1254 | suggestAlternative: "incline"; |
---|
1255 | group: tr("deprecated tagging"); |
---|
1256 | } |
---|
1257 | |
---|
1258 | way[building=true], |
---|
1259 | way[building=*], |
---|
1260 | way[building=Y], |
---|
1261 | way[building=y], |
---|
1262 | way[building=1] { |
---|
1263 | throwError: tr("{0}", "{0.tag}"); |
---|
1264 | suggestAlternative: "building=yes"; |
---|
1265 | group: tr("misspelled value"); |
---|
1266 | fixAdd: "building=yes"; |
---|
1267 | } |
---|
1268 | |
---|
1269 | /* #17786 */ |
---|
1270 | *[building=abandoned], |
---|
1271 | *[building=address], |
---|
1272 | *[building=bing], |
---|
1273 | *[building=collapsed], |
---|
1274 | *[building=damaged], |
---|
1275 | *[building=demolished], |
---|
1276 | *[building=disused], |
---|
1277 | *[building=fixme], |
---|
1278 | *[building=occupied], |
---|
1279 | *[building=other], |
---|
1280 | *[building=razed], |
---|
1281 | *[building=unclassified], |
---|
1282 | *[building=undefined], |
---|
1283 | *[building=unknown], |
---|
1284 | *[building=unidentified] { |
---|
1285 | throwWarning: tr("{0} is not a building type.", "{0.tag}"); |
---|
1286 | group: tr("deprecated tagging"); |
---|
1287 | } |
---|
1288 | |
---|
1289 | /* #15675 */ |
---|
1290 | node[power=transformer][location=pole][transformer] { |
---|
1291 | throwWarning: tr("{0} together with {1}", "{0.tag}", "{1.tag}"); |
---|
1292 | group: tr("deprecated tagging"); |
---|
1293 | fixChangeKey: "location => power"; |
---|
1294 | } |
---|
1295 | node[power=transformer][location=pole][!transformer] { |
---|
1296 | throwWarning: tr("{0} together with {1}", "{0.tag}", "{1.tag}"); |
---|
1297 | group: tr("deprecated tagging"); |
---|
1298 | fixChangeKey: "location => power"; |
---|
1299 | fixAdd: "transformer=yes"; |
---|
1300 | } |
---|
1301 | |
---|
1302 | node[tourism=picnic_table], |
---|
1303 | node[amenity=picnic_table], |
---|
1304 | node[leisure=picnic], |
---|
1305 | node[leisure=picnic_site] { |
---|
1306 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1307 | suggestAlternative: "tourism=picnic_site"; |
---|
1308 | suggestAlternative: "leisure=picnic_table"; |
---|
1309 | group: tr("deprecated tagging"); |
---|
1310 | } |
---|
1311 | |
---|
1312 | /* #15804 */ |
---|
1313 | relation[water=salt], |
---|
1314 | way[water=salt], |
---|
1315 | way[water=salt_pool], |
---|
1316 | way[water=salt_panne], |
---|
1317 | way[water=salt_pond] { |
---|
1318 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1319 | suggestAlternative: "salt=yes"; |
---|
1320 | suggestAlternative: "landuse=salt_pond"; |
---|
1321 | group: tr("deprecated tagging"); |
---|
1322 | } |
---|
1323 | |
---|
1324 | /* #15805 */ |
---|
1325 | way[water=tidal] { |
---|
1326 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1327 | suggestAlternative: "tidal=yes"; |
---|
1328 | fixAdd: "tidal=yes"; |
---|
1329 | fixRemove: "water"; |
---|
1330 | group: tr("deprecated tagging"); |
---|
1331 | } |
---|
1332 | |
---|
1333 | *[amenity=toilet] { |
---|
1334 | throwError: tr("{0}", "{0.tag}"); |
---|
1335 | suggestAlternative: "amenity=toilets"; |
---|
1336 | group: tr("misspelled value"); |
---|
1337 | fixAdd: "amenity=toilets"; |
---|
1338 | } |
---|
1339 | |
---|
1340 | way[power=busbar] { |
---|
1341 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1342 | suggestAlternative: "power=line + line=busbar"; |
---|
1343 | group: tr("deprecated tagging"); |
---|
1344 | fixAdd: "power=line"; |
---|
1345 | fixAdd: "line=busbar"; |
---|
1346 | } |
---|
1347 | |
---|
1348 | /* #16924 */ |
---|
1349 | *[man_made=MDF], |
---|
1350 | *[man_made=telephone_exchange] { |
---|
1351 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1352 | suggestAlternative: "telecom=exchange"; |
---|
1353 | fixAdd: "telecom=exchange"; |
---|
1354 | fixRemove: "man_made"; |
---|
1355 | group: tr("deprecated tagging"); |
---|
1356 | } |
---|
1357 | *[building=central_office] { |
---|
1358 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1359 | suggestAlternative: "telecom=exchange"; |
---|
1360 | fixAdd: "telecom=exchange"; |
---|
1361 | fixAdd: "building=yes"; |
---|
1362 | group: tr("deprecated tagging"); |
---|
1363 | } |
---|
1364 | *[telecom=central_office] { |
---|
1365 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1366 | suggestAlternative: "telecom=exchange"; |
---|
1367 | fixAdd: "telecom=exchange"; |
---|
1368 | group: tr("deprecated tagging"); |
---|
1369 | } |
---|
1370 | |
---|
1371 | /* #16925 */ |
---|
1372 | node[communication=outdoor_dslam], |
---|
1373 | node[man_made=outdoor_dslam], |
---|
1374 | node[street_cabinet=outdoor_dslam] { |
---|
1375 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1376 | suggestAlternative: "telecom=service_device"; |
---|
1377 | fixAdd: "telecom=service_device"; |
---|
1378 | fixRemove: "{0.key}"; |
---|
1379 | group: tr("deprecated tagging"); |
---|
1380 | } |
---|
1381 | node[telecom=dslam], |
---|
1382 | node[telecom=outdoor_dslam] { |
---|
1383 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1384 | suggestAlternative: "telecom=service_device"; |
---|
1385 | fixAdd: "telecom=service_device"; |
---|
1386 | group: tr("deprecated tagging"); |
---|
1387 | } |
---|
1388 | |
---|
1389 | /* #15774 */ |
---|
1390 | node[amenity=fire_hydrant] { |
---|
1391 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1392 | suggestAlternative: "emergency=fire_hydrant"; |
---|
1393 | fixChangeKey: "amenity => emergency"; |
---|
1394 | group: tr("deprecated tagging"); |
---|
1395 | } |
---|
1396 | node[fire_hydrant:type=pond] { |
---|
1397 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1398 | suggestAlternative: "water_source=pond"; |
---|
1399 | fixAdd: "water_source=pond"; |
---|
1400 | fixRemove: "{0.key}"; |
---|
1401 | group: tr("deprecated tagging"); |
---|
1402 | } |
---|
1403 | node[fire_hydrant:flow_capacity] { |
---|
1404 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
1405 | suggestAlternative: "flow_rate"; |
---|
1406 | group: tr("deprecated tagging"); |
---|
1407 | } |
---|
1408 | node[emergency=fire_hydrant][in_service=no] { |
---|
1409 | throwWarning: tr("{0} is deprecated", "{1.tag}"); |
---|
1410 | suggestAlternative: "disused:emergency=fire_hydrant"; |
---|
1411 | fixAdd: "disused:emergency=fire_hydrant"; |
---|
1412 | fixRemove: "{1.key}"; |
---|
1413 | fixRemove: "{0.key}"; |
---|
1414 | group: tr("deprecated tagging"); |
---|
1415 | } |
---|
1416 | node[fire_hydrant:water_source] { |
---|
1417 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
1418 | suggestAlternative: "water_source"; |
---|
1419 | fixChangeKey: "fire_hydrant:water_source => water_source"; |
---|
1420 | group: tr("deprecated tagging"); |
---|
1421 | } |
---|
1422 | |
---|
1423 | /* #17383 */ |
---|
1424 | *[natural=waterfall] { |
---|
1425 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1426 | suggestAlternative: "waterway=waterfall"; |
---|
1427 | fixChangeKey: "natural => waterway"; |
---|
1428 | group: tr("deprecated tagging"); |
---|
1429 | } |
---|
1430 | |
---|
1431 | /* #17249 */ |
---|
1432 | *[religion=unitarian] { |
---|
1433 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1434 | suggestAlternative: "religion=unitarian_universalist"; |
---|
1435 | fixAdd: "religion=unitarian_universalist"; |
---|
1436 | group: tr("deprecated tagging"); |
---|
1437 | } |
---|
1438 | |
---|
1439 | *[shop=shopping_centre] { |
---|
1440 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1441 | suggestAlternative: "shop=mall"; |
---|
1442 | fixAdd: "shop=mall"; |
---|
1443 | group: tr("deprecated tagging"); |
---|
1444 | } |
---|
1445 | |
---|
1446 | /* #17504 */ |
---|
1447 | *[is_in], |
---|
1448 | node[/^is_in:.*$/], |
---|
1449 | way[/^is_in:.*$/] { |
---|
1450 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
1451 | group: tr("deprecated tagging"); |
---|
1452 | fixRemove: "{0.key}"; |
---|
1453 | } |
---|
1454 | |
---|
1455 | /* #17593 */ |
---|
1456 | *[sport=football] { |
---|
1457 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1458 | suggestAlternative: "sport=soccer"; |
---|
1459 | suggestAlternative: "sport=american_football"; |
---|
1460 | suggestAlternative: "sport=australian_football"; |
---|
1461 | suggestAlternative: "sport=canadian_football"; |
---|
1462 | suggestAlternative: "sport=rugby_league"; |
---|
1463 | suggestAlternative: "sport=rugby_union"; |
---|
1464 | suggestAlternative: "sport=gaelic_games"; |
---|
1465 | group: tr("deprecated tagging"); |
---|
1466 | } |
---|
1467 | |
---|
1468 | /* #17556 */ |
---|
1469 | *[leisure=common] { |
---|
1470 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1471 | suggestAlternative: "landuse=*"; |
---|
1472 | suggestAlternative: "leisure=*"; |
---|
1473 | suggestAlternative: "designation=common"; |
---|
1474 | group: tr("deprecated tagging"); |
---|
1475 | } |
---|
1476 | |
---|
1477 | /* #17043 */ |
---|
1478 | *[cuisine=vegan], |
---|
1479 | *[cuisine=vegetarian] { |
---|
1480 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1481 | suggestAlternative: concat("diet:", "{0.value}", "=yes"); |
---|
1482 | suggestAlternative: concat("diet:", "{0.value}", "=only"); |
---|
1483 | group: tr("deprecated tagging"); |
---|
1484 | } |
---|
1485 | |
---|
1486 | /* #17798 */ |
---|
1487 | *[kitchen_hours] { |
---|
1488 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
1489 | suggestAlternative: "opening_hours:kitchen"; |
---|
1490 | fixChangeKey: "kitchen_hours => opening_hours:kitchen"; |
---|
1491 | group: tr("deprecated tagging"); |
---|
1492 | } |
---|
1493 | |
---|
1494 | /* #17681 */ |
---|
1495 | *[shop=money_transfer] { |
---|
1496 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1497 | suggestAlternative: "amenity=money_transfer"; |
---|
1498 | fixChangeKey: "shop => amenity"; |
---|
1499 | group: tr("deprecated tagging"); |
---|
1500 | } |
---|
1501 | |
---|
1502 | *[contact:google_plus] { |
---|
1503 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
1504 | fixRemove: "contact:google_plus"; |
---|
1505 | group: tr("deprecated tagging"); |
---|
1506 | } |
---|
1507 | |
---|
1508 | /* #17370 */ |
---|
1509 | *[amenity=garages], |
---|
1510 | *[amenity=garage] { |
---|
1511 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1512 | suggestAlternative: concat("building=", "{0.value}"); |
---|
1513 | suggestAlternative: "landuse=garages"; |
---|
1514 | suggestAlternative: "amenity=parking + parking=garage_boxes"; |
---|
1515 | group: tr("deprecated tagging"); |
---|
1516 | } |
---|
1517 | *[shop=winery], |
---|
1518 | *[amenity=winery] { |
---|
1519 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1520 | suggestAlternative: "craft=winery"; |
---|
1521 | suggestAlternative: "shop=wine"; |
---|
1522 | group: tr("deprecated tagging"); |
---|
1523 | } |
---|
1524 | *[amenity=youth_centre] { |
---|
1525 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1526 | suggestAlternative: "amenity=community_centre + community_centre=youth_centre"; |
---|
1527 | fixAdd: "amenity=community_centre"; |
---|
1528 | fixAdd: "community_centre=youth_centre"; |
---|
1529 | group: tr("deprecated tagging"); |
---|
1530 | } |
---|
1531 | *[building:type][building=yes], |
---|
1532 | *[building:type][!building] { |
---|
1533 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
1534 | suggestAlternative: "building"; |
---|
1535 | group: tr("deprecated tagging"); |
---|
1536 | fixChangeKey: "building:type => building"; |
---|
1537 | assertMatch: "way building:type=church"; |
---|
1538 | assertMatch: "way building:type=church building=yes"; |
---|
1539 | assertNoMatch: "way building:type=church building=supermarket"; |
---|
1540 | } |
---|
1541 | *[building:type][building][building!=yes] { |
---|
1542 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
1543 | suggestAlternative: "building"; |
---|
1544 | group: tr("deprecated tagging"); |
---|
1545 | assertNoMatch: "way building:type=church"; |
---|
1546 | assertNoMatch: "way building:type=church building=yes"; |
---|
1547 | assertMatch: "way building:type=church building=supermarket"; |
---|
1548 | } |
---|
1549 | *[escalator] { |
---|
1550 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
1551 | suggestAlternative: "highway=steps + conveying=*"; |
---|
1552 | group: tr("deprecated tagging"); |
---|
1553 | } |
---|
1554 | *[fenced] { |
---|
1555 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
1556 | suggestAlternative: "barrier=fence"; |
---|
1557 | group: tr("deprecated tagging"); |
---|
1558 | } |
---|
1559 | *[historic_name][!old_name] { |
---|
1560 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
1561 | suggestAlternative: "old_name"; |
---|
1562 | group: tr("deprecated tagging"); |
---|
1563 | fixChangeKey: "historic_name => old_name"; |
---|
1564 | } |
---|
1565 | *[historic_name][old_name] { |
---|
1566 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
1567 | suggestAlternative: "old_name"; |
---|
1568 | group: tr("deprecated tagging"); |
---|
1569 | } |
---|
1570 | *[landuse=field] { |
---|
1571 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1572 | suggestAlternative: "landuse=farmland"; |
---|
1573 | group: tr("deprecated tagging"); |
---|
1574 | fixAdd: "landuse=farmland"; |
---|
1575 | } |
---|
1576 | *[leisure=beach] { |
---|
1577 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1578 | suggestAlternative: "natural=beach"; |
---|
1579 | suggestAlternative: "leisure=beach_resort"; |
---|
1580 | group: tr("deprecated tagging"); |
---|
1581 | } |
---|
1582 | *[leisure=club] { |
---|
1583 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1584 | suggestAlternative: "club=*"; |
---|
1585 | group: tr("deprecated tagging"); |
---|
1586 | } |
---|
1587 | *[leisure=video_arcade] { |
---|
1588 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1589 | suggestAlternative: "leisure=amusement_arcade"; |
---|
1590 | suggestAlternative: "leisure=adult_gaming_centre"; |
---|
1591 | group: tr("deprecated tagging"); |
---|
1592 | } |
---|
1593 | *[man_made=jetty] { |
---|
1594 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1595 | suggestAlternative: "man_made=pier"; |
---|
1596 | group: tr("deprecated tagging"); |
---|
1597 | fixAdd: "man_made=pier"; |
---|
1598 | } |
---|
1599 | *[man_made=village_pump] { |
---|
1600 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1601 | suggestAlternative: "man_made=water_well"; |
---|
1602 | group: tr("deprecated tagging"); |
---|
1603 | fixAdd: "man_made=water_well"; |
---|
1604 | } |
---|
1605 | *[man_made=water_tank] { |
---|
1606 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1607 | suggestAlternative: "man_made=storage_tank + content=water"; |
---|
1608 | group: tr("deprecated tagging"); |
---|
1609 | fixAdd: "man_made=storage_tank"; |
---|
1610 | fixAdd: "content=water"; |
---|
1611 | } |
---|
1612 | *[natural=moor] { |
---|
1613 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1614 | suggestAlternative: "natural=heath"; |
---|
1615 | suggestAlternative: "natural=scrub"; |
---|
1616 | suggestAlternative: "natural=grassland"; |
---|
1617 | suggestAlternative: "natural=wetland"; |
---|
1618 | suggestAlternative: "natural=fell"; |
---|
1619 | suggestAlternative: "natural=tundra"; |
---|
1620 | suggestAlternative: "landuse=meadow + meadow=agricultural"; |
---|
1621 | group: tr("deprecated tagging"); |
---|
1622 | } |
---|
1623 | *[noexit=no][!fixme] { |
---|
1624 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1625 | suggestAlternative: "fixme=continue"; |
---|
1626 | group: tr("deprecated tagging"); |
---|
1627 | fixAdd: "fixme=continue"; |
---|
1628 | fixRemove: "noexit"; |
---|
1629 | } |
---|
1630 | *[noexit=no][fixme] { |
---|
1631 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1632 | suggestAlternative: "fixme=continue"; |
---|
1633 | group: tr("deprecated tagging"); |
---|
1634 | } |
---|
1635 | *[shop=dive] { |
---|
1636 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1637 | suggestAlternative: "shop=scuba_diving"; |
---|
1638 | group: tr("deprecated tagging"); |
---|
1639 | fixAdd: "shop=scuba_diving"; |
---|
1640 | } |
---|
1641 | *[shop=furnace] { |
---|
1642 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1643 | suggestAlternative: "shop=fireplace"; |
---|
1644 | suggestAlternative: "craft=plumber"; |
---|
1645 | group: tr("deprecated tagging"); |
---|
1646 | } |
---|
1647 | *[sport=paragliding] { |
---|
1648 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1649 | suggestAlternative: "sport=free_flying"; |
---|
1650 | group: tr("deprecated tagging"); |
---|
1651 | fixAdd: "sport=free_flying"; |
---|
1652 | } |
---|
1653 | *[tourism=bed_and_breakfast] { |
---|
1654 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1655 | suggestAlternative: "tourism=guest_house + guest_house=bed_and_breakfast"; |
---|
1656 | group: tr("deprecated tagging"); |
---|
1657 | fixAdd: "tourism=guest_house"; |
---|
1658 | fixAdd: "guest_house=bed_and_breakfast"; |
---|
1659 | } |
---|
1660 | |
---|
1661 | /* #17880 */ |
---|
1662 | *[diaper=yes], |
---|
1663 | *[diaper=no] { |
---|
1664 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1665 | suggestAlternative: concat("changing_table=", "{0.value}"); |
---|
1666 | group: tr("deprecated tagging"); |
---|
1667 | fixChangeKey: "diaper => changing_table"; |
---|
1668 | set diaper_checked; |
---|
1669 | } |
---|
1670 | *[diaper][diaper =~ /^[1-9][0-9]*$/] { |
---|
1671 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1672 | suggestAlternative: concat("changing_table=yes + changing_table:count=", "{0.value}"); |
---|
1673 | group: tr("deprecated tagging"); |
---|
1674 | fixChangeKey: "diaper => changing_table:count"; |
---|
1675 | fixAdd: "changing_table=yes"; |
---|
1676 | set diaper_checked; |
---|
1677 | } |
---|
1678 | *[diaper=room] { |
---|
1679 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1680 | suggestAlternative: "changing_table=room"; |
---|
1681 | suggestAlternative: "changing_table=dedicated_room"; |
---|
1682 | group: tr("deprecated tagging"); |
---|
1683 | set diaper_checked; |
---|
1684 | } |
---|
1685 | *[diaper]!.diaper_checked { |
---|
1686 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
1687 | suggestAlternative: "changing_table"; |
---|
1688 | group: tr("deprecated tagging"); |
---|
1689 | } |
---|
1690 | *[diaper:male=yes] { |
---|
1691 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1692 | suggestAlternative: "changing_table:location=male_toilet"; |
---|
1693 | group: tr("deprecated tagging"); |
---|
1694 | fixAdd: "changing_table:location=male_toilet"; |
---|
1695 | fixRemove: "diaper:male"; |
---|
1696 | set diaper___checked; |
---|
1697 | } |
---|
1698 | *[diaper:female=yes] { |
---|
1699 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1700 | suggestAlternative: "changing_table:location=female_toilet"; |
---|
1701 | group: tr("deprecated tagging"); |
---|
1702 | fixAdd: "changing_table:location=female_toilet"; |
---|
1703 | fixRemove: "diaper:female"; |
---|
1704 | set diaper___checked; |
---|
1705 | } |
---|
1706 | *[diaper:unisex=yes] { |
---|
1707 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1708 | suggestAlternative: "changing_table:location=unisex_toilet"; |
---|
1709 | group: tr("deprecated tagging"); |
---|
1710 | fixAdd: "changing_table:location=unisex_toilet"; |
---|
1711 | fixRemove: "diaper:unisex"; |
---|
1712 | set diaper___checked; |
---|
1713 | } |
---|
1714 | *[diaper:wheelchair=yes], |
---|
1715 | *[diaper:wheelchair=no] { |
---|
1716 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1717 | suggestAlternative: concat("changing_table:wheelchair=", "{0.value}"); |
---|
1718 | group: tr("deprecated tagging"); |
---|
1719 | fixChangeKey: "diaper:wheelchair => changing_table:wheelchair"; |
---|
1720 | set diaper___checked; |
---|
1721 | } |
---|
1722 | *[diaper:fee=yes], |
---|
1723 | *[diaper:fee=no] { |
---|
1724 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1725 | suggestAlternative: concat("changing_table:fee=", "{0.value}"); |
---|
1726 | group: tr("deprecated tagging"); |
---|
1727 | fixChangeKey: "diaper:fee => changing_table:fee"; |
---|
1728 | set diaper___checked; |
---|
1729 | } |
---|
1730 | *[/^diaper:/]!.diaper___checked { |
---|
1731 | throwWarning: tr("{0} is deprecated", "diaper:*"); |
---|
1732 | suggestAlternative: "changing_table:*"; |
---|
1733 | group: tr("deprecated tagging"); |
---|
1734 | } |
---|
1735 | *[changing_table][changing_table!~/^(yes|no|limited)$/] { |
---|
1736 | throwWarning: tr("wrong value: {0}", "{0.tag}"); |
---|
1737 | suggestAlternative: "changing_table=yes"; |
---|
1738 | suggestAlternative: "changing_table=no"; |
---|
1739 | suggestAlternative: "changing_table=limited"; |
---|
1740 | } |
---|
1741 | |
---|
1742 | /* #17990 */ |
---|
1743 | *[roof:shape=half_hipped] { |
---|
1744 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1745 | suggestAlternative: "roof:shape=half-hipped"; |
---|
1746 | group: tr("deprecated tagging"); |
---|
1747 | fixAdd: "roof:shape=half-hipped"; |
---|
1748 | } |
---|
1749 | |
---|
1750 | /* #18003 */ |
---|
1751 | *[bridge_name] { |
---|
1752 | throwWarning: tr("{0} is deprecated", "{0.key}"); |
---|
1753 | suggestAlternative: "bridge:name"; |
---|
1754 | group: tr("deprecated tagging"); |
---|
1755 | fixChangeKey: "bridge_name => bridge:name"; |
---|
1756 | } |
---|
1757 | |
---|
1758 | /* #18007 */ |
---|
1759 | *[access=public] { |
---|
1760 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1761 | suggestAlternative: "access=yes"; |
---|
1762 | group: tr("deprecated tagging"); |
---|
1763 | fixAdd: "access=yes"; |
---|
1764 | } |
---|
1765 | |
---|
1766 | /* #17330 */ |
---|
1767 | *[crossing=island] { |
---|
1768 | throwWarning: tr("{0} is deprecated", "{0.tag}"); |
---|
1769 | suggestAlternative: "crossing:island=yes"; |
---|
1770 | group: tr("deprecated tagging"); |
---|
1771 | fixRemove: "crossing"; |
---|
1772 | fixAdd: "crossing:island=yes"; |
---|
1773 | } |
---|