Comprendre les schémas

Qu'est-ce qu'un schéma ?

Un schéma (connu parfois sous le nom de "Modèle de données") peut être décrit comme la structure du jeu de données ou plus précisément comme la définition formelle de la structure d'un jeu de données.

Chaque jeu de données a sa propre structure (schéma) qui comporte les types d'entités, les géométries autorisées, les attributs utilisateurs et les autres règles qui définissent ou restreignent son contenu.

Comment FME gère-t-il les schémas ?

When you create a new traitement, FME reads the input dataset and creates a traitement definition of the schema. Generally it will also create a writer schema, that is, a definition of the structure of the writer. Writer schemas could be called "logical" schemas since they don’t physically exist at that point.

Below is a reader and writer schema as they appear in FME Workbench. Source data is on the left, and destination data is on the right.

Chaque élément est un type d'entité distinct. Ici, il existe un type d'entité source et un type d'entité destination, et chaque type d'entité possède un ensemble d'attributs.

A new traitement will usually have identical source and destination schemas; but this is not always possible – particularly when the source and destination formats are different. In these circumstances, FME will attempt to compensate for any differences between source and destination schema. The traitement can then be edited and the destination schema changed as required; for example attributes can be added, removed or renamed.

Une des principales fonctionnalités de FME est de pouvoir éditer des schémas destination et transformer des données en cours de traitement.

Viewing the Schema in FME Workbench

A schema is made up of many components. Some of these relate to a dataset as a whole; for example feature types belonging to a dataset are regarded as part of the overall schema and are depicted in the FME Workbench canvas window.

Toutefois, certaines parties du schéma se rapportent spécifiquement à un seul type d'entité. Les attributs sont l'un de ces composants. Ces composants sont affichés dans la boîte de dialogue des propriétés d'un type d'entité.

Ci-dessus : La boîte de dialogue Type d'entités comporte un certain nombre d'onglets qui affichent des informations. Cliquez sur l'onglet Paramètres pour afficher le nom du type d'entités, le nom du jeu de données parent pour le type d'entité et les types de géométrie autorisés.

Ci-dessus : L'onglet Attributs de l'utilisateur présente une liste d'attributs présents sur le type d'entité. Chaque attribut est défini par son nom, son type de données, sa largeur et le nombre de décimales.

Cet exemple présente un type de données source. (L'édition des types de données source est une fonction avancée de FME, qui convient principalement à des fins de test).

Vous pouvez éditer les attributs du jeu de données destination.

La colonne Type d'un attribut affiche uniquement les valeurs qui correspondent aux types autorisés pour ce format de données. Cliquez sur la ligne pour afficher les types autorisés pour un attribut :

Modifier le schéma

The default schema that FME creates is one suitable for a Quick Translation. When there is a need to customize the output schema, edits can be made using FME Workbench.

Qu'est-ce qu'éditer un schéma ?

L'édition du schéma consiste à modifier le schéma de destination pour personnaliser la structure des données de sortie. Un bon exemple est le renommage d'un champ d'attribut dans la sortie.

Que peut-on éditer ?

Vous pouvez éditer de nombreux éléments tels que :

  • Renommer un attribut : Tout attribut du schéma de destination peut être renommé. Pour renommer un attribut, ouvrez la boîte de dialogue Type d'entité et cliquez sur l'onglet Attributs utilisateur. Cliquez sur l'attribut à renommer et saisissez le nouveau nom.
  • Changement de type d'un attribut : Tout attribut du schéma de destination peut faire l'objet d'un changement de type, par exemple le changement d'ID d'un nombre entier à un nombre flottant. Pour modifier le type d'un attribut, ouvrez la boîte de dialogue Type d'entité et cliquez sur l'onglet Attributs utilisateur. Utilisez le champ Type de données pour modifier le type d'un attribut.
  • Renommer une entité : Pour renommer un type d'entité de destination (par exemple, renommer roads en updated_roads), ouvrez la boîte de dialogue Feature Type. Cliquez sur l'onglet Paramètres. Cliquez dans le champ Nom de l'entité et modifiez le nom selon vos besoins.
  • Modifier un type de géométrie : Pour modifier la géométrie autorisée pour un type d'entité (par exemple, changer les géométries autorisées de lignes en points), ouvrez la boîte de dialogue Type d'entité. Cliquez sur l'onglet Paramètres. Faites votre choix dans la liste des géométries autorisées. Ce champ est grisé lorsque le format autorise n'importe quel type de géométrie.
  • Changer un jeu de données (Déplacer un type d'entités) : quand plus d'une destination est définie, vous pouvez changer les types d'entités d'un jeu de données destination à un autre en utilisant la liste déroulante sous l'onglet Paramètres.

Connexion de schémas (Schema Mapping)

La correspondance des schémas est le moyen par lequel vous pouvez modifier la structure des données.

Qu'est-ce que la correspondance des schémas ?

In FME Workbench, one side of the traitement shows the source schema (what we have) and the other side shows the destination schema (what we want). Schema mapping is the process of connecting the source schema to the destination schema in a way that ensures the right source features are sent to the right destination feature types and the right source attributes are sent to the right destination attributes.

Correspondance des entités (Feature Mapping)

La correspondance d'entités est le processus de connexion entre les types d'entités source et les types d'entités destination.

Correspondance (Mappage) des attributs

La correspondance des attributs est le processus de connexion entre les attributs source et les attributs destination.

In FME Workbench, feature mapping connections (or links) are shown with a thick, black arrow.

Les connexions d'attributs apparaissent via une flèche grise.

In FME Workbench, attribute mapping is sometimes implied rather than visualized, and no connecting arrow is shown. The color of the port indicates the connection status. Green indicates a connected attribute. Yellow indicates a source attribute unconnected to a destination, and red indicates a destination attribute that is not connected to a source.

Les attributs du même nom dans la source et dans la destination sont automatiquement connectés (connexion implicite).

Dans l'image ci-dessus, tous les attributs source sont connectés aux attributs destination comme indiqués via les ports verts.

Note: Le nom des attributs est sensible à la casse, de sorte que 'ROUTES' n'est pas la même chose que 'routes'.

Schema Mapping in FME Workbench

In most cases, FME automatically fills in basic schema mapping in a new traitement. The schema mapping can then be edited as required.

In FME Workbench’s intuitive interface, feature type and attribute connections are made by dragging connecting lines between these parts of the schema.

Feature Mapping in FME Workbench

La connexion des types d'entités s'effectue en cliquant sur le port de sortie d'un type d'entités source, puis en déplaçant le curseur sur le port d'entrée du type d'entités destination et en cliquant une dernière fois.

Ici, une ligne de connexion est en cours d'être créée en glissant et déposant la flèche de la source vers la destination.

Attribute Mapping in FME Workbench

La connexion des attributs s'effectue en cliquant sur le port de sortie d'un attribut source, en faisant glisser la flèche à l'entrée du port de destination d'un attribut, et en libérant le bouton de la souris.

Ici, une ligne de connexion de la source à la destination est créée en faisant glisser la flèche de la source à la destination.

Une nouvelle connexion de PERIMETER à PERIM est établie. Les autres attributs ayant des destinations correspondantes, ils sont connectés automatiquement (connexion implicite). Notez les codes de couleur vert, jaune et rouge qui indiquent quels attributs ont été connectés.

Voir aussi