西班牙
斯潘4
一创建新工作区。添加架构读取器并将其指向架构源。
二创建一个新的已发布参数,名称为“KEEP”,提示“Fields TO KEEP”
三。将源架构功能连接到参数获取程序。将参数名设置为“保留”,将目标属性设置为“保留”。
四将参数获取器连接到PythonCaller。将Python符号设置为keep_defs并添加以下Python源代码:
从pyfme导入*
def keep_defs(功能):
att_name_list=feature.getListAttribute('属性{}.name')
att_ntype_list=feature.getListAttribute('属性{}.native_data_type')
att_ftype_list=feature.getListAttribute('属性{}.fme_数据类型')
keep_values=feature.getStringAttribute('''u to_keep')
keep_list=保留值。拆分(',')
如果你在名单上!=无:
feature.removeListAttribute('属性{}.name')
feature.removeListAttribute('属性{}.native\u数据类型')
feature.removeListAttribute('属性{}.fme_数据类型')
计数=0
对于范围内的i(len(att_name_list)):
如果(收件人姓名列表[我]在保留列表中):
feature.setStringAttribute(('attribute{'+str(count)+'}.name'),att_name_list[i])
feature.setStringAttribute(('attribute{'+str(count)+'}.native_data_type'),att_type_list[i])
feature.setStringAttribute(('attribute{'+str(count)+'}.fme_data_type'),att_ftype_list[i])
count=计数+1
如果(att_name_list[i]='fme_geometry{0}'):
feature.setStringAttribute('fme_geometry{0}',att_ftype_list[i])
五将PythonCaller连接到AttributeRemover并移除要保留的属性。
六添加一个FFS writer并创建一个名为“schema”的输出特性。将AttributeRemover连接到架构输出,并将工作区保存为名为SCHEMASUBSET的自定义格式。
现在可以在工作区资源中添加格式SCHEMASUBSET作为架构源。只有要保留的字段参数中列出的属性将用于生成动态架构。
?2019安全亚搏在线软件公司|合法的