#1 Thu 02 October 2014 15:34
- Hydrolithe
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Apr 2010
- Messages: 223
Tester le type d'attributs d'une couche
Bonjour,
je cherche le moyen de tester le type d'attibuts d'une couche (.shp) : c'est-à-dire que les noms des champs sont tout le temps les mêmes (je dispose de cette couche pour plusieurs communes) et je souhaite savoir si le champ 1 est bien au format texte (30 caractères), le champ 2 au format entier, le champ 3 au format décimal...
Est-ce possible de réaliser cette opération via un transformer ou faut-il passer par un autre moyen ?
Je pensais pouvoir faire ça avec "Tester" mais je n'ai pas trouvé.
Je vous remercie par avance si vous avez déjà rencontré ce cas de figure.
Pierre
Dernière modification par Hydrolithe (Thu 02 October 2014 16:19)
Hors ligne
#2 Thu 02 October 2014 16:25
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Re: Tester le type d'attributs d'une couche
Aloha,
depuis la présentation FME par Graphland aux rencontres SIG 2014, voici une réponse : utiliser schemareader. Il faut non pas définir du shp en entrée, mais utiliser un schemareader comme format et lui indiquer votre ou vos fichiers shp.
en espérant avoir répondu à votre problème.
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
#3 Thu 02 October 2014 16:49
- Hydrolithe
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Apr 2010
- Messages: 223
Re: Tester le type d'attributs d'une couche
Bonjour Pierre,
merci pour cette réponse rapide.
J'ai sélectionné Schema (Any Format) dans "Format" dans "Ajouter un jeu de données source" et indiqué mon shape en jeu de données, pas de soucis.
Cependant, je ne vois pas trop ensuite comment tester le type de mes champs. J'ai un "Attribut de format" dans les "Propriétés du type d'entités" nommé "attribute{}.name", est-ce cela qu'il faut ensuite utiliser ?
Dernière modification par Hydrolithe (Thu 02 October 2014 16:50)
Hors ligne
#4 Thu 02 October 2014 23:19
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Re: Tester le type d'attributs d'une couche
Vous devriez avoir aussi une liste attribute{}.type. vous devrez tester le couple name/type.
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
#5 Mon 06 October 2014 10:39
- Hydrolithe
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Apr 2010
- Messages: 223
Re: Tester le type d'attributs d'une couche
Dans les "Attributs de format", j'ai trois attributs qui semblent être liés au Format "Schema (Any Format)" :
- attribute{}.fme_data_type
- attribute{}.name
- attribute{}.native_data_type
J'ai réussi à tester le nom du champ avec attribute{}.name et cela fonctionne. Mais je n'arrive pas à savoir quelle est la formulation pour tester si le champ est bien au format "texte" de 30 caractères. As-tu une idée ?
Hors ligne
#6 Mon 06 October 2014 10:58
- Hydrolithe
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Apr 2010
- Messages: 223
Re: Tester le type d'attributs d'une couche
C'est bon j'ai trouvé.
Par exemple, pour tester un attribut au format texte d'une longueur de 30 caractères il faut utiliser attribute{}.native_data_type = char(30) dans un Tester.
Merci pour tes conseils Pierre.
Hors ligne