Based on the EqualPartSplitter
Dan Iseminger
Safe Software
20081015
1.0编码= US_ASCII独立= 没有? 几何 线 coord X = 0y = 0coord 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 . 输出 一个 拒绝了 特性。