diff --git a/04-ContraintesRessources/03.04.ValidationGeometrique.md b/04-ContraintesRessources/03.04.ValidationGeometrique.md index 15e9f3a9fb9bc27f2193d6c7fa7e6a330640b148..905745d72a4489daa476742cc92bd5a9f598c0fa 100644 --- a/04-ContraintesRessources/03.04.ValidationGeometrique.md +++ b/04-ContraintesRessources/03.04.ValidationGeometrique.md @@ -121,216 +121,8 @@ Qualigéo permet la spécification et le contrôle de la géométrie des types d </table> -#### Exemple de polygones et contraintes OGC - -<table style="width: 100%;margin-left: 0;margin-right: auto;mc-table-style: url(’../Ressources/TableStyles/Basic.css’);" class="TableStyle_Basic" cellspacing="0"> - <col style="width: 178px;" /> - <col style="width: 355px;" /> - <col style="width: 110px;" /> - <col style="width: 334px;" /> - <col /> - <tbody> - <tr> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep">Critère de validation OGC </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep"> Sous critère OGC - Détails</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep">Erreur Qualigéo</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep">Chaîne WKT</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColEnd">Erreur OGC </td> - </tr> - <tr> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"> - <p style="font-size: 10pt;">OGC valide</p> - </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"> - <p style="font-size: 10pt;">Fails OGC Valid / Self Intersection Auto intersection</p> - </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"> - <p><a name="E0023"></a><span style="font-size: 10pt;">E0023</span> - </p> - </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"> - <p><span style="font-size: 10pt;">POLYGON ((0 11,0 20,10 20,10 11,0 11),(0 15,2 16,0 17,0 15))</span> - </p> - </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColEnd"> - <img src="..\_images\ogc1_174x166.png" style="width: 174;height: 166;" /> - </td> - </tr> - <tr> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;">OGC Valid</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"> - <p style="font-size: 10pt;">Fails OGC Valid / Unparsable Geometry</p> - </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"> </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;">POLYGON ((41 11,50 11,50 20,41 20,41 12,41 11),(45 12))</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColEnd"> - <img src="..\_images/OGCValid_unparsable_180x169.png" style="width: 180;height: 169;" /> - </td> - </tr> - <tr> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"> - <p><span style="font-size: 10pt;">OGC Valide</span> - </p> - </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"> - <p style="font-size: 10pt;">Fails OGC Valide / Self Intersection Auto intersection</p> - </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"><a name="E0023_bis"></a>E0023</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;">POLYGON ((21 0,21 10,30 10,30 0,21 0),(27 9,29 9,28 11,27 9))</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColEnd"> - <img src="..\_images\ogc9_166x182.png" style="width: 166;height: 182;" /> - </td> - </tr> - <tr> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;">OGC Valide</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"> - <p style="font-size: 10pt;">Fails OGC Valid / Disconnected Interior</p> - </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"><a name="E0022"></a>E0022</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"> - <p><span style="font-size: 10pt;">POLYGON ((11 11,11 20,20 20,20 11,11 11),(18 11,20 12,18 12,18 11))</span> - </p> - </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColEnd"> - <img src="..\_images\ogc2_172x169.png" style="width: 172;height: 169;" /> - </td> - </tr> - <tr> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;">OGC Valide</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"> - <p><span style="font-size: 10pt;">Fails OGC Valid / Hole Outside Shell. Trou à l’extérieur de l’enveloppe.</span> - </p> - </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"><a name="E0020"></a>E0020</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"> - <p><span style="font-size: 10pt;">POLYGON ((41 0,50 0,50 10,41 10,41 0),(51 1,52 1,52 3,51 3,51 1))</span> - </p> - </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColEnd"> <img src="..\_images\ogc3_189x172.png" style="width: 189;height: 172;" /></td> - </tr> - <tr> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;">OGC Valide</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"> - <p style="font-size: 10pt;">Fails OGC Valid/ Nested Holes Trous imbriqués</p> - </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"><a name="E0021"></a>E0021</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"> - <p><span style="font-size: 10pt;">POLYGON ((21 21,21 30,30 30,30 21,21 21),(22 23,26 23,26 28,22 28,22 23),(23 24,25 24,25 27,23 27,23 24))</span> - </p> - </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColEnd"> - <img src="..\_images\ogc5_179x179.png" style="width: 179;height: 179;" /> - </td> - </tr> - <tr> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"> - <p> </p> - <p><span style="font-size: 10pt;">OGC Valide</span> <![CDATA[ ]]></p> - </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"> - <p><span style="font-size: 10pt;">Fails OGC Valid / Self Intersection. </span> - </p> - </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"><a name="E0024"></a>E0024</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"> - <p> </p> - <p><span style="font-size: 10pt;">POLYGON ((11 21,11 30,20 30,20 21,11 21),(15 23,17 23,17 25,15 25,15 23),(16 24,18 24,18 26,16 26,16 24))</span> - </p> - </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColEnd"> - <img src="..\_images\ogc6_164x160.png" style="width: 164;height: 160;" /> - </td> - </tr> - <tr> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;">OGC Valide</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"> - <p><span style="font-size: 10pt;">Fails OGC Valid/Unparsable Geometry. </span> - </p> - </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"><a name="E0027"></a>E0027</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"> - <p> </p> - <p><span style="font-size: 10pt;">POLYGON ((15 35))</span> - </p> - </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColEnd"> - <img src="..\_images\ogc8.png" /> - </td> - </tr> - <tr> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;">OGC Valide</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"> - <p><span style="font-size: 10pt;">Fails OGC Vaid/Duplicate Rings</span> - </p> - </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"> </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;">POLYGON ((31 21,40 21,40 30,31 30,31 21),(35 25,36 25,36 27,35 27,35 25),(35 25,36 25,36 27,35 27,35 25))</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColEnd"> - <img src="..\_images/OGCvalid_duplicate_rings_170x169.png" style="width: 170;height: 169;" /> - </td> - </tr> - <tr> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"> - <p style="font-size: 10pt;">OGC Valide</p> - </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;">Fails OGC/Invalid Coordinate</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"><a name="E0028"></a>E0028</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"> - <p><span style="font-size: 10pt;">POINT (0 nan)</span> - </p> - </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColEnd"> </td> - </tr> - <tr> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"> - <p><span style="font-size: 10pt;">OGC Valide </span> - </p> - </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="text-align: center;font-weight: normal;font-size: 10pt;"> - <p><span style="font-size: 10pt;">Nested Shell </span> - </p> - </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"><a name="E0025"></a>E0025</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"><span style="font-size: 10pt;">MULTIPOLYGON(((0 0, 10 0, 10 10, 0 10, 0 0)),((0 0, 10 0, 10 10, 0 10, 0 0)))</span> - </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColEnd"> <img src="..\_images/e0025_150x152.png" style="width: 150;height: 152;" /></td> - </tr> - <tr> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;">OGV Valide</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;">Fails OGC Valid Duplicated Rings / Anneaux dupliqués</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"> - <p><a name="E0026"></a><span style="font-size: 10pt;">E0026</span> - </p> - </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;">MULTIPOLYGON(((0 0, 10 0, 10 10, 0 10, 0 0)),((0 0, 10 0, 10 10, 0 10, 0 0)))</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColEnd"> </td> - </tr> - <tr> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;">OGC Valide</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;">Anneau non fermé </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"><a name="E0029"></a>E0029</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;">POLYGON((0 0, 0 10, 10 10, 10 0))</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColEnd"> </td> - </tr> - <tr> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;">OGC Simple</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;">type repair /géométrie dégénérée ou corrompue</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;"> </td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColSep" style="font-weight: normal;font-size: 10pt;">LINESTRING (0 0,0 0)</td> - <td class="TableStyle_Basic_Body_0_0_RowSep_ColEnd"> </td> - </tr> - <tr> - <td class="TableStyle_Basic_Body_0_0_RowEnd_ColSep" style="font-weight: normal;font-size: 10pt;">OGC Simple </td> - <td class="TableStyle_Basic_Body_0_0_RowEnd_ColSep" style="font-weight: normal;font-size: 10pt;">Fails OGC simple/ Self intersection</td> - <td class="TableStyle_Basic_Body_0_0_RowEnd_ColSep" style="font-weight: normal;font-size: 10pt;"> </td> - <td class="TableStyle_Basic_Body_0_0_RowEnd_ColSep" style="font-weight: normal;font-size: 10pt;">POLYGON ((5 0,10 0,10 10,0 10,0 0,5 0,3 3,5 6,7 3,5 0))</td> - <td class="TableStyle_Basic_Body_0_0_RowEnd_ColEnd"> </td> - </tr> - </tbody> - </table> - - +#### Exemple de polygones et contraintes OGC <style type="text/css"> .tg {border-collapse:collapse;border-spacing:0;} @@ -448,6 +240,7 @@ Qualigéo permet la spécification et le contrôle de la géométrie des types d </table> + Cas de figure de lignes valides/invalides :  @@ -458,6 +251,4 @@ Cas de figure de multi-polygones valides/invalides : Cas de figure de multi-lignes valides/invalides : - - -Pour plus d’informations sur JTS : [http://www.vividsolutions.com/jts](http://www.vividsolutions.com/jts) \ No newline at end of file + \ No newline at end of file diff --git a/Ressources/Images/line_Valid_Invalid.PNG b/Ressources/Images/line_Valid_Invalid.PNG new file mode 100644 index 0000000000000000000000000000000000000000..952c933262d43554a0798e113495c1f243d09fde Binary files /dev/null and b/Ressources/Images/line_Valid_Invalid.PNG differ