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.