你在这里: 工作空间基础 > 读写数据 > 了解要素类型和属性

了解要素类型和属性

要素类型:源数据集架构或结构。

属性:可以引用用户属性或格式属性。

关于要素类型

在FME中,一个特征类型指源数据集架构或结构。

FME使用的每种格式都通过分类方案识别特征。这种分类在FME中称为特征类型。要素类型用于区分不同类型的要素(例如道路、河流、建筑物、等高线)。

中列出了任何特定格式的要素类型FME读者和作者“格式化快速事实”部分下的手册(请参阅工作台帮助菜单下的FME读者和作者参考)。

例如:

  • 在MicroStation设计文件(DGN)格式中,每个标高都是要素类型。
  • 在AutoCAD图形文件(DWG)格式中,每个图层都是要素类型。
  • 在Smallworld格式中,每个类都是要素类型。
  • 在Esri Shapefile格式中,每个文件基本名称(*.shp文件)都是要素类型。

要素类型包含在数据集中。

使用数据集创建工作空间时,该数据集中存在的要素类型将显示在工作空间画布的左侧:

关于属性

Workbench支持两种类型的属性:

  • 用户属性可以调整其名称和数据类型以满足用户的需要。它们对应于转换期间创建的任何属性表中的列。
  • 格式属性由FME固定。中给出了每个读卡器(输入格式)和写卡器(输出格式)可用属性的描述FME读者和作者手册(从工作台>帮助菜单中选择FME读写器参考。)格式属性可以是暴露的在工作区中,以便可以将它们设置为特定值。

格式属性

格式属性是内置的、FME生成的属性,与任何给定格式的特征的结构或符号有关。例如,“格式”属性记录要素的颜色。

通过使这些属性成为工作区的一部分,可以使用这些属性执行某些任务。

使用Inspector(FME数据检查器)查看数据集时,格式属性最为可见。查询功能时,不仅会显示用户属性,还会显示格式化属性。在这种情况下,属性以其源形式反映数据的性质。

更多格式属性示例

特征的颜色是格式属性的最简单示例。然而,还有很多,它们的复杂程度各不相同。格式属性的一些示例包括以下内容。

  • 旋转:许多特征具有围绕Z轴的旋转度。此旋转也存储为格式属性;例如,fm0_旋转(GeoMedia格式的特征旋转)。
  • 子类型:对于支持子类型的格式(一种内置查找表),子类型代码对应的值可以作为格式属性放置;例如,geodb_subtype_name(Esri Geodatabase格式的子类型字段)。
  • 光栅棱锥体:光栅要素的处理方式与矢量要素略有不同,其中一个差异是更依赖于格式属性。光栅棱锥体的详细信息通常以格式属性存储或设置;例如,oracle_光栅_金字塔_类型(将光栅数据写入oracle数据库时应用的金字塔类型)。

将属性从读卡器映射到写卡器

一组特定的格式属性具有前缀fme_. 这些属性表示FME感知的数据。它们有时被称为FME属性或通用FME属性。

在翻译过程中,会发生以下情况:

  • FME读取源数据并将其特征信息存储为格式属性。这些格式属性反映以原始读取器格式存储的数据。
  • FME将源数据的格式属性转换为FME属性。这些FME属性反映了FME内部格式存储的源数据。
  • FME通过创建一组新的格式属性来写入目标数据。这些格式属性反映了将以Writer格式存储的目标数据。

FME从一种格式转换为另一种格式,而无需将源数据的格式属性直接映射到每种格式的目标格式属性。FME将所有内容转换为FME标准,然后再次将其转换为writer格式。

数据类型映射

不同的格式支持不同的数据类型。即使两种格式支持相同的数据类型,它也通常由不同的名称表示。在这种情况下,FME必须决定如何在数据类型之间映射属性。

FME的增强型数据模型支持以类似于上述属性映射的方式映射数据类型。读取器格式的元文件指示FME如何将其属性数据类型映射到FME模型,第二个元文件指示FME如何将其模型类型映射到目标模式。

例如,考虑MapInfo和Oracle数据的数据类型映射:

MapInfo数据类型 FME数据类型
字符(宽度) fme_字符(宽度)
日期 fme_日期
十进制(宽度,十进制) fme_十进制(宽度,十进制)
浮动 fme_real64
整数 fme_int32
必然的 fme_布尔
短整型 fme_int16

Oracle数据类型 FME数据类型
字符(宽度) fme_字符(宽度)
浮动 fme_real32
数字(宽度,十进制) fme_十进制(宽度,十进制)
双重的 fme_real64
整数 fme_int32
必然的 fme_布尔
短整型 fme_int16

这些映射显示MapInfo十进制的数据类型属性成为十进制在FME数据模型中,然后成为数字写入Oracle时的数据类型。