Aller au contenu

Extraction WKT


x_all

Messages recommandés

Bonjour

 

une fois de plus je sollicite un peu d'aide des codeurs fou du forum.

 

je cherche une moulinette pour extraire un fichier texte depuis des polylignes sélectionnées au format WKT. (Pour importer des réseaux dans Qgis)

 

Il faudrait trier ses polylignes par calque et par épaisseur globale. Avec peut être une ligne de commentaire pour faciliter la lecture (avec un # (?) en début de ligne) histoire de séparer le paquets

 

pour une polyligne la forme c'est :

LINESTRING((1 1,5 1,5 5,1 5,1 1))

 

soit une liste de points, le pb c'est que j’arrive pas à regrouper /trier mes entités et que j'ai encore du mal avec la création de fichier..

 

pour plus de renseignements

http://fr.wikipedia.org/wiki/Well-known_text

http://www.portailsig.org/content/plugins-qgis-le-format-wkt-ou-la-geometrie-amusante-avec-quickwkt-et-plain-geometry-editor

http://www.opengeospatial.org/standards/sfa

 

Merci de vos aides

Lien vers le commentaire
Partager sur d’autres sites

Salut,

 

j'ai fait ça

(defun c:wkt (/ ss ent f1 f nb lspl pl c strcoords strdelim)
 (vl-load-com)

 (print "Selectionnez les polylignes")
 (setq ss (cadr (sssetfirst nil (ssget (list (cons 0 "LWPOLYLINE"))))))
 (if (/= ss nil) (progn
   (setq f1 (getfiled "Fichier wtk a creer" "" "wkt" 1))
   (if (/= f1 nil) (progn
     (setq f (open f1 "w"))
     (write-line "calque-epaisseur|geometrie" f)
     (setq nb 0 lspl nil)
     (while (< nb (sslength ss))
       (setq ent (vlax-ename->vla-object (ssname ss nb)))
       (setq pl (list 
         (strcat (vla-get-layer ent) "-" (rtos (vla-get-ConstantWidth ent) 2)) 
         (vlax-safearray->list (vlax-variant-value (vla-get-coordinates ent)))
       ))
       (setq lspl (append lspl (list pl)))
       (setq nb (+ nb 1))
     );_end while
     ;ordre croissant suivant premiere entite
     (setq lspl (vl-sort lspl
       (function (lambda (e1 e2) (< (car e1) (car e2))))
     ))
     (foreach pl lspl
       (setq strcoords "(")
       (setq strdelim "")
       (foreach c (nth 1 pl)
         (setq strcoords (strcat strcoords strdelim (rtos c 2)))
         (if (= strdelim " ")
           (setq strdelim ",")
           (setq strdelim " ")
         )
       );_end foreach
       (write-line (strcat (nth 0 pl) "|LINESTRING" strcoords ")") f)
     );_end foreach
     (close f)
     (print (strcat "Fichier " f1 " cree"))
     (print)
   ));_end f1 nil
 ));_end ss nil

)

 

Importer ensuite dans qgis une couche de texte délimité avec comme paramètres:

délimiteurs personnalisés: TAB et |

ignorer en-têtes 1ere ligne

définition géométrie: WKT

champ de géométrie: geometrie, détecter

Aide au téléchargement du cadastre dgfip-download-helper
Insertion de photos géolocalisées exif https://www.dropbox.com/s/gkf6o9ac2hxen97/exifscr.zip?dl=0
Script correction BUG SPDC V2, propriétaire département 21 et 22 : https://greasyfork.org/scripts/442400-spdcv2/code/SPDCV2.user.js

Lien vers le commentaire
Partager sur d’autres sites

super merci !!!

 

je vais tester ça, et je retoucherai peut-être un peu le code pour coller à ce que je veux faire, mais cette trame de départ, j'aurai pas su la pondre...

 

je ferai un tp sur mon site quand ce sera au point com d'ab, mais d’ors et déjà merci beaucoup de la part de tous ceux qui s'en serviront car je crois qu'il ya pas mal de monde qui cherche un moyen pas trop compliqué d'importer des couches Autocad vers Qgis.

En l'état je n'ai trouver qu'un plug in (DXF2SHP) mais il importe couche par couche ce qui rend la tache fastidieuse Quand on à un réseau à rentrer il faut faire un DXF par diamètre de tuyaux, renseigner des champs (car les DXF arrivent sans définition d'attribut) puis fusionner les couches bref faisable mais c'est une grosse galère.

 

Je suis charrette (comme d'ab), mais je pense que ce week end je pourrai m'y consacrer sérieusement.

 

Super super merci :)

Lien vers le commentaire
Partager sur d’autres sites

De rien.

 

Je reste en attente de ton tp quand tu auras finit, ça pourra être intéressant.

Aide au téléchargement du cadastre dgfip-download-helper
Insertion de photos géolocalisées exif https://www.dropbox.com/s/gkf6o9ac2hxen97/exifscr.zip?dl=0
Script correction BUG SPDC V2, propriétaire département 21 et 22 : https://greasyfork.org/scripts/442400-spdcv2/code/SPDCV2.user.js

Lien vers le commentaire
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité