你在这里: 工作基础 > 理解模式

理解模式

什么是模式?

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

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

FME如何处理模式?

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

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

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

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

FME的真正功能之一是能够编辑目标模式并在处理期间转换数据以匹配。

在FME工作台中查看模式

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

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

以上: Feature Type Properties对话框有许多显示信息的选项卡。单击“常规”选项卡查看特征类型名称、允许的几何类型和特征类型的父数据集名称。

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

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

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

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

模式编辑

FME创建的默认模式适合快速翻译。当需要自定义输出模式时,可以使用Workbench进行编辑。

什么是模式编辑?

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

哪些内容可以编辑?

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

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

模式映射

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

什么是模式映射?

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

特征映射

特征映射是将源特征类型与目的特征类型连接起来的过程。

属性映射

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

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

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

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

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

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

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

FME工作台中的模式映射

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

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

FME工作台中的特征映射

Feature Mapping是通过点击源特征类型的输出端口,拖动箭头到目标特征类型的输入端口,释放鼠标按钮来实现的。

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

FME工作台中的属性映射

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

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

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