diff --git a/content/articles/2024/2024-07-16_de-la-tolerance-en-sig-geometrie-00-annonce.md b/content/articles/2024/2024-07-16_de-la-tolerance-en-sig-geometrie-00-annonce.md index a68a2814e7..bde3598c8d 100644 --- a/content/articles/2024/2024-07-16_de-la-tolerance-en-sig-geometrie-00-annonce.md +++ b/content/articles/2024/2024-07-16_de-la-tolerance-en-sig-geometrie-00-annonce.md @@ -48,9 +48,9 @@ Dans les chapitres suivants, nous explorerons ensemble : - [Et dans les bases de données ? Comparaisons de SQL Server, Oracle et PostGIS](./2024-08-08_de-la-tolerance-en-sig-geometrie-04-postgis-oracle-ms-sql-server.md). - [Utilisation de la topologie : est-ce que la topologie peut nous sauver ?](./2024-08-15_de-la-tolerance-en-sig-geometrie-05-topologie-forces-et-limites.md) - [Approche alternative : utilisation de SFCGAL pour des calculs plus robustes.](./2024-08-22_de-la-tolerance-en-sig-geometrie-06-sfcgal.md) -- [Et chez la concurrence, ça se passe comment ?](./2024-08-29_de-la-tolerance-en-sig-geometrie-07-esri-fme.md) +- [Et chez les proprios, ça se passe comment ?](./2024-08-29_de-la-tolerance-en-sig-geometrie-07-esri-fme.md) - [Algorithmes et code : comment cela fonctionne-t-il ? Cette partie sera optionnelle, pour ceux ne voulant pas voir de code.](./2024-09-05_de-la-tolerance-en-sig-geometrie-08-algorithmes-code.md) -- La conclusion : comment arrêter de trop penser et vivre une vie meilleure ! +- [La conclusion : comment arrêter de trop penser et vivre une vie meilleure !](./2024-09-26_de-la-tolerance-en-sig-geometrie-09-conclusions.md "Conclusions") Êtes-vous prêts pour l'aventure ? Sortons nos SIG ! diff --git a/content/articles/2024/2024-08-22_de-la-tolerance-en-sig-geometrie-06-sfcgal.md b/content/articles/2024/2024-08-22_de-la-tolerance-en-sig-geometrie-06-sfcgal.md index f44bd0ec56..da06651c04 100644 --- a/content/articles/2024/2024-08-22_de-la-tolerance-en-sig-geometrie-06-sfcgal.md +++ b/content/articles/2024/2024-08-22_de-la-tolerance-en-sig-geometrie-06-sfcgal.md @@ -162,7 +162,7 @@ Il existerait une façon de rendre le calcul correct dans PostGIS avec SFCGAL, m Malgré les problèmes potentiels de précision dans son utilisation dans PostGIS, SFCGAL reste un outil précieux. Son principal atout réside dans ses fonctionnalités avancées en 2D et 3D, absentes de GEOS/PostGIS natif. Par ailleurs, ces erreurs ne sont pas systématiques et dépendent des données et opérations effectuées. -[7 : Esri et FME :fontawesome-solid-forward-step:](./2024-08-29_de-la-tolerance-en-sig-geometrie-07-esri-fme.md "Gestion de la précision géométrique dans Esri et FME"){: .md-button } +[7 : La gestion propriétaire de la géométrie : ESRI et FME :fontawesome-solid-forward-step:](./2024-08-29_de-la-tolerance-en-sig-geometrie-07-esri-fme.md "Gestion de la précision géométrique dans Esri et FME"){: .md-button } {: align=middle } diff --git a/content/articles/2024/2024-08-29_de-la-tolerance-en-sig-geometrie-07-esri-fme.md b/content/articles/2024/2024-08-29_de-la-tolerance-en-sig-geometrie-07-esri-fme.md index 456e837076..78b0141d34 100644 --- a/content/articles/2024/2024-08-29_de-la-tolerance-en-sig-geometrie-07-esri-fme.md +++ b/content/articles/2024/2024-08-29_de-la-tolerance-en-sig-geometrie-07-esri-fme.md @@ -1,5 +1,5 @@ --- -title: ESRI et FME +title: "La gestion propriétaire de la géométrie : ESRI et FME" subtitle: "Série : De la tolérance en SIG - chapitre 7" authors: - Loïc Bartoletti @@ -7,7 +7,7 @@ categories: - article comments: true date: 2024-08-29 -description: "Septième et avant-dernière partie du tour d'horizon des SIG sur les dessous des calculs géométriques : un petit tour chez ESRI et FME" +description: "Septième et avant-dernière partie du tour d'horizon des SIG sur les dessous des calculs géométriques : un petit tour chez ESRI et FME." icon: simple/esri image: https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/geometrie_tolerance_sig/splash_serie_geometrie_07_esri_fme.png license: beerware @@ -20,7 +20,7 @@ tags: - géométrie --- -# Et chez la concurrence, ça se passe comment ? +# Et chez les proprios, ça se passe comment ? On ne va pas tous les faire, mais seulement deux un peu connus et installés parfois à côté de QGIS comme logiciels SIG secondaires :wink:. @@ -203,6 +203,9 @@ result.contains(line), result.crosses(line), result.equals(line), result.overlap On obtient bien le résultat souhaité. En fait, vous l'aurez peut-être compris en filigrane, ArcGIS ne propose pas un calcul "strict" comme les autres, mais bien quelque chose de particulier. Il est "tolérant". +[8 : Algorithmes géométriques et code :fontawesome-solid-forward-step:](./2024-09-05_de-la-tolerance-en-sig-geometrie-08-algorithmes-code.md "Algorithmes géométriques et code : comment cela fonctionne-t-il ?"){: .md-button } +{: align=middle } + {% include "licenses/beerware.md" %} diff --git a/content/articles/2024/2024-09-05_de-la-tolerance-en-sig-geometrie-08-algorithmes-code.md b/content/articles/2024/2024-09-05_de-la-tolerance-en-sig-geometrie-08-algorithmes-code.md index 3c7cbffbfb..fab6f41fe5 100644 --- a/content/articles/2024/2024-09-05_de-la-tolerance-en-sig-geometrie-08-algorithmes-code.md +++ b/content/articles/2024/2024-09-05_de-la-tolerance-en-sig-geometrie-08-algorithmes-code.md @@ -7,7 +7,7 @@ categories: - article comments: true date: 2024-09-05 -description: "Huitième et dernière partie du tour d'horizon des SIG sur les dessous des calculs géométriques : algorithmes et code" +description: "Huitième partie du tour d'horizon des SIG sur les dessous des calculs géométriques : algorithmes et code" icon: material/code-block-tags image: https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/geometrie_tolerance_sig/splash_serie_geometrie_08_algos.png license: beerware @@ -36,7 +36,7 @@ Maintenant que l'on a regardé comment sont gérées les opérations géométriq Cet article est la huitième partie de la série d'été sur la gestion de la géométrie dans les SIG. [Le dossier :octicons-move-to-start-16:](./2024-07-16_de-la-tolerance-en-sig-geometrie-00-annonce.md "De la tolérance en SIG : le dossier"){: .md-button } -[7 : ESRI et FME :fontawesome-solid-backward-step:](./2024-08-29_de-la-tolerance-en-sig-geometrie-07-esri-fme.md "Gestion de la géométrie dans ESRI et FME"){: .md-button } +[7 : gestion propriétaire de la géométrie : ESRI et FME :fontawesome-solid-backward-step:](./2024-08-29_de-la-tolerance-en-sig-geometrie-07-esri-fme.md "Gestion de la géométrie dans ESRI et FME"){: .md-button } {: align=middle } [Commenter cet article :fontawesome-solid-comments:](#__comments "Aller aux commentaires"){: .md-button } @@ -357,6 +357,9 @@ Enfin, GEOS : - Le test d'[intersects](https://github.com/libgeos/geos/blob/a8d2ed0aba46f88f9b8987526e68eea6565d16ae/src/algorithm/LineIntersector.cpp#L222) - Le calcul [orient2d](https://github.com/libgeos/geos/blob/a8d2ed0aba46f88f9b8987526e68eea6565d16ae/src/algorithm/CGAlgorithmsDD.cpp#L54) où l'on aperçoit un premier test rapide et si la robustesse n'est pas assez bonne, on passe sur une autre [arithmétique](https://github.com/libgeos/geos/blob/a8d2ed0aba46f88f9b8987526e68eea6565d16ae/include/geos/math/DD.h). +[9 : 5 conseils pour bien vivre géométriquement (le 4è va vous étonner) :fontawesome-solid-forward-step:](./2024-09-26_de-la-tolerance-en-sig-geometrie-09-conclusions.md "Conclusions et conseils de vie"){: .md-button } +{: align=middle } + {% include "licenses/beerware.md" %} diff --git a/content/articles/2024/2024-09-26_de-la-tolerance-en-sig-geometrie-09-conclusions.md b/content/articles/2024/2024-09-26_de-la-tolerance-en-sig-geometrie-09-conclusions.md new file mode 100644 index 0000000000..1e527dac00 --- /dev/null +++ b/content/articles/2024/2024-09-26_de-la-tolerance-en-sig-geometrie-09-conclusions.md @@ -0,0 +1,111 @@ +--- +title: "5 conseils pour bien vivre géométriquement" +subtitle: "Série : De la tolérance en SIG - chapitre 9" +authors: + - Loïc Bartoletti +categories: + - article +comments: true +date: 2024-09-26 +description: "Neuvième et dernière partie du tour d'horizon des SIG sur les dessous des calculs géométriques : 5 conseils pour vivre votre meilleure vie géométrique." +icon: material/meditation +image: https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/geometrie_tolerance_sig/splash_serie_geometrie_09_conclusion.png +license: beerware +robots: index, follow +tags: + - géométrie + - lifestyle + - open source + - topologie +--- + +# 5 conseils pour arrêter de trop penser et vivre une vie meilleure ! + +:calendar: Date de publication initiale : {{ page.meta.date | date_localized }} + +![Globe cerveau](https://cdn.geotribu.fr/img/internal/icons-rdp-news/mentale.png){: .img-thumbnail-left } + +On a souvent ces interrogations sur les « irrégularités » rencontrées lors des opérations courantes dans les SIG : pourquoi les accrochages dans QGIS ne se positionnent-ils pas toujours exactement sur la géométrie ? Pourquoi les calculs de superposition manquent-ils de précision ? Et pourquoi les résultats peuvent-ils être incohérents ? + +Plutôt que de se perdre dans une quête de surprécision, voici les 5 conseils pour améliorer votre expérience SIG et vivre une vie meilleure. + +Derrière cette expression « incitaclic », voici en réalité quelques conseils ou expériences que j'ai pu rencontrer sur différents projets. + +![Série d'été 2024 de Loïc Bartoletti - Les Géométries et les SIG : conclusions - Crédits : Sylvain Beorchia](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/geometrie_tolerance_sig/splash_serie_geometrie_09_conclusion.png){: .img-center loading=lazy } + +Cet article est la neuvième et dernière partie de la série d'été sur la gestion de la géométrie dans les SIG. + +[Le dossier :octicons-move-to-start-16:](./2024-07-16_de-la-tolerance-en-sig-geometrie-00-annonce.md "De la tolérance en SIG : le dossier"){: .md-button } +[8 : Algorithmes géométriques et code :fontawesome-solid-backward-step:](./2024-09-05_de-la-tolerance-en-sig-geometrie-08-algorithmes-code.md "Algorithmes géométriques et code : comment cela fonctionne-t-il ?"){: .md-button } +{: align=middle } + +[Commenter cet article :fontawesome-solid-comments:](#__comments "Aller aux commentaires"){: .md-button } +{: align=middle } + +---- + +## Arrêtez de chercher la surprécision + +!!! quote "Conseil n°1 : Le prix de la rigueur" + La rigueur à tout prix peut devenir une source de frustration. Acceptez qu’une légère imprécision est inévitable et concentrez-vous sur l’essentiel. + +On est dans un monde infini, mais avec des ressources finies. Quelques arrondis ne font pas de mal. De combien de chiffres après la virgule avez-vous réellement besoin ? Votre précision c'est le décimètre, le centimètre, le millimètre, au-delà ? Vous avez besoin de combien de chiffres pour [Pi](https://www.jpl.nasa.gov/edu/news/2016/3/16/how-many-decimals-of-pi-do-we-really-need/). Combien d'approximations réalisez-vous au quotidien, tout en étant précis ? Il est actuellement 21 h 02 ou simplement 21 h ? Quand vous réalisez un trajet de chez vous aux rencontres QGIS, vous êtes précis à la seconde, à la minute, au quart d'heure ? Bref, la précision dépend de votre contexte et il y a fort à parier que vous allez rarement être en dessous de 10^-3 sur du cartésien et 10^-8 en géodésique. + +![xkcd 2170 - Credits : Randall Monroe](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/geometrie_tolerance_sig/xkcd_coordinate_precision.webp){: .img-center loading=lazy } + +---- + +## Gérez la tolérance + +!!! quote "Conseil n°2 : À chaque calcul, sa tolérance" + Utilisez des tolérances appropriées dans vos calculs pour minimiser les effets des erreurs d'arrondi. Définissez des tolérances adaptées à l’échelle et aux objectifs de votre projet. + +En lien avec le nombre de chiffres après la virgule, vous pouvez également ajouter une tolérance. En France, les gestionnaires de réseaux savent qu'on les caractérise suivant 3 classes : A, B ou C. 10 cm, 40 cm, etc. Une bonne pratique est de se demander si le point n'est pas à une distance d'environ X cm. Sur PostGIS, cela va se caractériser par l'utilisation de `ST_DWithin` plutôt qu'un `ST_Intersects`. + +---- + +## Utilisez la topologie + +!!! quote "Conseil n°3 : faut-il vraiment vous faire un topo ?" + La topologie permet de gérer les relations spatiales et de corriger les erreurs géométriques. Les outils topologiques garantissent que les entités spatiales respectent certaines règles, améliorant ainsi la cohérence des données. + +Si vraiment, vous souhaitez que les nœuds soient identiques, la topologie est là pour vous. Mais, attention, vous avez vu, cela transforme légèrement la donnée en entrée. Par ailleurs, suivant les outils que vous utilisez, elle peut ne pas être respectée lors d'éditions dans d'autres outils que ceux sur lesquels vous allez travailler. D'où l'idée de déporter l'intelligence en base : [Thick database (base épaisse)](https://img1.lemondeinformatique.fr/fichiers/telechargement/plaidoyer-de-frederic-brouard-sur-le-concept-de-bases-de-donnees-epaisses.pdf). + +---- + +## Connaissez les autres nombres + +!!! quote "Conseil n°4 : comptez-vous !" + Comprenez comment les nombres sont représentés dans les ordinateurs. Cela aide à anticiper et à gérer les erreurs de calcul, notamment les différences entre les nombres en virgule flottante et les autres. + +Tout est de la faute des nombres en virgule flottante ! Vous pouvez utiliser d'autres outils, mais attention, la conversion peut engendrer des erreurs. Sans aller jusqu'au détail de ces nombres, il faudrait retenir que 0.1 + 0.2 != 0.3. + +---- + +## Investissez dans l'évolution des outils + +!!! quote "Conseil n°5 : calculez sur le temps long." + Soutenez le développement et l'amélioration des outils SIG, surtout les projets open source comme ceux de l'OSGeo ! + +On ne le dira jamais assez, mais si un fonctionnement ou un bug vous dérange donnez-vous les moyens de le corriger. **Investissez dans vos outils SIG !** Du temps et/ou de l'argent pour consolider les bases techniques sur lesquelles votre travail ou vos missions reposent. Rappelez-vous que même les logiciels propriétaires s'inspirent voire s'appuient sur les briques libres, ouvertes et gratuites (à l'usage) que sont GEOS, GDAL, SFCGAL, QGIS, SAGA, GRASS et d'autres encore. Ça vaut également pour les demandes de fonctionnalités. + +---- + +## Conclusion finale + +!!! quote "Comprendre > penser" + La quête de la perfection numérique dans les SIG peut être frustrante. En adoptant une approche pragmatique et en comprenant les limites des calculs numériques, vous pouvez réduire le stress et améliorer votre efficacité. En acceptant ces réalités, vous pourrez arrêter de trop penser et commencer à vivre une vie meilleure, plus sereine et productive dans vos projets géospatiaux. + +C'est beau, hein ? + +En réalité, vivez vos SIG comme vous le voulez, mais ayez connaissance de leurs fonctionnements. Oui, leurs, car chacun peut vous donner des résultats plus ou moins différents. + +![Bannière 5 conseils pour bien vivre géométriquement](https://cdn.geotribu.fr/img/articles-blog-rdp/articles/2024/geometrie_tolerance_sig/bien_vivre_geometriquement.webp){: .img-center loading=lazy } + +J'espère que cette série d'articles vous a intéressé. D'autres sur la comparaison entre les outils devraient venir. + +Et pour finir, merci à mes relecteurs de Geotribu ([Michaël](../../team/michael-galien.md "Michaël Galien"), [Florian](../../team/florian-boret.md "Florian Boret"), [Guilhem](../../team/guilhem-allaman.md "Guilhem"), [Arnaud](../../team/arnaud-vandecasteele.md) et Julien), à [Sandro Santilli](https://www.osgeo.org/member/sandro-santilli/) (correction d'une erreur dans un code), [Martin Davis](https://wiki.osgeo.org/wiki/User:Mdavis) aka Dr. [JTS](https://www.osgeo.org/projects/jts/) (pour ses apports sur les « concurrents ») et tout ce qu'il a pu faire pour nos outils ! Et, enfin, merci à [Julien Moura](../../team/julien-moura.md "Julien Moura") qui a su être patient avant de voir la première phrase :grin:. + + + +{% include "licenses/beerware.md" %}