理解模式
什么是模式?
一个模式(有时称为“数据模型”)可以被描述为一个数据集的结构,或者,更精确地,数据集的结构的正式定义。
每个数据集有它自己的独特的结构(模式),其包括特征类型,允许的几何形状,用户定义的属性和其他规则定义或限制其内容。
FME如何处理模式?
创建新工作区时,FME将读取输入数据集并创建模式的工作区定义。通常,它还会创建一个writer模式,即writer结构的定义。编写器模式可以称为“逻辑”模式,因为此时它们在物理上并不存在。
每一项都是一个单独的特性类型。这里有一个源和一个目标特性类型,每个特性类型都有一组属性。
一个新的工作空间通常将具有相同的源和目的地的模式;但是这并不总是可能的 - 特别是当源和目的地的格式是不同的。在这种情况下,FME将试图弥补源和目标架构之间的差异。然后工作区可以编辑和目标架构根据需要改变;对于可加入例如属性,删除或重命名。
一个FME的实权是能够编辑目的地架构和处理过程中转换数据进行匹配。
在FME工作台中查看模式
模式由许多组件组成。其中一些与整个数据集相关;例如,属于数据集的特性类型被视为整个模式的一部分,并在Workbench canvas窗口中进行描述。
然而,模式的某些部分只与单个特性类型相关。属性就是这样一个组件。这些组件显示在特性类型的属性对话框中。
以上:要素类型属性对话框中有很多选项卡,显示的信息。单击常规选项卡,查看要素类型的名称,允许几何类型,并为特征类型父数据集的名称。
以上: User Attributes选项卡显示特性类型上的属性列表。每个属性由其名称、数据类型、宽度和小数位数定义。
这个例子展示了一个reader特性类型。(编辑阅读器特性类型是一种高级FME功能,主要适用于测试目的。)
您可以编辑写入器(目标)数据集上的属性,以创建所需的输出。
类型列一个属性仅示出了匹配允许的类型为数据格式的值。单击行看到允许类型的属性:
模式编辑
FME创建的默认模式适合于快速转换。当需要自定义输出模式时,可以使用Workbench进行编辑。
什么是模式编辑?
模式编辑是改变目标架构来定制输出的数据的结构的过程。一个很好的例子是在输出重命名的属性字段。
什么可以编辑?
你可以编辑很多东西,包括(但不限于):
- 重命名的属性:目标模式上的任何属性都可以重命名。要重命名属性,请打开“功能类型属性”对话框并单击“用户属性”选项卡。单击要重命名的属性并输入新名称。
- 改变属性类型:在目标模式中的任何属性可以有类型的变化,例如从整数到浮子改变ID。要更改属性类型打开要素类属性对话框,然后单击用户属性选项卡。使用数据类型字段更改属性的类型。
- 重命名一个功能类型:要重命名目标要素类型(例如重命名道路updated_roads)打开要素类属性对话框。单击常规选项卡。单击要素类名称字段,并根据需要编辑名称。
- 更改几何类型:要更改特征类型所允许的几何形状,(例如改变允许从线点的几何形状)打开要素类型属性对话框。单击常规选项卡。选择允许几何形状的列表。在格式允许任何几何类型此字段将显示为灰色。
- 更改数据集(移动特征类型):当定义了多个目标数据集时,可以使用General选项卡下的下拉列表将某个功能类型从一个目标数据集切换到另一个目标数据集。
模式映射
模式映射是转换数据集结构的方法。
什么是模式映射?
在FME工作台的工作区会显示一个侧面源架构(我们有),另一侧显示了目标架构(我们想要的)。模式映射是连接源极架构目标架构中,可确保正确的源特征被发送到正确的目的地的特征类型和右源属性被发送到正确的目的地的属性的方式的处理。
特征映射
特征映射是将源特征类型连接到目标特征类型的过程。
属性映射
属性映射是源属性连接到目的地的属性的过程。
在FME Workbench中,功能映射连接(或链接)显示为粗黑箭头。
属性连接显示为灰色箭头。
在Workbench中,属性映射有时是隐含的,而不是可视化的,并且没有显示连接箭头。端口的颜色表示连接状态。绿色表示已连接的属性。黄色表示未连接到目标的源属性,红色表示未连接到源的目标属性。
源和目标中具有相同名称的属性将自动连接。
在上面的图像中,所有的源属性都连接到它们的目标属性,如绿色的端口所示。
注意:注意:这个名字是区分大小写的,所以road和road是不一样的。
FME工作台中的模式映射
在大多数情况下,FME会自动在新工作区中填充基本的模式映射。然后可以根据需要编辑模式映射。
在Workbench的直观界面中,特性类型和属性连接是通过拖动模式的这些部分之间的连接线来实现的。
FME工作台中的特性映射
特征映射是通过点击源要素类型的输出端口上,跨越到目的地特征类型的输入端口拖动箭头,并释放鼠标按钮来进行。
在这里,从源到目的地的特征类型的连接线是由从源拖动箭头到目的地创建的:
FME工作台中的属性映射
属性映射是通过点击源属性的输出端口,将箭头拖到目标属性的输入端口,释放鼠标按钮来实现的。
在这里,已经建立了特性映射并建立了属性连接。
从一个新的连接周长来PERIM正在做。其他属性具有匹配的目标,因此它们自动连接(隐含连接)。注意绿色、黄色和红色编码,它们显示了哪些属性已经连接。
另请参阅