#1 Wed 16 March 2011 12:46
- plouplou
- Participant occasionnel
- Date d'inscription: 3 Mar 2010
- Messages: 30
[ArcGis 9.3.1] Model builder - paramètre de départ
Bonjour à tous,
Je viens de créer un géotraitement qui commence par un premier processus de "Sélection" de certaines données de la couche de départ. Or, pour simplifier au mieux le géotraitement, j'aimerai que l'utilisateur n'ait qu'à entrer un mot dans le paramètre de départ, pour que l'information soit sélectionnée. Exemple : il tape le mot "jaurès" et la ligne contenant l'enregistrement "Jean Jaurès (rue)" est sélectionnée.
Malheureusement, aucune des variables de départ ne permettent ce genre d'opérations :
"Chaîne" : le mot-clef tapé n'est pas reconnu
"Expression SQL" : cela fonctionne mais cela sous entendrait que l'utilisateur taperait à chaque fois l'expression
Suis-je dans l'impasse? Y a t'il une autre solution?
Merci d'avance pour vos réponses
a+
Hors ligne
#2 Wed 16 March 2011 13:35
Re: [ArcGis 9.3.1] Model builder - paramètre de départ
Bonjour,
As-tu essayé ?
1 - Mettre ta variable "Chaîne" en paramètre
2 - Dans la valeur de ta variable "Expression SQL" indiquer "CHAMP LIKE '*%Chaîne%*'
L'écriture %Nom de variable% permet de récupérer dans la valeur d'une variable de géotraitement la valeur d'une autre variable du modèle (voir la documentation ici)
A+
Franck
Hors ligne
#3 Wed 16 March 2011 13:44
- plouplou
- Participant occasionnel
- Date d'inscription: 3 Mar 2010
- Messages: 30
Re: [ArcGis 9.3.1] Model builder - paramètre de départ
Bonjour Franck,
J'avais en effet essayé l'expression %XXXX%, mais pas de telle manière. Donc, je réessaye et je mets à jour le post.
Merci en tout cas.
++
EDIT : cela ne fonctionne pas, il est toujours sensible qu'à la valeur complète du champ. Il ne doit pas comprendre la fonction LIKE.
Dernière modification par plouplou (Wed 16 March 2011 15:59)
Hors ligne
#4 Thu 17 March 2011 10:01
- plouplou
- Participant occasionnel
- Date d'inscription: 3 Mar 2010
- Messages: 30
Re: [ArcGis 9.3.1] Model builder - paramètre de départ
Bonjour,
Un petit up, pour savoir si quelques âmes charitables pourraient me filer un petit coup de pouce.
J'ai bien mis la variable "Chaîne" en paramètre de départ et dans l'expression SQL de mon processus de "Sélection", la formule suivante :
"mon_champ" LIKE '%Chaîne%'
Ce qui a pour résultat, lorsque je tape un mot clé dans ma variable de départ :
- soit d'avoir un résultat concluant lorsque la valeur de la sélection n'est formée que d'un mot
- soit de me mettre un message comme quoi il n'y a pas de résultat lorsque la valeur de la sélection est formée de plusieurs mots
Autre constatation, lorsque je rajoute le signe % devant le mot-clé dans le paramètre de départ, le résultat est concluant quel que soit le cas.
Il faut alors, je suppose, ajouter dans l'espression SQL, avant '%Chaîne%', le signe %. Et c'est la qu'il y a un hic. J'ai eu beau épluché l'aide de ArcGis, avoir essayé dans tous les sens de l'intégrer, impossible que ça fonction soit prise en compte.
Est ce que quelqu'un aurait une idée de la manière d'écrire l'expression correctement?
Merci d'avance.
A+
Dernière modification par plouplou (Thu 17 March 2011 11:30)
Hors ligne
#5 Thu 17 March 2011 13:01
Re: [ArcGis 9.3.1] Model builder - paramètre de départ
Bonjour,
La syntaxe du LIKE est expliqué dans la doc : http://help.arcgis.com/fr/arcgisdesktop … 000000.htm :
Les caractères génériques utilisés pour effectuer une recherche à l'aide d'une chaîne partielle dépendent également de la source de données interrogée. Par exemple, dans une source de données fichier ou de géodatabase ArcSDE, cette expression sélectionne Mississippi et Missouri parmi les noms d'états américains :
Code:
"STATE_NAME" LIKE 'Miss%'Le symbole de pourcentage (%) signifie qu'il peut être remplacé par tout : un caractère, cent caractères ou aucun caractère. Les caractères génériques utilisés pour interroger les géodatabases personnelles sont l'astérisque (*) pour remplacer tout nombre de caractères et le point d'interrogation (?) pour remplacer un caractère.
Il faudrait essayer cette syntaxe : "mon_champ" LIKE '%%Chaîne%%'
Après, il faut aussi faire attention à la casse des mots clés de recherche...
A+
Franck
Hors ligne