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

#1 Fri 22 February 2008 14:12

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

expression evaluator et test

Bonjour,

Voici ce que je souhaite faire à l'aide de cet outil : remplacer la valeur de _calque si et seulement si _substring ="E_COTATI"

J'ai mis ce code dans la boîte de dialogue
@Value(_calque) = (@Value(_substring) == E_COTATI) ? E_COTATI : @Value(_calque)

Mais çà ne fonctionne pas :
' -- syntax error in expression "E_COUDPR_BP = (E_COUDPR == E_COTATI) ? E_COTATI : E_COUDPR_B...": variable references require preceding $

Et je ne suis pas sûr de savoir ce qui ne va pas (pour ne pas dire incapable de le deviner)

Any help ?

Merci d'avance,


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 Fri 22 February 2008 14:31

LASGOUZES
Participant assidu
Date d'inscription: 6 Mar 2006
Messages: 169

Re: expression evaluator et test

Pourquoi ne pas le faire avec 2 transformer 1 Tester qui sort sur le port Passed la condition vrai et Failed la condition faux suivi du transformer  AttributSetter ou AttributCreator ou autres sur le port Passed.
Cordialement,

Hors ligne

 

#3 Fri 22 February 2008 14:34

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

Re: expression evaluator et test

parce que.
Non plus sérieusement, j'ai déjà un beau fouilli sur mon établi, il est écrit dans l'aide qu'on peut le faire, alors, je teste, mais je ne vois pas ce qui cloche dans mon approche.
Remplacer 3 tester par un, c'est pas négligeable, non ? En plus on gagne en efficaité j'en suis sûr.


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

 

#4 Fri 22 February 2008 15:27

Matthieu-VEREMES
Participant actif
Lieu: Montpellier
Date d'inscription: 9 Jan 2008
Messages: 97
Site web

Re: expression evaluator et test

Bonjour,

J'ai bien peur que "x?y:z" ne fonctionne qu'avec des valeurs numériques...
Ce qui est d'ailleurs précisé dans l'aide : "L'opérande x doit avoir une valeur numérique" mais il est vrai que ce n'est pas explicitement précisé sur FMEPedia.

Cordialement.

Dernière modification par Matthieu-VEREMES (Fri 22 February 2008 15:29)


Matthieu Ambrosy
Veremes : support FME & version française
support at veremes point com

Hors ligne

 

#5 Fri 22 February 2008 15:45

Sylvie
Membre
Date d'inscription: 5 Sep 2005
Messages: 3066

Re: expression evaluator et test

Bonjour,

Et au cas où tu repasses par là avec des valeurs numériques, il faut aussi mettre toute l'expression entre parenthèses
Bon WE

Hors ligne

 

#6 Tue 25 March 2008 09:39

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

Re: expression evaluator et test

Aloha
La dernière fois, vous m'avez fait remarquer que l'utilisation de l'evaluator comme test était conditionnée par l'utilisation d'attributs numériques.

Je cherche à trier mes courbes de niveaux en principales, secondaires... les principales étant celles des dizaines.

Je pense qu'une expression de ce type devrait me permettre de marquer les courbes principales à l'aide du 0 et les autres du -1.

Code:

_result = ((fmod(@Value(autocad_elevation),10)) > 0) ? "-1" : " 0"

Cependant j'obtiens le résultat suivant :  ' -- syntax error in expression "_result = ((fmod(73,10)) > 0) ? -1 : 0": character not legal in expressions

Une idée ?
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

 

#7 Tue 25 March 2008 10:24

Sylvie
Membre
Date d'inscription: 5 Sep 2005
Messages: 3066

Re: expression evaluator et test

Bonjour,

La même idée que la dernière fois : mettre toute l'expression entre parenthèses

Sylvie, têtue smile

Hors ligne

 

#8 Tue 25 March 2008 10:37

Matthieu-VEREMES
Participant actif
Lieu: Montpellier
Date d'inscription: 9 Jan 2008
Messages: 97
Site web

Re: expression evaluator et test

Bonjour, effectivement, ne pas mettre de parenthèse après le > 0 mais la mettre à la fin.
Ni d'espace avant 0"

Je viens d'essayer l'expression suivante qui fonctionne bien chez moi :
(fmod(@Value(toto),10) > 0 ? "-1" : "0")

Notez que si "toto" contient des virgules, ça ne fonctionne pas.
Il faut que le séparateur soit un point.


Matthieu Ambrosy
Veremes : support FME & version française
support at veremes point com

Hors ligne

 

#9 Tue 25 March 2008 11:13

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

Re: expression evaluator et test

non à tous les deux
(fmod(@Value(autocad_elevation),10) == 0)  ? 1 : (fmod(@Value(autocad_elevation),5) == 0) ? 2 : -1
pas besoin de parenthèses, juste enlever le _result =. Et pas besoin de "" non plus d'ailleurs.


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

 

#10 Tue 25 March 2008 12:12

Sylvie
Membre
Date d'inscription: 5 Sep 2005
Messages: 3066

Re: expression evaluator et test

Bouh ! l'énoncé du problème a changé :
principales tous les 10 m = 1, secondaires tous les 5 mètres = 2, les autres = -1

Hors ligne

 

#11 Tue 25 March 2008 16:28

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

Re: expression evaluator et test

En même temps, mettre 0 aux principales, j'allais les vexer.
Il y a quand même un sacré différentiel entre ce qu'il convient d'écrire dans l'établi et ce qu'ils nous indiquent dans l'aide.
Au fait l'un de vous était-il au journées utilisateurs ?


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

 

#12 Tue 25 March 2008 16:51

Sylvie
Membre
Date d'inscription: 5 Sep 2005
Messages: 3066

Re: expression evaluator et test

Le wiki FMEpedia complète l'aide.
C'est en anglais, mais ca reste compréhensible

Hors ligne

 

#13 Tue 25 March 2008 18:52

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

Re: expression evaluator et test

Pour répondre à Pierre (mais on s'eloigne du sujet de base), j'étais à la conférence à Vancouver.
Nous sommes en train d'organiser une conférence française à Lyon (pour faire plaisir à Sylvie !) pour le mois de novembre . Au menu : de la vrai 3D, FME Server et les services web...


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

Hors ligne

 

Pied de page des forums

Powered by FluxBB