Les contraintes de construction dans Qualigéo

Une contrainte de construction permet de définir des règles de construction de la géométrie d’un type d’entité par rapport à la géométrie d’un type d’entité de référence.

Règles de construction et exemples

Exempleeeeeeeeeeeeee
Appui sur vertex
Appui sur segment
Appui sur segment, partie de segment
Appui sur polygone, partie de polygone
Construction valide : tous les vertex sont égaux Construction valide : tous les segments sont égaux Construction valide : aucun segment à contrôler ne croise ou ne contient un segment de référence Construction valide : aucune parcelle de référence n'est découpée par la zone d'analyse
Construction non valide : Segment [AB] en erreur : un vertex manquant
Construction non valide : Segment [AB] n’est égal à aucun segment de référence Construction non valide : le segment [AB]contient des segments de référence Construction valide : aucune parcelle de référence n’est découpée par la zone d’analyse
Construction non valide : le vertex B est en trop Construction non valide : les segment [AB] et [BC] ne sont égaux à aucun segment de référence Construction valide : les segments [AB] et [BC] ne croisent pas de segment de référence et n’en contiennent pas Construction valide : aucune parcelle de référence n’est découpée par la zone d’analyse
Construction valide: tous les vertex sont égaux Construction non valide segment [DE] en erreur Construction valide : le segment [DE] ne croise pas (il touche), ni ne contient de segment de référence
Construction non valide : la parcelle 2 est découpée en 2 par le polygone à contrôler
Construction non valide : Les vertex B, C et D ne sont égaux à aucun vertex de référence Construction non valide : les segments [AB], [BC] [CD] et [DE] ne sont égaux à aucun segment de référence Construction non valide : le segment [GH] croise deux segments de référence Construction non valide : les parcelles 1 et 2 sont découpées par le polygone à contrôler
Construction valide : tous les vertex sont égaux Construction non valide segments [AB]et [FE] en erreur Construction valide : les segments [AB] et [FE] ne croisent pas de segments de référence (ils les touchent), et n’en contient aucun Construction valide : aucune parcelle n’est découpée par la zone d’étude
Construction non valide : aucun vertex n’est égal à un aucun vertex de référence Construction non valide : aucun segment n’est égal à un aucun segment de référence Construction valide : aucun segment à contrôler n’intersecte ni n’est contenu dans un segment de référence Construction valide : la parcelle 1 n’est pas découpée par la zone d’analyse et est totalement incluse

Règle de validation des erreurs

Une règle de validation permet à Qualigéo de valider des erreurs de construction en fonction d’une règle définie par une fonction.

Deux attributs area_ref_ft correspondant à la superficie du polygone de référence et _area_ft, correspondant à la superficie des polygones à contrôler permettent d’intégrer des règles relatives aux surfaces découpées.

Par exemple, une fonction peut être utilisée pour indiquer qu’une erreur doit être générée si la superficie des polygones découpés est inférieure à une valeur précise ou à un certain pourcentage de la superficie d’origine.

L’exemple ci-dessous illustre le cas de découpage de parcelles (type d’entité de référence) par une zone urbaine (type d’entité à contrôler). La fonction ci-dessous indique que si la superficie des parcelles découpées est inférieure à 3% de la superficie totale de la parcelle d’origine ou si elle est inférieure à 2 m² alors aucune une erreur ne doit être générée. Au-delà de 3% de la superficie totale ou supérieure à 2 m², une erreur de construction est donc détectée.

NB : les entités découpées se trouvant à l’intérieur de la zone d’analyse récupèrent l’attributs _area_ft de cette dernière, en revanche les entités découpées se trouvant à l’extérieur de la zone ne le récupèrent pas.

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.

Utiliser la précision comme tolérance

Pour permettre la comparaison stricte des géométries et tenir compte d’écarts minimes dus au format de stockage ou à la reprojection, il convient d’utiliser la précision comme tolérance pour ne pas considérer comme des erreurs les décalages observés inférieurs à cette dernière.