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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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

 

Pied de page des forums

Powered by FluxBB