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 Thu 19 February 2009 11:04

veroh
Participant actif
Lieu: Moutier
Date d'inscription: 27 Sep 2008
Messages: 97
Site web

Création du point d'intersection entre une ligne 3D et une face 3D

Bonjour,

Nous avons des données AutoCAD Map composées d'une part de lignes 3D (profils en travers) et d'autre part de faces 3D (provenant d'un MNT).
Nous cherchons à obtenir les points 3D correspondants aux intersections de ces deux types d'objets.

En utilisant le transformer Intersector, nous avons les nodes mais en 2D seulement et seulement ceux des extrémités des profils en travers si le champs duplicate node at elevation mis sur Yes. Si ce paramètre est mis sur No, on obtient alors non les intersections entre les faces et les profils 3D mais les intersections en projection verticale (ce qui ne nous intéresse pas).

Quelqu'un aurait-il déjà rencontré le même problème et, dans le meilleur des cas, trouvé une solution ?

Cordialement

Véronique

Hors ligne

 

#2 Thu 19 February 2009 15:20

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

Re: Création du point d'intersection entre une ligne 3D et une face 3D

Bonjour,
Etes-vous sûr que vous travaillez réellement en 3D ?
En fait, je pense que vous êtes en 2D1/2, c'est à dire que vos surfaces sont définies en plan, avec un Z. Les profils en travers sont, par définition, l'intersection d'un plan vertical avec une surface. C'est à dire que ce sont des lignes 2D dans le plan vertical.
En fait vous cherchez probablement ce qu'on appelle les "entrées en terre". C'est pas très facile.
Si c'est ça votre question, je pense que la meilleure (seule) solution est de dessiner (ou générer) les coupes en travers qui sont l'intersection du plan vertical correspondant à chaque profil avec le surface constituée des différentes faces. Chaque intersection de la projection du profil avec les lignes définissant les faces est un point caractéristique dont peut calculer de Z. C'est ça le principe.
Cordialement.

Hors ligne

 

#3 Thu 19 February 2009 15:42

veroh
Participant actif
Lieu: Moutier
Date d'inscription: 27 Sep 2008
Messages: 97
Site web

Re: Création du point d'intersection entre une ligne 3D et une face 3D

Bonjour,

C'est en effet bien ça (entrées en terre).

Y a-t-il déjà quelqu'un qui a essayé de faire cette suite d'opération via des transformer de FME (ou du moins une partie ?)

Véronique

Hors ligne

 

#4 Thu 19 February 2009 16:01

ogayte
Participant assidu
Lieu: Saint-Estève
Date d'inscription: 6 Mar 2006
Messages: 658
Site web

Re: Création du point d'intersection entre une ligne 3D et une face 3D

Je tenterais personnellement une autre approche :
1.générer un mnt avec l'altitude du sol (surfacemodeller)
2.générer un second mnt avec l'altitude de la ligne (grille contenant des zéros sauf à l'emplacement de la ligne)
3.calculer la différence d'altitude entre chaque cellule des deux grilles (RasterExpressionEvaluator)
Les cellules pour lesquelles cette distance = 0 doivent correspondre aux points d'entrée en terre.

A voir également :
VectorOnRasterOverlayer
PointOnRasterValueExtractor


Olivier Gayte
http://www.veremes.com
+33 (0)4-68-38-65-27

Hors ligne

 

#5 Thu 19 February 2009 16:51

veroh
Participant actif
Lieu: Moutier
Date d'inscription: 27 Sep 2008
Messages: 97
Site web

Re: Création du point d'intersection entre une ligne 3D et une face 3D

Merci pour la marche à suivre, mais nous avons eu un peu de mal avec le point 2. Pourriez-vous nous expliquer ce que vous entendez par "grille contenant des zéros sauf à l'emplacement de la ligne" ?

En tout cas, un tout grand merci pour les pistes données

Véronique

Hors ligne

 

#6 Thu 19 February 2009 17:12

jaykayone
Participant actif
Date d'inscription: 15 Feb 2007
Messages: 95

Re: Création du point d'intersection entre une ligne 3D et une face 3D

Bonjour,

est-ce que vous avez essayé le surfacedraper ?

Jeff

Hors ligne

 

#7 Thu 19 February 2009 17:16

veroh
Participant actif
Lieu: Moutier
Date d'inscription: 27 Sep 2008
Messages: 97
Site web

Re: Création du point d'intersection entre une ligne 3D et une face 3D

Oui nous avons essayé, mais ça ne répondait pas à la demande. Ce que nous avons en entrée, ce sont des lignes 3D (profils en travers) et des faces 3D. Alors soit nous avons mal compris le transformer surfacedraper (ce qui est bien possible je le concède volontiers) mais comme en sortie nous voulions des points (noeuds), nous n'avons pas obtenus satisfaction avec ce transformer.
Mais je vais creuser un peu plus la documentation dessus pour voir si avec les bons paramètres, c'est possible.

Véronique

Hors ligne

 

#8 Thu 19 February 2009 22:18

ogayte
Participant assidu
Lieu: Saint-Estève
Date d'inscription: 6 Mar 2006
Messages: 658
Site web

Re: Création du point d'intersection entre une ligne 3D et une face 3D

Vous pouvez utiliser Rasteriser pour créer une grille (raster) à partir de votre ligne 3D (utilisez Densifier pour augmenter le nombre de vertex)
Utilisez SurfaceModeller pour générer une grille équivalente à partir de vos données d'altitude du sol.


Olivier Gayte
http://www.veremes.com
+33 (0)4-68-38-65-27

Hors ligne

 

#9 Thu 19 February 2009 22:54

lefred
Participant occasionnel
Lieu: Sophia Antipolis
Date d'inscription: 3 Jul 2008
Messages: 42

Re: Création du point d'intersection entre une ligne 3D et une face 3D

La solution proposée par Olivier me parait intéressante, particulièrement si l'on souhaite calculer plusieurs points "d'entrée en terre" simultanément (ce qui semble être le cas).
Il faut envoyer les faces dans un SurfaceModeller, envoyer les lignes 3D dans un Rasterizer (voir http://www.fmepedia.com/index.php/Vecto … er_Example) dont le raster doit avoir les mêmes caractéristiques (dimensions et taille de pixel) que le modèle de surface précédemment généré, calculer la différence des 2 rasters (voir http://www.fmepedia.com/index.php/Raste … r_Examples) et récupérer les points pour lesquels la valeur du pixel est 0.
Si vous fournissez un petit jeu de données test, on doit pouvoir lancer un FME contest :-)
Frederic


--
Frédéric Eichelbrenner
Ellipso Facto - Sophia Antipolis

Hors ligne

 

#10 Fri 20 February 2009 12:36

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

Re: Création du point d'intersection entre une ligne 3D et une face 3D

Bonjour,
La solution de créer 2 raster et de faire la différence est intéressante, mais elle comporte un petit risque. La fonction définie par un raster n'est pas une fonction continue. Il en résulte que la différence entre 2 rasters ne passe pas forcément par zéro. Il y a donc le risque d'avoir des entrées en terre inconnues.
Un solution consisterait à agrandir le pas de précision en Z. Mais, étant donné que les lignes d'entrée en terre sont des talus, il faudrait avoir un pas en Z du même ordre que le pas en X et Y.
Je pense que pour un traitement automatique, une technique comportant une certaine probabilité de ne pas avoir de résultat est à éviter.

Je résume la technique habituelle en la matière:
A droite et à gauche de chaque profil, il y un segment qui représente le talus d'entrée en terre. Les extrémités de  ce segment ont une altitude projet. On calcule pour ces deux points l'altitude TN et on détermine la distance et l'altitude de l'intersection. Ne pas oublier qu'on travaille en géométrie cotée et non en géométrie dans l'espace.
Pour de type de problème, il y deux inconnues
1- l'entrée en terre est en déblai ou en remblai?
2- la longueur du segment correspondant au talus, avant calcul doit être correctement fixée.
Pour résoudre ces deux inconnues, on commence par étudier la position par rapport au TN de l'extrémité du segment la plus proche de l'axe, et on en déduit le sens du talus et une longueur approximative majorée.

Je prend naturellement l'hypothèse que votre Modèle Numérique de Terrain comporte la fonction qui calcule l'altitude d'un point connaissant sa position en plan.
Cordialement.

Hors ligne

 

#11 Mon 23 February 2009 09:42

veroh
Participant actif
Lieu: Moutier
Date d'inscription: 27 Sep 2008
Messages: 97
Site web

Re: Création du point d'intersection entre une ligne 3D et une face 3D

Bonjour

Alors on va tester vos méthodes, mais malheureusement pas tout de siute.

Dès qu'on a des nouvelles on vous en fait part sans fautes.

Merci encore à tous pour les informations

Véronique

Hors ligne

 

#12 Thu 26 February 2009 08:52

ogayte
Participant assidu
Lieu: Saint-Estève
Date d'inscription: 6 Mar 2006
Messages: 658
Site web

Re: Création du point d'intersection entre une ligne 3D et une face 3D

J'avais oublié DEMDistanceCalculator. C'est sans doute la méthode la plus simple pour l'approche raster puisqu'elle calcule directement la distance verticale entre une ligne 3D et un MNT.


Olivier Gayte
http://www.veremes.com
+33 (0)4-68-38-65-27

Hors ligne

 

Pied de page des forums

Powered by FluxBB