span8
span4
入门条件属性映射
有条件的映射利用了的SchemaMapper的‘过滤功能’行动。这是一种方式来定义一个简单的条件子句进行基于特定的条件属性的映射。
在本教程中,我们将操纵包含水主数据温哥华市的单层。该层可以被分成被遗弃的
和活跃的
基于属性的管道,我们将利用这个值的,有条件的条款一起,以重新映射层的架构有两种方式:1)使用属性值作为过滤器,并使用FME特征类型的过滤器2)。
源数据都在一个层上,如下所示:
工作区模板:条件属性应用.fmwt
步骤1-该水管架构包含命名的属性对象
和生命周期状态
,两者将在我们的条件过滤器的一部分。打开在数据检查的数据集,并采取一看生命周期状态
属性的一些功能。你会发现,它的值或者是被遗弃的
或价值活跃的
:
对于我们的教程,这取决于价值生命周期状态
中,功能类型
属性将被映射到被遗弃的
要么活跃的
和对象
将改名为任废弃的
要么活动ID
。
如果我们的条件属性映射查找表,接着使用在矿井结构简单属性映射文章在左栏持有我们已经开始与属性和值,右边一列决定我们想要什么作为输出,该表将是这个样子:
1 SourceAttribute,DestinationAttribute 2 OBJECTID,AbandonedID 3 OBJECTID,ActiveID
与此查找表的问题是,对象
被定义为下SourceAttribute两次源(因为我们希望它在两种不同的方式映射)。这显然是有问题的;我们需要给更明确的说明。为了解决这个问题,一个子句添加说明时使用的定义。
1 FilterAttribute,FilterAttributeValue,SourceAttribute,DestinationAttribute 2 LifecycleStatus,被遗弃,OBJECTID,AbandonedID 3 LifecycleStatus,活动,OBJECTID,ActiveID
在这里工作的逻辑如下:
IF LifecycleStatus =中止,则OBJECTID➜AbandonedID IF LifecycleStatus =活动的,那么OBJECTID➜ActiveID
步骤2-在我们演示的工作空间,打开的SchemaMapper变压器的参数。提供了查找表来查找您 - 随时检查查找表读取参数预览面板中获得表结构感。
步骤3-点击进入创建操作参数窗口。请注意,我们有两个动作 - 一个用于过滤功能,以及一个用于映射属性。
filter features动作定义了lifecycleStatus属性=lifecycleStatus值
:
map attributes操作定义属性映射,其中源属性
变成目的地贡品
:
同样值得注意的是source属性:keep/remove选项。选择“移除”的目的是整理数据并集中于重新映射的属性值而不是原始值。使用keep选项将保留原始的对象
字段和值以及新的字段和值。
步骤4-接受参数并返回工作区。我们的单一水管层现在已经按照逻辑分成了两层生命周期状态
属性:我们有标记为废弃的
以及带有活动ID
。使用属性筛选器,我们现在可以将这两组要素映射到两个传出要素类型上,并编写autocad文件。
以下是已完成工作区的图像:
由于Workbench不知道在StimaMAMPER中存在正确的映射,所以目标属性被标记为未连接(在我们的写入属性下拉中出现的红色三角形)。但是,当工作空间运行时,输出将是正确的,因为属性存在,它们不被暴露。
或者,属性Exposertransformer可用于公开这些新属性并使writer属性可见地连接起来。
工作区模板:条件属性应用程序特性类型.fmwt
过滤不限于用户定义的属性,因为也可以按格式属性过滤。一个有用的format属性示例如下功能类型
,其中包含要素类型名称。执行此任务的关键是在查找表中提供fme format属性。在下面的示例中,工作区中存在两种特征类型:配水/控制阀
和水分配/WMAIN
。我们希望根据读取的要素类型重命名结果模式中的属性。
要创建此工作流,我们需要使用亚搏在线>功能类型
属性。工作区模板中提供了一个查找表,但您可能希望创建自己的查找表,如下所示:
1过滤器属性,过滤器属性值,源属性,目标属性2 fme_特征_类型,水_分布/wcontrolvalve,objectid,valveid 3 fme_特征_类型,水_分布/wcontrolvalve,直径,阀门参数4 fme_特征_类型,水_分布/wmain,objectid,管道id 5 fme_特征_类型,水_分布/wmain,直径,管道直径
与条件属性映射一样,查找表中的每一行都定义一个模式映射规则。此查找表中的第一条规则声明:
如果特征类型名称=水分配/wcontrolvalve,则objectid变为valveid
schemaMapper transformer create actions对话框镜像了上面给出的示例表。例如,在“预设过滤器功能”操作窗口中,指示规则的属性过滤器部分的两列将亮显:
运行工作区并注意attributefilter分离了我们的两个特性类型,并且我们重新映射了对象
一路上的属性。
这是已完成的工作区:
下载内容如下:
此处使用的数据源于温哥华市,不列颠哥伦比亚省。它包含根据开放的政府许可证-温哥华许可的信息。
额外资源
©2019安全亚搏在线软件公司|法律