#1 Fri 17 June 2011 13:01
- mstcx
- Participant actif
- Lieu: Nîmes
- Date d'inscription: 21 Feb 2008
- Messages: 87
Création d'identifiant
Bonjour,
Je cherche à générer un identifiant avec FME mais je ne sais pas comment m'y prendre.
Je souhaiterai avoir la chose suivante : id de mes polygones = n° de commune + n° de secteur + n° compteur.
"Compteur" étant un numéro incrémental qui revient à 0 (ou 1) lorsque je change de secteur afin d'éviter d'avoir des identifiants trop longs.
Merci pour vos réponses
Marc
Dernière modification par mstcx (Fri 17 June 2011 13:01)
Hors ligne
#2 Fri 17 June 2011 14:04
Re: Création d'identifiant
La concaténation ne pose pas de problème, il suffit d'utiliser StringConcatenator.
Pour le compteur, il faut utiliser Counter en spécifiant votre attribut secteur dans le paramètre SEQUENCE.
Hors ligne
#3 Fri 17 June 2011 15:07
- mstcx
- Participant actif
- Lieu: Nîmes
- Date d'inscription: 21 Feb 2008
- Messages: 87
Re: Création d'identifiant
Merci pour votre réponse.
Est-il possible d'imposer un nombre de caractères ? Par exemple avoir xx0001 au lieu de xx1 ?
Hors ligne
#4 Fri 17 June 2011 15:34
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Re: Création d'identifiant
Oui, avec stringformatter ou stringpadder.
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 Fri 17 June 2011 16:33
- mstcx
- Participant actif
- Lieu: Nîmes
- Date d'inscription: 21 Feb 2008
- Messages: 87
Re: Création d'identifiant
Les résultats obtenus ne me conviennent pas, mais je dois avoir sauté une étape
Avec stringformatter formaté comme suit : -011s,
j'obtiens : n°commune(codé sur 5 caractères) + n°secteur(2c) + 0000 + n°compteur
or je voudrai obtenir n°commune(5c) + n°secteur(2c) + 000 + n°compteur (si < à 10)
ou n°commune(5c) + n°secteur(2c) + 00 + n°compteur (si compris entre 10 et 99) etc...
Avec stringpadder j'obtiens des espaces à la place des "0".
Hors ligne
#6 Fri 17 June 2011 17:05
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Re: Création d'identifiant
Les résultats obtenus ne me conviennent pas, mais je dois avoir sauté une étape
Oui.
Il faut utiliser le padder sur chacun des champs que vous souhaitez compléter avec des 0 à gauche (left) et indiquer le caractère de "padding", ici 0. Par défaut il s'agit d'un espace.
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 Fri 17 June 2011 17:35
- mstcx
- Participant actif
- Lieu: Nîmes
- Date d'inscription: 21 Feb 2008
- Messages: 87
Re: Création d'identifiant
OK, mille mercis pour votre aide !
Bonne fin de semaine.
Marc.
Hors ligne