Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Mon 27 April 2009 16:33

Jerome Clissen
Juste Inscrit !
Date d'inscription: 12 Sep 2008
Messages: 8

Polyligne 3d vers polygone

Bonjour à tous,

Je cherche une commande ou une solution pour transformer une polyligne 3d vers un polygone. Je connais la commande MapPolylineToPolygon mais elle ne fonctionne que sur les polylignes 2d.

J'ai autocad map 2007

Merci

Dernière modification par Jerome Clissen (Mon 27 April 2009 16:33)

Hors ligne

 

#2 Mon 27 April 2009 16:37

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: Polyligne 3d vers polygone

Bonjour,

Quand vous dites polygone, vous voulez dire polygone *2d*, je suppose ? Si oui :
1. transformation en polyligne 2d
2. transformation polyligne 2D en polygone

Robin.

Hors ligne

 

#3 Mon 27 April 2009 16:43

Jerome Clissen
Juste Inscrit !
Date d'inscription: 12 Sep 2008
Messages: 8

Re: Polyligne 3d vers polygone

Merci pour cette réponse rapide.
Je souhaiterais avoir un polygone en 3d (si c'est possible). C'est pour un export en shp par la suite et je sais que l'entité polygone peut avoir des sommets de Z différents en 3d.

Jérôme

Hors ligne

 

#4 Mon 27 April 2009 16:51

Patrice
JeSuisCharlie
Date d'inscription: 16 Sep 2005
Messages: 4743

Re: Polyligne 3d vers polygone

Hello

Je viens mettre mon grain de sel avec le fameux "Déplacer à l'Infini" d'AutoCAD !!
( qui en fait explose la précision mathématique d'AutoCAD )

C'est ce qui permet de remettre "à plat" un dessin contenant de la 3D (sauf 3D Volumique)
ou des objets 2D avec un Z quelconque !

1) Tu sélectionnes les objets voulus ...

2) Commande "Déplacer"
Point de départ = 0,0,0
Point d'Arrivée = 0,0,1e99
( Les objets montent vers l'Infini )

3) Commande "Déplacer"
Point de départ = 0,0,0
Point d'Arrivée = 0,0,-1e99
( Les objets s'écrasent au sol , Z=0 )

Et voilà, c'est fini ...

GeoBye, Pat


(Autodesk Expert Elite Team)

Hors ligne

 

#5 Mon 27 April 2009 17:39

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: Polyligne 3d vers polygone

Jerome Clissen a écrit:

Je souhaiterais avoir un polygone en 3d (si c'est possible). C'est pour un export en shp par la suite et je sais que l'entité polygone peut avoir des sommets de Z différents en 3d


Hum, trop vite Pat, je pense que c'est plus compliqué qu'un aplatissement, là... Pour le moment, je connais le MPolygone (qui a juste une valeur d'élévation), utilisé par Map les régions, les faces 3D... mais les polygones 3D dans Autocad, là je sèche sad

Hors ligne

 

#6 Tue 28 April 2009 08:50

Patrice
JeSuisCharlie
Date d'inscription: 16 Sep 2005
Messages: 4743

Re: Polyligne 3d vers polygone

Hello

Bon alors si il s'agit de convertir une polyligne 2D (Fermée ou Non) en Polyligne 3D,
cette excellente routine de Gilles devrait faire l'affaire :

Code:

;; Routine Convert3D (par GC)
;; En entree : polyligne 2D
;; En sortie  : polyligne 3D
;; Commande au clavier : CONVERT3D

;; GetVertices (par GC)
;; Retourne la liste des sommets des polylignes (coordonnées SCG)
;; Argument : ename de la polyligne

(defun GetVertices (ent / elst pt plst)
  (setq elst (entget ent))
  (cond
    ((= (cdr (assoc 0 elst)) "LWPOLYLINE")
     (setq elv (cdr (assoc 38 elst)))
     (apply 'append
        (mapcar
          '(lambda (x)
         (if (= 10 (car x))
           (list (trans (list (cadr x) (caddr x) elv) ent 0))
         )
           )
          elst
        )
     )
    )
    ((= (cdr (assoc 0 elst)) "POLYLINE")
     (setq pt (entnext ent))
     (while (= (cdr (assoc 0 (setq elst (entget pt)))) "VERTEX")
       (setq
     plst (cons (if    (zerop (logand 120 (cdr (assoc 70 elst))))
              (trans (cdr (assoc 10 elst)) ent 0)
              (cdr (assoc 10 elst))
            )
            plst
          )
     pt   (entnext pt)
       )
     )
     (reverse plst)
    )
  )
)

;; CONVERT3D (par GC)
;; Convertit les polylignes 2d ou lw sélectionnées ent polylignes 3d

(defun c:convert3d (/ n fltr ss pl elst)
  (setq    n    0
    fltr '((-4 . "<OR")
           (0 . "LWPOLYLINE")
           (-4 . "<AND")
           (0 . "POLYLINE")
           (-4 . "<NOT")
           (-4 . "&")
           (70 . 120)
           (-4 . "NOT>")
           (-4 . "AND>")
           (-4 . "OR>")
          )
  )
  (princ "\nSelectionner les polylignes ou <toutes>")
  (if (or (setq ss (ssget fltr))
      (setq ss (ssget "_X" fltr))
      )
    (while (setq pl (ssname ss n))
      (setq elst (entget pl '("*"))

        n     (1+ n)
      )
      (entmake
    (append
      (list
        '(0 . "POLYLINE")
        (assoc 67 elst)
        (assoc 410 elst)
        (assoc 8 elst)
        (cond
          ((assoc 6 elst))
          ((cons 6 "ByLayer"))
        )
        (cond
          ((assoc 62 elst))
          ((cons 62 256))
        )
        (cons 70 (+ 8 (logand 129 (cdr (assoc 70 elst)))))
      )
      (assoc -3 elst)
    )
      )
      (foreach p (GetVertices pl)
    (entmake
      (list
        '(0 . "VERTEX")
        (cons 10 p)
        '(70 . 32)
      )
    )
      )
      (entmake '((0 . "SEQEND")))
      (entdel pl)
    )
  )
  (princ)
)

Encore merci à Gilles, GeoBye, Pat


(Autodesk Expert Elite Team)

Hors ligne

 

#7 Tue 28 April 2009 09:09

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: Polyligne 3d vers polygone

Toujours pas, mais je vais te piquer ça quand même big_smile Jérôme veut transformer sa polyligne 3d en Polygone3D.
Jérôme, peut tu préciser ce que tu appelles Polygone 3D ?

J'ai bien trouvé cette définition : (les polygones 3D sont des surfaces constituées de plusieurs "faces" planes)

3D Polygon meshes are surfaces that consist of several flat faces. There are some commands that can create such surfaces. One of the rarely used commands is called 3DMESH. This command is difficult to use but very powerful. It is mainly used by programmers. Here you will use the command to create a surface. Later the PEDIT command will be used to close and smooth the 3D mesh.


Robin.

Hors ligne

 

#8 Tue 28 April 2009 09:14

Jerome Clissen
Juste Inscrit !
Date d'inscription: 12 Sep 2008
Messages: 8

Re: Polyligne 3d vers polygone

Robin a écrit:
Jerome Clissen a écrit:

Je souhaiterais avoir un polygone en 3d (si c'est possible). C'est pour un export en shp par la suite et je sais que l'entité polygone peut avoir des sommets de Z différents en 3d


Hum, trop vite Pat, je pense que c'est plus compliqué qu'un aplatissement, là... Pour le moment, je connais le MPolygone (qui a juste une valeur d'élévation), utilisé par Map les régions, les faces 3D... mais les polygones 3D dans Autocad, là je sèche sad


Ok, si je comprends bien, c'est pas possible dans Map. Dommage.

Et merci pour la routine, mais les polylignes 3d ne posent pas de problèmes, elles sont déjà générées et en 3D

Merci beaucoup pour ces réponses rapide.

edit : robin a répondu pendant que je répondais...

Je précise donc, je ne sais pas si l'entité ou le type d'objet existe dans map (j'espérais) Mais je sais qu'il est possible d'en avoir dans le format shp. Par exemple, dans openjump, il est possible de convertir des polylignes 3d exportées en shp depuis map en polygone avec un Z spécifique pour chaque sommets.

Jérôme

Dernière modification par Jerome Clissen (Tue 28 April 2009 09:27)

Hors ligne

 

#9 Tue 28 April 2009 10:12

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: Polyligne 3d vers polygone

dans openjump, il est possible de convertir des polylignes 3d exportées en shp depuis map en polygone avec un Z spécifique pour chaque sommets


Hello,

Je reste dubitatif sur l'existence d'un "polygone 3D". Pourrait tu mettre une copie d'écran ou une référence de l'un ou l'autre logiciel ?
J'ai bien regardé dans l'aide en ligne d'argis, il existe des TIN et des polygonZ (=un polygone avec un Z) ainsi que dans l'aide d'autocad mais pas de polygon 3D. J'ai d'ailleurs du mal à visualiser ce que ça donnerait. La seule chose que je vois est une surface constituée de différences faces qui auraient été lissées (ou pas d'ailleurs) mais ce n'est pas un polygone 3D hmm

Pour moi un polygone est une surface plane 2D, avec ou pas un Z associé... mais je peux me tromper.

(Wikipédia : En géométrie euclidienne, un polygone (du grec polus, nombreux, et gônia, angle) est une figure géométrique plane, formée d'une suite de segments, chacun d'entre eux partageant une extrémité avec le précédent et le suivant, délimitant ainsi un contour fermé. Le terme polygone recouvre en particulier les figures fermées délimitées par une ligne brisée (une figure en forme d'étoile par exemple).)

Robin.

Dernière modification par Robin (Tue 28 April 2009 10:17)

Hors ligne

 

#10 Tue 28 April 2009 10:46

Jerome Clissen
Juste Inscrit !
Date d'inscription: 12 Sep 2008
Messages: 8

Re: Polyligne 3d vers polygone

Salut

Oui effectivement, mathématiquement et géométriquement, un polygone 3d parait bizarre. Mais sur la capture d'écran, on peut voir que les coordonnées de chaque sommet a son propre Z.
[img]http://img410.imageshack.us/img410/1570/openjump.th.png[/img]

Et si de openjump, je réexporte ces polygones en shp puis que je réimporte dans map, ils me reviennent en polylignes 3d.

Le mystère reste entier big_smile

Jérôme

Hors ligne

 

#11 Tue 28 April 2009 11:41

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: Polyligne 3d vers polygone

Re,

Exact ! Je peux te demander quel en serait le but final ?

Robin

Hors ligne

 

#12 Tue 28 April 2009 11:56

Jerome Clissen
Juste Inscrit !
Date d'inscription: 12 Sep 2008
Messages: 8

Re: Polyligne 3d vers polygone

Re,

le shp est demandé pour injecter ensuite dans une base de données postgresql. C'est un relevé topographique de cours d'eau et abords...

Jérôme

Hors ligne

 

#13 Tue 28 April 2009 12:13

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: Polyligne 3d vers polygone

C'est un relevé topographique de cours d'eau et abords


Et une polyligne 3d ne suffit pas ? Dans les relevés topo que j'ai pu utiliser/consulter/faire, les entités 3D comme les routes, les chemins ou autre étaient en polyligne 3D et ça suffisait. Ceci dit, je n'ai pas encore mis le nez dans Potsgresql hmm

Hors ligne

 

#14 Tue 28 April 2009 12:49

Pierre Dolez
Participant assidu
Lieu: Proville
Date d'inscription: 14 Aug 2008
Messages: 518
Site web

Re: Polyligne 3d vers polygone

Bonjour,
Moi aussi, j'aimerais apporter mon grain de sel.
J'ai relu la doc sur le shp (juillet 98), d'après ce que j'ai compris, une polyline peut être ouverte, alors qu'un polygone DOIT être fermé. A par cela il n'y a pas de différence de structure. Autrement dit un polygone détermine une partition de l'espace 2D, avec ce que cela implique (sens de parcourt, intersections interdites etc.) Dans tous les cas il s'agit de définition 2D. Mais il n'est naturellement pas interdit de mettre un Z aux points. Cela ne fera pas du 3D, mais du 2D1/2. Esri étant un logiciel qui traite du terrain (et non de mécanique comme Autocad), je ne pense pas qu'il traite des objets 3D.

Ceci dit, je ne peux pas plus éclairer Jérôme.
Cordialement.

Hors ligne

 

#15 Tue 28 April 2009 13:10

Jerome Clissen
Juste Inscrit !
Date d'inscription: 12 Sep 2008
Messages: 8

Re: Polyligne 3d vers polygone

Salut,

L'intérêt du polygone, est qu'il peut être évidé (étang avec îlots dans mon cas). Et les données associées le sont avec la géométrie complexe.

Jérôme

Hors ligne

 

#16 Tue 28 April 2009 13:22

Pierre Dolez
Participant assidu
Lieu: Proville
Date d'inscription: 14 Aug 2008
Messages: 518
Site web

Re: Polyligne 3d vers polygone

Re,
Oui, c'est le but des polygone, ce qui j'appelle une partition de l'espace 2D.
Soit un terrain,  il y a un étang, et au milieu de l'étang, une ile. Le périmètre du terrain sera décrit dans le sens positif, le bord de l'étang dans le sens négatif, l'ile dans le sens positif, tout cela dans le MEME polygone.
La possession d'un Z pour les ponts est indépendant.

Hors ligne

 

#17 Tue 28 April 2009 14:18

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: Polyligne 3d vers polygone

Pas évident..Désolé Jérôme, sur ce coup je sèche sad

Bon courage, en espérant qu'un autre puisse t'aider smile
Robin.

Hors ligne

 

#18 Tue 28 April 2009 14:34

Pierre Dolez
Participant assidu
Lieu: Proville
Date d'inscription: 14 Aug 2008
Messages: 518
Site web

Re: Polyligne 3d vers polygone

Si l'hypothèse est de donner
1- des polygones
2- les altitudes des points définissant les sommets
Il serait peut-être plus simple de dissocier les deux opérations, cad fournir des polygones 2D, c'est à dire sans Z, puis des point isolés, ou liés par de polylines3D, tout cela dans le même fichier naturellement.
De toute façon pour l'utilisateur final, les deux notions, Polygone et altitude, sont indépendantes.

Pierre

Hors ligne

 

#19 Tue 28 April 2009 14:54

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: Polyligne 3d vers polygone

+1 avec Pierre sur la dissociation des deux si possible (=plus réalisable déjà) smile

Hors ligne

 

#20 Tue 28 April 2009 15:13

Jerome Clissen
Juste Inscrit !
Date d'inscription: 12 Sep 2008
Messages: 8

Re: Polyligne 3d vers polygone

Merci à tous pour ces pistes,

Mon boulot est de fournir le shp. Après, l'intégration dans la base n'est pas de mon ressort. Le modèle de base de données est figé. Pas moyen donc de modifier en fonction de mes besoins. De plus, je me trompe peut-être, mais faire cohabiter des polygones et des polylignes dans un même fichier shp me parait impossible.

Il est possible de convertir avec ETgeowizard une extension arcmap. Ne l'ayant pas, j'ai demandé à un ami.

Jérôme

Hors ligne

 

#21 Tue 28 April 2009 15:31

Pierre Dolez
Participant assidu
Lieu: Proville
Date d'inscription: 14 Aug 2008
Messages: 518
Site web

Re: Polyligne 3d vers polygone

Jérôme,
Un fichier shp est très souple. On peut faire cohabiter n'importe quoi avec n'importe quoi, tant que c'est prévu, naturellement.
Faites l'essai, une Polyline3D qui définit le contour de l'étang, la même en Polygone2D et enfin les points définissant les éléments linéaires, en tant que points isolés. Vous créez le fichier, puis avec n'importe que logiciel (même Autocad) vous relisez le shp.
L'organisation du dbf sera peut-être un peu plus complexe, mais le logiciel devrait s'y retrouver.   
N'hésitez pas à m'envoyer un fichier DXF, je vous ferai un fichier SHP.
Cordialement.

Hors ligne

 

#22 Tue 28 April 2009 16:42

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: Polyligne 3d vers polygone

On peut faire cohabiter n'importe quoi avec n'importe quoi, tant que c'est prévu, naturellement.


Euh..non, sûrement pas  ! Les points avec les points, les lignes avec les lignes, les polygones avec les polygones, de même pour les autres entités PolylignM ou autre PolygonZ ou Multipoint, on mélange pas !!


Robin.

Hors ligne

 

#23 Tue 28 April 2009 18:43

Pierre Dolez
Participant assidu
Lieu: Proville
Date d'inscription: 14 Aug 2008
Messages: 518
Site web

Re: Polyligne 3d vers polygone

Sorry, oui je effectivement doublement désolé.
Pour le problème posé par Jérôme, il ne reste pus qu'à faire une moulinette.

Pierre

Hors ligne

 

#24 Wed 29 April 2009 10:33

Gwenael Bachelot
Participant assidu
Lieu: Bureau Autodesk : Paris 12ème
Date d'inscription: 5 Sep 2005
Messages: 608
Site web

Re: Polyligne 3d vers polygone

Bonjour,

Jerome Clissen a écrit:

Je souhaiterais avoir un polygone en 3d (si c'est possible). C'est pour un export en shp par la suite et je sais que l'entité polygone peut avoir des sommets de Z différents en 3d.


Pour information :
- AutoCAD Map 3D peut exporter une polyligne fermée dans un polygone SHP.
- AutocAD Map 3D peut exporter dans un SHP 3D

Ces deux paramètres sont des options de l'export SHP (voir l'image jointe).

Je ne suis pas certain que cela puisse répondre à votre besoin, mais ... il faudrait essayer.

Cordialement,
Gwenael Bachelot

Dernière modification par Gwenael Bachelot (Wed 29 April 2009 10:35)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#25 Wed 29 April 2009 15:02

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: Polyligne 3d vers polygone

Hello,

Bien vu cette option du fond du tiroir ! J'ai testé, et ça marche : dans Arcgis, on se retrouve avec des polygones ZM, qui associent bien chaque sommet du polygone à un triplet X,Y,Z.
Je découvre en même temps les polygonZM d'ailleurs...

Copie d'écran ci jointe,
Robin.


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

Pied de page des forums

Powered by FluxBB