La Documentation du validateur BAL
Documentation Validateur
Le Validateur BAL vérifie qu'un fichier soit conforme au format Base Adresse Locale.
Il est utilisé pour s'assurer avant la publication que toutes les adresses d'une BAL remonteront correctement dans la Base Adresse Nationale.
Il existe trois profils sur le validateur :- BAL 1.3 est le profil par défaut. Il permet plus de tolérance tout en assurant une intégrité minimale de la donnée adresse.
- BAL 1.3 Strict Il assure une conformité complète avec la spécification de l'AITF.
- BAL 1.4 Strict (beta) est le profil du format BAL 1.4. Il prend en compte les spécification relatif aux nouvelles colonne id_ban_commune, id_ban_toponyme et id_ban_adresse.
Si le fichier est invalide, le validateur BAL affiche un rapport en deux parties.
Validation générale
Tout d'abord une validation générale sur tout le fichier qui renvoie les éléments suivants :- Les erreurs sont bloquantes et entraînent un rejet du fichier BAL. Il sera considéré comme non valide.
- Les alertes n'empêchent pas la publication et le fichier BAL sera donc accepté, mais ces dernières peuvent être corrigées pour une meilleure intégrité des données.
BAL 1.4 (beta)
row | |
row.incoherence_numero | Le numéro ne correspond pas à la valeur présente dans la clé |
row.commune_manquante | Aucun code commune valide n’est renseigné |
row.longlat_vides | Les coordonnées long/lat ne sont pas renseignées |
row.longlat_invalides | Les coordonnées long/lat sont en dehors du territoire ou invalides |
row.adresse_incomplete | L’adresse est incomplète (numéro ou nom de la voie non renseignés) |
row.incoherence_ids_ban | Les ids ban renseignés ne sont pas cohérents |
row.id_ban_adresses_required | id_ban_adresses est requis les ids ban et le numero sont renseigné |
field | |
field.commune_insee.missing | La colonne commune_insee n’existe pas |
field.voie_nom.missing | La colonne voie_nom n’existe pas |
field.numero.missing | La colonne numero n’existe pas |
field.commune_nom.long | field.commune_nom.long |
field.commune_nom.lat | field.commune_nom.lat |
file | |
file.encoding.non_standard | file.encoding.non_standard |
file.delimiter.non_standard | file.delimiter.non_standard |
file.linebreak.non_standard | file.linebreak.non_standard |
rows | |
rows.empty | Aucune ligne détecté |
rows.ids_required_every | Les ids ban sont requis pour toutes les lignes si ils sont utlisés |
id_ban_commune | |
id_ban_commune.type_invalide | La valeur de id_ban_commune n’est pas un uuidv4 valide |
id_ban_toponyme | |
id_ban_toponyme.type_invalide | La valeur de id_ban_toponyme n’est pas un uuidv4 valide |
id_ban_adresse | |
id_ban_adresse.type_invalide | La valeur de id_ban_adresse n’est pas un uuidv4 valide |
voie_nom_@@ (code régional en 3 lettres) | |
voie_nom_@@.casse_incorrecte | Le nom de la voie est en majuscules [eus] |
voie_nom_@@.contient_tiret_bas | Le nom de la voie contient un caractère tiret bas [eus] |
voie_nom_@@.trop_court | Le nom de la voie est trop court (3 caractères minimum) [eus] |
voie_nom_@@.trop_long | Le nom de la voie est trop long (200 caractères maximum) [eus] |
voie_nom_@@.caractere_invalide | Le champ voie_nom contient des caractères non valides |
voie_nom_@@.espaces_debut_fin | La valeur du champ voie_nom ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
row | |
row.position_manquante | Position nulle |
row.chef_lieu_invalide | La code INSEE de la commune courante ne correspond pas au chef lieu de la commune disparue renseignée |
row.longlat_xy_incoherents | Les coordonnées long/lat et x/y ne sont pas cohérentes |
field | |
field.suffixe.missing | La colonne suffixe n’existe pas |
field.cle_interop.missing | La colonne cle_interop n’existe pas |
field.position.missing | La colonne position n’existe pas |
field.long.missing | La colonne long n’existe pas |
field.lat.missing | La colonne lat n’existe pas |
field.x.missing | La colonne x n’existe pas |
field.y.missing | La colonne y n’existe pas |
field.source.missing | La colonne source n’existe pas |
field.date_der_maj.missing | La colonne date_der_maj n’existe pas |
field.certification_commune.missing | La colonne certification_commune n’existe pas |
field.id_ban_commune.missing | La colonne id_ban_commune n’existe pas |
field.id_ban_toponyme.missing | La colonne id_ban_toponyme n’existe pas |
field.id_ban_adresse.missing | La colonne id_ban_adresse n’existe pas |
lieudit_complement_nom_@@ (code régional en 3 lettres) | |
lieudit_complement_nom_@@.espaces_debut_fin | La valeur du champ lieudit_complement_nom ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
BAL 1.3 (défaut)
row | |
row.incoherence_numero | Le numéro ne correspond pas à la valeur présente dans la clé |
row.commune_manquante | Aucun code commune valide n’est renseigné |
row.longlat_vides | Les coordonnées long/lat ne sont pas renseignées |
row.longlat_invalides | Les coordonnées long/lat sont en dehors du territoire ou invalides |
row.adresse_incomplete | L’adresse est incomplète (numéro ou nom de la voie non renseignés) |
field | |
field.commune_insee.missing | La colonne commune_insee n’existe pas |
field.voie_nom.missing | La colonne voie_nom n’existe pas |
field.numero.missing | La colonne numero n’existe pas |
field.commune_nom.long | field.commune_nom.long |
field.commune_nom.lat | field.commune_nom.lat |
file | |
file.encoding.non_standard | file.encoding.non_standard |
file.delimiter.non_standard | file.delimiter.non_standard |
file.linebreak.non_standard | file.linebreak.non_standard |
rows | |
rows.empty | Aucune ligne détecté |
voie_nom_@@ (code régional en 3 lettres) | |
voie_nom_@@.casse_incorrecte | Le nom de la voie est en majuscules [eus] |
voie_nom_@@.contient_tiret_bas | Le nom de la voie contient un caractère tiret bas [eus] |
voie_nom_@@.trop_court | Le nom de la voie est trop court (3 caractères minimum) [eus] |
voie_nom_@@.trop_long | Le nom de la voie est trop long (200 caractères maximum) [eus] |
voie_nom_@@.caractere_invalide | Le champ voie_nom contient des caractères non valides |
voie_nom_@@.espaces_debut_fin | La valeur du champ voie_nom ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
row | |
row.position_manquante | Position nulle |
row.chef_lieu_invalide | La code INSEE de la commune courante ne correspond pas au chef lieu de la commune disparue renseignée |
row.longlat_xy_incoherents | Les coordonnées long/lat et x/y ne sont pas cohérentes |
field | |
field.suffixe.missing | La colonne suffixe n’existe pas |
field.cle_interop.missing | La colonne cle_interop n’existe pas |
field.position.missing | La colonne position n’existe pas |
field.long.missing | La colonne long n’existe pas |
field.lat.missing | La colonne lat n’existe pas |
field.x.missing | La colonne x n’existe pas |
field.y.missing | La colonne y n’existe pas |
field.source.missing | La colonne source n’existe pas |
field.date_der_maj.missing | La colonne date_der_maj n’existe pas |
field.certification_commune.missing | La colonne certification_commune n’existe pas |
lieudit_complement_nom_@@ (code régional en 3 lettres) | |
lieudit_complement_nom_@@.espaces_debut_fin | La valeur du champ lieudit_complement_nom ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
Validation ligne par ligne
Puis une validation adresse par adresse qui renvoie les éléments suivants :- Les erreurs sont bloquantes et entraînent un rejet de l'adresse concernée. La BAL publiée sera alors incomplète.
- Les alertes n'empêchent pas la publication et l'adresse sera donc acceptée, mais les informations rattachées à l'adresse seront dégradées.
BAL 1.4 (beta)
cle_interop | |
cle_interop.structure_invalide | La clé d’interopérabilité doit contenir au moins 3 segments |
cle_interop.commune_invalide | Clé d’interopérabilité invalide (commune) |
cle_interop.numero_invalide | Clé d’interopérabilité invalide (numéro) |
cle_interop.valeur_manquante | Le champ cle_interop ne doit pas être vide |
cle_interop.numero_prefixe_manquant | La partie numéro de la clé d’interopérabilité doit contenir 5 caractères |
cle_interop.casse_invalide | La clé d’interopérabilité doit être en minuscules |
voie_nom | |
voie_nom.valeur_manquante | Le champ voie_nom ne doit pas être vide |
voie_nom.trop_court | Le nom de la voie est trop court (3 caractères minimum) |
voie_nom.trop_long | Le nom de la voie est trop long (200 caractères maximum) |
voie_nom.caractere_invalide | Le champ voie_nom contient des caractères non valides |
numero | |
numero.valeur_manquante | Le champ numero ne doit pas être vide |
numero.type_invalide | La valeur du champ numéro doit être un nombre entier |
numero.trop_grand | Le numéro doit être compris entre 0 et 9999 (sauf toponyme) |
numero.contient_prefixe | La valeur du champ numéro ne doit pas être préfixée par des zéros |
suffixe | |
suffixe.debut_invalide | La valeur du champ suffixe doit commencer par un caractère alphanumérique. |
suffixe.trop_long | La valeur du champ suffixe est trop longue |
suffixe.espaces_debut_fin | La valeur du champ suffixe ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
date_der_maj | |
date_der_maj.date_invalide | Date invalide |
commune_insee | |
commune_insee.commune_invalide | Le code INSEE de la commune n’est pas un code ayant existé |
commune_insee.valeur_manquante | Le champ commune_insee ne doit pas être vide |
commune_insee.espaces_debut_fin | La valeur du champ commune_insee ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
x | |
x.valeur_invalide | La valeur du champ x est incorrecte |
x.separateur_decimal_invalide | Le séparateur des décimales du champ x doit être le point |
y | |
y.valeur_invalide | La valeur du champ y est incorrecte |
y.separateur_decimal_invalide | Le séparateur des décimales du champ y doit être le point |
long | |
long.valeur_invalide | La valeur du champ long est incorrecte |
long.separateur_decimal_invalide | Le séparateur des décimales du champ long doit être le point |
lat | |
lat.valeur_invalide | La valeur du champ lat est incorrecte |
lat.separateur_decimal_invalide | Le séparateur des décimales du champ lat doit être le point |
cle_interop | |
cle_interop.voie_invalide | Clé d’interopérabilité invalide (voie) |
cle_interop.commune_ancienne | La commune référencée est une commune ancienne |
cle_interop.espaces_debut_fin | La valeur du champ cle_interop ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
voie_nom | |
voie_nom.casse_incorrecte | Le nom de la voie est en majuscules |
voie_nom.contient_tiret_bas | Le nom de la voie contient un caractère tiret bas |
voie_nom.espaces_debut_fin | La valeur du champ voie_nom ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
commune_insee | |
commune_insee.commune_ancienne | Le code INSEE de la commune est le code d’une commune ancienne |
commune_deleguee_insee | |
commune_deleguee_insee.commune_invalide | Le code INSEE renseigné n’est pas un code valide ou n’a jamais existé |
commune_deleguee_insee.commune_actuelle_non_deleguee | Le code INSEE renseigné correspond au code d’une commune actuelle dont le chef lieu n’est pas une commune déléguée |
commune_deleguee_insee.commune_ancienne_non_deleguee | Le code INSEE renseigné correspond au code d’une commune ancienne qui n’a pas le statut de commune déléguée |
commune_deleguee_insee.espaces_debut_fin | La valeur du champ commune_deleguee_insee ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
position | |
position.enum_fuzzy | La valeur du champ position a été acceptée mais n’est pas conforme à la spécification |
position.valeur_invalide | La valeur du champ position est incorrecte |
position.espaces_debut_fin | La valeur du champ position ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
cad_parcelles | |
cad_parcelles.valeur_invalide | La valeur du champ cad_parcelles est incorrecte |
cad_parcelles.pipe_debut_fin | Le symbole | ne doit pas être utilisé en début ou fin de chaîne |
cad_parcelles.espaces_debut_fin | La valeur du champ cad_parcelles ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
source | |
source.valeur_manquante | Le champ source ne doit pas être vide |
source.espaces_debut_fin | La valeur du champ source ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
date_der_maj | |
date_der_maj.valeur_manquante | Le champ date_der_maj ne doit pas être vide |
date_der_maj.date_ancienne | Date trop ancienne |
date_der_maj.date_future | Date dans le futur |
date_der_maj.espaces_debut_fin | La valeur du champ date_der_maj ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
certification_commune | |
certification_commune.valeur_invalide | La valeur du champ certification_commune est incorrecte |
commune_nom | |
commune_nom.espaces_debut_fin | La valeur du champ commune_nom ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
commune_deleguee_nom | |
commune_deleguee_nom.espaces_debut_fin | La valeur du champ commune_deleguee_nom ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
uid_adresse | |
uid_adresse.espaces_debut_fin | La valeur du champ uid_adresse ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
uid_adresse.type_invalide | La valeur de uid_adresse n’est pas valide |
uid_adresse.incoherence_ids_ban | Les ids ban renseignés ne sont pas cohérents |
lieudit_complement_nom | |
lieudit_complement_nom.espaces_debut_fin | La valeur du champ lieudit_complement_nom ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
numero | |
numero.espaces_debut_fin | La valeur du champ numero ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
long | |
long.espaces_debut_fin | La valeur du champ long ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
lat | |
lat.espaces_debut_fin | La valeur du champ lat ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
x | |
x.espaces_debut_fin | La valeur du champ x ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
y | |
y.espaces_debut_fin | La valeur du champ y ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
BAL 1.3 (défaut)
cle_interop | |
cle_interop.structure_invalide | La clé d’interopérabilité doit contenir au moins 3 segments |
cle_interop.commune_invalide | Clé d’interopérabilité invalide (commune) |
cle_interop.numero_invalide | Clé d’interopérabilité invalide (numéro) |
cle_interop.valeur_manquante | Le champ cle_interop ne doit pas être vide |
cle_interop.numero_prefixe_manquant | La partie numéro de la clé d’interopérabilité doit contenir 5 caractères |
cle_interop.casse_invalide | La clé d’interopérabilité doit être en minuscules |
voie_nom | |
voie_nom.valeur_manquante | Le champ voie_nom ne doit pas être vide |
voie_nom.trop_court | Le nom de la voie est trop court (3 caractères minimum) |
voie_nom.trop_long | Le nom de la voie est trop long (200 caractères maximum) |
voie_nom.caractere_invalide | Le champ voie_nom contient des caractères non valides |
numero | |
numero.valeur_manquante | Le champ numero ne doit pas être vide |
numero.type_invalide | La valeur du champ numéro doit être un nombre entier |
numero.trop_grand | Le numéro doit être compris entre 0 et 9999 (sauf toponyme) |
numero.contient_prefixe | La valeur du champ numéro ne doit pas être préfixée par des zéros |
suffixe | |
suffixe.debut_invalide | La valeur du champ suffixe doit commencer par un caractère alphanumérique. |
suffixe.trop_long | La valeur du champ suffixe est trop longue |
suffixe.espaces_debut_fin | La valeur du champ suffixe ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
date_der_maj | |
date_der_maj.date_invalide | Date invalide |
commune_insee | |
commune_insee.commune_invalide | Le code INSEE de la commune n’est pas un code ayant existé |
commune_insee.valeur_manquante | Le champ commune_insee ne doit pas être vide |
commune_insee.espaces_debut_fin | La valeur du champ commune_insee ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
x | |
x.valeur_invalide | La valeur du champ x est incorrecte |
x.separateur_decimal_invalide | Le séparateur des décimales du champ x doit être le point |
y | |
y.valeur_invalide | La valeur du champ y est incorrecte |
y.separateur_decimal_invalide | Le séparateur des décimales du champ y doit être le point |
long | |
long.valeur_invalide | La valeur du champ long est incorrecte |
long.separateur_decimal_invalide | Le séparateur des décimales du champ long doit être le point |
lat | |
lat.valeur_invalide | La valeur du champ lat est incorrecte |
lat.separateur_decimal_invalide | Le séparateur des décimales du champ lat doit être le point |
cle_interop | |
cle_interop.voie_invalide | Clé d’interopérabilité invalide (voie) |
cle_interop.commune_ancienne | La commune référencée est une commune ancienne |
cle_interop.espaces_debut_fin | La valeur du champ cle_interop ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
voie_nom | |
voie_nom.casse_incorrecte | Le nom de la voie est en majuscules |
voie_nom.contient_tiret_bas | Le nom de la voie contient un caractère tiret bas |
voie_nom.espaces_debut_fin | La valeur du champ voie_nom ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
commune_insee | |
commune_insee.commune_ancienne | Le code INSEE de la commune est le code d’une commune ancienne |
commune_deleguee_insee | |
commune_deleguee_insee.commune_invalide | Le code INSEE renseigné n’est pas un code valide ou n’a jamais existé |
commune_deleguee_insee.commune_actuelle_non_deleguee | Le code INSEE renseigné correspond au code d’une commune actuelle dont le chef lieu n’est pas une commune déléguée |
commune_deleguee_insee.commune_ancienne_non_deleguee | Le code INSEE renseigné correspond au code d’une commune ancienne qui n’a pas le statut de commune déléguée |
commune_deleguee_insee.espaces_debut_fin | La valeur du champ commune_deleguee_insee ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
position | |
position.enum_fuzzy | La valeur du champ position a été acceptée mais n’est pas conforme à la spécification |
position.valeur_invalide | La valeur du champ position est incorrecte |
position.espaces_debut_fin | La valeur du champ position ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
cad_parcelles | |
cad_parcelles.valeur_invalide | La valeur du champ cad_parcelles est incorrecte |
cad_parcelles.pipe_debut_fin | Le symbole | ne doit pas être utilisé en début ou fin de chaîne |
cad_parcelles.espaces_debut_fin | La valeur du champ cad_parcelles ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
source | |
source.valeur_manquante | Le champ source ne doit pas être vide |
source.espaces_debut_fin | La valeur du champ source ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
date_der_maj | |
date_der_maj.valeur_manquante | Le champ date_der_maj ne doit pas être vide |
date_der_maj.date_ancienne | Date trop ancienne |
date_der_maj.date_future | Date dans le futur |
date_der_maj.espaces_debut_fin | La valeur du champ date_der_maj ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
certification_commune | |
certification_commune.valeur_invalide | La valeur du champ certification_commune est incorrecte |
commune_nom | |
commune_nom.espaces_debut_fin | La valeur du champ commune_nom ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
commune_deleguee_nom | |
commune_deleguee_nom.espaces_debut_fin | La valeur du champ commune_deleguee_nom ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
uid_adresse | |
uid_adresse.espaces_debut_fin | La valeur du champ uid_adresse ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
uid_adresse.type_invalide | La valeur de uid_adresse n’est pas valide |
uid_adresse.incoherence_ids_ban | Les ids ban renseignés ne sont pas cohérents |
lieudit_complement_nom | |
lieudit_complement_nom.espaces_debut_fin | La valeur du champ lieudit_complement_nom ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
numero | |
numero.espaces_debut_fin | La valeur du champ numero ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
long | |
long.espaces_debut_fin | La valeur du champ long ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
lat | |
lat.espaces_debut_fin | La valeur du champ lat ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
x | |
x.espaces_debut_fin | La valeur du champ x ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |
y | |
y.espaces_debut_fin | La valeur du champ y ne doit pas avoir d’espaces en début ou en fin de chaîne de caractère |