你在这里: 字符串 > 的ExpressionEvaluator

的ExpressionEvaluator

执行对由FME特征函数,字符串函数,数学函数,和数学运算符的表达式数学计算。操作数和函数的参数包括输入要素的属性,常量文字,出版和私人参数,以及功能和运营商。您可以使用GUI界面来设置一个表达式,但你也可以手动编辑表达式。表达的结果都存储在由用户指定的属性。

有针对的ExpressionEvaluator两个主要用途:

  1. 将一个表达于一个属性
    • 评价模式要么创建新的属性要么覆盖现有的属性,但只覆盖一个属性。
    • 表达式可以使用@值()功能,但不使用@CurrentAttribute()函数。
    • 例如,如果您想在单个属性的值中添加1,请使用表达式@ value (attr) + 1,设置评价模式覆盖现有的属性,并设置属性来覆盖ATTR
  2. 将一个表达多个属性
    • 评价模式覆盖现有的属性并且只选择将被新值覆盖的属性。未选择的属性将保留其原始值。
    • 表达式可以使用@CurrentAttribute()函数,但通常不会使用@值()函数。
    • 例如,如果您想在一些属性的值中添加1,那么可以使用表达式@CurrentAttribute () + 1,设置评价模式覆盖现有的属性,并选择要将其应用于的属性。

注意:如果你想不同的表情适用于不同的属性,您可以使用多个ExpressionEvaluators,或使用一个AttributeCreator

所支持的操作符是在C表达式允许的运营商的子集。它们具有相同的含义和优先级为相应的C运营商提供一个明显的例外:他们支持数字空。

表达式预期收益率的数值结果。FME支持数字空值,这允许表达式返回null作为结果。例如,表达8.2 + 6回报14.2,而表达@value(nullAttr)* 1返回null。

注意:这是很容易建立一个无效的表达,所以你可能要仔细检查你的表达,特别是如果你使用的是@value(ATTR)表达内,如某些属性可能会有意想不到的值。如果一个表达式是无效的,那么相应的结果属性将被设置为空。当结果为空,下面的属性将被设置为指示出了什么差错,以及其中:
fme_expression_warnings {}。attrName
fme_expression_warnings {}。消息
fme_expression_warnings {}。transformerName

在里面的ExpressionEvaluator,空,缺少和空字符串属性都被认为是空的。从而,@value(ATTR)* 1将导致空当ATTR上不存在的特征或者是一个空字符串。

参数

算术编辑器

欲了解更多信息,请参阅算术编辑器。

表达式编辑器

表达式由运算符和操作数,函数和参数,和括号的组合。白空间可以在操作数,运算符和括号之间被使用,并且由表达式处理器被忽略。

如果可能的话,操作数被解释为整数值。整数值可以用十进制来指定,如123,以八进制如果操作数的前两个字符是0O(零后面跟有字母O)或以十六进制如果操作数的前两个字符是0X

如果操作数不具有以上给出的整数格式之一,那么它将被视为一个浮点数,在可能的情况。浮点数可以以任何的由一个符合ANSI-C编译器接受的方式被指定,所不同的是“F”,“F”,“L”和“L”后缀不会在大多数安装允许的。例如,以下所有的都是有效的浮点数:2.13。6E47.91e + 16。如果没有数字的解释是可能的,那么操作数保留为一个字符串,并应引起表达式计算为NULL。

操作数和参数可通过以下方式来指定:

  • 作为恒定数值,整数或浮点型。
  • 作为一个特征FME属性的值,使用该@值()要么@CurrentAttribute()符号。该属性的值被用作操作数或参数。
  • 作为一个特征FME功能,如@区域()。该函数被评估并用作操作数或参数的结果。
  • 作为一个数学函数,如@sin(1)

FME特征函数

欲了解更多信息,请参阅FME特征函数

字符串函数

欲了解更多信息,请参阅字符串函数

数学函数

欲了解更多信息,请参阅数学函数

数学运算符

欲了解更多信息,请参阅数学运算符

FME知识中心拥有的ExpressionEvaluator的一个很好的例子。

相关变形金刚

如果要设置多个属性,可以考虑使用AttributeCreator,其中包含通过相同的功能算术编辑器

编辑变压器参数

使用一组菜单选项,变压器参数可以通过引用在工作区中的其它元件来分配。更先进的功能,如高级编辑,算术编辑,也是一些变压器可用。要访问这些选项的菜单,点击适用的参数旁边。欲了解更多信息,请参阅变压器参数菜单选项

变压器分类

计算值

字符串

技术史

在的ExpressionEvaluator数学运算是基于工具命令语言(TCL)EXPR命令。1Tcl和它的文档是由加州大学的校董,Sun Microsystems公司的版权和其他各方。然而,作者进行了授权的任何一方重复使用和修改代码和文档,提供的原始版权持有人的认可。

标签算术

搜索FME知识中心

搜索样品和有关该变压器的FME知识中心