理解模式

什么是图式?

模式(有时称为“数据模型”)可以描述为数据集的结构,或者更准确地说,数据集结构的正式定义。

每个数据集都有自己独特的结构(模式),包括特征类型、允许的几何图形、用户定义的属性和其他定义或限制其内容的规则。

FME如何处理模式?

创建新工作区时,FME读取输入数据集并创建模式的工作区定义。通常,它还会创建一个作者模式,即作者结构的定义。写入器模式可以称为“逻辑”模式,因为它们在那时物理上并不存在。

下面是Workbench中出现的读取器和写入器模式。源数据在左边,目标数据在右边。

每个项目都是一个单独的特性类型。这里有一个源特性类型和一个目标特性类型,每个特性类型都有一组属性。

一个新的工作区通常具有相同的源模式和目标模式;但这并不总是可能的-特别是当源和目标格式不同的时候。在这些情况下,FME将尝试补偿源模式和目标模式之间的任何差异。然后可以编辑工作区,并根据需要更改目标模式;例如,可以添加、删除或重命名属性。

FME的一个真正强大的功能是在处理过程中编辑目标模式和转换数据以匹配的能力。

在FME工作台中查看模式

模式由许多组件组成。有些数据集是一个整体;例如,属于数据集的特性类型被视为整体模式的一部分,并在Workbench画布窗口中进行描述。

然而,模式的某些部分只与单个特性类型相关。属性就是这样一个组件。这些组件显示在特性类型的属性对话框中。

以上: Feature Type对话框有许多显示信息的选项卡。单击Parameters选项卡可以查看特性类型名称、特性类型的父数据集名称以及允许的几何类型。

以上: User Attributes选项卡显示特性类型上的属性列表。每个属性都由其名称、数据类型、宽度和小数位数定义。

这个例子展示了一个读取器特性类型。(编辑阅读器特性类型是一个高级的FME功能,主要适用于测试目的。)

您可以编辑写入器(目标)数据集上的属性,以创建所需的输出。

属性的“类型”列只显示与该数据格式允许的类型匹配的值。单击该行查看属性允许的类型:

模式编辑

FME创建的默认模式适合于快速转换。当需要定制输出模式时,可以使用Workbench进行编辑。

什么是架构编辑?

模式编辑是更改目标模式以定制输出数据结构的过程。一个很好的例子是重命名输出中的属性字段。

什么可以编辑?

你可以编辑很多东西,包括(但不限于):

  • 重命名一个属性:目标模式上的任何属性都可以重命名。要重命名一个属性,打开Feature Type对话框,然后点击‘User Attributes’选项卡。单击要重命名的属性并输入新名称。
  • 更改属性类型:目标模式上的任何属性都可以更改类型,例如将ID从整数更改为浮点数。要更改属性类型,请打开“特性类型”对话框并单击“用户属性”选项卡。使用数据类型字段更改属性的类型。
  • 重命名特性类型:要重命名目标特性类型(例如将roads重命名为updated_roads),打开feature type对话框。单击Parameters选项卡。单击Feature Type name字段并根据需要编辑名称。
  • 更改几何体类型:要更改一个特性类型允许的几何形状,(例如将允许的几何形状从直线改为点)打开feature type对话框。单击Parameters选项卡。从允许的几何图形列表中选择。如果格式允许任何几何类型,该字段将变成灰色。
  • 更改数据集(移动特征类型):当定义了多个目标数据集时,可以使用Parameters选项卡下的下拉列表将特性类型从一个目标数据集切换到另一个目标数据集。

模式映射

模式映射是转换数据集结构的方法。

什么是模式映射?

在FME Workbench中,工作空间的一边显示源模式(我们拥有的),另一边显示目标模式(我们想要的)。模式映射是将源模式连接到目标模式的过程,其方式确保将正确的源特性发送到正确的目标特性类型,并将正确的源属性发送到正确的目标属性。

特征映射

特征映射是将源特征类型连接到目标特征类型的过程。

属性映射

属性映射是将源属性连接到目标属性的过程。

在FME Workbench中,特征映射连接(或链接)显示为一个粗的黑色箭头。

属性连接显示为灰色箭头。

在Workbench中,属性映射有时是隐含的,而不是可视化的,并且没有显示连接箭头。端口的颜色表示连接状态。绿色表示连接属性。黄色表示未连接到目标的源属性,红色表示未连接到目标的目标属性。

在源和目标中具有相同名称的属性将自动连接。

在上图中,所有源属性都连接到它们的目标属性,如绿色端口所示。

注意:名称区分大小写,因此ROADS与ROADS或ROADS不相同。

FME工作台中的模式映射

在大多数情况下,FME会自动填充新工作区中的基本模式映射。然后可以根据需要编辑模式映射。

在Workbench的直观界面中,特性类型和属性连接是通过拖动模式的这些部分之间的连接线来实现的。

FME工作台中的特征映射

特征映射是通过单击源特征类型的输出端口,将箭头拖动到目标特征类型的输入端口,然后释放鼠标按钮来实现的。

在这里,一个从源到目标特性类型的连接线被创建,通过拖动箭头从源到目标:

FME工作台中的属性映射

属性映射是通过单击源属性的输出端口,将箭头拖动到目标属性的输入端口,然后释放鼠标按钮来实现的。

在这里,特征映射已经建立,属性连接正在进行中。

新的连接来自周长PERIM正在做。其他属性具有匹配的目的地,因此它们是自动连接的(隐含连接)。请注意,绿色、黄色和红色的编码显示了哪些属性已经连接。

另请参阅