span8
span4
1.创建一个新的工作区。添加模式阅读器并将其指向模式源。
2.使用名称TO_KEEP和提示符“Fields to Keep”创建一个新的发布参数
3.将源模式特性连接到参数获取器。将参数名设置为TO_KEEP,将目标属性设置为_to_keep。
4.将ParameterFetcher连接到PythonCaller。将Python符号设置为keep_defs并添加以下Python源代码:
来自pyfme import *
def keep_defs(特征):
att_name_list = feature.getListAttribute ({} . name属性)
att_ntype_list = feature.getListAttribute ({} .native_data_type属性)
att_ftype_list = feature.getListAttribute ({} .fme_data_type属性)
keep_values = feature.getStringAttribute (“_to_keep”)
keep_list = keep_values.split (" ")
如果att_name_list != None:
feature.removeListAttribute ({} . name属性)
feature.removeListAttribute ({} .native_data_type属性)
feature.removeListAttribute ({} .fme_data_type属性)
数= 0
for i in range(len(att_name_list)):
如果(att_name_list[i] in keep_list):
feature.setStringAttribute((“属性{' + str(数)+ '}. name”), att_name_list[我])
feature.setStringAttribute((“属性{' + str(数)+ '}.native_data_type”), att_ntype_list[我])
feature.setStringAttribute((“属性{' + str(数)+ '}.fme_data_type”), att_ftype_list[我])
count = count + 1
if (att_name_list[i] == 'fme_geometry{0}'):
feature.setStringAttribute (“fme_geometry {0}’, att_ftype_list[我])
5.将PythonCaller连接到AttributeRemover并删除属性_to_keep。
6.添加一个FFS写入器并创建一个名为“schema”的输出特性。将AttributeRemover连接到模式输出,并将工作区保存为名为SCHEMASUBSET的自定义格式。
您现在可以将格式SCHEMASUBSET作为模式源添加到工作空间资源中。只有保留参数字段中列出的属性将用于生成动态模式。
©2019安全亚搏在线软件公司法律