SFCGAL 1.5.0 est arrivé !

By lundi 6 novembre 20233D, GIS, NewsFR, PostGIS, SFCGAL

SFCGAL est une bibliothèque C++ qui enveloppe CGAL, dans le but de prendre en charge les normes ISO 19107:2013 et OGC Simple Features Access 1.2 pour les opérations en 3D et de 2D avancées.
Elle fournit des types de géométries et des opérations conformes aux normes, accessibles via ses interfaces en C ou en C++.

Elle est utilisée aujourd’hui dans un large éventail d’applications, y compris au sein de PostGIS pour des opérations en 2D avancées et 3D, dans GDAL, ainsi que dans certaines bibliothèques de calculs complexes.
Avec la sortie de SFCGAL 1.5.0, nous continuons d’étendre ses fonctionnalités et de proposer de nouvelles possibilités aux développeurs.

Algorithmes de visibilité

SFCGAL 1.5.0 intègre deux nouveaux algorithmes de visibilité issus de la bibliothèque CGAL.

Ces algorithmes améliorent la capacité d’analyser la visibilité entre des objets géométriques, ce qui est essentiel dans un large éventail d’applications, de la planification urbaine à la robotique.

Ces algorithmes permettent de déterminer les zones visibles depuis un point ou depuis une arête, comme l’illustre l’exemple ci-après.

Visibilité depuis un point, dans un quartier dense : on part d’un polygone arbitraire (en rouge) dans le voisinage du point, auquel on retranche le bâti. Et on obtient un polygone des zones visibles.

Nouvelles variantes de partitionnement

Cette version apporte des améliorations significatives dans les algorithmes de partitionnement de polygones.

SFCGAL possède déjà plusieurs algorithmes de triangulation pouvant partitionner un polygone. Nous venons d’ajouter 4 nouveaux algorithmes, répondant ainsi aux besoins de diverses applications géospatiales et de conception.

partitions dans SFCGAL

En haut à gauche, Y Monotone Partition ; en haut à droite, Approximal Convex Partition ; en bas à gauche, Greene Approximal Convex Partition ; en bas à droite : Optimal Convex Partition

Extrusion de squelette droit

L’une des fonctionnalités les plus attendues dans SFCGAL 1.5.0 est la possibilité de générer des « fausses » toitures en extrudant le squelette d’un polygone (straight skeleton).

Des méthodes de conversion de la 2D vers la 3D (les fameux bâtiments !) existaient auparavant. Cependant, la qualité et l’efficacité de l’algorithme fourni par CGAL permet d’atteindre une solution significativement plus performante pour ce cas d’usage, en garantissant une conception de toit précise et fonctionnelle.

Extrusion de toits dans QGIS 3D

Cela ouvre la voie à une généralisation du LoD2 pour la tâche de reconstruction de bâtiments. Une représentation architecturale détaillée reste essentielle pour la visualisation, la simulation et la planification urbaine, en cette période où les jumeaux numériques 3D s’intéressent de plus en plus à la ville !

Support du WKB et EWKB

Nous avons également ajouté à SFCGAL 1.5.0 des fonctionnalités de lecture et d’écriture des formats binaires WKB et EWKB, pour offrir une plus grande interopérabilité avec d’autres systèmes et formats géospatiaux.

Cette mise à jour renforce la facilité d’intégration de SFCGAL dans des workflows existants. Elle démontre notre engagement continu à améliorer SFCGAL pour répondre aux besoins diversifiés de nos utilisateurs.

Résolution des problèmes de déploiement

SFCGAL est un logiciel complexe, reposant sur des outils tout aussi complexes. Dans ce contexte, les problèmes de compilation, d’intégration et de packaging représentent un écueil notable (dont la bibliothèque a pu être victime par le passé !).

Nous avons travaillé dur pour apporter des solutions à ces problèmes. Des processus de test rigoureux ont ainsi été mis en place sur les différentes plateformes majeures (Linux Debian/Ubuntu, BSD, Windows, MacOS) pour garantir que SFCGAL fonctionne de manière fiable et cohérente (oui, nous pensons à vous, les erreurs de flottants…).

De plus, nous sommes engagés dans le développement d’une intégration à vcpkg, une solution de gestion de paquets C++ multiplateforme. Cette intégration facilitera davantage l’installation et l’utilisation de SFCGAL dans divers environnements.

L’écosystème autour de SFCGAL

Cette version représente l’avancée la plus importante de SFCGAL depuis des années, autant en diffuser les nouveautés !

Notre objectif est de rendre SFCGAL accessible et fonctionnel pour un large éventail d’utilisateurs, quels que soient leurs besoins et leurs plates-formes. Trois possibilités additionnelles existent pour qui voudra tester ces nouveautés :

  • Les fonctionnalités présentées ici devraient être disponibles dans la prochaine version de PostGIS.
  • La bibliothèque est accompagnée par le binding Python pySFCGAL, qui inclut d’ores-et-déjà ces évolutions.
  • En outre, nous sommes heureux de vous informer que nous allons travailler sur un plugin QGIS pour faciliter leur intégration dans ce puissant système d’information géographique.

Restez à l’écoute pour davantage de mises à jour sur SFCGAL. Nous travaillons déjà sur l’intégration de nouveaux algorithmes !

Si vous souhaitez en discuter avec nous, ou si vous avez des cas d’usage qui pourraient bénéficier de ces nouveautés, contactez-nous à : info@oslandia.com !