AttributeManager
通过添加、重命名、复制、删除和重新排序来更改多个属性。将新属性、现有属性和修改属性的值设置为常量、属性值、条件、表达式和参数的任意组合。数值可以参考相邻特征。
典型的使用
- 创建一个新属性,并以各种方式为其设置默认值或新值
- 修改通过重命名现有属性,并删除他们,并为他们设置或明确的价值观
- 再订购属性
- 根据在当前特性之前或之后的特性设置属性值
- 通过将多个属性操作转换合并到一个位置来简化工作空间
它是如何工作的?
输入要素属性在行和列,在那里你可以执行多个任务的矩阵中。穿过AttributeManager所有特征根据在参数所做的选择修改。
在这个例子中,输入特性的几个属性被修改:
- 重新命名GlobalID,更改属性名的大小写。还重命名了几个地址属性。
- 新属性“FULLNAME”创建,串联另外两个属性的值
- 一些不需要的属性被删除
- 被创建的X和Y的属性和值通过用FME函数提取几何分配
- 创建“UPDATEDBY”并将其设置为固定值“Smith”。
- 所有其他属性都保持原样
改变的属性反映在变压器。
在高级属性值处理下访问相邻的特征属性。当打开时,您可以在当前特性之前和之后指定许多特性,以便在计算新值时参考。
假设我们给出如下的数据集:
ID |
纬度 |
经度 |
---|---|---|
0 |
49.1640 |
-123.061 |
1 |
49.1643 |
-123.063 |
2 |
49.1642 |
-123.062 |
3 |
49.1642 |
-123.064 |
如果此前特色的数和后续功能数量参数都被设置为2,那么当第一特征被读取时,AttributeManager有权访问以下功能:
功能参考 |
ID |
纬度 |
经度 |
---|---|---|---|
特征[-2] |
<失踪> |
<失踪> |
<失踪> |
功能[1] |
<失踪> |
<失踪> |
<失踪> |
当前功能 |
0 |
49.1640 |
-123.061 |
功能(+ 1) |
1 |
49.1643 |
-123.063 |
特征[2] |
2 |
49.1642 |
-123.062 |
请注意,一些属性丢失,因为之前的第一个特征不存在的功能。
读取第二个特征后,AttributeManager可用的前置和后置特征窗口发生如下变化:
功能参考 |
ID |
纬度 |
经度 |
---|---|---|---|
特征[-2] |
<失踪> |
<失踪> |
<失踪> |
功能[1] |
0 |
49.1640 |
-123.061 |
当前功能 |
1 |
49.1643 |
-123.063 |
功能(+ 1) |
2 |
49.1642 |
-123.062 |
特征[2] |
3 |
49.1642 |
-123.064 |
这个语句将计算前面两个特征的平均纬度:
可以在算术编辑器和文本编辑器中创建引用相邻特性的计算。这些编辑器将首先列出当前处理的特性的属性,然后是先前的特性,然后是后续的特性。
配置
输入端口
该变压器接受任何功能。
输出端口
与创建和修改的属性特点。
参数
当AttributeManager变压器连接和打开首次,该矩阵被自动与进入的特征属性填充因为它们目前存在。它也将动态地调整,以反映在工作区上游属性的变化。
默认情况下,这些操作被设置为“什么也不做”,并没有改变这些特性。当您对个别项目进行更改时,FME将根据您的输入解释相应的操作。可以手动重写操作,但通常不需要对其进行调整。
输入属性 | 当变压器首次打开此列填充发送到输入端口暴露属性的完整列表。此字段是不可编辑的,但也会反映在工作区中所做的更改。在创建新的属性,这个领域将保持空白。 |
输出属性 | 默认情况下,输出属性输入属性相匹配。您可以:
|
属性值 | 默认情况下,属性值为空,保留特性不变。你可以在这里设置新值点击适当的行和:
看到定义值下面有关使用这些选项的详细信息。 |
行动 | 默认情况下,Action被设置为“什么也不做”,保持特性不变。当您在参数中进行更改时,操作将自动调整以反映适当的结果,在某些情况下可以手动覆盖该结果。可以采取的行动有: 设置值:设置属性在属性值列中指定的值。覆盖现有的属性值。 什么都不做:保持属性不变。 改名:重命名输入属性在输出属性列中指定的名称。 删除:删除从输出模式完全属性和删除它。 设置默认值:将属性的指定值分配给属性缺失的特性。不覆盖当前值,包括null。 注意:
|
扩大高级部分提供了对可以用于定义值的相邻特征的属性。虽然这部分可能会出现复杂的,大多数用户很少需要这个功能。
选中“启用相邻部件属性”使用此功能。
现在,您可以根据当前特性之前或之后的特性属性设置属性值(在属性操作矩阵中),方法如下:
- 先验特征的属性被引用为特征[-1]。AttrName,功能[2]。AttrName等等。
- 后续特性的属性被引用为feature[+1]。AttrName、特性(+ 2)。AttrName等等。
- 可以直接访问当前处理的特性的属性,而不需要前缀,比如AttrName。
当检索了现有特征的值,由AttributeManager作出该功能的任何更改将生效。
此前特色的数
此参数指定可以由AttributeManager被参考的现有特征的最大数量。如果多特征属性支持被启用,这必须是从0的值到100作为附加的特征必须读取处理的每个特征,定义只有所需要检索将改善性能特征的最大数量。
后续功能数量
这个参数指定AttributeManager可以引用的后续特性的最大数量。如果多特征属性支持被启用,这必须是从0的值到100作为附加的特征必须读取处理的每个特征,定义只有所需要检索将改善性能特征的最大数量。
替换Missing、Null和Empty by
此参数指定在所引用的属性不存在所期望的行为,具有空值,或具有空字符串值。
这样的属性可以被认为是未解决的属性。例如,由于存在先于第一输入特征没有特征中,所述AttributeManager将无法解析特征的值[-1] .AttrName用于第一输入功能。如果将此参数设置为没有替换,该AttributeManager将解决与空字符串的所有未解决的属性。
作为另一示例,如果特征的值[2]是空字符串和默认值被指定,则该空字符串将被视为一个未解决的属性,并且将被解析成下默认值指定的值。
如果将此参数设置为最近相邻特征,则未解决属性将被解析为最接近的特征的相应的属性,如果这样的功能存在。当寻找最接近的功能,配有未解决的属性被跳过。
例如,如果特征的值[-2] .AttrName是未解决的,然后以解决特征的[-2] .AttrName的AttributeManager将着眼于最接近功能特征[-2],特征之间交替前的值和随后到特征[-2]。它将首先看特征[-3] [-1]如果需要的话.AttrName,接着特征.AttrName,然后特征[-4] .AttrName如果需要的话,直到所有的之前和之后的功能指定已经用尽。
如果属性在指定的先前和后续特性中未得到解析,则将解析为默认值参数中指定的值。
默认值
此参数指定用于在这些情况下解析未解析属性的值:
- 替换丢失,空和空者:被设置成默认值
- 替换丢失,空和空者:被设置成最近相邻特征和值没有在规定的之前和之后的特征的数目范围内找到。
对话框选项
行重新排序 |
在属性操作矩阵中单击一行后启用。选择包括:
|
过滤 |
开始输入一个字符串,矩阵将只显示匹配这些字符的行。搜索所有列。这只影响转换器中属性的显示—它不改变输出的属性。 |
进口 |
导入按钮将填充矩阵,一组输出从数据集读取属性。如果变压器已经包含一个架构,这些属性将附加到现有列表。 |
刷新 |
Refresh会将矩阵内容重置为其默认状态,丢弃所做的更改,并将所有操作重置为“什么也不做”。 |
定义值
有几种方法来定义一个变压器使用的值。最简单的是简单地在一个值或字符串,其可包括各种类型,如属性引用,数学和字符串函数,和工作空间参数的函数类型。有许多的工具和快捷方式,可以帮助构建值,一般可从邻近值字段的下拉上下文菜单。
使用文本编辑器
文本编辑器提供了一种方便的方法来构造来自各种数据源(如属性、参数和常量)的文本字符串(包括正则表达式),其中直接在参数中使用结果。
使用算术编辑器
算术编辑器提供了一种方便的方法来构造来自各种数据源(如属性、参数和功能函数)的数学表达式,其中结果直接在参数中使用。
有条件的值
根据通过或失败的一个或多个测试条件设置值。
内容
表达式和字符串可以包括许多函数、字符、参数等——无论是直接输入参数还是使用某个编辑器构造。
参考
加工行为 |
基于特征的 |
特点控股 |
没有 |
依赖关系 | 没有 |
FME许可级别 | 基本版及以上版本 |
别名 | |
历史 | 发布:FME 2016.0 |
类别 |
FME知识中心
在FME知识中心是演示,入门指南,文章,FAQ,以及更多的地方。解答您的问题,向其他用户学习,并建议,投票,并在新的功能注释。
搜索关于AttributeManager的所有结果在FME知识中心。