哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 附加的 属性 to 曝光:,Mitab_uuMitab_完整增强的_几何,“可选无_编辑文本”,Mitab ,mitab_expose_attrs_group,“可选的disclosuregroup mitab_expose_format_attrs”,mitab 图式 Attributes,MITAB_USE_SEARCH_ENVELOPE,"OPTIONAL ACTIVEDISCLOSUREGROUP SEARCH_ENVELOPE_MINX%SEARCH_ENVELOPE_MINY%SEARCH_ENVELOPE_MAXX%SEARCH_ENVELOPE_MAXY%SEARCH_ENVELOPE_COORDINATE_SYSTEM%CLIP_TO_ENVELOPE%SEARCH_METHOD%SEARCH_METHOD_FILTER%SEARCH_ORDER%SEARCH_FEATURE%DUMMY_SEARCH_ENVELOPE_PARAMETER",MITAB 使用 Search 信封,Mitab_Clip_to_Envelope,“可选复选框是%否”,Mitab Clip to Search 信封,Mitab_fme_table_password,“可选密码_encoded”,Mitab 密码 对于 FME 表:Mitab_编码:可选字符串_或_编码Sjis%CP437%CP850%CP852%CP852%CP855%CP855%CP857%CP8600%CP861%CP863%CP863%CP864%CP869%CP869%CP874%CP932%CP932%CP936%CP950%CP1250%CP1251%CP1251%CP1252%CP1253%CP1253%CP1254%CP1254%CP1255%CP1256%ISO8859-1%ISO8859-1%ISO8859-1%ISO8859-2%ISO8859-2%ISO8859-2%ISO8859-3%ISO8859-3%CP852%CP852%CP852%CP852%CP59-8%Iso8859-9“,Mitab 性格 编码: 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! 哎呀! fme_python_版本27!启动头报文!启动_wb_headerreader_type nullreader_keyword null_source null_source_dataset nullwriter_type nullwriter_keyword null_dest null_dest_dataset null!END_WB_HEADER#!启动“wb_header”!END_WB_HEADER#!end_headerLog_filename“$(fme_mf_dir)extractschema.log”log_append nolog_max_features 200log_max_recorded_features 200fme_reprojection_engine fme fme_implicit_csmap_reprojection_mode autotime_geometry_handling enhancedfme_stroke_max_deviation 0log_timings yeslog_filter_mask-1--------------------------------------多读卡器继续读卡器故障否诜诜VisualizerTemp$env(fme_temp)elseif[信息存在env(temp))&&[文件是目录$env(temp)]设置gvisualizerTemp$env(temp)elseif$tcl平台(platform)==“Unix”设置gvisualizerTemp“/tmp”否则设置gvisualizerTemp C:regsub-所有[,&]$(工作区wsname;设置gvisualizertemp$gvisualizertemp/$wsname[时钟格式[时钟秒]-格式%h%m%s];放入“macro workspace_temp_dir$gvisualizertemp”;宏可视化工具_feature_file$(workspace_temp_dir)/inspector.ffsmacro可视化工具_schema_file$(workspace_temp_dir)/inspector.fscmacro可视化工具_create_space_index yesdefault_macro wb_current_context---------------------------------tcl2 proc creator_coordysremover global fme_coordsys;设置fme_coordsys_}MACRO Creator_XML NOT_ACTIVATEDMACRO Creator_CLASSIC NOT_ACTIVATEDMACRO Creator_2D3D 2D_GEOMETRYMACRO Creator_COORDS 包括[如果几何对象=几何对象放置宏创建者XML*]包括[如果几何对象=二维坐标列表放置宏创建者2d3d 2d几何图形放置宏创建器经典]包括[如果几何对象=三维坐标列表放置宏创建器2d3d三维几何将宏创建者经典]包括[如果几何对象=二维最小/最大框设置注释我们需要将minx-miny-maxx-maxy坐标转换为完整的多边形坐标列表;设置splitcoords[split[string trim{ }[];如果[长度$splitcoords]>4设置trimmedcoordsforeach item$splitcoords如果$item!=lappend trimmedcoords$项目设置splitcoords$trimmedcoords;};如果[长$splitcoords]!=4错误创建者:坐标列表应该是一个由四个数字组成的空格分隔的列表,如“minx miny maxx maxy”-` ' is invalid};};设置minx[lindex$splitcoords 0];设置miny[lindex$splitcoords 1];设置maxx[lindex$splitcoords 2];设置maxy[lindex$splitcoords 3];输入“macro creator_coords$minx$miny$minx$maxy$maxx$maxy$maxx$miny$minx$miny”;放置宏创建器_2d3d 2d_几何体将宏创建者经典工厂定义$(创建者_xml)创建工厂_名称创建者_xml _创建者创建_结束无输出功能_类型uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu创建几何体(从_编码u字符串, ?XML 版本= encoding= US_ASCII 单机= ? 几何学 维数= 无效的 几何学 )工厂def$(创建者_经典)创意工厂_name创建者_经典_创建者$(创建者d)$(创建者coords)创造_端无输出特征_类型\\\\uuuuuuuuu\\\\\\\\\\\\\\\\\\\\\\\\\实例“output feature_type creator_created@tcl2(creator_coordsysremover)@coordsys()fme_feature_type creator factory_def*branchingfactory factory_name”creator_created brancher-1 3“input feature_type creator_created target_factory”$(wb_current_context)_creator_branch_target“输出传递的功能”_type*@删除属性(“creator_created brancher-1 3”.branchingfactory.count)--------------------------------------factory_def*teefactory factory_name”$(wb_current_context)_creator_branch_target“输入功能”_type*输出功能\u type*---------------------------------------------------------------macro featurereader_output_ports_encoded parksmacro featurereader_directives_mitab_full_enhanced_geometry,yes,use_search_envelope,no,clip_to_envelope,no always provide a interaction,否则,工厂默认为信封交叉,包括[如果(无=={ })||(($interaction_options)=)puts macro fctquery_interaction_line fctquery_interaction none_}else puts macro fctquery_interaction_line fctquery_interaction“none”}]#将属性合并选项合并到工厂预期的默认值仅限结果=合并放置“宏属性合并属性” “;}否则将“宏特征读取者”与“属性结果仅”组合在一起;};]工厂定义*查询工厂名称FeatureReader输入功能_type creator_created$(fctquery_interaction_line)Combine_attributes$(FeatureReader_combine_attrs)queryfct_attribute_prefix 组合“几何结果”只启用“缓存无查询”表“分隔符空间读取器”类型“Mitab读取器”数据集“C: FMEData2016 Data 公园 parks.tab“queryfct_ids”“reader_directives meta_macros,sourcefme_table_password 震源Mitab_全增强型_几何体 源编码 sourcepose_attrs_组 SourceMitab_公开_格式_属性 源使用搜索信封 NO 源搜索\信封\u minx 源搜索信封 源搜索\信封\最大值 源搜索\信封\最大值 sourcesearch_envelope_coordinate_系统 源剪辑到信封 否,metafile,mitab queryfct_output“based_on_connections”continue_on_reader_error yes queryfct_result_tags$(feature reader_output_ports_encoded)queryfct_set_fme_feature_type yes reader_params_wwjd$(feature reader_directives)output schema feature_type feature reader_ 输出读卡器错误特征读卡器类型特征读卡器_ 输出公园功能_type featurereader_parksdefault_macro_wb_bypass_termination nofactory_def*teefactory factory_name featurereader_ 输入特征_型特征读写器_ 输出失败的功能_type*@中止(编码,特技演员 输出 a 拒绝 特征。 continue 如果 特征 拒绝 改变 这个 工作空间 参数 拒绝 特征 处理 to 继续 翻译 )# -------------------------------------------------------------------------INCLUDE [if { {ATTRIBUTES} == {ATTRIBUTES} } { puts "MACRO FeatureMerger_REFERENCE_INFO ATTRIBUTES";}elseif属性==geom构建&&{ }==多边形放置“宏特性合并”参考信息geom_build_polys;}elseif属性==geom构建&&{ }==聚合放置“宏特性合并_参考_信息geom _构建_聚合”;}elseif属性==geom构建&&{ }=linesFromPoints放置“宏特性合并”参考信息geom从点构建lines;}ELSEIF属性=几何和属性&&{ }==多边形放置“宏特性合并”参考信息几何和创建多边形”;}ELSEIF属性=几何和属性&&{ }==聚合放置“宏特性合并”参考信息geom _和创建_聚合;}ELSEIF属性=几何和属性&&{ } == {LINESFROMPOINTS}} { puts "MACRO FeatureMerger_REFERENCE_INFO GEOM_AND_ATTR_BUILD_LINES_FROM_POINTS";}elseif attributes==geom_build puts“宏特性合并参考info geom_build_aggregates”;}elseif attributes==geom_u attrs puts“宏观特征合并参考info geom_u和attr_u build_aggregates”;}其他]工厂定义*参考工厂名称功能合并输入参考功能U类型功能读取程序U Parks输入参考功能U类型功能读取程序_ REFERENCE_INFO $(FeatureMerger_REFERENCE_INFO) REFERENCE_TABLE 1 1 AUTO ATTR_ACCUM_MODE "HANDLE_CONFLICT" ATTR_CONFLICT_RES "REQUESTOR_IF_CONFLICT" IGNORE_NULLS "No" HANDLE_NULL_MISSING_KEYS_LIKE_FME2013 No LIST_ATTRS_TO_INCLUDE { } LIST_ATTRS_TO_INCLUDE_MODE 合并属性是管理类型是模式完成过程重复引用不引用第一个不拒绝无效输出完整功能合并合并合并输出拒绝功能合并类型功能合并_ DEFAULT_MACRO _WB_BYPASS_TERMINATION NoFACTORY_DEF * TeeFactory FACTORY_NAME FeatureMerger_ 输入特征_型特征合并_ 输出失败的功能_type*@中止(编码,特征合并 输出 a 拒绝 特征。 continue 如果 特征 拒绝 改变 这个 工作空间 参数 拒绝 特征 处理 to 继续 翻译 )#—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————— 价值 attribute 名字 " "MarkPark" "SET_TO" OUTPUT OUTPUT FEATURE_TYPE AttributeManager_OUTPUT# -------------------------------------------------------------------------# Assumption is that the workspace temp dir has been already set and created.请参见controlDefs.cpp-controlDefs::writeVisualizerTempDirDefault_Macro Workspace_Temp_DirInclude[设置grpbyattrsif[字符串长度$grpbyattrs]>0 if[字符串优先”@evaluateexpression“$grpbyattrs]=0放置“macro catmac U$grpbyattrs”;}否则设置catter“”;设置逗号“”;foreach attr$grpbyattrs设置catter“$catter$comma@value(\”$attr\“)”;设置逗号“,};放入“macro catmac_@concatenate($catter)”;}}否则输入“macro catmac”;};设置sa亚搏在线fename“[regsub-all[^a-za-z0-9]featuremergement uu][expr round(rand()*1000000)]uu[时钟点击-毫秒]”;输入“macro-saf亚搏在线e-ffs-name$safe name”;]#创建ffs文件将位于的临时目录。factory_def*creationFactory_name featuremergement_merged_dircreator output feature_type ukeme_uuuuuu@tcl2(“catch file mkdir$(workspace_temp_dir)”)factory_def*teefactory factory_name featuremergement_merged_dircreator cleanerupper input feature_type__Nukeme_uuuuu35;发送光栅,point cloud and vector features down different paths to prepare# them for viewingFACTORY_DEF * TestFactory FACTORY_NAME FeatureMerger_Merged_FeatureDirector INPUT FEATURE_TYPE AttributeManager_OUTPUT TEST &fme_type == "fme_raster" OUTPUT FAILED FEATURE_TYPE FeatureMerger_Merged___NotRasterFeatures___ OUTPUT PASSED FEATURE_TYPE FeatureMerger_Merged___RasterFeatures___FACTORY_DEF * TestFactory FACTORY_NAME FeatureMerger_Merged___FeatureDirector1 INPUT FEATURE_TYPE FeatureMerger_Merged___NotRasterFeatures___ TEST &fme_type == "fme_point_cloud" OUTPUT FAILED FEATURE_TYPE FeatureMerger_Merged___VectorFeatures___ OUTPUT PASSED FEATURE_TYPE FeatureMerger_Merged___PointCloudFeatures___# Vector features simply may get their colors overriddenFACTORY_DEF * TeeFactory FACTORY_NAME FeatureMerger_Merged_VectorSetterUpper INPUT FEATURE_TYPE FeatureMerger_Merged___VectorFeatures___ OUTPUT FEATURE_TYPE __viewme__# Point Cloud Features Might Need to be thinned# Note that we don't call the ThinPointCloud function directly,而是通过TCL来实现。这应允许此变压器与台式机许可证一起使用,即使thinpointcloud需要专业的.tcl2 proc featuremerge_merged_374af67a_3a9b_4075_89e3_01494340982f2_thinpointcloud if[字符串等于no稀释keepnpoint]fme_execute thinpointcloud no稀释”“ “”;}elseif[字符串等于无减薄最大值]fme执行thinpointcloud无减薄\” “”;}elseif[字符串等于无减薄第一个点]fme执行thinpointcloud无减薄\” “”;} elseif {[string equal {NO_THINNING} {LASTNPOINTS}]} { FME_Execute ThinPointCloud NO_THINNING "\" “”;};}工厂_def*te工厂_name feature合并_合并uuu点云稀释剂输入功能_type feature合并合并点云功能u输出功能type uuviewme uu@tcl2(“Feature合并u合并_374AF67A U 3A9B U 4075 U 89E3F2 U Thi点云”)TCL2过程功能合并_合并_374AF67A U 3A9B U 4075 U 89E3U 0149434094943409898983409494949494949494949494949494949494949494949434098 U U U U U U U U U U U U二楼制备员aster subsetstartrow subsetstartrows subsetstartcol subsetnumcols set usedi[字符串等于-nocase$(fme_viewer_app)fmedatainspector];如果{!$usedi fme_执行applyrasterrotation双线性;};设置doresample[字符串等于noreducation resample];set dosubset[string equal noreducation subset];set doBounds [string equal {NoReduction} {BoundingBoxOnly}];如果$dobounds fme _执行几何类型fme _polygon;}elseif$doresample$dosubset设置注释首先,我们需要给所有属性加前缀。这是因为我们要调用@rasterproperties,我们要确保它不会覆盖任何现有的属性。};设置kattrPrefix“.”;设置所有名称[fm_attributename];foreach oldname$allnames设置newname$kattrPrefix;追加newname$oldname;fme_renameattribute$newname$oldname;};执行光栅属性;如果$doresample设置oldnumcols[fme_getattribute _num_columns];设置oldNumRows[fm_getattribute_num_rows];set oldSpacingX [FME_GetAttribute _spacing_x];set oldSpacingY [FME_GetAttribute _spacing_y];设置kminnumcells 32;设置kmaxnumcells 512;set comment { We will only resample if both dimensions are greater than the minimum num cells,and at least one is greater than the maximum.};如果$oldNumRows>$kminNumCells&$oldNumCols>$kminNumCells&($oldNumRows>$kmaxNumCells$oldNumCols>$kmaxNumCells)设置newspacingX 1.0;将newspacingY设置为1.0;如果$oldNumRows>$oldNumCols设置注释如果行多于列,我们需要选择一个间距,将行数减少到我们选择的最大值。};set newSpacingY [expr 1.0 * $oldNumRows * $oldSpacingY / $kMaxNumCells];设置newspacingx[expr 1.0*$newspacingy/$oldspacingy*$oldspacingx];设置注释现在我们需要检查这样做是否会导致列低于最小值。如果是这样,选择间距,这样我们只会下降到最小值(而不是过去)。};设置newnumcols[expr$oldnumcols*$oldspacingx/$newspacingx];如果$newnumcols<$kminnumcells设置newspacingx[expr 1.0*$oldnumcols*$oldspacingx/$kminnumcells];设置newspacingy[expr 1.0*$newspacingx/$oldspacingx*$oldspacingy];};}否则设置注释这与上述情况相同,但行和列的角色是相反的。};设置newspacingx[expr 1.0*$oldnumcols*$oldspacingx/$kmaxnumcells];设置newspacingy[expr 1.0*$newspacingx/$oldspacingx*$oldspacingy];设置newNumRows[expr$oldNumRows*$oldSpacingy/$newSpacingy];如果$newNumRows<$kminNumCells设置newSpacingy[expr 1.0*$oldNumRows*$oldSpacingy/$kminNumCells];设置newspacingx[expr 1.0*$newspacingy/$oldspacingy*$oldspacingx];};};fme_execute resamplegraster cell_size$newspacingx$newspacingy nearestneighbor;};}elseif$dosubset set comment获取可能是属性或常量的某些字符串的值。请注意,我们传递了正在使用的属性前缀,因为如果一个结果是一个属性,它实际上不会是字符串中的确切名称(因为我们重命名了上面的所有属性)。};设置rasternumrows[fme_getattribute_num_rows];set rasterNumCols [FME_GetAttribute _num_columns];设置注释仅当指定的开始位置实际在光栅内时才进行子集设置。};if {$subsetStartRow < $rasterNumRows && $subsetStartCol < $rasterNumCols} { set comment { Now bound the subset to the size of the raster,这样我们就不会创建填充。};if {[expr $subsetStartRow + $subsetNumRows] > $rasterNumRows} { set subsetNumRows [expr $rasterNumRows - $subsetStartRow];};如果[expr$subsetStartCol+$subsetNumCols]>$rasterNumCols设置subsetNumCols[expr$rasterNumCols-$subsetStartCol];};fme_execute substraster$substratstarrow$substratnumrows$substratstartcol$substratnumcols;};};设置comment删除@rasterproperties添加的所有属性,并从实际属性中删除前缀。We assume they all start with an underscore.};fme_执行删除属性fme_regexp_match ^foreach oldname$allnames设置newname$kattrPrefix;追加newname$oldname;fme_renameattribute$旧名称$新名称;};};}工厂定义*teefactory工厂名称featuremerge_merged_rastersetter upper input feature_type featuremergement_merged_uuu rasterfeatures_uuuuuuu output feature_type_uuuuuuviewme_uuuuuuuu2(“featuremergement_merged_374af67a_3a9b_4075_89e3_01494340982f2_prepareraster{ } { } { } { }“)现在将所有功能传送到记录器中,changing their# feature type to the transformer name so that they view nicely# FeatureMerger_Merged_374af67a_3a9b_4075_89e3_01494340982f2_VIS_FEAT_TYPE changes the feature types# of the features being visualized.DEFAULT_MACRO FeatureMerger_Merged_374af67a_3a9b_4075_89e3_01494340982f2_VIS_FEAT_TYPE FeatureMerger_Merged$(CATMAC)DEFAULT_MACRO VISUALIZER_FEATURE_FILE $(WORKSPACE_TEMP_DIR)/$(亚搏在线SAFE_FFS_NAME).ffsDEFAULT_MACRO VISUALIZER_CREATE_SPATIAL_INDEX NO# [PR#45549] The Data Inspector will limit the maximum number of features# it reads on WIN32,so we will correspondingly limit the number of# features we record here using the MAX_FEATURES_TO_RECORD directive.FACTORY_DEF * RecorderFactory FACTORY_NAME FeatureMerger_Merged_Recorder INPUT FEATURE_TYPE __viewme__ _wb_termination_feature Yes @FeatureType(TERMINATOR_@Value(_wb_termination_xformer)) INPUT FEATURE_TYPE __viewme__ @FeatureType($(FeatureMerger_Merged_374af67a_3a9b_4075_89e3_01494340982f2_VIS_FEAT_TYPE)) FEATURE_FILE "$(VISUALIZER_FEATURE_FILE)" CREATE_SPATIAL_INDEX "$(VISUALIZER_CREATE_SPATIAL_INDEX)" INSPECTOR "$(VISUALIZER_CREATE_SPATIAL_INDEX)" FSC_SCHEMA ParkId,varchar 二百五十五 ,refparkid,varchar公司 二百五十五 ,公园名,瓦查尔 二百五十五 ,NeighborhoodName,varchar 二百五十五 ,伊夫街,瓦查尔 二百五十五 ,NSStreet,varchar 二百五十五 ,多帕克,瓦查尔 二百五十五 ,Washrooms,varchar 二百五十五 ,特殊功能,varchar 二百五十五 ,\u创建\u实例,varchar 二百五十五 ,fme_feature_type_name,varchar 二百五十五 ,fme_format_short_name,varchar格式 二百五十五 ,fme_format_long_name,varchar格式 二百五十五 ,FME模式处理,varchar 二百五十五 模式记录存储_扫描的_元数据记录_直接_到_磁盘是最大_功能_到_记录win32 2000000------------------------------------------------------------工厂_def*路由工厂_name“目标功能类型路由相关器”命令_parm_评估单个_pass输入功能_type*功能_type_at属性uwb_out_feat_type_uuuu output routed feature_type*output not_routed feature_type uuu nuke_me_uuuuuuu@tcl2(“FME_statmessage 818059[FME_getattribute FME_template_feature_type]818060 818061 FME_warn”)输入feature uu type uu nuke u me uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu如果[长度$files]==1设置文件$(workspace_temp_dir)/append theFile [lindex $files 0];eval fme_execute system \173\042$(fme_home_unix)/fmedatainspector \042--可视化工具--单个应用程序--关闭时删除--无源提示-f ffs$thefile&\175;}elseif[长度$files]==0 catch文件删除-强制$(工作区临时目录)}else设置文件noext设置最后一个文件foreach filename[lsort$files]set filenoext[string trimright$filename.ffs];if[regexp(.*)uuu[0-9]*$$filenoext wholething filenoextbase]if$filenoextbase==$lastfile continue设置lastfile$filenoext;lappend filesnext$filenoext_eval fme_execute system \173\042$(fme_home_unix)/fmedatainspector \042--可视化工具--单个应用程序--关闭时删除--无源提示-d$(workspace_temp_dir)-a ffs-f ffs$filesnext&\175;};};")FACTORY_DEF * TeeFactory INPUT FEATURE_TYPE __NUKEME__