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 Wed 23 December 2009 16:01

Stéphanie B
Participant actif
Date d'inscription: 23 Jun 2008
Messages: 53

Eclater les valeur d'un champ dans deux champs distincts

Bonjour,

J'ai en entrée une table avec un champ "Adresse" contenant certaines fois un numéro (mais pas toujours) et un nom de rue.
J'ai en sortie une table avec deux champs, un champ "Adresse_numéro" et "Adresse_rue".

Je cherche un transformer qui me permettrait de mettre les valeurs numérique dans le champ "Adresse_numéro" et le reste dans le champ "Adresse_rue".

Quelqu'un a-t-il déjà eu ce problème?

Merci de votre aide.

Stéphanie

Hors ligne

 

#2 Wed 23 December 2009 16:26

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

Re: Eclater les valeur d'un champ dans deux champs distincts

Bonjour,

Il faut utiliser StringSearcher. Lui indiquer l'attribut et en chaîne de recherche (regular expression) : ^([0-9]+)(*)$
La partie numérique sera envoyé dans l'élément 0 de la liste définie en sortie, le reste dans l'élément 1. Un clic_droit\expose element vous permettra de transformer les 2 éléments de liste en attribut.

S'il n'y a pas de partie numérique, l'objet sort dans NON_MATCHED. Vous saurez alors qu'il n'y a pas de numéro d'adresse et pourrez orienter l'attribut en entier vers "Adresse_rue".

Espérant être compréhensible,


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 Wed 23 December 2009 16:49

Stéphanie B
Participant actif
Date d'inscription: 23 Jun 2008
Messages: 53

Re: Eclater les valeur d'un champ dans deux champs distincts

Merci pour les conseils.
Je ne trouve pas le transfomer StringSearcher dans ma liste de Transformer...
Etes-vous sûr du nom?
Merci.

Hors ligne

 

#4 Wed 23 December 2009 16:51

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

Re: Eclater les valeur d'un champ dans deux champs distincts

En quelle version de FME êtes-vous ?
Cherchez Grepper.


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 Wed 23 December 2009 16:52

veroh
Participant actif
Lieu: Moutier
Date d'inscription: 27 Sep 2008
Messages: 97
Site web

Re: Eclater les valeur d'un champ dans deux champs distincts

Bonjour,

Juste une précision car nous avons été confronté au problème. Les numéros de bâtiments ne sont pas TOUJOURS purement numériques.

Et oui, il y a des bis et des ter ou alors, si vous êtes en Suisse, des a et des b,c (dans certains cas, on va même jusqu'à s ou t, mais je n'ai encore jamais vu de aa).

Il faut donc bien faire attention et voir si un séparateur autre (comme une virgule) ne permet pas de scinder le champ (ensuite, on trimme les espaces vides).

Véronique

Hors ligne

 

#6 Wed 23 December 2009 17:00

Stéphanie B
Participant actif
Date d'inscription: 23 Jun 2008
Messages: 53

Re: Eclater les valeur d'un champ dans deux champs distincts

C'est bien Grepper.
Merci de votre aide!

Hors ligne

 

#7 Wed 23 December 2009 17:14

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

Re: Eclater les valeur d'un champ dans deux champs distincts

Dans le cas de Véroh, ^([0-9]+)(*),(*)$ ainsi le deuxième membre (ce qui est entre le numéro et la virgule) pourrait être redirigé vers un attribut "complément adresse".
Enfin, le grepper a été renommé stringsearcher en 2009, ce qui est bien plus parlant. Cependant, son utilisation nécessite sans doute un peu plus d'exemple que ceux fournis par la doc.
Bonnes fêtes à tous,


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