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é ?

#1 Thu 08 October 2009 10:50

Pierre
DesCartesPourUnMondeMeilleur
Date d'inscription: 22 Sep 2005
Messages: 1643

Identifier les noeuds d'une ligne 3D posant problème

Aloha

Voici mon besoin : identifier les noeuds d'une ligne 3D ayant un z "farfelu".
Si j'arrive bien à construire une boucle pour tester le z de chaque noeud, je ne sais comment faire pour identifier l'objet ayant un/des noeuds posant problème.
Quelqu'un a-t'il déjà eu à répondre à ce besoin ?

D'avance, merci,


art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.

Hors ligne

 

#2 Sun 11 October 2009 14:16

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

Re: Identifier les noeuds d'une ligne 3D posant problème

Utilisez BoundsExtractor pour lire les zmin et zmax de chaque entité.
Ca devrait vous permettre de trouver les z "farfelu" avec un Tester.


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

Hors ligne

 

#3 Sun 11 October 2009 19:19

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

Re: Identifier les noeuds d'une ligne 3D posant problème

Boujour,

J'essayerais aussi de calculer la pente entre deux points successifs. Si la pente (en valeur absolue) dépasse une certaine limite, le second point a un z "douteux".
Il est possible aussi que certains points n'ont pas de z, alors il y a peut-être une valeur de remplacement.

Hors ligne

 

#4 Mon 12 October 2009 14:13

Pierre
DesCartesPourUnMondeMeilleur
Date d'inscription: 22 Sep 2005
Messages: 1643

Re: Identifier les noeuds d'une ligne 3D posant problème

Bonjour,

Merci pour vos réponses. Cependant, je cherchais la méthodes pour obtenir "tous" les points posant problème et non les lignes posant problèmes.
j'ai donc coder ceci en TCL :

Code:

proc ListeZ {} {                                                    

set retvalZ [list]
set num_coords [FME_Coordinates numCoords]                           ;
set listIndex 0                                                      ;

# Get Original Coordinates
while { $listIndex < $num_coords } {                                 ;

      set z($listIndex) [FME_Coordinates getCoord z $listIndex]      ;
      if {(50 >= $z($listIndex) || 180<= $z($listIndex) )}            \
      then {lappend retvalZ $listIndex}                               ;
        
      incr listIndex                                                  ;
} ;  
FME_SetAttribute liste_z $retvalZ                               ;
}

Qui me renvoie la liste des ponctuels posant problèmes.
Bonne journée.


art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.

Hors ligne

 

Pied de page des forums

Powered by FluxBB