Changes between Version 28 and Version 29 of Rules/FranceSpecificRules


Ignore:
Timestamp:
2020-04-01T22:25:32+02:00 (6 years ago)
Author:
frodrigo
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Rules/FranceSpecificRules

    v28 v29  
    5555    group: tr("deprecated tagging");
    5656    fixAdd: "operator=Enedis";
     57    -osmoseItemClassLevel: "4010/40103/3";
     58    -osmoseTags: list("tag", "infrastructure");
    5759}
    5860
     
    6365    group: tr("deprecated tagging");
    6466    fixChangeKey: "ref:ERDF:gdo=>ref:FR:gdo";
     67    -osmoseItemClassLevel: "4010/40104/3";
     68    -osmoseTags: list("ref", "infrastructure");
    6569}
    6670
     
    6872*[ref:FR:gdo][ref:FR:gdo!~/[0-9AB]{5}[A-Z]{1,3}[0-9]{4,}/][inside("FR")] {
    6973    throwWarning: tr("{0} is invalid", "{0.tag}");
     74    -osmoseItemClassLevel: "3040/30401/3";
     75    -osmoseTags: list("ref", "infrastructure");
    7076}
    7177
     
    7480    throwWarning: tr("{0} without {1}", "{0.tag}", "{1.key}");
    7581    group: tr("missing tag");
     82    -osmoseItemClassLevel: "3040/30402/3";
     83    -osmoseTags: list("ref", "infrastructure");
    7684}
    7785
     
    8492    throwWarning: tr("{0} without {1}", "{0.key}", "{1.tag}");
    8593    group: tr("missing tag");
    86 }
    87 /* validation rules for French RIU (Referentiel Inter Urbain) at https://www.data.gouv.fr/fr/datasets/bornage-du-reseau-routier-national /*
     94    -osmoseItemClassLevel: "3040/30403/3";
     95    -osmoseTags: list("ref", "infrastructure");
     96}
     97
     98/* validation rules for French RIU (Referentiel Inter Urbain) at https://www.data.gouv.fr/fr/datasets/bornage-du-reseau-routier-national   */
    8899node[highway=milestone][nat_ref][nat_ref!~/([1-9][0-9]|0[1-9])PR([0-9]|[1-9][0-9]|[1-9][0-9][0-9])[DGU](|C)$/][inside("FR")] {
    89     throwWarning: tr("{0} is not a node valid reference RIU", "{1.tag}");
     100    throwWarning: tr("{0} is not a milestone valid reference RIU", "{1.tag}");
    90101    group: tr("validation rules highway milestone");
     102    -osmoseItemClassLevel: "3040/30403/3";
     103    -osmoseTags: list("ref", "highway");
    91104    -osmoseAssertNoMatch: list("node highway=milestone ref=\"A 4\" distance=38 nat_ref=77PR38DC operator=SANEF", "inside=FR");
    92105}
     106
    93107/* missing ref for milestone */
    94108node[highway=milestone][!ref][inside("FR")] {
    95109    throwWarning: tr("missing ref");
    96110    group: tr("validation rules highway milestone");
    97 }
     111    -osmoseTags: list("ref", "highway");
     112}
     113
    98114/* missing distance for milestone */
    99115node[highway=milestone][!distance][inside("FR")] {
    100116    throwWarning: tr("missing distance");
    101117    group: tr("validation rules highway milestone");
    102 }
    103 
    104 /* # Select major roads */
     118    -osmoseTags: list("ref", "highway");
     119}
     120
     121/* Select major roads */
    105122way[highway=~/^(motorway|trunk|primary|secondary|tertiary)$/] {
    106123  set major_road;
    107124}
    108 /* # Select links roads */
     125
     126/* Select links roads */
    109127way[highway=~/^.*_link$/] {
    110128  set link_road;
    111129}
    112 /* # tag nat_ref is for links roads, ref is on major roads */
     130
     131/* tag nat_ref is for links roads, ref is on major roads */
    113132way.major_road[nat_ref][operator][inside("FR")] {
    114133    throwWarning: tr("{0} must be a link road", "{1.tag}");
    115134    group: tr("validation rules nat_ref in France");
     135    -osmoseTags: list("ref", "highway");
    116136    -osmoseAssertNoMatchWithContext: list("way highway=primary_link nat_ref=62A901609CD_2 operator=SANEF", "inside=FR");
    117137}
     138
    118139way.major_road[nat_ref:backward][operator][inside("FR")] {
    119140    throwWarning: tr("{0} must be a link road ", "{1.tag}");
    120141    group: tr("validation rules nat_ref in France");
     142    -osmoseTags: list("ref", "highway");
    121143    -osmoseAssertNoMatchWithContext: list("way highway=motorway_link nat_ref:forward=62A902615CD_1 nat_ref:backward=62A902615CD_2 operator='SANEF'", "inside=FR");
    122144}
     145
    123146way.major_road[nat_ref:forward][operator][inside("FR")] {
    124147    throwWarning: tr("{0} must be a link road", "{1.tag}");
    125148    group: tr("validation rules nat_ref in France");
    126 }
    127 /* # tag nat_ref is well formed */
     149    -osmoseTags: list("ref", "highway");
     150}
     151
     152/* tag nat_ref is well formed */
    128153way.link_road[nat_ref][operator!="VILLE DE PARIS"][nat_ref!~/([1-9][0-9]|0[1-9])[ANP]9[0-9]{3}[0-9]{2}[a-z]*(|CD)_(1[0-9]|[1-9])$/][inside("FR")] {
    129154    throwWarning: tr("{0} is not a valid reference", "{1.tag}");
    130155    group: tr("validation rules nat_ref in France");
     156    -osmoseTags: list("ref", "highway");
    131157    -osmoseAssertNoMatchWithContext: list("way highway=motorway_link nat_ref=80A901645CD_6 operator=SANEF", "inside=FR");
    132158}
    133 /* # tag nat_ref is well formed specific Paris*/
     159
     160/* tag nat_ref is well formed specific Paris*/
    134161way.link_road[nat_ref][operator="VILLE DE PARIS"][nat_ref!~/75Periph_Paris_[0-9]{2}_(1[0-9]|[1-9])$/][inside("FR")] {
    135162    throwWarning: tr("{0} is not a valid reference (Paris)", "{1.tag}");
    136163    group: tr("validation rules nat_ref in France");
     164    -osmoseTags: list("ref", "highway");
    137165    -osmoseAssertNoMatchWithContext: list("way highway=trunk_link nat_ref=75Periph_Paris_05_3 operator=\"VILLE DE PARIS\"", "inside=FR");
    138166}
     167
    139168way.link_road[nat_ref:forward][nat_ref:forward!~/([1-9][0-9]|0[1-9])[ANP]9[0-9]{3}[0-9]{2}[a-z]*(|CD)_(1[0-9]|[1-9])$/][inside("FR")] {
    140169    throwWarning: tr("{0} is not a valid reference", "{1.tag}");
    141170    group: tr("validation rules nat_ref in France");
     171    -osmoseTags: list("ref", "highway");
    142172    -osmoseAssertNoMatchWithContext: list("way highway=motorway_link nat_ref:forward=62A902615CD_1 nat_ref:backward=62A902615CD_2 operator=SANEF", "inside=FR");
    143173}
     174
    144175way.link_road[nat_ref:backward][nat_ref:backward!~/([1-9][0-9]|0[1-9])[ANP]9[0-9]{3}[0-9]{2}[a-z]*(|CD)_(1[0-9]|[1-9])$/][inside("FR")] {
    145176    throwWarning: tr("{0} is not a valid reference", "{1.tag}");
    146177    group: tr("validation rules nat_ref in France");
    147 }
    148 /* # nat_ref reference without operator */
     178    -osmoseTags: list("ref", "highway");
     179}
     180
     181/* nat_ref reference without operator */
    149182way[highway][nat_ref][!operator][inside("FR")] {
    150183    throwWarning: tr("Missing tag operator with nat_ref");
    151184    group: tr("validation rules nat_ref in France");
    152 }
     185    -osmoseTags: list("ref", "highway");
     186}
     187
    153188way[highway][nat_ref:forward][!operator][inside("FR")] {
    154189    throwWarning: tr("Missing tag operator with nat_ref");
    155190    group: tr("validation rules nat_ref in France");
    156 }
     191    -osmoseTags: list("ref", "highway");
     192}
     193
    157194way[highway][nat_ref:backward][!operator][inside("FR")] {
    158195    throwWarning: tr("Missing tag operator with nat_ref");
    159196    group: tr("validation rules nat_ref in France");
    160 }
     197    -osmoseTags: list("ref", "highway");
     198}
     199
    161200way.link_road[nat_ref:forward][oneway=~/^(yes|1|-1)$/][inside("FR")] {
    162201    throwWarning: tr("{0} no tag forward if oneway", "{2.tag}");
    163202    group: tr("validation rules nat_ref in France");
    164 }
     203    -osmoseTags: list("ref", "highway");
     204}
     205
    165206way.link_road[nat_ref:backward][oneway=~/^(yes|1|-1)$/][inside("FR")] {
    166207    throwWarning: tr("{0} no tag backward if oneway", "{2.tag}");
    167208    group: tr("validation rules nat_ref in France");
    168 }
    169 
     209    -osmoseTags: list("ref", "highway");
     210}
    170211
    171212}}}