source: josm/trunk/data/tagchecker.cfg @ 3669

Last change on this file since 3669 was 3669, checked in by bastiK, 13 years ago

add validator plugin to josm core. Original author: Francisco R. Santos (frsantos); major contributions by bilbo, daeron, delta_foxtrot, imi, jttt, jrreid, gabriel, guggis, pieren, rrankin, skela, stoecker, stotz and others

  • Property svn:eol-style set to native
File size: 4.5 KB
Line 
1# JOSM TagChecker validator file
2
3# Format:
4# Each line specifies a certain error to be reported
5# <data type> : messagetype : <key><expression><value>
6#
7# Data type can be:
8#  node        - a node point
9#  way         - a way
10#  relation    - a relation
11#  *           - all data types
12#
13# Message type can be:
14# E            - an error
15# W            - a warning
16# I            - an low priority informational warning
17#
18# Key and value are expressions describing certain keys and values of these keys.
19# Regulator expressions are supported. In this case the expressions starts and
20# ends with // signs. If an 'i' is appended, the regular expression is
21# case insensitive.
22#
23# The * sign indicates any string.
24# The texts BOOLEAN_TRUE and BOOLEAN_FALSE in the value part indicate a special
25# handling for boolean values (yes, true, 0, false, no, ...).
26#
27# Expression can be:
28#  !=          - the key/value combination does not match
29#  ==          - the key/value combination does match
30#
31# To have more complicated expressions, multiple elements can be grouped together
32# with an logical and (&&).
33#
34# The comment at the end of a rule is displayed in validator description
35#
36# Empty lines and space signs are ignored
37
38way  : W : highway == * && name == /.* (Ave|Blvd|Cct|Cir|Cl|Cr|Crct|Cres|Crt|Ct|Dr|Drv|Esp|Espl|Hwy|Ln|Mw|Mwy|Pl|Rd|Qy|Qys|Sq|St|Str|Ter|Tce|Tr|Wy)\.?$/i               # abbreviated street name
39
40node : W : oneway == *                                         # oneway tag on a node
41node : W : bridge == BOOLEAN_TRUE                              # bridge tag on a node
42node : W : highway == tertiary                                 # wrong highway tag on a node
43node : W : highway == secondary                                # wrong highway tag on a node
44node : W : highway == residential                              # wrong highway tag on a node
45node : W : highway == unclassified                             # wrong highway tag on a node
46node : W : highway == track                                    # wrong highway tag on a node
47way  : W : highway == unclassified && name != *                # Unnamed unclassified highway
48way  : I : highway == secondary && ref != *                    # highway without a reference
49way  : I : highway == tertiary && ref != *                     # highway without a reference
50way  : I : highway == motorway && nat_ref != *                 # highway without a reference
51*    : W : highway == road                                     # temporary highway type
52*    : W : / *name */i == * && name != *                       # misspelled key name
53
54# The following could replace unnamed way check. Still at the moment we keep it as it is
55#way  : W : junction == roundabout && highway == /motorway|trunk|primary|secondary|tertiary|residential|pedestrian/ && /name|ref|(name:.*)|(.*_name)|(.*_ref)/ != * # Unnamed junction
56#way  : W : highway == /motorway|trunk|primary|secondary|tertiary|residential|pedestrian/ && /name|ref|(name:.*)|(.*_name)|(.*_ref)/ != * # Unnamed
57
58way  : W : highway == cycleway && bicycle == BOOLEAN_FALSE     # cycleway with tag bicycle
59way  : W : highway == footway && foot == BOOLEAN_FALSE         # footway with tag foot
60#way  : I : highway == cycleway && bicycle == *                 # cycleway with tag bicycle
61#way  : I : highway == footway && foot == *                     # footway with tag foot
62way  : W : highway == cycleway && cycleway == lane             # separate cycleway as lane on a cycleway
63way  : W : highway == * && barrier == *                        # barrier used on a way
64
65#way  : I : waterway == * && layer != *                         # waterway without layer tag
66way  : I : highway == footway && maxspeed == *                 # maxspeed used for footway
67way  : I : highway == steps && maxspeed == *                   # maxspeed used for footway
68
69*    : W : layer == /\+.*/                                     # layer tag with + sign
70
71*    : I : name == /.*Strasse.*/i                              # street name contains ss
72
73relation : E : type != *                                       # relation without type
74
75node : I : amenity == /restaurant|cafe|fast_food/ && name != * # restaurant without name
76#way  : I : highway != * && railway != * && waterway != * && name == * # unusual named way type
77#*    : W : natural == water && waterway == *                   # unusual tag combination
78*    : W : highway == * && waterway == *                       # unusual tag combination
79*    : W : highway == * && natural == *                        # unusual tag combination
Note: See TracBrowser for help on using the repository browser.