diff --git a/04-ContraintesRessources/03.03.ContraintesConstruction.md b/04-ContraintesRessources/03.03.ContraintesConstruction.md index bc2f96c8af01c16f48c06be3fd54365e1fc35eee..724399920e42be01287629550ce4a0bb796b77cf 100644 --- a/04-ContraintesRessources/03.03.ContraintesConstruction.md +++ b/04-ContraintesRessources/03.03.ContraintesConstruction.md @@ -8,181 +8,6 @@ Une contrainte de construction permet de définir des règles de construction de  -<table border="1"> - <col style="width: 20%;" /> - <col style="width: auto;" /> - <col style="width: auto;" /> - <col style="width: auto;" /> - <col style="width: auto;" /> - <tbody> - <tr> - <td style="text-align: center;font-weight: bold;" class="TableStyle_Rows_Body_0_0_RowSep_ColSep">Exemples</td> - <td style="text-align: center;font-weight: bold;" class="TableStyle_Rows_Body_0_0_RowSep_ColSep">Appui sur vertex</td> - <td style="text-align: center;font-weight: bold;" class="TableStyle_Rows_Body_0_0_RowSep_ColSep">Appui sur segment </td> - <td style="text-align: center;font-weight: bold;" class="TableStyle_Rows_Body_0_0_RowSep_ColSep">Appui sur segment, partie de segment</td> - <td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd" style="font-weight: bold;"><b>Appui sur polygone ou partie de polygone</b> - </td> - </tr> - <tr> - <td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"> - <img src="..\_images/1_150x110.png" style="width: 150;height: 110;" /> - </td> - <td style="font-weight: normal;text-align: left;" class="TableStyle_Rows_Body_1_0_RowSep_ColSep">Construction valide : tous les vertex sont égaux</td> - <td style="font-weight: normal;text-align: left;" class="TableStyle_Rows_Body_1_0_RowSep_ColSep">Construction valide : tous les segments sont égaux</td> - <td style="text-align: left;" class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><span style="font-weight: normal;">Construction valide : aucun segment à contrôler ne croise ou ne contient un segment de référence</span> - </td> - <td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd"><span style="font-weight: normal;">Construction valide : aucune parcelle de référence n’est découpée par la zone d’analyse.</span> - </td> - </tr> - <tr> - <td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"> - <img src="..\_images/2_172x120.png" style="width: 172;height: 120;" /> - </td> - <td style="font-weight: normal;text-align: left;" class="TableStyle_Rows_Body_0_0_RowSep_ColSep"> - <p class="texte"><span style="font-size: 10pt;">Construction non valide : Segment [AB] en erreur : un vertex manquant.</span> <![CDATA[ ]]></p> - <p class="texte"> </p> - </td> - <td style="font-weight: normal;text-align: left;font-size: 10pt;color: #000000;" class="TableStyle_Rows_Body_0_0_RowSep_ColSep">Construction non valide : <p><span style="font-size: 10pt;">Segment [AB] n’est égal à aucun segment de référence</span></p></td> - <td style="font-weight: normal;text-align: left;color: #000000;" class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><span style="color: #ff0000;"><span style="color: #000000;">Construction non valide :</span></span> le segment [AB]contient des segments de référence. </td> - <td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Construction valide : aucune parcelle de référence n’est découpée par la zone d’analyse.</td> - </tr> - <tr> - <td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"> - <img src="..\_images/3_157x112.png" style="width: 157;height: 112;" /> - </td> - <td style="font-weight: normal;text-align: left;" class="TableStyle_Rows_Body_1_0_RowSep_ColSep">Construction non valide : le vertex B est en trop</td> - <td style="font-weight: normal;text-align: left;" class="TableStyle_Rows_Body_1_0_RowSep_ColSep">Construction non valide : les segment [AB] et [BC] ne sont égaux à aucun segment de référence. </td> - <td style="font-weight: normal;text-align: left;" class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><span style="color: #ff0000;"><span style="color: #000000;">Construction valide </span></span><span style="color: #000000;">:</span> les segments [AB] et [BC] ne croisent pas de segment de référence et n’en contiennent pas.</td> - <td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd"><span style="font-weight: normal;">Construction valide : aucune parcelle de référence n’est découpée par la zone d’analyse.</span> - </td> - </tr> - <tr> - <td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"> - <img src="..\_images/4_163x119.png" style="width: 163;height: 119;" /> - </td> - <td style="font-weight: normal;text-align: left;" class="TableStyle_Rows_Body_0_0_RowSep_ColSep">Construction valide: tous les vertex sont égaux.</td> - <td style="font-weight: normal;text-align: left;" class="TableStyle_Rows_Body_0_0_RowSep_ColSep">Construction non valide segment [DE] en erreur</td> - <td style="font-weight: normal;text-align: left;" class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><span style="color: #ff0000;"><span style="color: #000000;">Construction valide : le segment [DE] ne croise pas (il touche), ni ne contient de segment de référence. </span></span> - </td> - <td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Construction non valide : la parcelle 2 est découpée en 2 par le polygone à contrôler</td> - </tr> - <tr> - <td class="TableStyle_Rows_Body_1_0_RowSep_ColSep"> - <img src="..\_images/5_155x125.png" style="width: 155;height: 125;" /> - </td> - <td style="font-weight: normal;text-align: left;" class="TableStyle_Rows_Body_1_0_RowSep_ColSep">Construction non valide : Les vertex B, C et D ne sont égaux à aucun vertex de référence</td> - <td style="font-weight: normal;text-align: left;" class="TableStyle_Rows_Body_1_0_RowSep_ColSep">Construction non valide : les segments [AB], [BC] [CD] et [DE] ne sont égaux à aucun segment de référence. </td> - <td style="font-weight: normal;text-align: left;" class="TableStyle_Rows_Body_1_0_RowSep_ColSep"><span style="color: #ff0000;"><span style="color: #000000;">Construction non valide : le segment [GH] croise deux segments de référence. </span></span> - </td> - <td class="TableStyle_Rows_Body_1_0_RowSep_ColEnd"><span style="font-weight: normal;">Construction non valide : les parcelles 1 et 2 sont découpées par le polygone à contrôler.</span> - </td> - </tr> - <tr> - <td class="TableStyle_Rows_Body_0_0_RowSep_ColSep"> - <img src="..\_images/6_178x78.png" style="width: 178;height: 78;" /> - </td> - <td style="font-weight: normal;text-align: left;" class="TableStyle_Rows_Body_0_0_RowSep_ColSep">Construction valide: tous les vertex sont égaux.</td> - <td style="font-weight: normal;text-align: left;" class="TableStyle_Rows_Body_0_0_RowSep_ColSep">Construction non valide segments [AB]et [FE] en erreur</td> - <td style="font-weight: normal;text-align: left;" class="TableStyle_Rows_Body_0_0_RowSep_ColSep"><span style="color: #ff0000;"><span style="color: #000000;">Construction valide</span></span><span style="color: #000000;"> : les</span> segments [AB] et [FE] ne croisent pas de segments de référence (ils les touchent), et n’en contient aucun. </td> - <td class="TableStyle_Rows_Body_0_0_RowSep_ColEnd">Construction valide : aucune parcelle n’est découpée par la zone d’étude.</td> - </tr> - <tr> - <td class="TableStyle_Rows_Body_1_0_RowEnd_ColSep"> - <img src="..\_images/7_126x137.png" style="width: 126;height: 137;" /> - </td> - <td style="font-weight: normal;text-align: left;" class="TableStyle_Rows_Body_1_0_RowEnd_ColSep">Construction non valide : aucun vertex n’est égal à un aucun vertex de référence.</td> - <td style="font-weight: normal;text-align: left;" class="TableStyle_Rows_Body_1_0_RowEnd_ColSep">Construction non valide : aucun segment n’est égal à un aucun segment de référence.</td> - <td style="font-weight: normal;text-align: left;" class="TableStyle_Rows_Body_1_0_RowEnd_ColSep">Construction valide : aucun segment à contrôler n’intersecte ni n’est contenu dans un segment de référence. </td> - <td class="TableStyle_Rows_Body_1_0_RowEnd_ColEnd"><span style="font-weight: normal;">Construction valide : la parcelle 1 n’est pas découpée par la zone d’analyse et est totalement incluse. </span> - </td> - </tr> - </tbody> - </table> - -<style type="text/css"> -.tg {border-collapse:collapse;border-spacing:0;} -.tg td{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px; - overflow:hidden;padding:10px 5px;word-break:normal;} -.tg th{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px; - font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;} -.tg .tg-2eas{background-color:#eae8e8;border-color:#c0c0c0;text-align:left;vertical-align:top} -.tg .tg-hjsu{background-color:#923288;border-color:#c0c0c0;color:#ffffff;text-align:left;vertical-align:top} -.tg .tg-8pdm{background-color:#ffffff;border-color:#c0c0c0;color:#ffffff;text-align:left;vertical-align:top} -.tg .tg-fzdr{border-color:#c0c0c0;text-align:center;vertical-align:top} -.tg .tg-wo29{border-color:#c0c0c0;text-align:left;vertical-align:top} -.tg .tg-aqga{background-color:#eae8e8;border-color:#c0c0c0;text-align:center;vertical-align:top} -</style> -<table class="tg"> - <tr> - <th class="tg-hjsu">Exemple </th> - <th class="tg-hjsu">Appui sur vertex<br></th> - <th class="tg-hjsu">Appui sur segment<br></th> - <th class="tg-hjsu">Appui sur segment, partie de segment<br></th> - <th class="tg-hjsu">Appui sur polygone, partie de polygone<br></th> - </tr> - <tr> - <td class="tg-8pdm"><img src="..\_images/1_150x110.png" style="width: 150;height: 110;" /><br></td> - <td class="tg-fzdr">Construction valide : tous les vertex sont égaux</td> - <td class="tg-wo29">Construction valide : tous les segments sont égaux</td> - <td class="tg-wo29">Construction valide : aucun segment à contrôler ne croise ou ne contient un segment de référence</td> - <td class="tg-wo29">Construction valide : aucune parcelle de référence n'est découpée par la zone d'analyse</td> - </tr> - <tr> - <td class="tg-8pdm"><img src="..\_images/2_172x120.png" style="width: 172;height: 120;" /></td> - <td class="tg-aqga">Construction non valide : Segment [AB] en erreur : un vertex manquant<br></td> - <td class="tg-2eas">Construction non valide : Segment [AB] n’est égal à aucun segment de référence</td> - <td class="tg-2eas">Construction non valide : le segment [AB]contient des segments de référence</td> - <td class="tg-2eas">Construction valide : aucune parcelle de référence n’est découpée par la zone d’analyse</td> - </tr> - <tr> - <td class="tg-8pdm"><img src="..\_images/3_157x112.png" style="width: 157;height: 112;" /></td> - <td class="tg-fzdr">Construction non valide : le vertex B est en trop</td> - <td class="tg-wo29">Construction non valide : les segment [AB] et [BC] ne sont égaux à aucun segment de référence</td> - <td class="tg-wo29">Construction valide : les segments [AB] et [BC] ne croisent pas de segment de référence et n’en contiennent pas</td> - <td class="tg-wo29">Construction valide : aucune parcelle de référence n’est découpée par la zone d’analyse</td> - </tr> - <tr> - <td class="tg-8pdm"><img src="..\_images/4_163x119.png" style="width: 163;height: 119;" /></td> - <td class="tg-aqga">Construction valide: tous les vertex sont égaux</td> - <td class="tg-2eas">Construction non valide segment [DE] en erreur</td> - <td class="tg-2eas">Construction valide : le segment [DE] ne croise pas (il touche), ni ne contient de segment de référence<br></td> - <td class="tg-2eas">Construction non valide : la parcelle 2 est découpée en 2 par le polygone à contrôler</td> - </tr> - <tr> - <td class="tg-8pdm"><img src="..\_images/5_155x125.png" style="width: 155;height: 125;" /></td> - <td class="tg-wo29">Construction non valide : Les vertex B, C et D ne sont égaux à aucun vertex de référence</td> - <td class="tg-fzdr">Construction non valide : les segments [AB], [BC] [CD] et [DE] ne sont égaux à aucun segment de référence</td> - <td class="tg-wo29">Construction non valide : le segment [GH] croise deux segments de référence</td> - <td class="tg-wo29">Construction non valide : les parcelles 1 et 2 sont découpées par le polygone à contrôler</td> - </tr> - <tr> - <td class="tg-8pdm"><img src="..\_images/6_178x78.png" style="width: 178;height: 78;" /></td> - <td class="tg-2eas">Construction valide : tous les vertex sont égaux</td> - <td class="tg-2eas">Construction non valide segments [AB]et [FE] en erreur</td> - <td class="tg-aqga">Construction valide : les segments [AB] et [FE] ne croisent pas de segments de référence (ils les touchent), et n’en contient aucun</td> - <td class="tg-aqga">Construction valide : aucune parcelle n’est découpée par la zone d’étude</td> - </tr> - <tr> - <td class="tg-8pdm"><img src="..\_images/7_126x137.png" style="width: 126;height: 137;" /></td> - <td class="tg-wo29">Construction non valide : aucun vertex n’est égal à un aucun vertex de référence</td> - <td class="tg-wo29">Construction non valide : aucun segment n’est égal à un aucun segment de référence</td> - <td class="tg-wo29">Construction valide : aucun segment à contrôler n’intersecte ni n’est contenu dans un segment de référence</td> - <td class="tg-wo29">Construction valide : la parcelle 1 n’est pas découpée par la zone d’analyse et est totalement incluse<br></td> - </tr> -</table> - -### 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. - - - <table style="width: 100%;caption-side: top;mc-table-style: url(’../Ressources/TableStyles/Basic.css’);" class="TableStyle_Basic" cellspacing="0"> <col style="width: 392px;" /> <col /> @@ -278,6 +103,18 @@ L’exemple ci-dessous illustre le cas de découpage de parcelles (type d’enti </tr> </table> +### 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).