Changes between Version 26 and Version 27 of Rules/FranceSpecificRules


Ignore:
Timestamp:
2020-03-30T15:59:44+02:00 (6 years ago)
Author:
didier2020
Comment:

fix osmoseAssert

Legend:

Unmodified
Added
Removed
Modified
  • Rules/FranceSpecificRules

    v26 v27  
    8585    group: tr("missing tag");
    8686}
    87 
    88 /* #xxxxx add validation rules for French RIU (Referentiel Inter Urbain) at https://www.data.gouv.fr/fr/datasets/bornage-du-reseau-routier-national/*
    89 /* # nat_ref is well formed on node (milestone) */
     87/* validation rules for French RIU (Referentiel Inter Urbain) at https://www.data.gouv.fr/fr/datasets/bornage-du-reseau-routier-national /*
    9088node[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")] {
    9189    throwWarning: tr("{0} is not a node valid reference RIU", "{1.tag}");
    92     group: tr("validation rules nat_ref in France");
    93     -osmoseAssertMatch: list("node highway=milestone distance=38 nat_ref=77PR38DC operator=SANEF", "inside=FR");
    94     -osmoseAssertNoMatch: list("node highway=milestone distance=38", "inside=FR");
     90    group: tr("validation rules highway milestone");
     91    -osmoseAssertNoMatch: list("node highway=milestone ref=\"A 4\" distance=38 nat_ref=77PR38DC operator=SANEF", "inside=FR");
    9592}
     93/* missing ref for milestone */
     94node[highway=milestone][!ref][inside("FR")] {
     95    throwWarning: tr("missing ref");
     96    group: tr("validation rules highway milestone");
     97}
     98/* missing distance for milestone */
     99node[highway=milestone][!distance][inside("FR")] {
     100    throwWarning: tr("missing distance");
     101    group: tr("validation rules highway milestone");
     102}
     103
    96104/* # Select major roads */
    97105way[highway=~/^(motorway|trunk|primary|secondary|tertiary)$/] {
     
    106114    throwWarning: tr("{0} must be a link road", "{1.tag}");
    107115    group: tr("validation rules nat_ref in France");
    108     -osmoseAssertMatchWithContext: list("way highway=primary_link nat_ref='62A901609CD_2' operator='SANEF'", "inside=FR");
    109     -osmoseAssertNoMatchWithContext: list("way highway=primary nat_ref='62A901609CD_2' operator='SANEF'", "inside=FR");   
     116    -osmoseAssertNoMatchWithContext: list("way highway=primary_link nat_ref=62A901609CD_2 operator=SANEF", "inside=FR");
    110117}
    111118way.major_road[nat_ref:backward][operator][inside("FR")] {
    112119    throwWarning: tr("{0} must be a link road ", "{1.tag}");
    113120    group: tr("validation rules nat_ref in France");
    114     -osmoseAssertMatchWithContext: list("way highway=motorway_link nat_ref:forward='62A902615CD_1' nat_ref:backward='62A902615CD_2' operator='SANEF'", "inside=FR");
    115     -osmoseAssertNoMatchWithContext: list("way highway=motorway nat_ref:forward='62A902615CD_1' nat_ref:backward='62A902615CD_2' operator='SANEF'", "inside=FR");
     121    -osmoseAssertNoMatchWithContext: list("way highway=motorway_link nat_ref:forward=62A902615CD_1 nat_ref:backward=62A902615CD_2 operator='SANEF'", "inside=FR");
    116122}
    117123way.major_road[nat_ref:forward][operator][inside("FR")] {
     
    123129    throwWarning: tr("{0} is not a valid reference", "{1.tag}");
    124130    group: tr("validation rules nat_ref in France");
    125     -osmoseAssertMatchWithContext: list("way highway=motorway_link nat_ref='94A900402_1' operator='DIRIF'", "inside=FR");
    126     -osmoseAssertMatchWithContext: list("way highway=motorway_link nat_ref='80A901645CD_6' operator='SANEF'", "inside=FR");
    127     -osmoseAssertNoMatchWithContext: list("way highway=primary nat_ref='62A901609CD_2' operator='SANEF'", "inside=FR");
     131    -osmoseAssertNoMatchWithContext: list("way highway=motorway_link nat_ref=80A901645CD_6 operator=SANEF", "inside=FR");
    128132}
    129133/* # tag nat_ref is well formed specific Paris*/
     
    131135    throwWarning: tr("{0} is not a valid reference (Paris)", "{1.tag}");
    132136    group: tr("validation rules nat_ref in France");
    133     -osmoseAssertMatchWithContext: list("way highway=trunk_link nat_ref='75Periph_Paris_05_3' operator='VILLE DE PARIS'", "inside=FR");
     137    -osmoseAssertNoMatchWithContext: list("way highway=trunk_link nat_ref=75Periph_Paris_05_3 operator=\"VILLE DE PARIS\"", "inside=FR");
    134138}
    135139way.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")][one_way!=yes] {
    136140    throwWarning: tr("{0} is not a valid reference", "{1.tag}");
    137141    group: tr("validation rules nat_ref in France");
    138     -osmoseAssertMatchWithContext: list("way highway=motorway_link nat_ref:forward='62A902615CD_1' nat_ref:backward='62A902615CD_2' operator=SANEF", "inside=FR");
    139     -osmoseAssertNoMatchWithContext: list("way highway=motorway_link nat_ref:forward='62A902615CD_1' one_way='yes' operator='SANEF'", "inside=FR");
    140     -osmoseAssertNoMatchWithContext: list("way highway=motorway nat_ref:forward='62A902615CD_1' one_way='no' operator='SANEF'", "inside=FR");
     142    -osmoseAssertNoMatchWithContext: list("way highway=motorway_link nat_ref:forward=62A902615CD_1 nat_ref:backward=62A902615CD_2 operator=SANEF", "inside=FR");
    141143}
    142 way.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")][one_way!=yes] {
     144way.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])$/][one_way!=yes][inside("FR")] {
    143145    throwWarning: tr("{0} is not a valid reference", "{1.tag}");
    144146    group: tr("validation rules nat_ref in France");