#!#! #! #!#! #!#! #!#! #!#! #!#! #!#! #!#! #!#! #!#! #! #!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#! #!#!#!#! #!#! #!#! #!This transformer chops lines or polygons into lines of the specified length.

Based on the EqualPartSplitter

Dan Iseminger

Safe Software

20081015


" doc_dynamic_input_attrs="0" doc_extents="3929 1335.28" doc_top_left="38 -1617.28" fme_document_guid="6447e250-caae-450c-8e9c-6554d5719019" fme_document_priorguid="" fme_process_count="NO_PARALLELISM" fme_process_groups_ordered="No" fme_process_group_by="" fmx_attribute_propogation_mode="AUTO" history="" is_visible="false" last_save_build="FME(R) 2018.0.0.1 (20180327 - Build 18294 - WIN64)" last_save_date="2018-05-24T09:33:07" markdown_description="" markdown_usage="" python_compatibility="27" suppress_upgrade="false" title="DistanceChopper" usage="" use_markdown="NO" view_position="404.655 111.629" xform_deprecated="No" zoom_scale="86"> #! #!#!#! #!#!#!#! #!#! #!#! #! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #! #!#! #!#! #!#! #!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#! #!#!
#!
#! #!#!
fme_python_version 27#!start_header#!start_wb_header reader_type multi_reader writer_type null writer_keyword null_dest null_dest_dataset null#!end_wb_header#!start_wb_header#!end_wb_header#!end_header log_filename“$(fme_mf_dir)none2none.log”log_append no log_filter_mask -1 log_max_features 200 log_max_recorded_features 200 fme_reproimper_engine fme fme_implict_csmap_reproimper_mode auto fme_geometry_handling增强fme_stroke_max_deviation 0# - - - - - - -----------------------------------------------------MULTI_READER_CONTINUE_ON_READER_FAILURE No # ------------------------------------------------------------------------- MACRO WORKSPACE_NAME none2none MACRO FME_VIEWER_APP fmedatainspector DEFAULT_MACRO WB_CURRENT_CONTEXT # ------------------------------------------------------------------------- Tcl2 proc Creator_CoordSysRemover {} { global FME_CoordSys; set FME_CoordSys {}; } MACRO Creator_XML NOT_ACTIVATED MACRO Creator_CLASSIC NOT_ACTIVATED MACRO Creator_2D3D 2D_GEOMETRY MACRO Creator_COORDS INCLUDE [if {{Geometry Object} == {Geometry Object}} {puts {MACRO Creator_XML *}}] {if {{Geometry Object} == {2D Coordinate List}} {puts {MACRO Creator_2D3D 2D_GEOMETRY};[if {{Geometry Object} == {3D坐标列表}}{puts {MACRO Creator_2D3D 3D_GEOMETRY};{{Geometry Object} == {2D Min/Max Box}} {set comment{我们需要将坐标minX minY maxX maxY转换为一个完整的多边形坐标列表};set splitCoords [split [string trim]{/ /设置字符串长度 }]];如果{[llength $splitCoords] > 4} {set trimmedCoords {};foreach item $splitCoords {if {$item != {}} {lappend trimmedCoords $item}};设置splitCoords trimmedCoords美元;};如果{[llength $splitCoords] != 4} {error {Creator:坐标列表应该是一个以空格分隔的列表,包含4个数字,如'minx miny maxx max ' - ' ' 是无效的};};设置minx [Lindex $ splitCoords 0];设置Miny [Lindex $ SplitCoords 1];设置maxx [lindex $ splitcoords 2];设置maxy [lindex $ splitcoords 3];Puts“Macro Creator_coords $ minx $ miny $ minx $ maxy $ maxx $ maxy $ maxx $ miny $ minx $ miny”;放{宏creator_2d3d 2d_geometry};puts {宏creator_classic *}}] foress_def $(creator_xml)creationfactory factory_name creator_xml_creator create_at_end没有输出feature_type _____created______ @geometry(from_encoded_string, xml ? 版本= 1.0 编码= US_ASCII 独立= 没有 几何 线 coord X = 0 y = 0 coord X = One hundred. y = One hundred. 线 几何 ) FACTORY_DEF $ (Creator_CLASSIC) CreationFactory FACTORY_NAME Creator_CLASSIC_Creator (Creator_2D3D) (Creator_COORDS) CREATE_AT_END没有美元输出FEATURE_TYPE _____CREATED______ FACTORY_DEF * TeeFactory FACTORY_NAME Creator_Cloner输入FEATURE_TYPE _____CREATED______ @Tcl2 (Creator_CoordSysRemover) @CoordSys () NUMBER_OF_COPIES 1 COPY_NUMBER_ATTRIBUTE"_creation_instance" OUTPUT FEATURE_TYPE Creator_CREATED fme_feature_type Creator FACTORY_DEF * BranchingFactory FACTORY_NAME "Creator_CREATED Brancher -1 4" INPUT FEATURE_TYPE Creator_CREATED TARGET_FACTORY "$(WB_CURRENT_CONTEXT)_CREATOR_BRANCH_TARGET" MAXIMUM_COUNT None OUTPUT PASSED FEATURE_TYPE * # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME "$(WB_CURRENT_CONTEXT)_CREATOR_BRANCH_TARGET" INPUT FEATURE_TYPE * OUTPUT FEATURE_TYPE * # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME "DistanceChopper INPUT Input Collector" INPUT FEATURE_TYPE Creator_CREATED OUTPUT FEATURE_TYPE DistanceChopper_INPUT MACRO DistanceChopper_WORKSPACE_NAME DistanceChopper MACRO $(DistanceChopper_WORKSPACE_NAME)_XFORMER_NAME DistanceChopper MACRO $(DistanceChopper_WORKSPACE_NAME)_TRANSFORMER_GROUP MACRO $(DistanceChopper_WORKSPACE_NAME)___COMPOUND_PARAMETERS MACRO $(DistanceChopper_WORKSPACE_NAME)_SUB_DOC_NAME DistanceChopper MACRO $(DistanceChopper_WORKSPACE_NAME)_LENGTH 5 DEFAULT_MACRO DistanceChopper_WORKSPACE_NAME "" INCLUDE [puts {MACRO WB_OLD_CONTEXT_$(DistanceChopper_WORKSPACE_NAME) $(WB_CURRENT_CONTEXT)}; puts {MACRO WB_CURRENT_CONTEXT $(DistanceChopper_WORKSPACE_NAME)}] FACTORY_DEF * TeeFactory FACTORY_NAME "$(DistanceChopper_WORKSPACE_NAME)_INPUT1543363480 Input Splitter" INPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_INPUT" OUTPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_INPUT" FACTORY_DEF * TeeFactory FACTORY_NAME "$(DistanceChopper_WORKSPACE_NAME)_LOOP_Entrance1543363480 Input Splitter" INPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_LOOP_Entrance" OUTPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_LOOP_Entrance_0_JDnLmOh1PTk=" OUTPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_LOOP_Entrance_1_6A4lrD2bUcg=" # ------------------------------------------------------------------------- FACTORY_DEF {*} AttrSetFactory FACTORY_NAME $(DistanceChopper_WORKSPACE_NAME)_AttributeCreator INPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_INPUT" MULTI_FEATURE_MODE NO NULL_ATTR_MODE NO_OP ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV ATTR_ACTION { "" "_part_length" "SET_TO" "" } OUTPUT OUTPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_AttributeCreator_OUTPUT" # ------------------------------------------------------------------------- FACTORY_DEF {*} AttrSetFactory FACTORY_NAME $(DistanceChopper_WORKSPACE_NAME)_AttributeCreator_2 INPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_AttributeCreator_OUTPUT" MULTI_FEATURE_MODE NO NULL_ATTR_MODE NO_OP ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV ATTR_ACTION { "" "_part_length" "SET_TO" "$($(DistanceChopper_WORKSPACE_NAME)_LENGTH)" } OUTPUT OUTPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_AttributeCreator_2_OUTPUT" # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME $(DistanceChopper_WORKSPACE_NAME)_LengthCalculator_2_LengthCalculatorInput INPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_AttributeCreator_2_OUTPUT" OUTPUT FEATURE_TYPE ___TOLENGTHCALCULATOR___ FACTORY_DEF * TeeFactory FACTORY_NAME $(DistanceChopper_WORKSPACE_NAME)_LengthCalculator_2_LengthCalculator INPUT FEATURE_TYPE ___TOLENGTHCALCULATOR___ @RenameAttributes(FME_STRICT,___fme_rejection_code___,fme_rejection_code) OUTPUT FEATURE_TYPE ___TOREJECTOR___ "__length" @Length(REJECTABLE,3,"1") FACTORY_DEF * TestFactory FACTORY_NAME $(DistanceChopper_WORKSPACE_NAME)_LengthCalculator_2_Rejector INPUT FEATURE_TYPE ___TOREJECTOR___ TEST @Value(fme_rejection_code) != "" OUTPUT PASSED FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_LengthCalculator_2_ “@RemoveAttributes (___fme_rejection_code___)输出失败FEATURE_TYPE " $ (DistanceChopper_WORKSPACE_NAME) _LengthCalculator_2_OUTPUT”@RenameAttributes (FME_STRICT、fme_rejection_code ___fme_rejection_code___) DEFAULT_MACRO _WB_BYPASS_TERMINATION没有FACTORY_DEF * TeeFactory FACTORY_NAME”(DistanceChopper_WORKSPACE_NAME) _LengthCalculator_2_美元 " INPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_LengthCalculator_2_ . "输出失败FEATURE_TYPE * @Abort(ENCODED, DistanceChopper_LengthCalculator_2 . 输出 一个 拒绝了 特性。 继续 翻译 什么时候 特性 拒绝了 改变 工作空间 参数 翻译 拒绝了 特征 处理 继续 翻译 ) # ------------------------------------------------------------------------- 包括TCL如果{{外向}= ={外向}}{attrs(列表{_split});}其他{集attrAll { };if {[string length $attrAll] == 0} {return;};Set attrs [split { } {});};if {{NO_OP} == {NO_OP}} {set parmList ATTR_CREATE_EXPR_PROPAGATE_MISSING_TYPED_FDIV;} else {set parmList ATTR_CREATE_EXPR_PROPAGATE_MISSING_TYPED_FDIV_MULTI_FEATURE;};foreach attr $attrs {lappend parmList $attr;lappend parmList { 价值 __长度 价值 _part_length };lappend parmList{浮动};};lappend parmList {$ (DistanceChopper_WORKSPACE_NAME) _EXPRESSIONEVALUATOR_3};如果{{NO_OP} == {OTHER_NULL_VALUE_2}} {lappend parmList {NO_OP};lappend parmList { };lappend parmList {0};};"MACRO __fme_expressionevaluator_evaluateArgs__ [join $parmList,]";END_INCLUDE FACTORY_DEF * TeeFactory FACTORY_NAME $ (DistanceChopper_WORKSPACE_NAME) _EXPRESSIONEVALUATOR_3输入FEATURE_TYPE " $ (DistanceChopper_WORKSPACE_NAME) _LengthCalculator_2_OUTPUT“输出FEATURE_TYPE " $ (DistanceChopper_WORKSPACE_NAME) _EXPRESSIONEVALUATOR_3_OUTPUT“@EvaluateExpression ($ (__fme_expressionevaluator_evaluateArgs__))宏__fme_expressionevaluator_evaluateArgs __ # ------------------------------------------------------------------------- 包括TCL如果{{外向}= ={外向}}{attrs(列表{_remainder});}其他{集attrAll { };if {[string length $attrAll] == 0} {return;};Set attrs [split { } {});};if {{NO_OP} == {NO_OP}} {set parmList ATTR_CREATE_EXPR_PROPAGATE_MISSING_TYPED_FDIV;} else {set parmList ATTR_CREATE_EXPR_PROPAGATE_MISSING_TYPED_FDIV_MULTI_FEATURE;};foreach attr $attrs {lappend parmList $attr;lappend parmList { 价值 _split - int 价值 _split };lappend parmList{浮动};};lappend parmList {$(DistanceChopper_WORKSPACE_NAME)_EXPRESSIONEVALUATOR_2};如果{{NO_OP} == {OTHER_NULL_VALUE_2}} {lappend parmList {NO_OP};lappend parmList { };lappend parmList {0};};"MACRO __fme_expressionevaluator_evaluateArgs__ [join $parmList,]";END_INCLUDE FACTORY_DEF * TeeFactory FACTORY_NAME $ (DistanceChopper_WORKSPACE_NAME) _EXPRESSIONEVALUATOR_2输入FEATURE_TYPE " $ (DistanceChopper_WORKSPACE_NAME) _EXPRESSIONEVALUATOR_3_OUTPUT“输出FEATURE_TYPE " $ (DistanceChopper_WORKSPACE_NAME) _EXPRESSIONEVALUATOR_2_OUTPUT“@EvaluateExpression ($ (__fme_expressionevaluator_evaluateArgs__))宏__fme_expressionevaluator_evaluateArgs __ # ------------------------------------------------------------------------- FACTORY_DEF * TestFactory FACTORY_NAME $ (DistanceChopper_WORKSPACE_NAME) _Tester_3输入FEATURE_TYPE " $ (DistanceChopper_WORKSPACE_NAME) _EXPRESSIONEVALUATOR_2_OUTPUT“测试@EvaluateExpression (FDIV STRING_ENCODED, 价值 _remainder ,$(DistanceChopper_WORKSPACE_NAME)_Tester_3)> 0 ENCODED BOOLEAN_OPERATOR OR OUTPUT PASSED FEATURE_TYPE “$(DistanceChopper_WORKSPACE_NAME)_Tester_3_PASSED” OUTPUT FAILED FEATURE_TYPE “$(DistanceChopper_WORKSPACE_NAME)_Tester_3_FAILED” #-------------------------------------------------------------------------INCLUDE TCL if {{OUTGOING} == {OUTGOING}} { set attrs [list {__parts}]; } else { set attrAll { };if {[string length $attrAll] == 0} {return;};Set attrs [split { } {});};if {{NO_OP} == {NO_OP}} {set parmList ATTR_CREATE_EXPR_PROPAGATE_MISSING_TYPED_FDIV;} else {set parmList ATTR_CREATE_EXPR_PROPAGATE_MISSING_TYPED_FDIV_MULTI_FEATURE;};foreach attr $attrs {lappend parmList $attr;lappend parmList {int 价值 __长度 价值 _part_length };lappend parmList{浮动};};lappend parmList {$ (DistanceChopper_WORKSPACE_NAME) _EXPRESSIONEVALUATOR_5};如果{{NO_OP} == {OTHER_NULL_VALUE_2}} {lappend parmList {NO_OP};lappend parmList { };lappend parmList {0};};"MACRO __fme_expressionevaluator_evaluateArgs__ [join $parmList,]";END_INCLUDE FACTORY_DEF * TeeFactory FACTORY_NAME $(DistanceChopper_WORKSPACE_NAME)_EXPRESSIONEVALUATOR_5 INPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME) _test_3_failed " OUTPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_EXPRESSIONEVALUATOR_5_OUTPUT" @EvaluateExpression($(__fme_expressionevaluator_evaluateArgs__)) MACRO__fme_expressionevaluator_evaluateArgs__ FACTORY_DEF * TeeFactory FACTORY_NAME“$ (DistanceChopper_WORKSPACE_NAME) _EXPRESSIONEVALUATOR_5输出分配器”输入FEATURE_TYPE " $ (DistanceChopper_WORKSPACE_NAME) _EXPRESSIONEVALUATOR_5_OUTPUT“输出FEATURE_TYPE " $ (DistanceChopper_WORKSPACE_NAME) _EXPRESSIONEVALUATOR_5_OUTPUT_0_KCgs9xCm8Lc = "输出FEATURE_TYPE”(DistanceChopper_WORKSPACE_NAME) _EXPRESSIONEVALUATOR_5_OUTPUT_1_1xhdQxVAmuk美元 =" # ------------------------------------------------------------------------- 包括TCL如果{{外向}= ={外向}}{attrs(列表{__parts});}其他{集attrAll { };if {[string length $attrAll] == 0} {return;};Set attrs [split { } {});};if {{NO_OP} == {NO_OP}} {set parmList ATTR_CREATE_EXPR_PROPAGATE_MISSING_TYPED_FDIV;} else {set parmList ATTR_CREATE_EXPR_PROPAGATE_MISSING_TYPED_FDIV_MULTI_FEATURE;};foreach attr $attrs {lappend parmList $attr;lappend parmList {int 价值 __长度 价值 _part_length + 1};lappend parmList{浮动};};lappend parmList {$ (DistanceChopper_WORKSPACE_NAME) _EXPRESSIONEVALUATOR_4};如果{{NO_OP} == {OTHER_NULL_VALUE_2}} {lappend parmList {NO_OP};lappend parmList { };lappend parmList {0};};"MACRO __fme_expressionevaluator_evaluateArgs__ [join $parmList,]";END_INCLUDE FACTORY_DEF * TeeFactory FACTORY_NAME $(DistanceChopper_WORKSPACE_NAME)_EXPRESSIONEVALUATOR_4 INPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME) _test_3_passed " OUTPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_EXPRESSIONEVALUATOR_4_OUTPUT" @EvaluateExpression($(__fme_expressionevaluator_evaluateArgs__)) MACRO__fme_expressionevaluator_evaluateArgs__ FACTORY_DEF * TeeFactory FACTORY_NAME“$ (DistanceChopper_WORKSPACE_NAME) _EXPRESSIONEVALUATOR_4输出分配器”输入FEATURE_TYPE " $ (DistanceChopper_WORKSPACE_NAME) _EXPRESSIONEVALUATOR_4_OUTPUT“输出FEATURE_TYPE " $ (DistanceChopper_WORKSPACE_NAME) _EXPRESSIONEVALUATOR_4_OUTPUT_0_90XC4LUeVHY = "输出FEATURE_TYPE " $ (DistanceChopper_WORKSPACE_NAME) _EXPRESSIONEVALUATOR_4_OUTPUT_1_9OBOnSsFF + 0 =" # ------------------------------------------------------------------------- # 狙击手需要不断“结束”的意思是最后一个顶点,#但工作台不会让我们把一个α字符串“最后顶点”文本框中。#我们将把-1的结束顶点解释为和end相同。#这只用于距离和百分比。Tcl2 proc $(DistanceChopper_WORKSPACE_NAME)_GetFirstPart_fixIndex {numIndex} {if {$numIndex < 0} {return "end"; } else { return $numIndex; } } INCLUDE [ if { ({DISTANCE} == {DISTANCE} || {DISTANCE} == {PERCENTAGE}) } { puts {MACRO $(DistanceChopper_WORKSPACE_NAME)_GetFirstPart_snipFunc @Snip(@Tcl2("$(DistanceChopper_WORKSPACE_NAME)_GetFirstPart_fixIndex 0"),@Tcl2("$(DistanceChopper_WORKSPACE_NAME)_GetFirstPart_fixIndex @EvaluateExpression(FDIV,FLOAT, 价值 _part_length 美元(DistanceChopper_WORKSPACE_NAME) _GetFirstPart)”),距离,3 d, OUTPUT_REMNANT)};} else {({DISTANCE} == {MEASURE_RELATIVE_FROM_START} || {DISTANCE} == {MEASURE_REAL_VALUES})} {puts {MACRO $(DistanceChopper_WORKSPACE_NAME)_GetFirstPart_snipFunc @Snip("0", "@EvaluateExpression(FDIV,FLOAT, 价值 _part_length 美元(DistanceChopper_WORKSPACE_NAME) _GetFirstPart)”、“ ”,距离,OUTPUT_REMNANT)};} elseif {({DISTANCE} == {VERTEX})} {puts {MACRO $(DistanceChopper_WORKSPACE_NAME)_GetFirstPart_snipFunc @Snip(" ")}{/ /将所有的数据集合集合起来 “” ”,顶点,OUTPUT_REMNANT)};}] FACTORY_DEF * TestFactory FACTORY_NAME $(DistanceChopper_WORKSPACE_NAME)_GetFirstPart_DeaggFilter INPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_EXPRESSIONEVALUATOR_4_OUTPUT_1_9OBOnSsFF+0=" INPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_EXPRESSIONEVALUATOR_5_OUTPUT_1_1xhdQxVAmuk=" INPUT FEATURE_TYPE .$(DistanceChopper_WORKSPACE_NAME)_LOOP_Entrance_0_JDnLmOh1PTk=" TEST YES == "YES" TEST @Value(fme_geometry) == "fme_aggregate" TEST @Value(fme_type) != "fme_solid" boolean operator AND OUTPUT PASSED FEATURE_TYPE ____DEAGGREGATE_INPUT____ OUTPUT FAILED FEATURE_TYPE __agg_filter___ FACTORY_DEF * TestFactory FACTORY_NAME .$(DistanceChopper_WORKSPACE_NAME)_GetFirstPart_Aggfilter INPUT FEATURE_TYPE __agg_filter___ TEST @Value(fme_geometry) != "fme_aggregate" OUTPUT PASSED FEATURE_TYPE __to_typefilter___ OUTPUT FAILED FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_GetFirstPart_ . “@SupplyAttributes(fme_rejection_code,INVALID_GEOMETRY_TYPE)FACTORY_DEF * TestFactory中FACTORY_NAME $(DistanceChopper_WORKSPACE_NAME)_GetFirstPart_Typefilter INPUT FEATURE_TYPE ___TO_TYPEFILTER___ TEST @Value(fme_type)== ”fme_line“ TEST @Value(fme_type)== ”fme_arc“ TEST @Value(fme_geometry)==“fme_polygon” BOOLEAN_OPERATOR或输出PASSED FEATURE_TYPE ___TO_INPUT___ OUTPUT失败FEATURE_TYPE“$(DistanceChopper_WORKSPACE_NAME)_GetFirstPart_ “@SupplyAttributes (fme_rejection_code INVALID_GEOMETRY_TYPE) FACTORY_DEF * DeaggregateFactory FACTORY_NAME美元(DistanceChopper_WORKSPACE_NAME) _GetFirstPart_DeaggInput输入FEATURE_TYPE ____DEAGGREGATE_INPUT____递归是的SPLIT_COMPOSITES没有SPLIT_MULTIS SET_FME_TYPE是的GEOMETRY_NAME_FIELD _geometry_name FEATURE_TYPE输出点__to_multitypefilter___输出聚合FEATURE_TYPE __to_multitypefilter___输出聚合FEATURE_TYPE __to_multitypefilter___输出聚合FEATURE_TYPE __to_multitypefilter___输出聚合FEATURE_TYPE __to_multitypefilter___test_type __to_multitypefilter___ TEST @Value(fme_type) == "fme_line" TEST @Value(fme_type) == "fme_area" boolean operator OR OUTPUT PASSED FEATURE_TYPE ____DEAGGREGATE_MULTIS____ OUTPUT FAILED FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_GetFirstPart_ . “@SupplyAttributes(fme_rejection_code,INVALID_GEOMETRY_TYPE)FACTORY_DEF * DeaggregateFactory FACTORY_NAME $(DistanceChopper_WORKSPACE_NAME)_GetFirstPart_DeaggMultis INPUT FEATURE_TYPE ____DEAGGREGATE_MULTIS____递归是SPLIT_COMPOSITES没有SPLIT_MULTIS是SET_FME_TYPE是GEOMETRY_NAME_FIELD _geometry_name输出点FEATURE_TYPE” $(DistanceChopper_WORKSPACE_NAME)_GetFirstPart_ “@SupplyAttributes(fme_rejection_code,INVALID_GEOMETRY_TYPE)OUTPUT LINE FEATURE_TYPE ___DEAGG_NULLNUKER___ $($(DistanceChopper_WORKSPACE_NAME)_GetFirstPart_snipFunc)输出面FEATURE_TYPE ___DEAGG_NULLNUKER___ $($(DistanceChopper_WORKSPACE_NAME)_GetFirstPart_snipFunc)输出DONUT FEATURE_TYPE” $(DistanceChopper_WORKSPACE_NAME)_GetFirstPart_ @SupplyAttributes(fme_rejection_code,INVALID_GEOMETRY_TYPE) OUTPUT AGGREGATE FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_GetFirstPart_ . “@SupplyAttributes (fme_rejection_code INVALID_GEOMETRY_TYPE) FACTORY_DEF * TestFactory FACTORY_NAME美元(DistanceChopper_WORKSPACE_NAME) _GetFirstPart_DeaggNullNuker输入FEATURE_TYPE ___DEAGG_NULLNUKER___测试@ value (fme_geometry) = = " fme_undefined”测试@ value (fme_type) = = " fme_no_geom”BOOLEAN_OPERATOR和输出FEATURE_TYPE传递“$ (DistanceChopper_WORKSPACE_NAME) _GetFirstPart_ “@SupplyAttributes (fme_rejection_code INVALID_GEOMETRY_TYPE)输出失败FEATURE_TYPE ____TO_DEAGGREGATOR____ FACTORY_DEF * TeeFactory FACTORY_NAME美元(DistanceChopper_WORKSPACE_NAME) _GetFirstPart_Input输入FEATURE_TYPE ___TO_INPUT___输出FEATURE_TYPE ____TO_DEAGGREGATOR____美元($ (DistanceChopper_WORKSPACE_NAME) _GetFirstPart_snipFunc)FACTORY_DEF * DeaggregateFactory FACTORY_NAME $(DistanceChopper_WORKSPACE_NAME) _getfirstpart_splitremains INPUT FEATURE_TYPE ____TO_DEAGGREGATOR____ RECURSIVE No SPLIT_COMPOSITES No SET_FME_TYPE Yes PART_NUMBER_FIELD _part_number GEOMETRY_NAME_FIELD _geometry_name OUTPUT POINT FEATURE_TYPE __to_nullnuker___ OUTPUT LINE FEATURE_TYPE__to_nullnuker___输出POLYGON FEATURE_TYPE __to_nullnuker___输出DONUT FEATURE_TYPE __to_nullnuker___输出聚合FEATURE_TYPE __to_nullnuker___ FACTORY_DEF * TestFactory FACTORY_NAME $(DistanceChopper_WORKSPACE_NAME)_GetFirstPart_NullNuker INPUT FEATURE_TYPE __to_nullnuker___ TEST @Value(_part_number) == 0 TEST @NumCoords() == 0boolean operator AND OUTPUT FAILED FEATURE_TYPE __to_outputter___ FACTORY_DEF * TestFactory FACTORY_NAME $(DistanceChopper_WORKSPACE_NAME) _getfirstpart_output INPUT FEATURE_TYPE __to_outputter___ TEST @Value(_part_number) == 0 TEST @Tcl2("FME_AttributeExists _part_number") == 0 boolean operator OR OUTPUT PASSED FEATURE_TYPE __to_outputter___"$(DistanceChopper_WORKSPACE_NAME)_GetFirstPart_OUTPUT" @RemoveAttributes(_part_number) DEFAULT_MACRO _WB_BYPASS_TERMINATION No FACTORY_DEF * tefactory FACTORY_NAME "$(DistanceChopper_WORKSPACE_NAME)_GetFirstPart_OUTPUT" @RemoveAttributes(_part_number) DEFAULT_MACRO _WB_BYPASS_TERMINATION No FACTORY_DEF * tefactory FACTORY_NAME " INPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_GetFirstPart_ . “输出失败FEATURE_TYPE * @Abort(编码DistanceChopper_GetFirstPart 输出 一个 拒绝了 特性。 继续 翻译 什么时候 特性 拒绝了 改变 工作空间 参数 翻译 拒绝了 特征 处理 继续 翻译 )#------------------------------------------------------------------------- # The Snipper takes the constant "end" to mean the last vertex of the line, # but Workbench won't let us put an alpha string into the "last vertex" textfield. # We'll interpret an ending vertex of -1 as being the same as "end". # This is used only in the distance and percentage. Tcl2 proc $(DistanceChopper_WORKSPACE_NAME)_RemainderOfLine_fixIndex {numIndex} { if {$numIndex < 0} { return "end"; } else { return $numIndex; } } INCLUDE [ if { ({DISTANCE} == {DISTANCE} || {DISTANCE} == {PERCENTAGE}) } { puts {MACRO $(DistanceChopper_WORKSPACE_NAME)_RemainderOfLine_snipFunc @Snip(@Tcl2("$(DistanceChopper_WORKSPACE_NAME)_RemainderOfLine_fixIndex @EvaluateExpression(FDIV,FLOAT, 价值 _part_length ,$(DistanceChopper_WORKSPACE_NAME)_RemainderOfLine) “),@ TCL2(” $(DistanceChopper_WORKSPACE_NAME)_RemainderOfLine_fixIndex -1" ),距离,3D,OUTPUT_REMNANT)};} {ELSEIF({DISTANCE} == {} MEASURE_RELATIVE_FROM_START || {DISTANCE} == {MEASURE_REAL_VALUES})} {{放MACRO $(DistanceChopper_WORKSPACE_NAME)_RemainderOfLine_snipFunc @Snip(“@ EvaluateExpression(FDIV,FLOAT, 价值 _part_length ,$(DistanceChopper_WORKSPACE_NAME)_RemainderOfLine) “ ”1“,” ”,距离,OUTPUT_REMNANT)};} elseif{({距离}= ={顶点})}{把{宏(DistanceChopper_WORKSPACE_NAME)美元_RemainderOfLine_snipFunc @Snip(“ “” ”,顶点,OUTPUT_REMNANT)};}] FACTORY_DEF * TestFactory FACTORY_NAME $(DistanceChopper_WORKSPACE_NAME)_RemainderOfLine_DeaggFilter INPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_LOOP_Entrance_1_6A4lrD2bUcg=" INPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_EXPRESSIONEVALUATOR_4_OUTPUT_0_90XC4LUeVHY=" INPUT FEATURE_TYPE ." $ (DistanceChopper_WORKSPACE_NAME) _EXPRESSIONEVALUATOR_5_OUTPUT_0_KCgs9xCm8Lc = "测试是的= = " YES "测试@ value (fme_geometry) = =“fme_aggregate”测试@ value (fme_type) ! =“fme_solid BOOLEAN_OPERATOR和输出通过FEATURE_TYPE ____DEAGGREGATE_INPUT____输出失败FEATURE_TYPE ___AGG_FILTER___ FACTORY_DEF * TestFactory FACTORY_NAME$(DistanceChopper_WORKSPACE_NAME)_RemainderOfLine_Aggfilter INPUT FEATURE_TYPE __agg_filter___ TEST @Value(fme_geometry) != "fme_aggregate" OUTPUT PASSED FEATURE_TYPE __to_typefilter___ OUTPUT FAILED FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_RemainderOfLine_ . “@SupplyAttributes (fme_rejection_code INVALID_GEOMETRY_TYPE) FACTORY_DEF * TestFactory FACTORY_NAME美元(DistanceChopper_WORKSPACE_NAME) _RemainderOfLine_Typefilter输入FEATURE_TYPE ___TO_TYPEFILTER___测试@ value (fme_type) = = " fme_line”测试@ value (fme_type) = = " fme_arc”测试@ value (fme_geometry) = = " fme_polygon”BOOLEAN_OPERATOR或输出通过"$(DistanceChopper_WORKSPACE_NAME)_RemainderOfLine_ . “@SupplyAttributes(fme_rejection_code,INVALID_GEOMETRY_TYPE)FACTORY_DEF * DeaggregateFactory FACTORY_NAME $(DistanceChopper_WORKSPACE_NAME)_RemainderOfLine_DeaggInput INPUT FEATURE_TYPE ____DEAGGREGATE_INPUT____递归是SPLIT_COMPOSITES无SPLIT_MULTIS没有SET_FME_TYPE是GEOMETRY_NAME_FIELD _geometry_name输出点FEATURE_TYPE ___TO_MULTITYPEFILTER___输出线路FEATURE_TYPE ___TO_MULTITYPEFILTER___输出面FEATURE_TYPE ___TO_MULTITYPEFILTER___输出DONUT FEATURE_TYPE ___TO_MULTITYPEFILTER___产出的总FEATURE_TYPE ___TO_MULTITYPEFILTER___FACTORY_DEF * TestFactory中FACTORY_NAME $(DistanceChopper_WORKSPACE_NAME)_RemainderOfLine_MultiTypefilter INPUT FEATURE_TYPE ___TO_MULTITYPEFILTER___ TEST @Value(fme_type)== “fme_line” TEST @Value(fme_type)== “fme_area” BOOLEAN_OPERATOR或输出PASSED FEATURE_TYPE ____DEAGGREGATE_MULTIS____ OUTPUT失败FEATURE_TYPE“$(DistanceChopper_WORKSPACE_NAME)_RemainderOfLine_ “@SupplyAttributes(fme_rejection_code,INVALID_GEOMETRY_TYPE)FACTORY_DEF * DeaggregateFactory FACTORY_NAME $(DistanceChopper_WORKSPACE_NAME)_RemainderOfLine_DeaggMultis INPUT FEATURE_TYPE ____DEAGGREGATE_MULTIS____递归是SPLIT_COMPOSITES没有SPLIT_MULTIS是SET_FME_TYPE是GEOMETRY_NAME_FIELD _geometry_name输出点FEATURE_TYPE” $(DistanceChopper_WORKSPACE_NAME)_RemainderOfLine_ @SupplyAttributes(fme_rejection_code,INVALID_GEOMETRY_TYPE)输出行FEATURE_TYPE ___DEAGG_NULLNUKER___ $($(DistanceChopper_WORKSPACE_NAME)_RemainderOfLine_snipFunc)输出POLYGON FEATURE_TYPE ___DEAGG_NULLNUKER___ $($(DistanceChopper_WORKSPACE_NAME)_RemainderOfLine_snipFunc)输出DONUT FEATURE_TYPE“$ (DistanceChopper_WORKSPACE_NAME) _RemainderOfLine_ " @SupplyAttributes(fme_rejection_code,INVALID_GEOMETRY_TYPE) OUTPUT AGGREGATE FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_RemainderOfLine_ . “@SupplyAttributes (fme_rejection_code INVALID_GEOMETRY_TYPE) FACTORY_DEF * TestFactory FACTORY_NAME美元(DistanceChopper_WORKSPACE_NAME) _RemainderOfLine_DeaggNullNuker输入FEATURE_TYPE ___DEAGG_NULLNUKER___测试@ value (fme_geometry) = = " fme_undefined”测试@ value (fme_type) = = " fme_no_geom”BOOLEAN_OPERATOR和输出FEATURE_TYPE传递“$ (DistanceChopper_WORKSPACE_NAME) _RemainderOfLine_ “@SupplyAttributes (fme_rejection_code INVALID_GEOMETRY_TYPE)输出失败FEATURE_TYPE ____TO_DEAGGREGATOR____ FACTORY_DEF * TeeFactory FACTORY_NAME美元(DistanceChopper_WORKSPACE_NAME) _RemainderOfLine_Input输入FEATURE_TYPE ___TO_INPUT___输出FEATURE_TYPE ____TO_DEAGGREGATOR____美元($ (DistanceChopper_WORKSPACE_NAME) _RemainderOfLine_snipFunc)FACTORY_DEF * DeaggregateFactory FACTORY_NAME $(DistanceChopper_WORKSPACE_NAME) _remainderofline_splitremains INPUT FEATURE_TYPE ____TO_DEAGGREGATOR____ RECURSIVE No SPLIT_COMPOSITES No SET_FME_TYPE Yes PART_NUMBER_FIELD _part_number GEOMETRY_NAME_FIELD _geometry_name OUTPUT POINT FEATURE_TYPE __to_nullnuker___ OUTPUT LINE FEATURE_TYPE__to_nullnuker___输出POLYGON FEATURE_TYPE __to_nullnuker___输出DONUT FEATURE_TYPE __to_nullnuker___输出聚合FEATURE_TYPE __to_nullnuker___ FACTORY_DEF * TestFactory FACTORY_NAME $(DistanceChopper_WORKSPACE_NAME)_RemainderOfLine_NullNuker INPUT FEATURE_TYPE __to_nullnuker___ TEST @Value(_part_number) == 0 TEST @NumCoords() == 0BOOLEAN_OPERATOR AND OUTPUT FAILED FEATURE_TYPE ___TO_OUTPUTTER___ FACTORY_DEF * TestFactory FACTORY_NAME $(DistanceChopper_WORKSPACE_NAME)_RemainderOfLine_Outputter INPUT FEATURE_TYPE ___TO_OUTPUTTER___ TEST @Value(_part_number) == 0 TEST @Tcl2("FME_AttributeExists _part_number") == 0 BOOLEAN_OPERATOR OR OUTPUT PASSED FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_RemainderOfLine_OUTPUT" @RemoveAttributes(_part_number) DEFAULT_MACRO _WB_BYPASS_TERMINATION No FACTORY_DEF * TeeFactory FACTORY_NAME "$(DistanceChopper_WORKSPACE_NAME)_RemainderOfLine_ " INPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_RemainderOfLine_ . "输出失败FEATURE_TYPE * @Abort(ENCODED, distancechopper_remainderoline . 输出 一个 拒绝了 特性。 继续 翻译 什么时候 特性 拒绝了 改变 工作空间 参数 翻译 拒绝了 特征 处理 继续 翻译 ) # ------------------------------------------------------------------------- 包括TCL如果{{外向}= ={外向}}{attrs(列表{__parts});}其他{集attrAll { };if {[string length $attrAll] == 0} {return;};Set attrs [split { } {});};if {{NO_OP} == {NO_OP}} {set parmList ATTR_CREATE_EXPR_PROPAGATE_MISSING_TYPED_FDIV;} else {set parmList ATTR_CREATE_EXPR_PROPAGATE_MISSING_TYPED_FDIV_MULTI_FEATURE;};foreach attr $attrs {lappend parmList $attr;lappend parmList { 价值 __parts 1};lappend parmList{浮动};};lappend parmList {$ (DistanceChopper_WORKSPACE_NAME) _ExpressionEvaluator};如果{{NO_OP} == {OTHER_NULL_VALUE_2}} {lappend parmList {NO_OP};lappend parmList { };lappend parmList {0};};"MACRO __fme_expressionevaluator_evaluateArgs__ [join $parmList,]";END_INCLUDE FACTORY_DEF * TeeFactory FACTORY_NAME $(DistanceChopper_WORKSPACE_NAME)_ExpressionEvaluator INPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_RemainderOfLine_OUTPUT" OUTPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_ExpressionEvaluator_OUTPUT" @EvaluateExpression($(__fme_expressionevaluator_evaluateArgs__)宏__fme_expressionevaluator_evaluateArgs __ # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME $ (DistanceChopper_WORKSPACE_NAME) _LengthCalculator_3_LengthCalculatorInput输入FEATURE_TYPE FEATURE_TYPE“$ (DistanceChopper_WORKSPACE_NAME) _ExpressionEvaluator_OUTPUT”输出___TOLENGTHCALCULATOR___ FACTORY_DEF * TeeFactory FACTORY_NAME $ (DistanceChopper_WORKSPACE_NAME) _LengthCalculator_3_LengthCalculator输入FEATURE_TYPE ___TOLENGTHCALCULATOR___ @RenameAttributes (FME_STRICT, ___fme_rejection_code___ fme_rejection_code)输出FEATURE_TYPE ___TOREJECTOR___“__length @Length(拒绝的3“1”)FACTORY_DEF * TestFactoryFACTORY_NAME $(DistanceChopper_WORKSPACE_NAME)_LengthCalculator_3_Rejector INPUT FEATURE_TYPE ___TOREJECTOR___ TEST @Value(fme_rejection_code) != "" OUTPUT PASSED FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_LengthCalculator_3_ “@RemoveAttributes (___fme_rejection_code___)输出失败FEATURE_TYPE " $ (DistanceChopper_WORKSPACE_NAME) _LengthCalculator_3_OUTPUT”@RenameAttributes (FME_STRICT、fme_rejection_code ___fme_rejection_code___) DEFAULT_MACRO _WB_BYPASS_TERMINATION没有FACTORY_DEF * TeeFactory FACTORY_NAME”(DistanceChopper_WORKSPACE_NAME) _LengthCalculator_3_美元 " INPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_LengthCalculator_3_ . "输出失败FEATURE_TYPE * @Abort(ENCODED, DistanceChopper_LengthCalculator_3 . 输出 一个 拒绝了 特性。 继续 翻译 什么时候 特性 拒绝了 改变 工作空间 参数 翻译 拒绝了 特征 处理 继续 翻译 )#------------------------------------------------------------------------- FACTORY_DEF * TestFactory FACTORY_NAME $(DistanceChopper_WORKSPACE_NAME)_Tester INPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_LengthCalculator_3_OUTPUT" TEST @EvaluateExpression(FDIV,STRING_ENCODED, 价值 __parts 美元(DistanceChopper_WORKSPACE_NAME) _Tester) = 0编码BOOLEAN_OPERATOR或输出失败的FEATURE_TYPE”(DistanceChopper_WORKSPACE_NAME) _Tester_FAILED美元 " # ------------------------------------------------------------------------- FACTORY_DEF * TestFactory FACTORY_NAME $ (DistanceChopper_WORKSPACE_NAME) FEATURE_TYPE _Tester_2输入“$ (DistanceChopper_WORKSPACE_NAME) _Tester_FAILED“测试@EvaluateExpression (FDIV STRING_ENCODED, 价值 __parts ,$(DistanceChopper_WORKSPACE_NAME) _test_2) = 1 价值 __长度 ,$(DistanceChopper_WORKSPACE_NAME)_Tester_2)= @EvaluateExpression(FDIV,STRING_ENCODED, 价值 _part_length ,$(DistanceChopper_WORKSPACE_NAME)_Tester_2)编码的BOOLEAN_OPERATOR或输出PASSED FEATURE_TYPE “$(DistanceChopper_WORKSPACE_NAME)_Tester_2_PASSED” 输出失败FEATURE_TYPE “$(DistanceChopper_WORKSPACE_NAME)_Tester_2_FAILED” #-------------------------------------------------------------------------INCLUDE [ set macroLine "MACRO $(DistanceChopper_WORKSPACE_NAME)_AttributeRemover_2_LIST_EXP "; foreach attr [split ""] { set attr [FME_DecodeText $attr]; set attr [regsub "{}$" $attr "{}.*"]; set attr [regsub -all "{}" $attr "\\{\[0-9\]+\\}"]; append macroLine ",^$attr$"; }; puts $macroLine; ] FACTORY_DEF {*} TeeFactory FACTORY_NAME $(DistanceChopper_WORKSPACE_NAME)_AttributeRemover_2 INPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_GetFirstPart_OUTPUT" INPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_Tester_2_PASSED" OUTPUT { FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_AttributeRemover_2_OUTPUT" @RemoveAttributes(fme_encoded,__length,__parts,_part_length,_remainder,_split) @RemoveAttributes(fme_pcre_match"$($(DistanceChopper_WORKSPACE_NAME)_AttributeRemover_2_LIST_EXP)") } FACTORY_DEF * BranchingFactory TARGET_FACTORY "$(DistanceChopper_WORKSPACE_NAME)_LOOP_Entrance1543363480 Input Splitter" FACTORY_NAME "Loop to $(DistanceChopper_WORKSPACE_NAME)_LOOP_Entrance1543363480 Input Splitter" MAXIMUM_COUNT -1 INPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_Tester_2_FAILED" OUTPUT PASSED FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_LOOP_Entrance" FACTORY_DEF * TeeFactory FACTORY_NAME "$(DistanceChopper_WORKSPACE_NAME)_CHOPPED1543363480 Output Collector" INPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_AttributeRemover_2_OUTPUT" OUTPUT FEATURE_TYPE "$(DistanceChopper_WORKSPACE_NAME)_CHOPPED" INCLUDE [puts {MACRO WB_CURRENT_CONTEXT $(WB_OLD_CONTEXT_$(DistanceChopper_WORKSPACE_NAME))}] FACTORY_DEF * TeeFactory FACTORY_NAME "DistanceChopper CHOPPED Output Renamer/Nuker" INPUT FEATURE_TYPE DistanceChopper_CHOPPED OUTPUT FEATURE_TYPE DistanceChopper_CHOPPED # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME AttributeExposer INPUT FEATURE_TYPE DistanceChopper_CHOPPED # ------------------------------------------------------------------------- FACTORY_DEF * RoutingFactory FACTORY_NAME "Destination Feature Type Routing Correlator" COMMAND_PARM_EVALUATION SINGLE_PASS INPUT FEATURE_TYPE * FEATURE_TYPE_ATTRIBUTE __wb_out_feat_type__ OUTPUT ROUTED FEATURE_TYPE * OUTPUT 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 "Final Output Nuker" INPUT FEATURE_TYPE __nuke_me__