Ticket #8966: tagchecker_v2.diff
| File tagchecker_v2.diff, 10.8 KB (added by , 13 years ago) |
|---|
-
data/tagchecker.cfg
90 90 # see #9071 91 91 relation : W : type == route_master && route_master != * # route_master relation without route_master=* 92 92 93 # power related stuff (incomplete) 94 * : W : power == /line|minor_line|cable/ && voltage != * # power line without voltage 95 * : W : substation == * && power != substation # substation key without power=substation 96 * : W : transformer == * && power != * # transformer key without power 97 * : I : power == substation && substation != * # missing substation=* 98 * : I : power == transformer && transformer != * # missing transformer=* 99 93 100 ######################################## 94 101 # Rules derived from Taginfo statistics 95 102 ######################################## … … 100 107 way : W : junction == * && highway != * # junction without highway 101 108 * : W : lanes == * && highway != * # lanes without highway 102 109 * : W : lcn == * && highway != * # lcn without highway 103 * : W : lit == * && highway != * && amenity != /parking.*/ && public_transport != platform # lit without highway/parking/platform110 * : W : lit == * && highway != * && railway != * && piste:type != * && amenity != /parking.*/ && public_transport != platform # lit without highway/railway/piste/parking/platform 104 111 * : W : living_street == * && highway != * # living_street without highway 105 112 * : W : maintenance == * && highway != * # maintenance without highway 106 113 * : W : median == * && highway != * # median without highway … … 145 152 * : W : llid == * && waterway != * # llid without waterway 146 153 * : W : canal == * && waterway != * # canal without waterway 147 154 * : W : have_riverbank == * && waterway != * # have_riverbank without waterway 148 * : W : tunnel == * && highway != * && railway != * && waterway != * # tunnel without highway/railway/waterway149 * : W : bridge == * && highway != * && railway != * && waterway != * && piste:type != * # bridge without highway/railway/waterway/piste150 * : W : psv == * && highway != * && railway != * && waterway != * # psv without highway/railway/waterway151 * : W : width == * && highway != * && railway != * && waterway != * && aeroway != * && cycleway != * && footway != * && barrier != * && man_made != * && entrance != * # width without physical linear feature152 * : W : maxspeed == * && highway != * && railway != * && traffic_sign != /(.*;)?maxspeed(;.*)?/ && type != enforcement # maxspeed without highway/railway/traffic_sign155 * : W : tunnel == * && highway != * && railway != * && waterway != * && public_transport != platform && man_made != pipeline # tunnel without highway/railway/waterway/platform/pipeline 156 * : W : bridge == * && highway != * && railway != * && waterway != * && piste:type != * && public_transport != platform && man_made != pipeline # bridge without highway/railway/waterway/platform/piste/pipeline 157 * : W : psv == * && highway != * && railway != * && waterway != * && amenity != /parking.*/ # psv without highway/railway/waterway/parking 158 * : W : width == * && highway != * && railway != * && waterway != * && aeroway != * && cycleway != * && footway != * && barrier != * && man_made != * && entrance != * # width without physical linear feature 159 * : W : maxspeed == * && highway != * && railway != * && traffic_sign != /(.*;)?maxspeed(;.*)?/ && type != enforcement # maxspeed without highway/railway/traffic_sign/enforcement 153 160 * : W : fence_type == * && barrier != fence # fence_type without barrier=fence 154 * : W : border_type == * && boundary != * # border_type without boundary 161 #* : W : border_type == * && boundary != * # border_type without boundary (See #9106) 155 162 * : W : recycling_type == * && amenity != recycling # recycling_type without amenity=recycling 156 163 * : W : board_type == * && information != board # board_type without information=board 157 164 * : W : shelter_type == * && amenity != shelter # shelter_type without amenity=shelter … … 163 170 * : W : castle_type == * && historic != castle # castle_type without historic=castle 164 171 * : W : reservoir_type == * && landuse != reservoir && water != reservoir # reservoir_type without landuse/water=reservoir 165 172 * : W : bunker_type == * && military != bunker # bunker_type without military=bunker 166 * : W : power == /line|minor_line|cable/ && voltage != * # power line without voltage167 173 168 174 ################################ 169 175 # Religion / Denomination tests … … 180 186 181 187 # see ticket #8383 182 188 # If there is no language at all, this is broken. Also catches 'wikipedia' used as 'email', 'website', 'ele' [sic!] ... 183 * : E : wikipedia == * && wikipedia != /[a-zA-Z_-]{2,12}:.*/ # no wikipedia-language given, use ''wikipedia''=''language:page title''189 * : E : wikipedia == * && wikipedia != /[a-zA-Z_-]{2,12}:.*/ # no wikipedia-language given, use ''wikipedia''=''language:page title'' 184 190 # Valid languages are extracted from <http://de.wikipedia.org/w/api.php?action=sitematrix&format=xml>, which may change, so this is a warning only. 185 191 * : W : wikipedia == /[a-zA-Z_-]{2,12}:.*/ && wikipedia != /(aa|ab|ace|af|ak|als|am|an|ang|ar|arc|arz|as|ast|av|ay|az|ba|bar|bat-smg|bcl|be|be-x-old|bg|bh|bi|bjn|bm|bn|bo|bpy|br|bs|bug|bxr|ca|cbk-zam|cdo|ce|ceb|ch|cho|chr|chy|ckb|co|cr|crh|cs|csb|cu|cv|cy|cz|da|de|diq|dk|dsb|dv|dz|ee|el|eml|en|eo|epo|es|et|eu|ext|fa|ff|fi|fiu-vro|fj|fo|fr|frp|frr|fur|fy|ga|gag|gan|gd|gl|glk|gn|got|gu|gv|ha|hak|haw|he|hi|hif|ho|hr|hsb|ht|hu|hy|hz|ia|id|ie|ig|ii|ik|ilo|io|is|it|iu|ja|jbo|jp|jv|ka|kaa|kab|kbd|kg|ki|kj|kk|kl|km|kn|ko|koi|kr|krc|ks|ksh|ku|kv|kw|ky|la|lad|lb|lbe|lez|lg|li|lij|lmo|ln|lo|lt|ltg|lv|map-bms|mdf|mg|mh|mhr|mi|minnan|mk|ml|mn|mo|mr|mrj|ms|mt|mus|mwl|my|myv|mzn|na|nah|nan|nap|nb|nds|nds-nl|ne|new|ng|nl|nn|no|nov|nrm|nso|nv|ny|oc|om|or|os|pa|pag|pam|pap|pcd|pdc|pfl|pi|pih|pl|pms|pnb|pnt|ps|pt|qu|rm|rmy|rn|ro|roa-rup|roa-tara|ru|rue|rw|sa|sah|sc|scn|sco|sd|se|sg|sh|si|simple|sk|sl|sm|sn|so|sq|sr|srn|ss|st|stq|su|sv|sw|szl|ta|te|tet|tg|th|ti|tk|tl|tn|to|tpi|tr|ts|tt|tum|tw|ty|udm|ug|uk|ur|uz|ve|vec|vep|vi|vls|vo|wa|war|wo|wuu|xal|xh|xmf|yi|yo|za|zea|zh|zh-cfr|zh-classical|zh-min-nan|zh-yue|zu):.*/ # unknown language prefix in wikipedia tag 186 192 187 193 # measurement values and units warnings (ticket #8687) 188 way : W : layer == * && layer != /^0$|^-?[1-5]$/ # layer should be between -5 and 5194 way : W : layer == * && layer != /^0$|^-?[1-5]$/ # layer should be between -5 and 5 189 195 * : W : level == * && level != /^((([0-9]|-[1-9])|[1-9][0-9]*)(\.5)?)(;(([0-9]|-[1-9])|[1-9][0-9]*)(\.5)?)*$|^-0\.5$/ # level should be numbers with optional .5 increments 190 * : W : height == * && height != /^(([0-9]+\.?[0-9]*( m)?)|([1-9][0-9]*\'((10|11|[0-9])((\.[0-9]+)?)\")?))$/ # meters is default; period is separator; if units, put space then unit 191 192 * : W : maxheight == * && maxheight != /^(([1-9][0-9]*(\.[0-9]+)?( m)?)|([0-9]+\'([0-9]|10|11)(\.[0-9]*)?\"))$/ # meters is default; period is separator; if units, put space then unit 193 way : W : width == * && width != /^(([0-9]+\.?[0-9]*( [a-z]+)?)|([0-9]+\'[0-9]+\.?[0-9]*\"))$/ # meters is default; period is separator; if units, put space then unit 194 * : W : maxwidth == * && maxwidth != /^(([0-9]+\.?[0-9]*( m)?)|([0-9]+\'[0-9]+\.?[0-9]*\"))$/ # meters is default; period is separator; if units, put space then unit 196 * : W : height == * && height != /^(([0-9]+\.?[0-9]*( m)?)|([1-9][0-9]*\'((10|11|[0-9])((\.[0-9]+)?)\")?))$/ # height: meters is default; period is separator; if units, put space then unit 197 * : W : maxheight == * && maxheight != /^(([1-9][0-9]*(\.[0-9]+)?( m)?)|([0-9]+\'([0-9]|10|11)(\.[0-9]*)?\"))$/ # maxheight: meters is default; period is separator; if units, put space then unit 198 * : W : width == * && width != /^(([0-9]+\.?[0-9]*( [a-z]+)?)|([0-9]+\'[0-9]+\.?[0-9]*\"))$/ # width: meters is default; period is separator; if units, put space then unit 199 * : W : maxwidth == * && maxwidth != /^(([0-9]+\.?[0-9]*( m)?)|([0-9]+\'[0-9]+\.?[0-9]*\"))$/ # maxwidth: meters is default; period is separator; if units, put space then unit 195 200 way : W : maxspeed == * && maxspeed != /^(signals|none|unposted|unknown|variable|walk|[1-9][0-9]*( [a-z]+)?|[A-Z][A-Z]:(urban|rural|living_street|motorway))$/ # unusual maxspeed format 196 way : W : voltage == * && voltage == /(.*[A-Za-z].*)|.*,.*|.*( ).*/ # voltage should be in volts with no units/delimiter/spaces201 way : W : voltage == * && voltage == /(.*[A-Za-z].*)|.*,.*|.*( ).*/ # voltage should be in volts with no units/delimiter/spaces 197 202 # some users are using frequency for other purposes (not electromagnetic) with the values 'perennial' and 'intermittent'; the vast majority are 0, 16.7, 50 and 60 198 way : W : frequency == * && frequency != /^(0|[1-9][0-9]*(\.[0-9]+)?)( (kHz|MHz|GHz|THz))?$/ # unusual frequency specification199 way : W : gauge == * && gauge != /^([1-9][0-9]{1,3}(;[1-9][0-9]{1,3})*|broad|standard|narrow)$/ # unusual train track gauge; use mm with no separator203 way : W : frequency == * && frequency != /^(0|[1-9][0-9]*(\.[0-9]+)?)( (kHz|MHz|GHz|THz))?$/ # unusual frequency specification 204 way : W : gauge == * && gauge != /^([1-9][0-9]{1,3}(;[1-9][0-9]{1,3})*|broad|standard|narrow)$/ # unusual train track gauge; use mm with no separator 200 205 # the numbers for percentage and degrees include could probably be bracketed a bit more precisely 201 way : W : incline == * && incline != /^(up|down|-?([0-9]+?(\.[1-9]%)?|100)[%°]?)$/ # unusual incline; use percentages/degrees or up/down206 way : W : incline == * && incline != /^(up|down|-?([0-9]+?(\.[1-9]%)?|100)[%°]?)$/ # unusual incline; use percentages/degrees or up/down
