Pages: 1
- Sujet précédent - FME modification du type/Format d'Attribut d'un ou plusieurs Shape - Sujet suivant
#1 Fri 04 December 2020 17:06
- SylvaDEES
- Participant actif
- Date d'inscription: 12 Jul 2012
- Messages: 83
FME modification du type/Format d'Attribut d'un ou plusieurs Shape
Bonjour,
je souhaite Modifier le type/Format de plusieurs champs/Attribut d'un fichiers Shape.
( ex: passer d' INTEGER 16 à INTEGER 5 ; de STRING 3 à STRING 24 ; de REAL 5,5 à REAL 10,2 ; etc....)
tout en conservant les valeurs contenus dans les champs/Attributs de départ.
Cependant le Transformer dédié à cette tâche, StringFormater , n'est paramétré que pour modifier le type/Format d'UN seul champs/Attribut.
J'ai plusieurs champs/Attribut à modifier en même temps, donc je suis contraint de démultiplier le nombre de StringFormatter
dans mon workbench en autant de champs/Attribut que je dois modifier ( 16 en tout, donc 16 StringFormatter) > voir capture ci-jointe.
N'y'a-t-il pas possibilité d'exécuter cette opération qu'avec un seul transformer et non pas 16 ??
EN vous remerciant pour vos contributions.
Cdlt.
Dernière modification par SylvaDEES (Fri 04 December 2020 17:07)
Hors ligne
#2 Fri 04 December 2020 21:01
- p.jeremie
- Participant assidu
- Lieu: Valence
- Date d'inscription: 10 Sep 2017
- Messages: 414
Re: FME modification du type/Format d'Attribut d'un ou plusieurs Shape
Bonjour,
Si vous souhaitez simplement changer la taille des champs, il suffit de préciser la taille des champs souhaités dans le Writer Shapefile.
Attention, les champs plus courts tronqueront les valeurs (1er cas que vous indiquez INT 16 à 5).
Hors ligne
#3 Sun 06 December 2020 12:07
- SylvaDEES
- Participant actif
- Date d'inscription: 12 Jul 2012
- Messages: 83
Re: FME modification du type/Format d'Attribut d'un ou plusieurs Shape
Bonjour,
tout d'abord merci pour votre réponse. N'étant pas un expert de la terminologie anglophone "FME", pouvez-vous me préciser à quoi correspond le "Writer Shapefile" ? :
. s'agit-il du Shapefile de Destination ?
. si, oui dans quels onglets ou paramètres peut-on re-définir le type ET le taille des champs
. si, oui à quel moment ? à la création du Shapefile de Destination ? ou bien une fois celui-ci créé ?
En vous remerciant pour votre réponse.
Géomatiquement.
Hors ligne
#4 Sun 06 December 2020 15:34
- p.jeremie
- Participant assidu
- Lieu: Valence
- Date d'inscription: 10 Sep 2017
- Messages: 414
Re: FME modification du type/Format d'Attribut d'un ou plusieurs Shape
Bonjour,
Le writer Shapefile, c'est ce qu'on utilise pour écrire dans un shapefile dans FME.
Comme il peut y avoir un writer Oracle, Postgres, Excel, Mapinfo TAB...
C'est ce qu'on trouve en cliquant sur le bouton Writer qui représente une sorte de base de données avec un flèche entrante et un +.
Le type et la taille des champs peuvent être définies manuellement dans l'onglet User Attributes du writer. En sélectionnant 'Manual'.
Voir la capture ci-jointe sur FME 2019.
Donc pour répondre à vos questions :
. s'agit-il du Shapefile de Destination ?
Oui
. si, oui dans quels onglets ou paramètres peut-on re-définir le type ET le taille des champs
Onglet User Attributes du writer
. si, oui à quel moment ? à la création du Shapefile de Destination ? ou bien une fois celui-ci créé ?
Je ne suis pas sûr de comprendre ce que vous entendez par "création", le fichier sur le disque dur se créé une fois le workspace exécuté. Si vous évoquez l'ajout du writer, vous pouvez le faire au moment de l'ajout du writer au workspace ou bien également le modifier après dans l'onglet User Attributes.
Dernière modification par p.jeremie (Sun 06 December 2020 15:38)
Hors ligne
#5 Wed 09 December 2020 15:50
- SylvaDEES
- Participant actif
- Date d'inscription: 12 Jul 2012
- Messages: 83
Re: FME modification du type/Format d'Attribut d'un ou plusieurs Shape
Bonnjour,
merci pour vos précisions. Oui effectivement le Writer Shapefile correspond à ce que j'appel, à tort, le Shapefile de Destination.
J'ai donc modifié em mode Manuel, les types des différents Attributs de mon Shapefile.
Cependant je ne parviens pas à identifier quel type d'Attribut correspond au type "INTEGER". Ce type n'est pas présent dans la liste des types d'Attributs de l'onglet Attributs utilisateurs.
Nous avons:
. char (équivaut à String dans QGIS)
. date (équivaut à Date dans QGIS)
. double (équivaut à ???? dans QGIS)
. float (équivaut à ???? dans QGIS)
. logical (équivaut à Booléen dans QGIS ????)
. long (équivaut à ???? dans QGIS)
. number (équivaut à REAL dans QGIS )
. short (équivaut à ????dans QGIS ????)
Quel type FME correspond au Type "INTEGER" de QGIS ?
En vous remerciant pour vos contributions.
Cdlt.
Dernière modification par SylvaDEES (Wed 09 December 2020 15:50)
Hors ligne
#6 Wed 09 December 2020 22:14
- p.jeremie
- Participant assidu
- Lieu: Valence
- Date d'inscription: 10 Sep 2017
- Messages: 414
Re: FME modification du type/Format d'Attribut d'un ou plusieurs Shape
Vous avez les informations dans l'aide sur le site de safe, par exemple pour la version 2019 :
http://docs.safe.com/fme/2019.2/html/FM … ibutes.htm
Selon les chiffres entiers que vous allez vouloir stocker, short ou long devrait aller.
Vous retrouvez les équivalents en français des types proposés dans le writer shapefile sur cette page d'esri :
https://desktop.arcgis.com/fr/arcmap/la … -types.htm
Hors ligne
#7 Thu 10 December 2020 10:24
- SylvaDEES
- Participant actif
- Date d'inscription: 12 Jul 2012
- Messages: 83
Re: FME modification du type/Format d'Attribut d'un ou plusieurs Shape
Bonjour,
merci por toutes ces précisions techniques.
Nous avons:
. char (équivaut à String dans QGIS)
. date (équivaut à Date dans QGIS)
. double (équivaut à Real dans QGIS)
. float (équivaut à Real dans QGIS)
. logical (équivaut à Booléen dans QGIS)
. long (équivaut à integer dans QGIS)
. number (équivaut à Real dans QGIS )
. short (équivaut à Integer dans QGIS )
Toutefois, contrairement à QGIS où cela est possible, je constate qu'il n'est pas possible de contraindre un type "SHORT" ou "LONG" à X chiffres. (capture ci-jointe)
En effet dans l'onglet "Attributs utilisateurs", en mode manuel, les colonnes "Largeur" et "Precision" associées à type "SHORT" ou "LONG"
sont grisées.
Est-il possible ou non de contraindre un type "SHORT" ou "LONG" à X chiffres ? . Le but est de limiter les erreurs de saisi par l'utilisateurs final du Shapefile.
En vous remerciant pour vos réponses.
Cdlt.
Dernière modification par SylvaDEES (Thu 10 December 2020 10:26)
Hors ligne
#8 Thu 10 December 2020 14:55
- p.jeremie
- Participant assidu
- Lieu: Valence
- Date d'inscription: 10 Sep 2017
- Messages: 414
Re: FME modification du type/Format d'Attribut d'un ou plusieurs Shape
Bonjour,
Je ne sais quelle est votre meilleure option. Mais savez-vous avec quel outil votre utilisateur va modifier ce shapefile ? Si c'est QGIS, il est peut-être préférable de paramétrer les limites dans le projet QGIS ?
Peut-être l'utilisation d'un number avec 0 chiffres après la virgule répond à votre besoin ? Il faut faire des tests, je n'ai jamais été confronté à votre cas d'utilisation, je ne faisais que vous donner des pistes.
Hors ligne
#9 Thu 10 December 2020 15:35
- antoine guillot
- Participant actif
- Date d'inscription: 5 Sep 2008
- Messages: 62
Re: FME modification du type/Format d'Attribut d'un ou plusieurs Shape
Bonjour,
A priori ce ne serait pas lié aux contraintes du format mais à l'éditeur donc en effet ni FME ni aucun autre outil ne pourrait ajouter cette contrainte au sein de la donnée si l'on suit la doc d'ESRI. A priori, si j'ouvre votre fichier Shape, créé avec QGIS, dans un autre éditeur, rien ne m'empêche de ne pas respecter votre contrainte. C'est un peu comme si vous éditez dans Excel un fichier CSV en ajoutant une contrainte de saisie dans une colonne, rien n'empêche quelqu'un de le modifier dans Notepad++. Il est aussi possible que QGIS utilise des propriétés autres du dBase 5 (que je connais très mal) pour ajouter une contrainte supplémentaire au sein mm du fichier mais je ne vois pas Safe Software s'éloigner de l'implémentation réalisée par ESRI, même si QGIS en offre une autre.
Bon courage.
Hors ligne
#10 Fri 11 December 2020 13:44
- SylvaDEES
- Participant actif
- Date d'inscription: 12 Jul 2012
- Messages: 83
Re: FME modification du type/Format d'Attribut d'un ou plusieurs Shape
Bonjour,
merci pour vos précieuses contributions et vos expertises respectives.
Sur vos conseils, je vais tester l'utilisation d'un "number avec 0 chiffres après la virgule". Si cela ne fonctionne pas je serai contraint de re-formater les types d'attribut Integer dans QGIS.
Le contexte qui m'amène vers ce besoin est que nous devons fournir des fichiers .SHP (plus de 700 fichiers) selon un cahier des charges précis, auprès des entreprises titulaires d'un marché, et que ces dernières doivent nous les re-livrer en parfaite conformité après leurs prestations Topographiques puis Géomatiques. Ces dernières mettent à profit des paramètrages de saisies automatisées depuis des Logiciels Métiers type Sogelink, Sigimage, Geopixel, Autodesk ou Bentley..., qui ont donc un coût financier important en terme de développement. Le but est donc de tout mettre en conformité depuis FME sans faire appel à un autre ETL ou SIG afin d'optimiser notre process de production et de réduire le nombre de manipulation au minimum, mais également de réduire l'impact "investissement" pour les entreprises concernées.
Bonne journée.
Géomatiquement.
Hors ligne
Pages: 1
- Sujet précédent - FME modification du type/Format d'Attribut d'un ou plusieurs Shape - Sujet suivant