Comprendre les types d'entités et les attributs

Type d'entités : la structure ou schéma du jeu de données source.

Attributs : Informations qui appartiennent à une entité. Il existe des attributs utilisateur et des attributs de format.

A propos des types d'entités

Chaque format utilisé par FME identifie les entités par un schéma de classification. Cette classification est connue dans FME comme un type d'entités. Les types d'entités sont utilisés pour différencier les différents types d'entités (par exemple, les routes, les rivières, les bâtiments, les contours).

Le type d'entité pour un format particulier est indiqué dans l'aide FME Readers and Writers, à la section " Format Quick Facts " (voir FME Readers and Writers Reference dans le menu d'aide de FME Workbench).

Quelques exemples :

  • Dans le format Microstation DGN, chaque niveau est un type d'entités.
  • Dans le format AutoCad DWG, chaque couche est un type d'entités.
  • Dans le format Smallworld, chaque classe est un type d'entités.
  • Dans le format Shape d'ESRI chaque fichier shape (shp) est un type d'entités.

Un type d'entités contient une série d'attributs.

Lorsque vous créez une traitement à l'aide d'un jeu de données, les types d'entités présents dans ce jeu de données sont affichés dans la partie gauche de l'espace de travail du traitement :

A propos des attributs utilisateurs et des attributs de format

FME Workbench prend en charge deux types d'attributs :

  • Les attributs utilisateur sont des attributs personnalisés qui contiennent des informations sur le domaine d'une entité, comme parcel_identifier, owner_name, et date_surveyed. Les attributs utilisateur font toujours partie de l'entité, quel que soit le format dans lequel ils sont stockés, et persistent donc lors de la conversion d'un format à un autre. Les attributs utilisateur peuvent provenir d'un jeu de données source ou être créés au besoin dans FME. Tous les formats n'acceptent pas les attributs utilisateur et ceux qui les acceptent leur imposent parfois des restrictions. Chaque attribut utilisateur est défini par son nom, son type de données, sa largeur et le nombre de décimales.
  • AVERTISSEMENT : Éviter de nommer les attributs utilisateur avec le préfixe fme_. FME peut ne pas reconnaître un attribut utilisateur préfixé par fme_ car FME utilise ce préfixe pour traiter de nombreux attributs de format. De même, pour éviter des conflits similaires, évitez de nommer les attributs utilisateur avec les mêmes noms que d'autres attributs de format.

  • Les attributs de format sont spécifiques au schéma d'un format. Voici quelques exemples : autocad_block_name et sde30_justification. Ils ne sont pas pris en charge de manière générique par FME et seront modifiés lors de la conversion à un autre format. Vous pouvez les "exposer" ou les rendre visibles afin de pouvoir leur attribuer des valeurs particulières et les relier à d'autres attributs spécifiques au format. En général, les attributs de format sont conçus pour les conversions vers et depuis un même format, bien que les utilisateurs avancés puissent les trouver utiles pour écrire dans d'autres formats lors de l'utilisation de traitements personnalisés. Les attributs de format permettent d'effectuer une grande variété d'opérations spéciales avec les formats, telles que le réglage de l'épaisseur des lignes, la création d'entités spéciales et le réglage de bits ou d'octets particuliers.
  • Un ensemble particulier d'attributs de format a le préfixe fme_. Ces attributs représentent les données telles qu'elles sont perçues par FME et sont parfois appelés attributs FME ou attributs FME génériques.

Les attributs de l'utilisateur et les attributs de format sont les plus visibles lors de l'affichage d'un jeu de données avec FME Data Inspector.

Exemples d'attribut de format

La couleur d'une entité est l'exemple le plus simple d'un attribut de format. Cependant, il en existe beaucoup d'autres, dont le degré de complexité varie. Voici quelques exemples d'attributs de format.

  • fme_basename : Contient le nom de fichier d'un jeu de données sans le chemin ou l'extension. Par exemple, si vous lisez deux fichiers, image1.tif et image2.tif , deux entités sont produites : une avec une valeur fme_basename de image1, et une avec une valeur de image2. Si ces deux entités sont ensuite écrites en PNG lors de la répartition sur fme_basename, deux nouveaux fichiers seront produits : image1.png et image2.png.
  • fme_dataset : contient le chemin vers un jeu de données, une URL ou le nom d'une base de données.

Note: Afin que les attributs fme_basename et fme_dataset soient lus, ils doivent être explicitement exposés dans le type d'entités Reader (données source) ou dans FeatureReader.

  • fme_feature_type: contient les entités originales d'un jeu de données (par exemple, un fichier, classe d'entité ou table).
  • Rotation : De nombreuses entités possèdent un degré de rotation autour de l'axe Z. Cette rotation est également enregistrée en tant qu'attribut de format ; par exemple, fm0_rotation (la rotation d'une entité au format GeoMedia).
  • Subtype : Pour un format qui supporte les sous-types, la valeur correspondante au code du sous-type peut être placée comme un attribut de format ; par exemple, geodb_subtype_name (champ Sous-type pour le format Esri Geodatabase).
  • Pyramide Raster : Les entités rasters sont traitées d'une manière légèrement différente des entités vectorielles, l'une de ces différences étant une plus grande dépendance à l'égard des attributs de format. Les détails des pyramides rasters sont souvent stockés ou définis dans des attributs de format ; par exemple, oracle_raster_pyramid_type (le type de pyramide à appliquer lors de l'écriture de données rasters dans une base de données Oracle).