span8
span4
动态工作空间是其中从一个标准的工作区定义不能获得作家模式,但是从现有的数据集的架构或与列表中的属性构成的架构。
在大多数情况下,写入器模式是从单个源获得的,但是有时在单个写入器架构需要从多个源构成。
这个例子使用构造使用列表属性的作家架构的技术,但使用多个来源获得这样做所需的信息。它是一种能够为不同的数据集合并在一起,并把它们写出来与组合模式 - 都在一个动态的方式。
具体而言,这里的工作空间平移公园的数据集。从辅助数据集需要的属性添加到公园和写出来。因为这些属性是事先不知道的,就必须使用动态翻译;而且因为有多个架构源的技术,使用列表中的属性必须使用。
正如在以前的文章中指出,在属性列表需要构造一个动态模式是属性{}名称和属性{} fme_data_type - 。这两个列表中的属性定义的名称和数据类型的作家架构属性。
以及从头开始构建这些,这些可以直接从我们使用所谓的“模式(在任何格式)”的读取器格式,例如主数据集提取的:
属性 | 价值 |
{0}.fme_data_type属性 |
fme_int16 |
{0}. name属性 |
ParkId |
{1}.fme_data_type属性 |
fme_int16 |
{1}. name属性 |
RefParkId |
{2}.fme_data_type属性 |
fme_varchar (40) |
{2}. name属性 |
ParkName |
同样属性的列表可以从辅助数据源中提取:
属性 | 价值 |
{0}.fme_data_type属性 | fme_varchar (30) |
{0}. name属性 | ZoneName |
{1}.fme_data_type属性 | fme_varchar (30) |
{1}. name属性 | ZoneCategory |
由工作区要解决的主要问题是采取这两个列表,并把它们合并成一个单一的输出模式定义。
工作区是这样的:
有三种读者:
模式读取器读取来自两个源的数据集(伯和仲)架构等发射两个特征。属性列表被爆炸产生每一个属性特征,然后合并到使用聚合变压器一个列表。过量的架构信息与保留指定的变压器中删除:
读取主数据集和辅助数据集(此处的主数据集是固定的,但辅助数据集是通用的/动态的),并将信息从辅助数据集传输到主数据集(此处使用空间过滤器):
最后,使用FeatureMerger transformer将模式列表属性合并到主要功能:
writer功能类型是动态设置的,用于将架构功能用作架构源。
运行工作区并检查输出。你会发现每个公园现在都有关于公园所在开发区的信息。
重要的是,您可以将源分区数据集更改为其他(任何格式)数据集,并且这些功能的属性将动态附加并在输出中使用。
一添加读取器和架构
添加两个MITAB读卡器,一个用于分区数据,一个用于公园数据,确保两个读卡器都选择了单个合并的要素类型。然后添加架构读取器。对于架构读取器,首先添加Zones.tab文件,然后单击参数。在要公开的其他属性的参数中,添加以下列表。然后单击“确定”将读卡器添加到工作区。在导航窗口中,最大化区域[模式]并单击源数据集。单击下拉列表,然后单击“选择多个文件/文件夹”。添加Parks.tab文件。
二设置空间过滤器
通过筛选器输入端口将SpatialFilter连接到区域写入程序,并通过候选输入端口将Parks写入程序连接到Parks写入程序。在参数中,设置要测试的空间谓词:
3.ListExploder
将ListExploder添加到架构编写器。在参数中,将List属性设置为Attribute{}。
4.聚合器
将聚合器连接到ListExploder上的元素输出端口。将累积模式设置为合并传入属性。选中生成列表,将列表名称设置为属性,并为选定的属性添加fme_数据类型和名称
注意:较老版本的FME将没有添加到列表或选择属性参数。如果打开附加的模板,它也会丢失参数,因为工作区是用旧版本创建的。我离开的模板,以便用户与老FME仍然可以使用它;但是要获得这些参数,只需右键单击并选择Upgrade Transformer。
5.AttributeKeeper
我们只想保留我们公开的两个属性。在聚合器之后添加AttributeKeeper。在参数中选择要保留的…In列表,然后选择attribute{}.fme_data_type和attribute{}.name
6.FeatureMerger
为了把所有的东西合并在一起,我们将使用功能合并。将SpatialFilter上通过的和失败的输出端口连接到请求程序输入端口,将AttributeKeepers输出端口连接到FeatureMerger上的供应商输入端口。在FeatureMerger参数中,将Requestor设置为3,将Supplier设置为3,将所有其他设置保留为默认值。
7.写信给动态作者
将MITAB Writer添加到工作区,确保它设置为Dynamic(Advanced)。将其连接到FeatureMerger上的合并输出端口。一旦添加到工作区,在参数中将模式源设置为“Schema From Schema Feature”。将检查器连接到合并的输出端口并运行转换。
©2019安全亚搏在线软件公司|法律