Sélectionner une page

Comme présenté dans un récent article de blogue, la nature du travail des ingénieurs et des géomaticiens diffère. Ces professionnels doivent donc utiliser des logiciels offrant des fonctionnalités différentes et produisant des formats différents. Heureusement, grâce aux outils ETL (Extract, Transform & Load) que possède FME, il est possible de récupérer l’information contenue dans les plans CAD des ingénieurs afin de les intégrer dans le SIG des géomaticiens et vice versa. Voyons les principales étapes à réaliser avec FME lors d’un projet de type CAD vers SIG.

1. Choisir son Reader

Une simple recherche avec le format DWG dans la liste des Readers FME donne accès à une série de choix différents. Chacun des Readers suivants permet de lire des données CAD en format DWG ou DXF, mais avec des objectifs et des paramètres distincts.


En plus de nous référer aux explications détaillées de Safe Software, nous nous appuyons sur notre expérience acquise lors de multiples projets réalisés pour des clients au fil des années pour vous aider à différencier tous ces formats. L’automatisation des processus CAD vers SIG est une compétence qui ne date pas d’hier chez Consortech!

AutoCAD Civil 3D

Ce format supporte des entités propres à l’application AutoCAD Civil 3D. Ce Reader peut être utilisé si un plan d’égouts ou aqueducs a d’abord été conçu en Civil 3D, même s’il a été modifié dans AutoCAD par la suite. Si vous utilisez d’autres Readers AutoCAD sur des fichiers en format Civil 3D, certaines géométries propres à l’application n’apparaîtront pas.

AutoCAD DWG/DXF

C’est le Reader de base et le plus commun. À utiliser en premier pour tous les fichiers AutoCAD réguliers. Il utilise les librairies de l’Open Design Alliance pour lire et écrire les fichiers DWG.

AutoCAD Map 3D Object Data

Ce Reader supporte la gestion d’information de type Object Data disponible dans AutoCAD Map 3D. Pour lire/écrire des Object Data, il faut que le dessin ait été conçu avec AutoCAD Map 3D ou qu’il soit destiné à être utilisé dans cette application.

AutoCAD RealDWG DWG/DXF

Ce Reader utilise la librairie TrustedDWG produite par Autodesk qui permet de choisir la version d’AutoCAD (année) qui sera utilisée autant pour lire que pour écrire un fichier DWG. Ce format supporte plus efficacement les entités 3D comme les surfaces et les solides que le Reader DWG/DXF de base. Cependant, il exige plus de capacités machine et fonctionnera uniquement en mode Windows 64-bit et sur les versions 2020 et suivantes de FME.

2. Extraire l’information souhaitée

Bien que les dessins AutoCAD ne possèdent pas directement d’information attributaire comme dans un SIG, il est possible d’en extraire beaucoup d’informations pertinentes pour alimenter le SIG.

Extraire les géométries

Chacun des éléments géométriques arrivera comme sa propre entité (Feature) dans FME. Ainsi, chaque ligne, point, polygone pourra être traité de la manière désirée. Par exemple, une des géométries courantes en AutoCAD dans le contexte de gestion de territoire est le Block. Celui-ci est en fait un symbole construit à partir d’une combinaison de lignes, points et polygones qui est regroupé en un seul objet avec un point d’insertion. Là où en géomatique un style serait appliqué sur une couche de points avec un symbole de borne-fontaine, dans le dessin AutoCAD cela sera représenté par des Blocks à l’image d’une borne-fontaine pour agrémenter le visuel.

Pour la gestion des Blocks dans AutoCAD, deux options sont possibles :

  • Conserver uniquement le point d’insertion
  • Conserver les géométries qui composent le Block

Puisque les Blocks sont des groupements de lignes, polygones et points, ils peuvent être explosés avec FME, c’est-à-dire qu’on sépare leurs éléments de base. Ainsi, le Block de borne-fontaine ci-haut ne sera plus un élément groupé (image de gauche), mais plutôt un ensemble de cercles, de rectangles et de lignes individuelles (image de droite).

Le paramètre à vérifier pour exploser les Blocks se trouve dans les options du Reader.

Cependant, désactiver cette option n’importera pas le Block en une entité comme dans l’image plus haut. À la place, un point d’insertion remplacera la position du Block.

Extraire le style (couleur, largeur du trait, etc.)

Une autre méthode pour aller chercher de l’information est d’utiliser le style des entités AutoCAD telles que la couleur, largeur du trait, type de trait, etc. Dans certains cas, un style particulier est appliqué pour une même catégorie d’entités (ex. : ligne bleue de largeur 3 pour représenter une conduite d’aqueduc). Dans des cas de ce type, on peut automatiser le transfert de ces entités vers les couches appropriées dans le SIG.

Les informations concernant le style sont enregistrées dans des attributs de type « format » qui peuvent se trouver dans les paramètres des Feature Type. Il suffit simplement de les cocher pour les exposer dans le Workspace FME et ainsi les rendre utilisables par des Transformers subséquents.

Extraire l’information de type Object Data (si disponible)

Si un dessin CAD a été produit dans AutoCAD Map 3D, il y a de fortes chances que certains objets contiennent des Object Data, c’est-à-dire des informations qui vont essentiellement se retrouver sous forme d’attributs directement dans le FME Workbench. Pour plus d’informations concernant le paramétrage de ce Reader, vous pouvez consulter cet article produit par Safe Software.

Extraire les annotations de proximité

Puisque généralement les entités AutoCAD n’ont pas d’information attributaire (à moins d’avoir des Object Data), l’information concernant une entité particulière se retrouve souvent sous forme d’annotation ou de texte à proximité. En utilisant les Transformers de jointure spatiale de FME tels que le Neighborfinder ou le SpatialRelator, il est possible d’aller chercher l’information des annotations à proximité pour les attacher aux entités CAD.

3. Transférer l’information vers le SIG

Une fois que les données CAD ont été lues et interprétées correctement à l’intérieur de FME, le transfert vers le SIG peut alors être planifié. L’écriture de la donnée CAD vers le SIG se réalise en deux étapes :

a. Associer les informations extraites en tant qu’attributs à la donnée SIG

Une fois que les informations de style Object Data ou d’annotations ont été extraites du fichier CAD à l’intérieur de FME, il ne reste plus qu’à les assigner aux attributs présents dans votre structuration de SIG. Les Transformers AttributeManager et AttributeCreator seront probablement vos meilleurs alliés dans cet exercice.

b. Validation des géométries

Voilà un élément important à ne pas oublier : valider les géométries! Puisqu’AutoCAD permet beaucoup de liberté dans la création des dessins, il est très courant de retrouver plusieurs types de géométries différentes sur une même couche. Et c‘est sans compter que la topologie n’est généralement pas respectée. Ces réalités peuvent alors causer des problèmes qui surviendront lors de la réalisation d’analyses géomatiques ultérieures. Dans d’autres cas, on retrouve également des polygones mal fermés ou mal « snappés ».

L’utilisation de Transformers tels que GeometryFilter et/ou GeometryValidator permet de vérifier que des géométries appropriées et non corrompues seront transférées vers le SIG. Si dans certains cas des données sont exclues par l’utilisation du GeometryFilter ou du GeometryValidator, il faut alors trouver une méthode pour les corriger, dont la plus simple consiste à effectuer une correction manuelle, soit dans le plan original ou directement dans le SIG après le transfert. Ce dernier point illustre d’ailleurs que la règle de Pareto peut s’appliquer à l’automatisation des tâches, c’est-à-dire qu’il est parfois préférable de réaliser quelques tâches manuelles afin d’éviter de construire des processus trop complexes couvrant l’ensemble des cas possibles.

Prochaine étape : Produire des CAD à partir de votre SIG?

Nous vous avons présenté les étapes principales dans FME pour lire efficacement des données CAD (fonction Extract), en extraire l’intelligence (fonction Transform) et ensuite les intégrer à l’intérieur d’un SIG (fonction Load).

Il est important de noter que toute cette séquence peut être automatisée à différents degrés, mais n’oubliez pas ce bon vieux Pareto pour maximiser votre gain de productivité tout en en minimisant vos efforts et investissements! 

Et une fois que vous aurez réalisé ce projet, vous souhaiterez probablement ne pas vous arrêter en si bon chemin pour automatiser le chemin inverse : produire des données CAD à partir de votre SIG.

 

Vous souhaitez discuter de vos options pour réduire les pertes de temps liées à l’import de données CAD vers votre SIG?