Changes between Version 5 and Version 6 of Rules/CzechRepublicAddressSystem


Ignore:
Timestamp:
2016-11-21T23:47:00+01:00 (9 years ago)
Author:
jose1711
Comment:

add country boundaries conditions

Legend:

Unmodified
Added
Removed
Modified
  • Rules/CzechRepublicAddressSystem

    v5 v6  
    77{
    88  title: "Czech Republic Address System";
    9   version: "1.[[revision]]_[[date]]";
     9  version: "1.6_2016-11-21";
    1010  description: "Rules implementing checks for address tags specified by Czech Republic Address System. Only used in CZ and SK.";
    1111  author: "Jose Riha";
     
    3232orientacne cislo musi vyhovovat reg. vyrazu popisanemu na wiki: http://wiki.openstreetmap.org/wiki/Cs:WikiProject_Czech_Republic/Address_system
    3333*/
    34 *[addr:streetnumber][addr:streetnumber !~ /^[1-9]+[0-9]*[A-Za-z]{0,1}$/]{
     34*[addr:streetnumber][addr:streetnumber !~ /^[1-9]+[0-9]*[A-Za-z]{0,1}$/][inside("CZ,SK")]{
    3535throwError: tr("Format of streetnumber not recognized - expected a number followed by an optional single letter");
    3636}
     
    3939supisne cislo musi vyhovovat reg. vyrazu popisanemu na wiki: http://wiki.openstreetmap.org/wiki/Cs:WikiProject_Czech_Republic/Address_system
    4040*/
    41 *[addr:conscriptionnumber][addr:conscriptionnumber !~ /^[1-9]+[0-9]*$/]{
     41*[addr:conscriptionnumber][addr:conscriptionnumber !~ /^[1-9]+[0-9]*$/][inside("CZ,SK")]{
    4242throwError: tr("Format of {0} not recognized - expected a natural number", "{0.key}");
    4343}
     
    4646evidencne cislo musi vyhovovat reg. vyrazu popisanemu na wiki: http://wiki.openstreetmap.org/wiki/Cs:WikiProject_Czech_Republic/Address_system
    4747*/
    48 *[addr:provisionalnumber][addr:provisionalnumber !~ /^[1-9]+[0-9]*$/]{
     48*[addr:provisionalnumber][addr:provisionalnumber !~ /^[1-9]+[0-9]*$/][inside("CZ")]{
    4949throwError: tr("Format of {0} not recognized - expected a natural number", "{0.key}");
    5050}
     
    5353kazda adresa by mala obsahovat bud addr:street alebo addr:place, pripadne oboje
    5454*/
    55 *[any(tag("addr:streetnumber"),tag("addr:conscriptionnumber"),tag("addr:housenumber"))][!addr:street][!addr:place] {
     55*[any(tag("addr:streetnumber"),tag("addr:conscriptionnumber"),tag("addr:housenumber"))][!addr:street][!addr:place][inside("CZ,SK")] {
    5656throwWarning: tr("Each address should have at least addr:street or addr:place tag");
    5757}
     
    6161ziaden dom by nemal mat sucasne supisne a evidencne cislo
    6262*/
    63 *[addr:conscriptionnumber][addr:provisionalnumber]{
     63*[addr:conscriptionnumber][addr:provisionalnumber][inside("CZ")]{
    6464throwError: tr("There should be either addr:conscriptionnumber or addr:provisionalnumber, not both at the same time");
    6565}
     
    6868streetnumber by malo byt pouzite len spolu s orientacnym cislom
    6969*/
    70 *[addr:streetnumber][!addr:street]{
     70*[addr:streetnumber][!addr:street][inside("CZ,SK")]{
    7171throwWarning: tr("Addr:streetnumber used without an addr:street tag");
    7272}
     
    7575v pripade pouzitia supisneho aj orientacneho cisla by hodnota housenumber mala obsahovat kombinaciu oboch vo forme supisne/orientacne cislo
    7676*/
    77 *[addr:housenumber][addr:streetnumber][addr:conscriptionnumber][not(tag("addr:housenumber") = concat(tag("addr:conscriptionnumber"),"/",tag("addr:streetnumber")))]{
     77*[addr:housenumber][addr:streetnumber][addr:conscriptionnumber][not(tag("addr:housenumber") = concat(tag("addr:conscriptionnumber"),"/",tag("addr:streetnumber")))][inside("CZ,SK")]{
    7878throwWarning: tr("Addr:housenumber in unexpected format (expected: conscriptionnumber/streetnumber)");
    7979fixAdd: concat("addr:housenumber=",tag("addr:conscriptionnumber"),"/",tag("addr:streetnumber"));
     
    8383v pripade pouzitia evidencneho aj orientacneho cisla by hodnota housenumber mala obsahovat kombinaciu oboch vo forme ev.evidencne/orientacne cislo
    8484*/
    85 *[addr:housenumber][addr:streetnumber][addr:provisionalnumber][not(tag("addr:housenumber") = concat("ev.",tag("addr:provisionalnumber"),"/",tag("addr:streetnumber")))]{
     85*[addr:housenumber][addr:streetnumber][addr:provisionalnumber][not(tag("addr:housenumber") = concat("ev.",tag("addr:provisionalnumber"),"/",tag("addr:streetnumber")))][inside("CZ")]{
    8686throwWarning: tr("Addr:housenumber in unexpected format (expected: ev.+provisional/streetnumber)");
    8787fixAdd: concat("addr:housenumber=ev.",tag("addr:provisionalnumber"),"/",tag("addr:streetnumber"));
     
    9191v pripade pouzitia supisneho aj orientacneho cisla by hodnota housenumber mala obsahovat kombinaciu oboch vo forme supisne/orientacne cislo
    9292*/
    93 *[!addr:housenumber][addr:streetnumber][addr:conscriptionnumber]{
     93*[!addr:housenumber][addr:streetnumber][addr:conscriptionnumber][inside("CZ,SK")]{
    9494throwWarning: tr("Addr:housenumber missing - expected: conscriptionnumber/streetnumber");
    9595fixAdd: concat("addr:housenumber=",tag("addr:conscriptionnumber"),"/",tag("addr:streetnumber"));
     
    9999v pripade pouzitia evidencneho aj orientacneho cisla by hodnota housenumber mala obsahovat kombinaciu oboch vo forme ev.evidencne/orientacne cislo
    100100*/
    101 *[!addr:housenumber][addr:streetnumber][addr:provisionalnumber]{
     101*[!addr:housenumber][addr:streetnumber][addr:provisionalnumber][inside("CZ")]{
    102102throwWarning: tr("Addr:housenumber missing - expected: ev.+provisionalnumber/streetnumber");
    103103fixAdd: concat("addr:housenumber=ev.",tag("addr:provisionalnumber"),"/",tag("addr:streetnumber"));
     
    107107pre dom, ktory je identifikovany len supisnym cislom, by sa toto cislo malo objavit aj v housenumber
    108108*/
    109 *[addr:housenumber][!addr:streetnumber][addr:conscriptionnumber][not(tag("addr:housenumber") = tag("addr:conscriptionnumber"))]{
     109*[addr:housenumber][!addr:streetnumber][addr:conscriptionnumber][not(tag("addr:housenumber") = tag("addr:conscriptionnumber"))][inside("CZ,SK")]{
    110110throwWarning: tr("{0} should contain addr:conscriptionnumber","{0.key}");
    111111fixAdd: concat("addr:housenumber=",tag("addr:conscriptionnumber"));
     
    115115pre dom, ktory je identifikovany len evidencnym cislom, by sa toto cislo malo objavit aj v housenumber
    116116*/
    117 *[addr:housenumber][!addr:streetnumber][addr:provisionalnumber][not(tag("addr:housenumber") = concat("ev.",tag("addr:provisionalnumber")))]{
     117*[addr:housenumber][!addr:streetnumber][addr:provisionalnumber][not(tag("addr:housenumber") = concat("ev.",tag("addr:provisionalnumber")))][inside("CZ")]{
    118118throwWarning: tr("{0} should contain ev. + addr:provisionalnumber","{0.key}");
    119119fixAdd: concat("addr:housenumber=ev.",tag("addr:provisionalnumber"));
     
    121121
    122122/* if housenumber is not empty we want to have conscriptionnumber and/or streetnumber populated as well */
    123 *[addr:housenumber][!addr:streetnumber][!addr:conscriptionnumber][addr:housenumber =~ /\/[1-9]+/] {
     123*[addr:housenumber][!addr:streetnumber][!addr:conscriptionnumber][addr:housenumber =~ /\/[1-9]+/][inside("CZ,SK")] {
    124124throwWarning: tr("Streetnumber and conscriptionnumber missing");
    125125}
     
    128128detekcia castych preklepov
    129129*/
    130 *[addr:streetnumbe]{
     130*[addr:streetnumbe][inside("CZ,SK")]{
    131131throwError: tr("Typo detected with streetnumber");
    132132suggestAlternative: "addr:streetnumber";
     
    134134}
    135135
    136 *[addr:conscriptionumber]{
     136*[addr:conscriptionumber][inside("CZ,SK")]{
    137137throwError: tr("Typo detected with conscriptionnumber");
    138138suggestAlternative: "addr:conscriptionnumber";