属性管理器
典型用途
- 创建新属性,并以多种方式为其设置默认值或新值
- 通过重命名和删除现有属性来修改现有属性,并为它们设置或清除值
- 重新排序属性
- 基于当前要素之前或之后的要素设置属性值
- 通过将多个属性操作转换器合并到一个位置来简化工作空间
它是如何工作的?
输入特性的属性显示在行和列的矩阵中,您可以在其中执行多个任务。通过AttributeManager的所有功能都将根据参数中的选择进行修改。
在本例中,输入特征的几个属性被修改:
- GlobalID被重命名,更改属性名的大小写。一些地址属性也被重命名。
- 将创建一个新属性“FULLNAME”,将其他两个属性的值连接起来
- 删除了几个不需要的属性
- 通过使用fme函数提取几何图形来创建x和y属性并分配值
- “updatedby”被创建并设置为固定值“smith”。
- 所有其他属性都不受影响地传递
更改的属性反映在转换器中。
在“高级:属性值处理”下访问相邻的要素属性。启用此选项后,可以指定在计算新值时要引用的当前特征之前和之后的多个特征。
假设我们得到以下数据集:
ID |
纬度 |
经度 |
---|---|---|
0 |
49.1640 |
-123.061 |
一 |
49.1643 |
-123.063 |
二 |
49.1642 |
-123.062 |
三 |
49.1642 |
-123.064 |
如果先前特征数和后续功能的数量参数都设置为2,然后当读取第一个功能时,AttributeManager可以访问以下功能:
功能参考 |
ID |
纬度 |
经度 |
---|---|---|---|
功能[2] |
|
|
|
功能[1] |
|
|
|
电流特性 |
0 |
49.1640 |
-123.061 |
功能(+ 1) |
一 |
49.1643 |
-123.063 |
功能(+ 2) |
二 |
49.1642 |
-123.062 |
注意,由于第一个特征之前没有任何特征,所以缺少一些属性。
读取第二个功能后,AttributeManager可用的先前和后续功能的窗口将移动以生成以下内容:
功能参考 |
ID |
纬度 |
经度 |
---|---|---|---|
功能[2] |
|
|
|
功能[1] |
0 |
49.1640 |
-123.061 |
电流特性 |
一 |
49.1643 |
-123.063 |
功能(+ 1) |
二 |
49.1642 |
-123.062 |
功能(+ 2) |
三 |
49.1642 |
-123.064 |
此语句将计算前面两个要素的平均纬度:
可以在算术编辑器和文本编辑器中创建引用相邻特征的计算。这些编辑器将首先列出当前处理的特征的属性,然后列出先前的特征,然后列出后续的特征。
配置
输入端口
这个转换器接受任何特性。
输出端口
具有已创建和修改属性的功能。
参数
当第一次连接和打开AttestMaMaGER变压器时,这个矩阵会自动填充当前出现的特征的属性。它还将动态调整以反映工作区中上游属性的更改。
默认情况下,操作被设置为“不做任何事情”,并以不变的方式传递功能。当您对单个项目进行更改时,fme根据您的输入解释适当的操作。可以手动重写操作,但通常不需要对其进行调整。
输入属性 | 当transformer第一次打开时,这一列将填充发送到输入端口的完整的暴露属性列表。此字段不可编辑,但将更新以反映工作区中所做的更改。创建新属性时,此字段将保持空白。 |
输出属性 | 默认情况下,输出属性与输入属性匹配。您可以:
|
属性值 | 默认情况下,属性值为空,保持特性不变。你可以在这里设置新值点击适当的行和:
看到定义值以下是关于使用这些选项的详细信息。 |
行动 | 默认情况下,Action被设置为“什么都不做”,保持功能不变。当您对参数进行更改时,操作将自动调整以反映适当的结果,在某些情况下可以手动覆盖这些结果。可用的行动是: 设置值:将属性设置为属性值列中指定的值。覆盖现有的属性值。 什么都不做:保持属性不变。 重命名:将输入属性重命名为输出属性列中指定的名称。 删除:完全删除属性并将其从输出模式中删除。 设置默认值:将属性的指定值分配给属性缺失的特性。不覆盖当前值,包括null。 注意:
|
展开“高级”部分可以访问可用于定义值的相邻要素的属性。虽然此部分可能看起来很复杂,但大多数用户很少需要此功能。
选中“启用相邻功能属性”以使用此功能。
现在,您可以根据当前要素之前或之后的要素属性设置属性值(在属性操作矩阵中),方法是按如下方式引用它们:
- 先前功能的属性被引用为feature[-1].attrname、feature[-2].attrname等。
- 后续功能的属性被引用为feature[+1].AttrName、feature[+2].AttrName等。
- 直接访问当前处理的特征的属性时不带前缀,例如attrname。
检索先前功能的值时,AttributeManager对该功能所做的任何更改都将生效。
先前特征数
这个参数指定了可以引用的最大特征数。如果启用了多功能属性支持,则该值必须为0到100之间的值。由于每个特征必须读取附加特征,仅定义需要检索的最大特征数量将提高性能。
后续功能的数量
此参数指定可由RealtMaMaGER引用的后续特征的最大数目。如果启用了多功能属性支持,则该值必须为0到100之间的值。由于每个特征必须读取附加特征,仅定义需要检索的最大特征数量将提高性能。
替换为missing、null和empty by
此参数指定引用属性不存在时所需的行为,具有空值,或具有空字符串值。
这些属性可以看作是未解析的属性。例如,由于第一个输入功能之前没有功能,AttributeManager将无法解析第一个输入功能的功能值[-1].attrname。
如果此参数设置为不可替代,attributeManager将使用空字符串解析所有未解析的属性(如果它们用于较大的表达式中)。如果未解析的属性是直接分配的,并且不是较大表达式的一部分,则输出属性将以相同的方式未解析。例如,如果缺少b,并且a设置为@值(B),则a也将丢失。但是如果A设置为“b=@值(b)”,A的值为“B=”.
另一个例子是,如果feature[+2]的值是空字符串,并且默认值则空字符串将被视为未解析的属性,并将被解析为“默认值”下指定的值。
如果此参数设置为最近相邻特征然后,如果存在这样一个特性,那么未解决的属性将被解析为最近特征的相应属性。查找最接近的要素时,将跳过具有未解析属性的要素。如果先前或后续特征具有未解析的属性,则可能使用当前特征来解析缺少的属性。
例如,如果特征[-2].AttrName的值未解析,则要解析特征[-2].AttrName,AttributeManager将查看与特征[-2]最接近的特征,在特征[-2]之前和之后的特征之间交替。它将首先查看功能[-3].attrname,然后是功能[-1].attrname(如果需要),然后是功能[-4].attrname(如果需要),直到指定的所有先前和后续功能都已用尽。
如果属性在指定的前一个和后一个特征中仍然未解析,则它将被解析为默认值参数中指定的值。
默认值
此参数指定在以下情况下用于解析未解析属性的值:
- 替换缺少、为空和为空的:设置为默认值
- 替换缺少、为空和为空的:设置为最近相邻特征并且在指定的先前和后续特征数内找不到值。
对话框选项
行重新排序 |
一旦您单击了属性操作矩阵中的一行,就启用了它。选择包括:
|
过滤器 |
开始键入一个字符串,矩阵将只显示与这些字符匹配的行。搜索所有列。这只影响转换器中属性的显示—它不改变输出的属性。 |
进口 |
import按钮将用从数据集读取的一组输出属性填充矩阵。如果transformer已经包含模式,这些属性将被附加到现有列表中。 |
刷新 |
Refresh将把矩阵内容重置为其默认状态,丢弃所做的更改,并将所有操作重置为“不执行任何操作”。 |
编辑变压器参数
使用一组菜单选项,可以通过引用工作区中的其他元素来指定变压器参数。一些转换器中还提供了更高级的功能,如高级编辑器和算术编辑器。要访问这些选项的菜单,请单击在适用参数旁边。有关详细信息,请参见变压器参数菜单选项.
定义值
有几种方法可以定义要在变压器中使用的值。最简单的方法是简单地输入一个值或字符串,它可以包括各种类型的函数,如属性引用、数学和字符串函数以及工作区参数。有许多工具和快捷方式可以帮助构造值,通常可以从值字段旁边的下拉式上下文菜单中获得。
使用文本编辑器
文本编辑器提供了一种从各种数据源(如属性、参数和常量)构造文本字符串(包括正则表达式)的方便方法,在这些数据源中,结果直接在参数内部使用。
使用算术编辑器
算术编辑器提供了一种从各种数据源(如属性、参数和特征函数)构造数学表达式的方便方法,在这些数据源中,结果直接在参数内部使用。
条件值
根据通过或失败的一个或多个测试条件设置值。
内容
表达式和字符串可以包含许多函数、字符、参数等,无论是直接在参数中输入还是使用其中一个编辑器构造。
参考
处理行为 |
基于特征 |
功能持有 |
没有 |
依赖关系 | 没有一个 |
FME授权级别 | 基本版及以上 |
别名 | |
历史 | 发布:FME 2016.0 |
类别 |
FME社亚搏国际在线官网区
fme社区是演示亚搏国际在线官网、操作指南、文章、常见问题解答等的场所。获取问题的答案,向其他用户学习,并对新功能进行建议、投票和评论。
搜索关于属性管理器的所有结果在FME社区。亚搏国际在线官网
示例可能包含根据开放式政府许可证获得许可的信息-温哥华