Comment importer facilement des réseaux Autocad dans Qgis
On l'a vu dans un premier TP, un plug in Qgis permet d'importer des Dxf en les convertissant en SHP. Mais le problème de Dxf2Shp, c'est qu'il ne converti que la géométrie. Dans Autocad, la plus part du temps, un code de couleur, de type de ligne ou d'épaisseur qui se traduit dans la légende permet de distinguer les différent éléments. On va repartir de la DICT ERDF pour servir d'exemple
Une fois le réseau calé aux bonnes coordonnées, on va se servir d'un petit programme en Lisp pour créer un fichier WKT. qui une fois rentré en table va donner ceci:
Calque | Type de ligne | Couleur | Epaisseur | largeur | Geometrie |
BT | AI9-LType2 | 3.0000 | -1.0000 | 0.0000 | LINESTRING(306.60... |
... |
Les 5 premiers champs vont nous permettre d'identifier les entités
en fonction de la légende réseau, type de câbles
ect...
Il se peut que certains soit inutile, en particulier épaisseur
et largeur, généralement c'est soit un soit l'autre.
Les lisps
Si vous n'êtes pas familiers des lisps voir ici comment les charger ou la page que j'y ai consacré pour d'autres tuyaux.
Prés requis.
J'ai trier dans un fichier.dwg les réseaux ERDF de la DICT. Par rapport à l'import brut du PDF en DXF, j'ai déjà trier et regrouper les réseaux dans 2 calques, HT et BT en faisant des sélections par couleur, et garder les points pour se géoréférencer dans un calque à part.
Petit rappel, pour caler le dwg aux bonnes coordonnées, il faut faire la première étape comme dans le cet exemple.
L'export en DXF depuis Ilustrator ou Scribus, utilise souvent un vieux format pour les polylignes: les polylignes2d pour traduire ces entités en polylignes modernes utilisez la fonction CONVERTPOLY (en la tapant à la ligne de commande après avoir tout sélectionné).
Vérifiez dans la propriétés qu'il n'y a plus de poly 2d, et repérez s'il y a des lignes (en changeant la couleur par exemple) et bien vérifier qu'il n'y a pas de lignes dans le réseau car elles ne seront pas exportés. Pour les convertir on peu les joindre à une polyligne. (JOINDRE à la LC ou le génial lisp JPL)
Chargez le lisp WKT.lsp et lancez la commande en tapant WKT, une boite de dialogue propose un nom de fichier qui sera créé.
Il n'y a plus qu'a le faire avaler à Qgis avec la commande pour créer une nouvelle couche de texte délimité.
1) appel de la fonction, on renseigne le nom du fichier.wkt
qu'on vient de créer
2) Utiliser les séparateurs personnalisé, Tab
3) un 2eme séparateur le "|" (Alt-gr et 6 au dessus
des lettres du clavier)
Ok on renseigne la projection et c'est fait !!
Il n'y a plus qu'a modifier l'aspect des entités en fonction de la valeur des champs pour avoir un réseau plus sympa.