span8
span4
1.创建一个新的工作空间。添加模式阅读器并将其指向您的模式源。
2.创建一个名为TO_KEEP的新Published参数,并提示“Fields to Keep”
3.将源模式特性连接到ParameterFetcher。参数名称设置为TO_KEEP,目标属性设置为_to_keep。
4.将ParameterFetcher连接到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_data_type属性)
keep_values = feature.getStringAttribute(“_to_keep”)
keep_list = keep_values.split (" ")
if att_name_list !=无:
feature.removeListAttribute ({} . name属性)
feature.removeListAttribute ({} .native_data_type属性)
feature.removeListAttribute ({} .fme_data_type属性)
数= 0
For I in range(len(att_name_list)):
If (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的Custom Format。
现在可以在工作空间资源中添加格式SCHEMASUBSET作为模式源。只有Fields to Keep参数中列出的属性将用于生成动态模式。
©2019 S亚搏在线afe Software Inc |法律