EDIGEO
# EDIGEO

EDIGEO ou ÉDIGÉO, parfois banalisé en édigéo, est un acronyme désignant la norme définie par l'AFNOR dans le domaine de l'information géographique (référence NF Z 52000).

EDIGEO veut dire Échange de données informatisées dans le domaine de l'information géographique.

## Principe d'un échange EDIGEO

EDIGEO prévoit que l'émetteur et le récepteur de données se mettent d'accord sur un modèle des données à échanger.

Cela implique donc que ces données soient gérées par l'émetteur et intéressantes pour le récepteur.

Toutefois, la fourniture de données par un acteur public peut conduire à la définition d'un modèle par cet acteur. Le récepteur prenant ce qui l'intéresse. C'est par exemple le cas des données cadastrales.

Lors d'un échange de données utilisant EDIGEO, 3 modèles de données sont concernés :

* Le modèle de données de l'émetteur (noté MCDe)
* Le modèle de données du récepteur (noté MCDr)
* Le modèle de données de l'échange (noté SCD). Un SCD conventionnel sera donc un sous-ensemble de l'intersection des modèles MCDe et MCDr.

## But et utilisation de la norme

Cette norme de transmission est destinée à transférer des données entre différents SIG (systèmes d'information géographique) et est orientée base de données : elle décrit les différents objets par leurs relations de construction et sémantiques entre eux (topologiques ou non)

Actuellement, en France c'est principalement la norme d'échange des données du Plan Cadastral Informatisé (PCI). L'IGN peut également fournir ses données à la norme Edigéo (mais avec une structure différente de celle du Cadastre).

## Structure générale d'un échange

La norme EDIGEO entre dans les récentes applications de la Direction générale des Finances publiques (DGFiP), administration issue de la fusion des administrations de la Direction générale des Impôts (DGI) et de la Direction générale de la Comptabilité publique (DGCP). Ces applications sont par exemple : EDEN, ECHO, ESCALE, ESCAPE.

La norme définit non pas une structure de donnée figée permettant d'échanger des informations géographiques, mais la manière d'échanger les données et de décrire la structure de donnée transmise. On parle de lot édigéo transmis. Ce lot comporte donc une description de la structure des données transmises et les données elles-mêmes.

Les données transmises peuvent être de tout ordre, notamment : vectorielles (définitions géométriques des objets) ou matricielles (définitions sous forme d'images sous forme de pixels, autrement dit raster) et évidemment littérales.

Un lot edigéo comprend un certain nombre de fichiers d'extensions suivantes :

* THF : fichier principal décrivant la transmission de données (références aux fichiers). Un échange EDIGEO peut comporter plusieurs lots. Chaque lot comprend les fichiers suivants :
* GEN : données générales (types de structure des sous ensembles) (1 fichier par lot),
* GEO : sous ensemble de la référence des coordonnées (1 fichier par lot)
* QAL : sous ensemble de la description de la qualité (0 ou 1 fichier par lot)
* DIC : sous ensemble du dictionnaire ou nomenclature (1 fichier par lot)
* SCD : sous ensemble du schéma conceptuel des données (1 fichier par lot)
* VEC : sous ensemble des données géographiques vectorielles (0 à N fichiers par lot, au moins 1 s'il n'existe pas de sous ensemble de données matricielles)
* MAT : sous ensemble des données géographiques matricielles (0 à N fichiers par lot, au moins 1 s'il n'existe pas de sous ensemble de données vectorielles)

Tous ces fichiers sont des fichiers textes éditables (les fichiers MAT peuvent être binaires).

## Structure des « métafichiers »

Les fichiers d'un échange ÉDIGÉO sont appelés « métafichiers » par la norme.

Ils comprennent :

* Un entête,
* Une liste de descripteurs,
* Une fin.

Ces trois éléments sont tous formés de champs. descripteurs et champs peuvent être définis par analogie avec une base de données. Un descripteur est une ligne dans une table, Un champ est un attribut de cette ligne.

### Structure d'un champ

Un champ est formé de 6 parties. Voyons ces 6 parties à partir d'un exemple :

Exemple : RIDSA16:ID_N_OBJ_E_2_1_0

* Nom : 3 caractères. Exemple "RID". Un champ RID est l'identifiant d'un descripteur.
* Nature : 1 caractère. Exemple "S". La nature définie un champ "Simple".
* Format : 1 caractère. Exemple "A". Le format A défini une information alphanumérique
* Longueur : 2 caractères. Exemple "16". L'information a une longueur de 16 caractères
* Séparateur : 1 caractère. Toujours le caractère « : »
* Valeur : n caractères. Exemple : ID_N_OBJ_E_2_1_0

La prochaine lettre majuscule qui suit la valeur commencera le champ suivant (sauf lorsqu'il s'agit du champ « EOM » de fin de métafichier).

### Structure de l'entête

Un entête de métafichier est toujours constitué de 2 champs obligatoires : BOM et CSE.

Le champ BOM (Begin Of Metafile) a pour valeur le nom du métafichier (ex : BOMT 12:EDIGEOSA.VEC)

Le champ CSE précise le jeu de caractère choisi parmi IRV, 646-FRANCE, 8859-1, 8859-2, 8859-3, 8859-4, 8859-5, 8859-6, 8859-7, 8859-8, 8859-9, JEC.

### Structure de la fin

La fin d'un métafichier est toujours constitué d'un champ unique de longueur nulle : EOM donc EOMT 00:

## Métafichier THF

Le métafichier THF contient dans l'ordre : un descripteur d'entête, un descripteur de support, n descripteurs de lots (n étant précisé dans le champ LOC du support) et un descripteur de fin.

### Descripteur de l'entête d'un métafichier THF

| Libellé | Nom | Nature | Format | Valeur | Contrainte |
| - | - | - | - | - | - |
| Entête de métafichier THF |||||||
| Début de métafichier THF | BOM | T (réservé) | espace (réservé) | Nom du fichier THF | Obligatoire |
| Jeu de caractère | CSE | T (réservé) | espace (réservé) | Dans la liste IRV, ..., JEC | Obligatoire |

### Descripteur de support

| Libellé | Nom | Nature | Format | Valeur | Contrainte |
| - | - | - | - | - | - |
| Support |||||||
| Type du descripteur | RTY | S (Simple) | A (Chaîne) | GTS | Obligatoire |
| Id du descripteur | RID | S (Simple) | A (Chaîne) | non vide | Obligatoire |
| Auteur | AUT | S (Simple) | T (Texte) | non vide | Obligatoire |
| Destinataire | ADR | S (Simple) | T (Texte) | non vide | Obligatoire |
| Nb de lots géographiques | LOC | S (Simple) | N (Nb ∈ ℕ) | LOC > 0 | Obligatoire |
| Nb de volumes | VOC | S (Simple) | N (Nb ∈ ℕ) | VOC nul si absent | Facultatif |
| Label du volume | VOL | S (Simple) | A (Chaîne) | | Autant qu'indiqué par VOC |
| Classification de sûreté | SEC | S (Simple) | N (Nb ∈ ℕ) | SEC ∈ [1, 7] 7 si absent | Facultatif ≥ max (sûretés individuelles) |
| Restriction de diffusion | RDI | S (Simple) | T (Texte) | | Facultatif |
| Version EDIGÉO | VER | S (Simple) | T (Texte) | 1.0 | Obligatoire |
| Date version EDIGÉO | VDA | S (Simple) | D (Date) | | Facultatif, date valide |
| Nom de la transmission | TRL | S (Simple) | T (Texte) | | Obligatoire |
| N° d'édition transmission | EDN | S (Simple) | N (Nb ∈ ℕ) | EDN > 0 | Obligatoire |
| Date de la transmission | TDA | S (Simple) | D (Date) | | Facultatif, date valide |
| Infos de la transmission | INF | S (Simple) | T (Texte) | | Facultatif |

### Descripteur de lot

Il y a autant de descripteurs de lots qu'indiqué par le champ LOC du support (descripteur de type GTS)

| Libellé | Nom | Nature | Format | Valeur | Contrainte |
| - | - | - | - | - | - |
| Lot |||||||
| Type du descripteur | RTY | S (Simple) | A (Chaîne) | GTL | Obligatoire |
| Id du descripteur | RID | S (Simple) | A (Chaîne) | non vide | Obligatoire |
| Nom du lot | LON | S (Simple) | A (Chaîne) | [A-Z]([A-Z0-9])⁵ | Obligatoire |
| Informations sur le lot | INF | S (Simple) | T (Texte) | | Facultatif |
| Nom du sous-ensemble GEN | GNN | S (Simple) | A (Chaîne) | ([A-Z0-9])² | Obligatoire |
| Id du sous-ensemble GEN | GNI | S (Simple) | A (Chaîne) | | Obligatoire, unique |
| Nom du sous-ensemble GÉO | GON | S (Simple) | A (Chaîne) | ([A-Z0-9])² | Obligatoire |
| Id du sous-ensemble GÉO | GOI | S (Simple) | A (Chaîne) | | Obligatoire, unique |
| Nom du sous-ensemble QAL | QAN | S (Simple) | A (Chaîne) | ([A-Z0-9])² | Obligatoire |
| Id du sous-ensemble QAL | QAI | S (Simple) | A (Chaîne) | | Obligatoire, unique |
| Nom du sous-ensemble DIC | DIN | S (Simple) | A (Chaîne) | ([A-Z0-9])² | Obligatoire |
| Id du sous-ensemble DIC | DII | S (Simple) | A (Chaîne) | | Obligatoire, unique |
| Nom du sous-ensemble SCD | SCN | S (Simple) | A (Chaîne) | ([A-Z0-9])² | Obligatoire |
| Id du sous-ensemble SCD | SCI | S (Simple) | A (Chaîne) | | Obligatoire, unique |
| Nombre de sous-ensembles VEC et MAT | GDC | S (Simple) | N (Nb ∈ ℕ) | GDC > 0 | Obligatoire |
| Nom du sous-ensemble VEC ou MAT | GDN | S (Simple) | A (Chaîne) | ([A-Z0-9])² | Autant de couples (GDN, GDI) qu'indiqué par GDC |
| Id du sous-ensemble VEC ou MAT | GDI | S (Simple) | A (Chaîne) | | Autant de couples (GDN, GDI) qu'indiqué par GDC, unique |

Le type d'un sous-ensemble VEC ou MAT sera précisé dans le sous-ensemble de données générales "GEN" (champ STR du descripteur de type GSE associé). Ce type permettra de préciser l'extension du métafichier correspondant.

### Descripteur de fin de métafichier THF

| Libellé | Nom | Nature | Format | Sous champ | Valeur | Contrainte |
| - | - | - | - | - | - | - |
| Fin de métafichier THF |||||||
| Fin de métafichier THF | EOM | T (réservé) | espace (réservé) | | vide | Obligatoire |

## Métafichier GEN

### Descripteur de l'entête d'un métafichier GEN

| Libellé | Nom | Nature | Format | Valeur | Contrainte |
| - | - | - | - | - | - |
| Entête de métafichier GEN |||||||
| Début de métafichier GEN | BOM | T (réservé) | espace (réservé) | Nom du fichier GEN | Obligatoire |
| Jeu de caractère | CSE | T (réservé) | espace (réservé) | Dans la liste IRV, ..., JEC | Obligatoire |

### Descripteur d'étendue géographique

| Libellé | Nom | Nature | Format | Sous champ | Valeur | Contrainte |
| - | - | - | - | - | - | - |
| Étendue géographique |||||||
| Type du descripteur | RTY | S (Simple) | A (Chaîne) | | DEG | Obligatoire |
| Id du descripteur | RID | S (Simple) | A (Chaîne) | | non vide | Obligatoire |
| Coordonnées minimales | CM1 | C (Complexe) | C (Coordonnée) | | | Obligatoire |
| Abscisse minimale | | S (Simple) | ℝ signé | COX | | Obligatoire |
| Ordonnée minimale | | S (Simple) | ℝ signé | COY | | Obligatoire |
| Altitude minimale | | S (Simple) | ℝ signé | COZ | | Facultatif si GEO.ALS=2 |
| Coordonnées maximales | CM2 | C (Complexe) | C (Coordonnée) | | | Obligatoire |
| Abscisse maximale | | S (Simple) | ℝ signé | COX | | Obligatoire |
| Ordonnée maximale | | S (Simple) | ℝ signé | COY | | Obligatoire |
| Altitude maximale | | S (Simple) | ℝ signé | COZ | | Facultatif si GEO.ALS=2 |

### Descripteur de fin d'un métafichier GEN

| Libellé | Nom | Nature | Format | Sous champ | Valeur | Contrainte |
| - | - | - | - | - | - | - |
| Fin de métafichier GEN |||||||
| Fin de métafichier GEN | EOM | T (réservé) | espace (réservé) | | vide | Obligatoire |

## Métafichier GEO

### Descripteur de l'entête d'un métafichier GEO

| Libellé | Nom | Nature | Format | Valeur | Contrainte |
| - | - | - | - | - | - |
| Entête de métafichier GEO |||||||
| Début de métafichier GEO | BOM | T (réservé) | espace (réservé) | Nom du fichier GEO | Obligatoire |
| Jeu de caractère | CSE | T (réservé) | espace (réservé) | Dans la liste IRV, ..., JEC | Obligatoire |

### Descripteur de fin d'un métafichier GEO

| Libellé | Nom | Nature | Format | Sous champ | Valeur | Contrainte |
| - | - | - | - | - | - | - |
| Fin de métafichier GEO |||||||
| Fin de métafichier GEO | EOM | T (réservé) | espace (réservé) | | vide | Obligatoire |

## Métafichier QAL

### Descripteur de l'entête d'un métafichier QAL

| Libellé | Nom | Nature | Format | Valeur | Contrainte |
| - | - | - | - | - | - |
| Entête de métafichier QAL |||||||
| Début de métafichier QAL | BOM | T (réservé) | espace (réservé) | Nom du fichier QAL | Obligatoire |
| Jeu de caractère | CSE | T (réservé) | espace (réservé) | Dans la liste IRV, ..., JEC | Obligatoire |

### Descripteur de fin d'un métafichier QAL

| Libellé | Nom | Nature | Format | Sous champ | Valeur | Contrainte |
| - | - | - | - | - | - | - |
| Fin de métafichier QAL |||||||
| Fin de métafichier QAL | EOM | T (réservé) | espace (réservé) | | vide | Obligatoire |

## Métafichier DIC

### Descripteur de l'entête d'un métafichier DIC

| Libellé | Nom | Nature | Format | Valeur | Contrainte |
| - | - | - | - | - | - |
| Entête de métafichier DIC |||||||
| Début de métafichier DIC | BOM | T (réservé) | espace (réservé) | Nom du fichier DIC | Obligatoire |
| Jeu de caractère | CSE | T (réservé) | espace (réservé) | Dans la liste IRV, ..., JEC | Obligatoire |

### Descripteur de fin d'un métafichier DIC

| Libellé | Nom | Nature | Format | Sous champ | Valeur | Contrainte |
| - | - | - | - | - | - | - |
| Fin de métafichier DIC |||||||
| Fin de métafichier DIC | EOM | T (réservé) | espace (réservé) | | vide | Obligatoire |

## Métafichier SCD

### Descripteur de l'entête d'un métafichier SCD

| Libellé | Nom | Nature | Format | Valeur | Contrainte |
| - | - | - | - | - | - |
| Entête de métafichier SCD |||||||
| Début de métafichier SCD | BOM | T (réservé) | espace (réservé) | Nom du fichier SCD | Obligatoire |
| Jeu de caractère | CSE | T (réservé) | espace (réservé) | Dans la liste IRV, ..., JEC | Obligatoire |

### Descripteur de fin d'un métafichier SCD

| Libellé | Nom | Nature | Format | Sous champ | Valeur | Contrainte |
| - | - | - | - | - | - | - |
| Fin de métafichier SCD |||||||
| Fin de métafichier SCD | EOM | T (réservé) | espace (réservé) | | vide | Obligatoire |

## Métafichier VEC

### Descripteur de l'entête d'un métafichier VEC

| Libellé | Nom | Nature | Format | Valeur | Contrainte |
| - | - | - | - | - | - |
| Entête de métafichier VEC |||||||
| Début de métafichier VEC | BOM | T (réservé) | espace (réservé) | Nom du fichier VEC | Obligatoire |
| Jeu de caractère | CSE | T (réservé) | espace (réservé) | Dans la liste IRV, ..., JEC | Obligatoire |

### Descripteur de fin d'un métafichier VEC

| Libellé | Nom | Nature | Format | Sous champ | Valeur | Contrainte |
| - | - | - | - | - | - | - |
| Fin de métafichier VEC |||||||
| Fin de métafichier VEC | EOM | T (réservé) | espace (réservé) | | vide | Obligatoire |
