Changeset 15325 in josm


Ignore:
Timestamp:
2019-08-29T21:53:59+02:00 (7 weeks 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
Location:
trunk/data
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/data/defaultpresets.xml

    r15313 r15325  
    26712671            <optional>
    26722672                <text key="ref" text="Reference" />
     2673                <text key="iata" text="IATA" />
     2674                <text key="icao" text="ICAO" />
     2675                <text key="wikipedia" text="Wikipedia" />
    26732676            </optional>
    26742677        </item> <!-- Helipad -->
  • trunk/data/validator/combinations.mapcss

    r15311 r15325  
    116116}
    117117
    118 /* {0.key} without {1.tag} or {2.tag} */
     118/* {0.key} without {1.tag} or {2.tag}, #15107 */
     119*[iata                         ][aeroway!=aerodrome][aeroway!=helipad],
     120*[icao                         ][aeroway!=aerodrome][aeroway!=helipad],
    119121*[bridge:movable               ][bridge!=movable][man_made!=bridge],
    120122*[substation                   ][power!=substation][pipeline!=substation],
     
    147149}
    148150
    149 /* {0.tag} without {1.key} (info level) */
     151/* {0.tag} without {1.key} (info level), #15107 */
     152*[aeroway=runway               ][!ref],
     153*[aeroway=runway               ][!surface],
    150154way[highway=track              ][!tracktype],
    151155way[power=cable                ][!location],
  • trunk/data/validator/ignoretags.cfg

    r15303 r15325  
    133133E:expressway
    134134E:border_type
     135E:faa
    135136;
    136137; Ignore valid and semi-valid keys that end with...
  • 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}
  • trunk/data/validator/territories.mapcss

    r14998 r15325  
    3030  group: tr("deprecated tagging");
    3131}
     32
     33/* #15107 */
     34*[aeroway=helipad  ][!faa][inside("US")],
     35*[aeroway=aerodrome][!faa][inside("US")] {
     36  throwOther: tr("{0} without {1}", "{0.tag}", "{1.key}");
     37  group: tr("Airport tagging");
     38}
     39*[aeroway=aerodrome][!icao][faa!~/\d/][inside("US")],
     40*[aeroway=aerodrome][!iata][faa!~/\d/][inside("US")] {
     41  throwOther: tr("{0} without {1}", "{0.tag}", "{1.key}");
     42  group: tr("Airport tagging");
     43  /* assertNoMatch: "way aeroway=aerodrome faa=OK12"; not properly working due to inside() */
     44  /* assertMatch: "way aeroway=aerodrome faa=ORD"; */
     45}
Note: See TracChangeset for help on using the changeset viewer.