Changes between Version 81 and Version 82 of Rules/FranceSpecificRules


Ignore:
Timestamp:
2022-10-02T08:33:32+02:00 (3 years ago)
Author:
didier2020
Comment:

add new control for osmose

Legend:

Unmodified
Added
Removed
Modified
  • Rules/FranceSpecificRules

    v81 v82  
    145145
    146146/* tag nat_ref is for links roads, ref is on major roads */
    147 way[highway=~/^(motorway|trunk|primary|secondary|tertiary)$/][nat_ref][operator][!junction][inside("FR")] {
     147way[highway=~/^(motorway|trunk|primary|secondary|tertiary|unclassified|service)$/][nat_ref][operator][!junction][inside("FR")] {
    148148    throwWarning: tr("{0} must be a link road or roundabout", "{1.tag}");
    149149    group: tr("validation rules nat_ref in France");
     
    152152    -osmoseAssertMatchWithContext: list("way highway=primary nat_ref=62A901609CD_2D operator=SANEF", "inside=FR");
    153153    -osmoseAssertNoMatchWithContext: list("way highway=primary junction=roundabout nat_ref=62A901609CD_2D operator=SANEF", "inside=FR");
    154 }
    155 
    156 way[highway=~/^(motorway|trunk|primary|secondary|tertiary)$/]["nat_ref:backward"][operator][inside("FR")],
    157 way[highway=~/^(motorway|trunk|primary|secondary|tertiary)$/]["nat_ref:forward"][operator][inside("FR")] {
     154    -osmoseAssertNoMatchWithContext: list("way highway=service junction=roundabout nat_ref=62A801609CD_12D operator=SANEF", "inside=FR");
     155}
     156
     157way[highway=~/^(motorway|trunk|primary|secondary|tertiary|unclassified|service)$/]["nat_ref:backward"][operator][inside("FR")],
     158way[highway=~/^(motorway|trunk|primary|secondary|tertiary|unclassified|service)$/]["nat_ref:forward"][operator][inside("FR")] {
    158159    throwWarning: tr("{0} must be a link road ", "{1.tag}");
    159160    group: tr("validation rules nat_ref in France");
    160161    -osmoseItemClassLevel: "9019/9019002/3";
    161162    -osmoseTags: list("ref", "highway");
    162     -osmoseAssertNoMatchWithContext: list("way highway=motorway_link nat_ref:forward=62A902615CD_1D nat_ref:backward=62A902615CD_2D operator='SANEF'", "inside=FR");
     163    -osmoseAssertNoMatchWithContext: list("way highway=motorway_link nat_ref:forward=62A902615CD_11D nat_ref:backward=62A902615CD_2D operator='SANEF'", "inside=FR");
    163164}
    164165
     
    169170    -osmoseItemClassLevel: "9019/9019002/3";
    170171    -osmoseTags: list("ref", "highway");
    171     -osmoseAssertNoMatchWithContext: list("way highway=motorway_link nat_ref=80A901645CD_6D operator=SANEF", "inside=FR");
     172    -osmoseAssertNoMatchWithContext: list("way highway=motorway_link nat_ref=80A901645CD_16D operator=SANEF", "inside=FR");
     173    -osmoseAssertNoMatchWithContext: list("way highway=motorway_link nat_ref=80A801645CD_16D operator=SANEF", "inside=FR");
     174    -osmoseAssertNoMatchWithContext: list("way highway=motorway_link nat_ref=78A901319CD_1D operator=SAPN", "inside=FR");
    172175    -osmoseAssertNoMatchWithContext: list("way highway=motorway_link nat_ref=78A801319CD_1D operator=SAPN", "inside=FR");
    173176}
    174177
    175178/* tag nat_ref is well formed on roundabout (isidor format) */
    176 way[junction=roundabout][highway=~/^(motorway|trunk|primary|secondary|tertiary|service)$/][nat_ref][nat_ref!~/^(([1-9][0-9]|0[1-9])[ANP](8|9)[0-9]{3}(|A|N)([0-9]?[0-9]|B1|B2)(|[A-Z]|[a-z])(|CD)_(1[0-9]|[1-9])D)$/][inside("FR")] {
     179way[junction=roundabout][highway=~/^(motorway|trunk|primary|secondary|tertiary|unclassified|service)$/][nat_ref][nat_ref!~/^(([1-9][0-9]|0[1-9])[ANP](8|9)[0-9]{3}(|A|N)([0-9]?[0-9]|B1|B2)(|[A-Z]|[a-z])(|CD)_(1[0-9]|[1-9])D)$/][inside("FR")] {
    177180    throwWarning: tr("{0} is not a valid reference", "{2.tag}");
    178181    group: tr("validation rules nat_ref in France");
    179182    -osmoseItemClassLevel: "9019/9019002/3";
    180183    -osmoseTags: list("ref", "highway");
    181     -osmoseAssertNoMatchWithContext: list("way highway=primary junction=roundabout nat_ref=80A901645_6D operator=DIRN", "inside=FR");
    182     -osmoseAssertNoMatchWithContext: list("way highway=service junction=roundabout nat_ref=80A801645_5D operator=DIRN", "inside=FR");
    183 }
    184 
    185 /* tag nat_ref is well formed specific Paris (isidor format)*/
     184    -osmoseAssertNoMatchWithContext: list("way highway=primary junction=roundabout nat_ref=80A901645_16D operator=DIRN", "inside=FR");
     185    -osmoseAssertNoMatchWithContext: list("way highway=service junction=roundabout nat_ref=80A801645_6D operator=DIRN", "inside=FR");
     186    -osmoseAssertNoMatchWithContext: list("way highway=primary junction=roundabout nat_ref=78A901319CD_15D operator=DIRN", "inside=FR");
     187    -osmoseAssertNoMatchWithContext: list("way highway=service junction=roundabout nat_ref=78A801319CD_1D operator=DIRN", "inside=FR");
     188}
     189
     190/* tag nat_ref is well formed specific Paris (isidor format). no roundabout in Paris*/
    186191way[highway=~/^(motorway_link|trunk_link|primary_link|secondary_link|tertiary_link)$/][nat_ref][nat_ref!~/^(75Periph_Paris_[0-9]{2}_(1[0-9]|[1-9])D)$/][operator="VILLE DE PARIS"][inside("FR")] {
    187192    throwWarning: tr("{0} is not a valid reference (Paris)", "{1.tag}");
     
    190195    -osmoseTags: list("ref", "highway");
    191196    -osmoseAssertNoMatchWithContext: list("way highway=trunk_link nat_ref=75Periph_Paris_05_3D operator=\"VILLE DE PARIS\"", "inside=FR");
    192 }
    193 
     197    -osmoseAssertNoMatchWithContext: list("way highway=primary_link nat_ref=75Periph_Paris_05_13D operator=\"VILLE DE PARIS\"", "inside=FR");
     198}
     199
     200/* tag nat_ref is well formed for backward and forward (isidor format). No roundabout */
    194201way[highway=~/^(motorway_link|trunk_link|primary_link|secondary_link|tertiary_link)$/]["nat_ref:forward"]["nat_ref:forward"!~/^(([1-9][0-9]|0[1-9])[ANP]9[0-9]{3}(|A|N)([0-9]?[0-9]|B1|B2)(|[A-Z]|[a-z])(|CD)_(1[0-9]|[1-9])D)$/][inside("FR")],
    195202way[highway=~/^(motorway_link|trunk_link|primary_link|secondary_link|tertiary_link)$/]["nat_ref:backward"]["nat_ref:backward"!~/^(([1-9][0-9]|0[1-9])[ANP]9[0-9]{3}(|A|N)([0-9]?[0-9]|B1|B2)(|[A-Z]|[a-z])(|CD)_(1[0-9]|[1-9])D)$/][inside("FR")]{
     
    199206    -osmoseTags: list("ref", "highway");
    200207    -osmoseAssertNoMatchWithContext: list("way highway=motorway_link nat_ref:forward=62A902615CD_1D nat_ref:backward=62A902615CD_2D operator=SANEF", "inside=FR");
     208    -osmoseAssertNoMatchWithContext: list("way highway=motorway_link nat_ref:forward=62A902615CD_11D nat_ref:backward=62A902615CD_2D operator=SANEF", "inside=FR");
     209    -osmoseAssertNoMatchWithContext: list("way highway=motorway_link nat_ref:forward=62A902615CD_1D nat_ref:backward=62A902615CD_12D operator=SANEF", "inside=FR");
    201210}
    202211
     
    212221way[highway][highway=~/^(motorway_link|trunk_link|primary_link|secondary_link|tertiary_link)$/]["nat_ref:backward"][!operator][inside("FR")] {
    213222    throwWarning: tr("Missing tag operator with nat_ref");
    214     group: tr("validation rules nat_ref in France");
    215     -osmoseItemClassLevel: "9019/9019002/3";
    216     -osmoseTags: list("ref", "highway");
    217 }
    218 
    219 way.link_road["nat_ref:forward"][oneway=~/^(yes|1|-1)$/][inside("FR")],
    220 way.link_road["nat_ref:backward"][oneway=~/^(yes|1|-1)$/][inside("FR")] {
    221     throwWarning: tr("{0} no tag forward if oneway", "{2.tag}");
    222223    group: tr("validation rules nat_ref in France");
    223224    -osmoseItemClassLevel: "9019/9019002/3";