Les contraintes topologiques dans Qualigéo

Une règle topologique définit les relations spatiales entre des entités vectorielles (points, polylignes, polygones) connectées ou adjacentes .

Le formulaire caractéristiques de la contrainte topologique permet de spécifier des règles topologiques qui lient les entités les unes aux autres. Par exemple, deux parcelles adjacentes ne peuvent pas se superposer et il ne peut y avoir de trous entre deux parcelles (autres que des voies non cadastrées).

La tessellation met en avant les trous et chevauchements dans un jeu de données. La contrainte de tessellation [Laurini et Milleret-Raffort 1993] correspond à la partition totale d’un territoire par des polygones, sans espace ni chevauchement. La tessellation (ou mosaïque) est synonyme de couverture planaire. Les tuilages ou dallages sont des tessellations de motif régulier (rectangulaire en général).

La contrainte de tessellation de Qualigéo accepte que l’espace soit constituée d’éléments non connexes, totalement disjoints, comme des îles.

Dans Qualigéo, une contrainte de tessellation interdit donc le chevauchement de polygones ou la présence d’espaces fermées non remplis. Les trous dans les polygones sont acceptés si ces trous sont remplis par un autre polygone.

Contrôle dans Qualigéo Cas de figure
Tessellation valide Image
Tessellation valide Image

Tessellation valide :

- espace constitué de plusieurs tessellations disjointes.
Image

Tessellation non valide :

- création d'un espace vide. 1 erreur générée.
Image

Tessellation non valide :


- superposition. 1 erreur générée.
Image

Tessellation non valide :


- 3 superpositions et 2 espaces vides. 5 erreurs générées.
Image

Attributs de regroupement et contrainte topologique

Le paramètre Attributs de regroupement permet de regrouper les entités à tester en les divisant en groupes en fonction des valeurs d’un attribut. Le contrôle est effectué sur les entités ayant les mêmes valeurs d’attribut de regroupement. Deux entités superposées ayant des valeurs d’attributs différentes ne génèrent donc pas d’erreur, le contrôle n’est pas effectué. Deux entités se chevauchant avec la même valeur d’attribut de regroupement produiront une erreur lors du contrôle.

Dans l’exemple ci-dessus, si l’attribut de regroupement est TYPEZONE, alors la tessellation est valide et aucune erreur n’est générée. Inversement, si aucun attribut de regroupement n’est spécifié, deux erreurs sont générées (un espace vide et un chevauchement.)

Règle de validation des erreurs

Une règle de validation permet à l’application de valider des erreurs de tessellation. Ne sont considérés comme en erreur que les objets qui respectent la règle de validation.

Les exemples ci-dessous illustrent le cas de chevauchements et trous entre deux polygones. La règle de validation définie indique à Qualigéo qu’une erreur doit être générée si la superficie des espaces et chevauchements est inférieure à 1m².

Exemple :

Cas de figure
Pas de règle de validation Règle de validation
@Area()<10
Règle de validation
@Area()>10
Image Erreur E0014 Erreur E0014 Pas d'erreur
Image Erreur E0014 Pas d'erreur Erreur E0014
Image Erreur E0015 Erreur E0015 Pas d'erreur
Image Erreur E0015 Pas d'erreur Erreur E0015

La règle de validation correspond ainsi à une tolérance à partir de laquelle une erreur doit être retournée. Elle permet de passer outre des erreurs topologiques mineures ou au contraire des objets importants tels que des lacs ou la cour intérieure des immeubles.

La fonction à saisir dans la règle de validation peut contenir n’importe quelle formule exploitable par le Transformer ExpressionEvaluator de FME et renvoyant les valeurs 0 (faux) ou 1 (vrai).

Fonctions communément utilisées :

  • @Area(1) : renvoie la superficie de l’objet,

  • @Length(2,1) : renvoie le périmètre de l’objet,

  • @Value(attr) : renvoie la valeur de l’attribut "attr".

Attention, une erreur dans la formule risque de produire une erreur irrécupérable qui empêchera la réalisation du contrôle.

Toutes les fonctions disponibles sont décrites dans le document de référence : "FME functions and factories" de FME.