#!#! #! #! #!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #! #!#!#!#!#!#!#!#!#!#!#! #! #!#!#!#! #!#!#! #!

Remove format attributes

" POSITION="485.38009380093808 -16.87346873468735" TOP_LEFT="485.38009380093808 -16.87346873468735" BOTTOM_RIGHT="1018.7601876018759 -115.62415624156242" BOUNDING_RECT="485.38009380093808 -16.87346873468735 533.38009380093786 98.750687506875067" ORDER="500000000000009" FOLLOW_ANCHOR="true" INFO_NODE="false" COLOUR="1,1,0.78431372549019607,0.19607843137254902" SIZE_POLICY="10" ANCHORED_NODE="10">
#!

Explode each record into a separate feature

" POSITION="485.38009380093808 -538.24806248062475" TOP_LEFT="485.38009380093808 -538.24806248062475" BOTTOM_RIGHT="978.13478134781326 -680.74918749187486" BOUNDING_RECT="485.38009380093808 -538.24806248062475 492.75468754687518 142.50112501125011" ORDER="500000000000011" FOLLOW_ANCHOR="true" INFO_NODE="false" COLOUR="1,1,0.78431372549019607,0.19607843137254902" SIZE_POLICY="10" ANCHORED_NODE="3">
#!

Remove generic attributes

" POSITION="1119.1959219592202 -16.87346873468735" TOP_LEFT="1119.1959219592202 -16.87346873468735" BOTTOM_RIGHT="1118.1959219592202 -15.87346873468735" BOUNDING_RECT="1119.1959219592202 -16.87346873468735 -1 -1" ORDER="500000000000012" FOLLOW_ANCHOR="true" INFO_NODE="false" COLOUR="1,1,0.78431372549019607,0.19607843137254902" SIZE_POLICY="10" ANCHORED_NODE="8">
#!

XML reader (Individual feature types)

Configuration Type: Feature Paths

Elements to Match: a

Enable Flattening: Yes

" POSITION="-384.37884378843791 142.25293752937529" TOP_LEFT="-384.37884378843791 142.25293752937529" BOTTOM_RIGHT="381.05799807998079 43.50225002250022" BOUNDING_RECT="-384.37884378843791 142.25293752937529 765.4368418684187 98.750687506875067" ORDER="500000000000014" FOLLOW_ANCHOR="true" INFO_NODE="false" COLOUR="1,1,0.78431372549019607,0.19607843137254902" SIZE_POLICY="10" ANCHORED_NODE="2">
#!
#! #!#! #!#! #! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#! #!#! #!#! #!#! #!#!
FME_PYTHON_VERSION 36 GUI IGNORE SourceDataset_XML_1,XML_IN_XFMAP_FEATURE_PATHS_XML_1,XML_IN_FME_GROUP_NAMED3_XML_1,XML_IN_XFMAP_FEATURE_PATHS_STRUCTURE_XML_1,XML_IN_FME_GROUP_NAMED4_XML_1,XML_IN_XFMAP_XML_1,XML_IN_XRS_XML_1,XML_IN_FME_GROUP_NAMED5_XML_1,XML_IN_CONTINUE_ON_GEOM_ERROR_XML_1,XML_IN_USE_SEARCH_ENVELOPE_XML_1,XML_IN_SEARCH_ENVELOPE_MINX_XML_1,XML_IN_SEARCH_ENVELOPE_MINY_XML_1,XML_IN_SEARCH_ENVELOPE_MAXX_XML_1,XML_IN_SEARCH_ENVELOPE_MAXY_XML_1,XML_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_XML_1,XML_IN_CLIP_TO_ENVELOPE_XML_1,XML_IN_ADVANCED_XML_1,XML_IN_VALIDATE_XFMAP_XML_1,XML_IN_VALIDATE_DATASET_XML_1,XML_IN_NETWORK_AUTHENTICATION_XML_1 DEFAULT_MACRO SourceDataset_XML $(FME_MF_DIR)测试.xml gui multifile sourceatataset_xml xml / gml / compreting_xml_files(*。xml; *。gml; *。gz)| * .xml; *。gml; *。gz | xml_files(*。xml)| * .xml | gml_files(*.gml)|*.gml|Compressed_XML_Files(*.gz)|*.gz|All_Files(*)|* Source XML File(s): INCLUDE [ if {{$(SourceDataset_XML)} == {}} { puts_real {Parameter 'SourceDataset_XML' must be given a value.}; exit 1; }; ] #! START_HEADER #! START_WB_HEADER READER_TYPE MULTI_READER MULTI_READER_TYPE{0} XML MULTI_READER_KEYWORD{0} XML_1 MULTI_READER_GEN_DIRECTIVES{0} FILE_TYPE,Feature 路径,CONTINUE_ON_GEOM_ERROR,不,SEARCH_ENVELOPE_MINY,0,USE_SEARCH_ENVELOPE,NO,CLIP_TO_ENVELOPE,NO,XFMAP_FEATURE_PATHS,一个,VALIDATE_DATASET,不,XML_EXPOSE_FORMAT_ATTRS ,, SEARCH_ENVELOPE_MAXY,0,XFMAP_FEATURE_PATHS_STRUCTURE, 如果 lt 结构体 空间 分隔符= 报价 报价 空间 map-empty-elements = 报价 是的 报价 空间 匹配 - 前缀= 报价 属性 报价 空间 匹配属性= 报价 是的 报价 空间 基数= 报价 + opencurly closecurly 报价 空间 结构 - 前缀= 报价 报价 空间 child-position-attribute = 报价 报价 空间 除表达式= 报价 报价 空间 UI-Mode = 报价 基本的 报价 空间 匹配 - 祖先 - 属性= 报价 报价 固定 GT. 如果 ,XFMAP_FEATURE_PATHS_SUB_FRAGMENTS ,, SEARCH_ENVELOPE_MAXX,0,高级,, XRS ,, VALIDATE_XFMAP,不,XFMAP ,, XFMAP_FEATURE_PATHS_EXCEPT ,, SEARCH_ENVELOPE_MINX,0,_MERGE_SCHEMAS,YES,EXPOSE_ATTRS_GROUP ,, SEARCH_ENVELOPE_COORDINATE_SYSTEM ,, MAX_SCHEMA_SCAN_FEATURES,WRITER_TYPE NULL WRITER_KEYWORD NULL_DEST NULL_DEST_DATASET空#!END_WB_HEADER # !start_wb_header宏wb_keyword“xml_1”#!END_WB_HEADER # !start_source_header XML XML_1#============================================================================#以下GUI行提示XML文件#该映射文件的数据集是从的:#!END_SOURCE_HEADER # !start_wb_header default_macro sourceatataset包括[if {{$(sourceatataset)}!=“} {\ puts {default_macro sourceatataSet_xml_1 $(sourceatataSet)} \} \}]#!END_WB_HEADER # !start_source_header XML XML_1 DEFAULT_MACRO SOURCEDATASET_XML_1 $(SourceTATASET_XML)GUI兼容SourceTATASET_XML_1 XML / GML / compretting_xml_files(*。XML; *。GML; *。GZ)| * .xml; *。GML; *。GZ | XML_FILES(*。XML)|* .xml | gml_files(*。gml)| * .gml | commetting_xml_files(*。gz)| * .gz | all_files(*)| *源XML文件:#============================================================================ # # ============================================================================ # Include the deaggregate factory that will break XML aggregrate # into simpler features XML_1_PIPELINE "$(FME_HOME)/pipeline/xml_read.fmi" # ================================================================= DEFAULT_MACRO XML_IN_XFMAP_FEATURE_PATHS_XML_1 a XML_1_XFMAP_FEATURE_PATHS "$(XML_IN_XFMAP_FEATURE_PATHS_XML_1)" GUI OPTIONAL DYNAMIC_MULTI_SELECT_ENCODED XML_IN_XFMAP_FEATURE_PATHS_XML_1 $[SourceDataset_XML_1],_GET_ATTRIBUTE_VALUES_,,XML_PATH_SCAN,YES,NETWORK_AUTHENTICATION,$[XML_IN_NETWORK_AUTHENTICATION_XML_1],FME_DELIM, , root_node FME_PARENT_SELECTION FME_READ_SCHEMA, FME_DN_ATTR, display_value, FME_PATH_ATTR, feature_path _FORMAT_OVERRIDE_, XML元素匹配 : # ================================================================= DEFAULT_MACRO XML_IN_XFMAP_FEATURE_PATHS_EXCEPT_XML_1 XML_1_XFMAP_FEATURE_PATHS_EXCEPT " $ (XML_IN_XFMAP_FEATURE_PATHS_EXCEPT_XML_1) "DEFAULT_MACRO XML_IN_FME_GROUP_NAMED3_XML_1 GUI可选DISCLOSUREGROUP XML_IN_FME_GROUP_NAMED3_XML_1 XML_IN_XFMAP_FEATURE_PATHS_SUB_FRAGMENTS % XML_IN_XFMAP_FEATURE_PATHS_STRUCTURE_XML_1定制属性 # ================================================================= # 注意:任何更改都应该对xml扁平化,XMLFragmenter和XML Reader元文件GUI LOOKUP ,default_macro xml_in_xfmap_feature_paths_structure_xml_1. 结构体 分隔符= map-empty-elements = 是的 匹配 - 前缀= 属性 匹配属性= 是的 基数= + 结构 - 前缀= child-position-attribute = 除表达式= UI-Mode = 基本的 匹配 - 祖先 - 属性= xml_1_xfmap_feature_paths_structure“$(xml_in_xfmap_feature_paths_structure_xml_1)”GUI可选XML_FLATTEN_OPTIONS XML_IND_XFMAP_FEATURE_PATHS_STUREURUTE_XML_1扁平选项:#==================================================================“$(XML_IN_XFMAP_FEATURE_PATHS_SUB_FRAGMENTS_XML_1)” DEFAULT_MACRO XML_IN_FME_GROUP_NAMED4_XML_1 GUI可选DISCLOSUREGROUP XML_IN_FME_GROUP_NAMED4_XML_1 XML_IN_XFMAP_XML_1%XML_IN_XRS_XML_1其他配置#================================================================= gui查找xml_in_xfmap_xml_1 , default_macro xml_in_xfmap_xml_1 xml_1_xfmap " xml_in_xfmap_xml_1 "GUI可选多文件XML_IN_XFMAP_XML_1 XML_Map_File (* .xmp; * . xml) | * .xmp; * . xml | All_Files (*) | * xfMap文件 : # ================================================================= GUI查找XML_IN_XRS_XML_1 ,DEFAULT_MACRO XML_IN_XRS_XML_1 XML_1_XRS “$(XML_IN_XRS_XML_1)” GUI可选FILENAME_MUSTEXIST XML_IN_XRS_XML_1 XRS_File(* XML * XRS。)| * .XML; * XRS | All_Files(*)| * XRS文件:DEFAULT_MACRO XML_IN_FME_GROUP_NAMED5_XML_1 GUI可选DISCLOSUREGROUP XML_IN_FME_GROUP_NAMED5_XML_1 XML_IN_CONTINUE_ON_GEOM_ERROR_XML_1继续关于几何误差#================================================================= DEFAULT_MACRO XML_IN_CONTINUE_ON_GEOM_ERROR_XML_1没有XML_1_CONTINUE_ON_GEOM_ERROR “$(XML_IN_CONTINUE_ON_GEOM_ERROR_XML_1)” GUI CHOICE XML_IN_CONTINUE_ON_GEOM_ERROR_XML_1是%的几何误差不继续:DEFAULT_MACRO XML_IN_EXPOSE_ATTRS_GROUP_XML_1 XML_1_EXPOSE_ATTRS_GROUP “$(XML_IN_EXPOSE_ATTRS_GROUP_XML_1)” #将此文件包含在源设置部分中,将外部搜索信封处理#ZEACE添加为默认方式,默认方式我们不做任何搜索 - 这使得Workbench快乐Default_Macro XML_IN_USE_SEARCH_ENVELOPE_XML_1 NO XML_1_USE_SEARCH_ENVELOPE“$(XML_IN_USE_SEARCH_ENVELOPE_XML_1)” GUI ACTIVEDISCLOSUREGROUP XML_IN_USE_SEARCH_ENVELOPE_XML_1 XML_IN_SEARCH_ENVELOPE_MINX_XML_1%XML_IN_SEARCH_ENVELOPE_MINY_XML_1%XML_IN_SEARCH_ENVELOPE_MAXX_XML_1%XML_IN_SEARCH_ENVELOPE_MAXY_XML_1%XML_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_XML_1%XML_IN_CLIP_TO_ENVELOPE_XML_1%XML_IN_SEARCH_METHOD%XML_IN_SEARCH_METHOD_FILTER%XML_IN_SEARCH_ORDER%XML_IN_SEARCH_FEATURE%XML_IN_DUMMY_SEARCH_ENVELOPE_PARAMETER使用搜索信封#=========================================================================== gui查找xml_in_search_envelope_minx_xml_1 ,0 default_macro xml_in_search_envelope_minx_xml_1 0 xml_1_search_envelope“$(xml_in_search_envelope_minx_xml_1)”gui可选float xml_in_search_envelope_minx_xml_1最小x:#========================================================================== GUI LOOKUP XML_IN_SEARCH_ENVELOPE_MINY_XML_1 ,0 DEFAULT_MACRO XML_IN_SEARCH_ENVELOPE_MINY_XML_1 0 XML_1_SEARCH_ENVELOPE “$(XML_IN_SEARCH_ENVELOPE_MINY_XML_1)” GUI OPTIONAL FLOAT XML_IN_SEARCH_ENVELOPE_MINY_XML_1最小Y:#=========================================================================== GUI LOOKUP XML_IN_SEARCH_ENVELOPE_MAXX_XML_1 ,0 default_macro xml_in_search_envelope_maxx_xml_1 0 xml_1_search_envelope“$(xml_in_search_envelope_maxx_xml_1)”gui可选float xml_in_search_envelope_maxx_xml_1最大x:#========================================================================== gui查找xml_in_search_envelope_maxy_xml_1 ,0 DEFAULT_MACRO XML_IN_SEARCH_ENVELOPE_MAXY_XML_1 0 XML_1_SEARCH_ENVELOPE “$(XML_IN_SEARCH_ENVELOPE_MAXY_XML_1)” GUI应用浮动XML_IN_SEARCH_ENVELOPE_MAXY_XML_1最大Y:#=========================================================================== gui查找xml_in_search_envelope_coords_system_xml_1 xml_in_search_envelope_coordinate_system_xml_1 xml_1_search_envelope "$(xml_in_search_envelope_coordinate_system_xml_1)"GUI可选COORDSYS XML_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_XML_1搜索信封坐标系统 : # =========================================================================== # BUG18999:我们现在有一个软夹等依靠本地空间索引#因此我们重新剪辑信封为用户作为一个选项。#默认为软剪辑,根据现有的数据库读者,我们正在模拟GUI查找XML_IN_CLIP_TO_ENVELOPE_XML_1 no xml_1_clip_to_envelope "$(xml_in_clip_to_envelope_xml_1)"GUI可选复选框XML_IN_CLIP_TO_ENVELOPE_XML_1是的%不夹搜索信封DEFAULT_MACRO XML_IN_ADVANCED_XML_1 GUI可选DISCLOSUREGROUP XML_IN_ADVANCED_XML_1 XML_IN_VALIDATE_XFMAP_XML_1%XML_IN_VALIDATE_DATASET_XML_1先进 # ============================================================================ # 这指定是否xfMapdocument should be validated against its # DTD file. If set to 'auto', the xfMap document will only be validated if # its DTD file is available. DEFAULT_MACRO XML_IN_VALIDATE_XFMAP_XML_1 no XML_1_VALIDATE_XFMAP "$(XML_IN_VALIDATE_XFMAP_XML_1)" GUI CHOICE XML_IN_VALIDATE_XFMAP_XML_1 yes%no%auto Validate XML Map File # ============================================================================ # This specifies whether the XML dataset should be validated against its # DTD file. If set to 'auto', the XML document will only be validated if # its DTD file is available. DEFAULT_MACRO XML_IN_VALIDATE_DATASET_XML_1 no XML_1_VALIDATE_DATASET "$(XML_IN_VALIDATE_DATASET_XML_1)" GUI CHOICE XML_IN_VALIDATE_DATASET_XML_1 yes%no%auto Validate XML Dataset File # =========================================================================== DEFAULT_MACRO XML_IN_NETWORK_AUTHENTICATION_XML_1 XML_1_NETWORK_AUTHENTICATION "$(XML_IN_NETWORK_AUTHENTICATION_XML_1)" GUI OPTIONAL AUTHENTICATOR XML_IN_NETWORK_AUTHENTICATION_XML_1 CONTAINER%GROUP%CONTAINER_TITLE%"Network Authentication"%PROMPT_TYPE%NETWORK Network Authentication # ============================================================================ DEFAULT_MACRO XML_IN_ATTRIBUTE_READING_XML_1 ALL XML_1_ATTRIBUTE_READING "$(XML_IN_ATTRIBUTE_READING_XML_1)" # ============================================================================ XML_1_GENERATE_FME_BUILD_NUM 18547 XML_1_DATASET "$(SourceDataset_XML_1)" #! END_SOURCE_HEADER #! START_WB_HEADER #! END_WB_HEADER #! END_HEADER LOG_FILENAME "$(FME_MF_DIR)ReadXmlPaths.log" LOG_APPEND NO LOG_FILTER_MASK -1 LOG_MAX_FEATURES 200 LOG_MAX_RECORDED_FEATURES 200 FME_REPROJECTION_ENGINE FME FME_IMPLICIT_CSMAP_REPROJECTION_MODE Auto FME_GEOMETRY_HANDLING Enhanced FME_STROKE_MAX_DEVIATION 0 DEFAULT_MACRO DATASET_KEYWORD_XML_1 XML_1 # ------------------------------------------------------------------------- XML_1_READER_META_ATTRIBUTES fme_feature_type # ------------------------------------------------------------------------- MULTI_READER_CONTINUE_ON_READER_FAILURE No # ------------------------------------------------------------------------- MACRO WORKSPACE_NAME ReadXmlPaths MACRO FME_VIEWER_APP fmedatainspector # ------------------------------------------------------------------------- INCLUDE [ if {[info exists env(FME_TEMP)] && [file isdirectory $env(FME_TEMP)]} {set gVisualizerTemp $env(FME_TEMP)} elseif {[info exists env(TEMP)] && [file isdirectory $env(TEMP)]} {set gVisualizerTemp $env(TEMP)} elseif { $tcl_platform(platform) == "unix" } {set gVisualizerTemp "/tmp"} else {set gVisualizerTemp c:}; regsub -all {[ ,&]} {$(WORKSPACE_NAME)} {_} wsname; set gVisualizerTemp $gVisualizerTemp/${wsname}_[clock format [clock seconds] -format %H%M%S]; puts "MACRO WORKSPACE_TEMP_DIR $gVisualizerTemp"; MACRO VISUALIZER_FEATURE_FILE $(WORKSPACE_TEMP_DIR)/inspector.ffs MACRO VISUALIZER_SCHEMA_FILE $(WORKSPACE_TEMP_DIR)/inspector.fsc MACRO VISUALIZER_CREATE_SPATIAL_INDEX YES # ------------------------------------------------------------------------- XML_1_DEF a b.e{} xml_char(6) c.e{} xml_char(6) d.e xml_char(6) xml_fragment xml_xml xml_id xml_char(7) xml_matched_element xml_char(2) xml_parent_child_pos xml_char(1) xml_parent_id xml_char(1) # ------------------------------------------------------------------------- FACTORY_DEF * RoutingFactory FACTORY_NAME "Router and Unexpected Input Remover" COMMAND_PARM_EVALUATION SINGLE_PASS MULTI_READER_KEYWORD $(DATASET_KEYWORD_XML_1) INPUT FEATURE_TYPE * ROUTE XML XML_1::a multi_reader_keyword,$(DATASET_KEYWORD_XML_1) TO FME_GENERIC ::a ALIAS_GEOMETRY MERGE_INPUT Yes OUTPUT ROUTED FEATURE_TYPE * XML_1_MERGE_DEF XML_1::a EXACT a # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME "a (XML_1) Splitter" INPUT FEATURE_TYPE a OUTPUT FEATURE_TYPE a_XML_1 DEFAULT_MACRO WB_CURRENT_CONTEXT # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME BulkAttributeRemover INPUT FEATURE_TYPE a_XML_1 OUTPUT FEATURE_TYPE BulkAttributeRemover_OUTPUT @RemoveAttributes(fme_pcre_match,fme_encoded,"fme_|multi_|xml_", NONFME) # ------------------------------------------------------------------------- FACTORY_DEF * AttributeFactory FACTORY_NAME AttributeExploder INPUT FEATURE_TYPE BulkAttributeRemover_OUTPUT ATTR_NAME_LABEL "_attr_name" ATTR_VALUE_LABEL "_attr_value" KEEP_GEOMETRY No KEEP_ATTRIBUTES No EXPLODING_TYPE EXPLODE_AS_FEATURES LIST_NAME " {}“输出爆炸功能_type attributeexploder_output#-------------------------------------------------------------------- Factory_def * testfactory factory_name tester输入feature_type attributeexploder_output case_insive_test @evaluateExpressions(fdiv,string_encoded, 价值 _attr_name ,测试仪)not_begins_with fme_编码boolean_operator或输出传递Feature_type tester_passed#------------------------------------------------------------------#假设是工作空间TEMP DIR已设置和创建.请参阅contreolyefs.cpp - controlyefs :: writevisualizertempdir default_macro workspace_temp_dir包括[set safe亚搏在线Name'[Regsub -all {[^ a-za-z0-9]} {attributeexploder_output} _] _ [expr轮(rand()* 1000000)] _[时钟点击-milliseconds]“;把“宏Safe_ffs_亚搏在线name $ safeName”放了;] FACTORY_DEF {*} InspectorFactory FACTORY_NAME AttributeExploder_Output_Prepper COMMAND_PARM_EVALUATION SINGLE_PASS INPUT FEATURE_TYPE Tester_PASSED GROUP_ATTRIBUTE __inspector_feature_type_attr__ GROUP_BY {} GROUP_ATTRIBUTE_PREFIX {AttributeExploder_Output} RASTER_REDUCTION NoReduction POINT_CLOUD_REDUCTION NO_THINNING输出结果FEATURE_TYPE __viewme__#现在将所有功能集成在录像机,改变他们#功能类型变压器的名称,以便它们查看了默认情况下默认_MacroSisureIzer_Feature_file $(workspace_temp_dir)/ $(safeSt_ffs_name).亚搏在线ffs default_macro visualizer_create_spatial_index no#[pr#45549]数据检查器将限制它在win32上读取的最大功能数量,因此我们将相应地限制数量#特征我们使用max_features_to_record指令录制。FACTORY_DEF * RecorderFactory FACTORY_NAME AttributeExploder_Output_Recorder COMMAND_PARM_EVALUATION SINGLE_PASS INPUT FEATURE_TYPE __viewme__ _wb_termination_feature是@FeatureType(TERMINATOR_ @值(_wb_termination_xformer))输入FEATURE_TYPE __viewme__ @FeatureType(@Value(__ inspector_feature_type_attr__))@RemoveAttributes(__ inspector_feature_type_attr__)FEATURE_FILE “$(VISUALIZER_FEATURE_FILE)” STORE_SCANNED_SCHEMA YES CREATE_SPATIAL_INDEX“$(Visualizer_Create_spatial_index)“inspector”$(Visualizer_Create_spatial_Index)“fsc_schema _attr_name,varchar 255. 、_attr_value varchar 255. 模式记录STORE_SCANNED_METADATA RECORD_DIRECTLY_TO_DISK是的MAX_FEATURES_TO_RECORD WIN32 2000000 # ------------------------------------------------------------------------- FACTORY_DEF * RoutingFactory FACTORY_NAME“目的地功能类型路由相关器”COMMAND_PARM_EVALUATION FEATURE_TYPE * FEATURE_TYPE_ATTRIBUTE SINGLE_PASS输入__wb_out_feat_type__输出路由FEATURE_TYPE *输出NOT_ROUTED FEATURE_TYPE __nuke_me__ @Tcl2(“FME_StatMessage 818059 [FME_GetAttribute fme_template_feature_type) 818060 818061 fme_warn ") # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME输入FEATURE_TYPE“最终输出核武器”__nuke_me __ # ------------------------------------------------------------------------- FACTORY_DEF * CreationFactory FACTORY_NAME VisualizerProcessor CREATE_AT_END输出FEATURE_TYPE __NUKEME__ @TCL(“如果[文件存在{$ (WORKSPACE_TEMP_DIR)}]{设置文件[水珠-nocomplain目录{$ (WORKSPACE_TEMP_DIR)}反面* .ffs];if {[llength $files] == 1} {set theFile {$(WORKSPACE_TEMP_DIR)/};追加文件[lindex $files 0];eval FME_Execute System \173\042$(FME_HOME_UNIX)/fmedatainspector\042——visualizer——single-application——delete-on-close——no-source-prompt -f FFS \042$theFile\042 & \175;} elseif {[llength $files] == 0} {catch {file delete -force {$(WORKSPACE_TEMP_DIR)}};} else {set filesNoExt {};设置lastfile {};foreach {fileName} [lsort $files] {set fileNoExt [string trimright $fileName {.ffs}]; if [regexp {(.*)_[0-9]*$} $fileNoExt wholething fileNoExtBase] { if { $fileNoExtBase == $lastfile } { continue } }; set lastfile $fileNoExt; lappend filesNoExt $fileNoExt }; eval FME_Execute System \173\042$(FME_HOME_UNIX)/fmedatainspector\042 --visualizer --single-application --delete-on-close --no-source-prompt -d {$(WORKSPACE_TEMP_DIR)} -a ffs -f FFS $filesNoExt & \175; }; }; ") FACTORY_DEF * TeeFactory FACTORY_NAME VisualizerCleaner INPUT FEATURE_TYPE __NUKEME__