Ignore:
Timestamp:
2019-08-29T21:53:59+02:00 (6 years ago)
Author:
Klumbumbus
Message:

fix #15107 - add various airport validator rules (based on patches by maxerickson and naoliv)

  • warn about iata and icao without aeroway=helipad or aeroway=aerodrome
  • warn about wrong iata and icao codes
  • warn about aeroway=helipad or aeroway=aerodrome without faa (info level, US only)
  • warn about aeroway=helipad or aeroway=aerodrome without icao and iata (info level, US only and only if faa does not contain nunbers, which indicates small airports)
  • warn about aeroway=runway without ref and surface (info level)
  • enhance Helipad preset
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/data/validator/numeric.mapcss

    r14940 r15325  
    375375  assertMatch: "way interval=00:65:00";
    376376}
     377
     378/* #15107 */
     379*[aeroway=helipad  ][iata][iata!~/^[A-Z]{3}$/],
     380*[aeroway=aerodrome][iata][iata!~/^[A-Z]{3}$/] {
     381  throwWarning: tr("wrong value: {0}", "{1.tag}");
     382  group: tr("Airport tagging");
     383  assertNoMatch: "way aeroway=aerodrome iata=BER";
     384  assertMatch: "way aeroway=aerodrome iata=BERL";
     385  assertMatch: "way aeroway=aerodrome iata=BE";
     386  assertMatch: "way aeroway=aerodrome iata=ber";
     387}
     388*[aeroway=helipad  ][icao][icao!~/^[A-Z]{4}$/],
     389*[aeroway=aerodrome][icao][icao!~/^[A-Z]{4}$/] {
     390  throwWarning: tr("wrong value: {0}", "{1.tag}");
     391  group: tr("Airport tagging");
     392  assertNoMatch: "way aeroway=aerodrome icao=EDDB";
     393  assertMatch: "way aeroway=aerodrome icao=EDDBA";
     394  assertMatch: "way aeroway=aerodrome icao=EDD";
     395  assertMatch: "way aeroway=aerodrome icao=eddb";
     396}
     397*[aeroway=helipad  ][icao][icao!~/^(AG|AN|AY|BG|BI|BK|C|DA|DB|DF|DG|DI|DN|DR|DT|DX|EB|ED|EE|EF|EG|EH|EI|EK|EL|EN|EP|ES|ET|EV|EY|FA|FB|FC|FD|FE|FG|FH|FI|FJ|FK|FL|FM|FN|FO|FP|FQ|FS|FT|FV|FW|FX|FY|FZ|GA|GB|GC|GE|GF|GG|GL|GM|GO|GQ|GS|GU|GV|HA|HB|HC|HD|HE|HH|HK|HL|HR|HS|HT|HU|K|LA|LB|LC|LD|LE|LF|LG|LH|LI|LJ|LK|LL|LM|LN|LO|LP|LQ|LR|LS|LT|LU|LV|LW|LX|LY|LZ|MB|MD|MG|MH|MK|MM|MN|MP|MR|MS|MT|MU|MW|MY|MZ|NC|NF|NG|NI|NL|NS|NT|NV|NW|NZ|OA|OB|OE|OI|OJ|OK|OL|OM|OO|OP|OR|OS|OT|OY|PA|PB|PC|PF|PG|PH|PJ|PK|PL|PM|PO|PP|PT|PW|RC|RJ|RK|RO|RP|SA|SB|SC|SD|SE|SF|SG|SH|SI|SJ|SK|SL|SM|SN|SO|SP|SS|SU|SV|SW|SY|TA|TB|TD|TF|TG|TI|TJ|TK|TL|TN|TQ|TR|TT|TU|TV|TX|U|UA|UB|UC|UD|UG|UK|UM|UT|VA|VC|VD|VE|VG|VH|VI|VL|VM|VN|VO|VQ|VR|VT|VV|VY|WA|WB|WI|WM|WP|WQ|WR|WS|Y|Z|ZK|ZM)/],
     398*[aeroway=aerodrome][icao][icao!~/^(AG|AN|AY|BG|BI|BK|C|DA|DB|DF|DG|DI|DN|DR|DT|DX|EB|ED|EE|EF|EG|EH|EI|EK|EL|EN|EP|ES|ET|EV|EY|FA|FB|FC|FD|FE|FG|FH|FI|FJ|FK|FL|FM|FN|FO|FP|FQ|FS|FT|FV|FW|FX|FY|FZ|GA|GB|GC|GE|GF|GG|GL|GM|GO|GQ|GS|GU|GV|HA|HB|HC|HD|HE|HH|HK|HL|HR|HS|HT|HU|K|LA|LB|LC|LD|LE|LF|LG|LH|LI|LJ|LK|LL|LM|LN|LO|LP|LQ|LR|LS|LT|LU|LV|LW|LX|LY|LZ|MB|MD|MG|MH|MK|MM|MN|MP|MR|MS|MT|MU|MW|MY|MZ|NC|NF|NG|NI|NL|NS|NT|NV|NW|NZ|OA|OB|OE|OI|OJ|OK|OL|OM|OO|OP|OR|OS|OT|OY|PA|PB|PC|PF|PG|PH|PJ|PK|PL|PM|PO|PP|PT|PW|RC|RJ|RK|RO|RP|SA|SB|SC|SD|SE|SF|SG|SH|SI|SJ|SK|SL|SM|SN|SO|SP|SS|SU|SV|SW|SY|TA|TB|TD|TF|TG|TI|TJ|TK|TL|TN|TQ|TR|TT|TU|TV|TX|U|UA|UB|UC|UD|UG|UK|UM|UT|VA|VC|VD|VE|VG|VH|VI|VL|VM|VN|VO|VQ|VR|VT|VV|VY|WA|WB|WI|WM|WP|WQ|WR|WS|Y|Z|ZK|ZM)/] {
     399  throwWarning: tr("wrong value: {0}", "{1.tag}");
     400  group: tr("Airport tagging");
     401  assertNoMatch: "way aeroway=aerodrome icao=EDDB";
     402  assertMatch: "way aeroway=aerodrome icao=EQQQ";
     403}
Note: See TracChangeset for help on using the changeset viewer.