构造属性
除了常量属性值之外,fme还允许您使用字符串操作和算术计算来构造值。这是通过单击属性值字段中的箭头打开的菜单实现的:
这非常有用,因为该属性现在不再是固定值:它可以由现有属性和参数的组合构造。两种主要的方法是文本编辑器和算术编辑器。
文本编辑器
文本编辑器(如您所期望的)允许您构造文本值。它包含了您需要的所有常见的字符串处理功能,例如串联,修整,衬垫,以及案件变更。
文本编辑器如下所示:
这里,用户通过连接各种现有属性来构造一个简单的地址字符串。注意左边的菜单。现有属性列在这里,并通过双击添加到字符串中。
还要注意其他菜单选项。最重要的(对于文本编辑器)是字符串函数:
这些函数可用于操作正在使用的字符串。例如,在这里,用户确保在使用时修剪正在使用的属性:
算术编辑器
算术编辑器与文本编辑器基本相同,除非输入到对话框中的任何内容都将作为算术表达式进行计算,并返回数值结果:
在这里,用户使用一个简单的公式计算居民的税收,该公式包含财产面积和税收代码。和文本编辑器一样,现有的属性和算术函数是从左侧的菜单中获得的。
FME功能
文本编辑器和算术编辑器菜单中的另一项是FME功能:
这些功能涉及到FME核心功能的核心。它们是变压器的基石;可以向编辑器返回值的基本功能。
例如,@area()函数返回当前功能的区域(假设它是多边形)。@timestamp()返回当前时间。
一些函数返回字符串,其他返回数值;因此,可用的函数根据使用的是文本编辑器还是算术编辑器而有所不同。在上面的屏幕截图中,文本编辑器函数在左侧,算术编辑器函数在右侧。文本编辑器可以使用文本值或数值;算术编辑器只能接受数值。
FME特性函数非常有用,因为它们允许您直接将处理构建到attributeManager中,而不是使用单独的变压器。
更换其他变压器
集成的文本和算术编辑器为工作空间的创建提供了巨大的好处。它们允许属性创建功能直接在单个转换器中执行。
例如,attributeManager文本编辑器可以直接替代StringConcatenator和ExpressionEvaluator变压器。
属性管理器还可以替换StringPadder和属性管理器变压器,尽管用户友好度有所降低。如果在编辑器中使用了FME功能函数,这种变压器也可以在技术上取代变压器,如面积计算器,长度计算器,协调计数器,TimeStamper还有更多。
这通常是件好事。当尽可能多的外围操作直接集成到单个变压器中时,工作空间将更加紧凑和明确。然而,因为一个属性管理者可以执行许多任务中的一个,许多操作,使用最佳实践并确保其具有正确的注释也更重要。
如果属性管理器没有正确注释,从工作台画布上看,无法确定它正在执行什么操作!
矢量小姐说… |
这里有一个问题,看看你是否注意到了。查看编辑对话框的屏幕截图,告诉我返回到属性的值是什么: 1。2+2 2。四 三。四 4。错误! |