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

get size

" POSITION="244.75268752687543 -719.38284382843858" TOP_LEFT="244.75268752687543 -719.38284382843858" BOTTOM_RIGHT="674.75268752687543 -718.38284382843858" BOUNDING_RECT="244.75268752687543 -719.38284382843858 430 -1" ORDER="500000000000024" FOLLOW_ANCHOR="true" INFO_NODE="false" COLOUR="1,1,0.78431372549019607,0.19607843137254902" SIZE_POLICY="10" ANCHORED_NODE="21">
#!

get corner

" POSITION="263.84534420686703 -1429.1930241220221" TOP_LEFT="263.84534420686703 -1429.1930241220221" BOTTOM_RIGHT="693.84534420686703 -1428.1930241220221" BOUNDING_RECT="263.84534420686703 -1429.1930241220221 430 -1" ORDER="500000000000025" FOLLOW_ANCHOR="true" INFO_NODE="false" COLOUR="1,1,0.78431372549019607,0.19607843137254902" SIZE_POLICY="10" ANCHORED_NODE="8">
#!

to create sample

" POSITION="806.10247910698217 -1042.7165566176211" TOP_LEFT="806.10247910698217 -1042.7165566176211" BOTTOM_RIGHT="1236.1024791069822 -1041.7165566176211" BOUNDING_RECT="806.10247910698217 -1042.7165566176211 430 -1" ORDER="500000000000026" FOLLOW_ANCHOR="true" INFO_NODE="false" COLOUR="1,1,0.78431372549019607,0.19607843137254902" SIZE_POLICY="10" ANCHORED_NODE="6">
#!
#! #!#! #!#! #! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!EvaluateLength">#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#! #!#! #! #! #!#! #!#!#!#!#!#!#! #!#! #! #!#! #!#! #!#!#! #! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!" 270">#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #! #!#! #!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#! #!#!#!#! #!#!
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) XYscaleBox.log“LOG_APPEND没有LOG_MAX_FEATURES 200 LOG_MAX_RECORDED_FEATURES 200 FME_REPROJECTION_ENGINE FME FME_IMPLICIT_CSMAP_REPROJECTION_MODE汽车FME_GEOMETRY_HANDLING增强FME_STROKE_MAX_DEVIATION 0 LOG_FILTER_MASK 1 # -------------------------------------------------------------------------MULTI_READER_CONTINUE_ON_READER_FAILURE没有 # ------------------------------------------------------------------------- 宏WORKSPACE_NAME XYscaleBox宏观FME_VIEWER_APP fmedatainspector # ------------------------------------------------------------------------- 包括(如果{[信息存在env (FME_TEMP) & &(文件isdirectory $ env (FME_TEMP)]}{集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 - {[ ,&]} {$( } {_} wsname WORKSPACE_NAME); 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 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];放入“宏创建者坐标$minX$minY$minX$maxY$maxX$maxY$maxX$minY$minX$minY$minX$minY”;放置{MACRO Creator\u 2D\u GEOMETRY};将{MACRO Creator\u CLASSIC*}]FACTORY\u DEF$(Creator\u XML)CreationFactory\u NAME Creator\u XML\u Creator CREATE\u结束时无输出特征\u类型\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu, xml ? version = 1.0 编码= US_ASCII 独立的= 没有 几何 多边形 coord x = 0 y= 0 coord x = 4 y= 0 coord x = 4 y= 7 coord x = 0 y= 7 coord x = 0 y= 0 多边形 几何 ) 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 "@EvaluateExpression(ATTR_CREATE_EXPR_PROPAGATE_MISSING_FDIV,new 新宽度5 长度9 FEATURE_TYPE)”FACTORY_DEF * BranchingFactory FACTORY_NAME "Creator_CREATED Brancher -1 24" 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“输入输出FEATURE_TYPE FEATURE_TYPE * * # ------------------------------------------------------------------------- # 检查是否我们要做最小边界框计算包括(如果{{BB} = = {MINBB}}{把{宏BoundingBoxReplacer_BBFunc @Bounds (MIN_BOUNDING,党卫军,ls)};} else {{MACRO BoundingBoxReplacer_BBFunc @Bounds(BOUNDING_BOX_AXIS_ALIGNED,ss,ls)};}] FACTORY_DEF * tefactory FACTORY_NAME BoundingBoxReplacer INPUT FEATURE_TYPE create_created OUTPUT FEATURE_TYPE BoundingBoxReplacer_BOX @Force2D() $(BoundingBoxReplacer_BBFunc) # ------------------------------------------------------------------------- FACTORY_DEF * TestFactory INPUT FEATURE_TYPE BoundingBoxReplacer_BOX TEST "指定坐标" == "All Coordinates" OUTPUT PASSED FEATURE_TYPE CoordinateExtractor_PASSED OUTPUT FAILED FEATURE_TYPE CoordinateExtractor_FAILED FACTORY_DEF * TestFactory FACTORY_NAME CoordinateExtractor_PASSED INPUT FEATURE_TYPE CoordinateExtractor_PASSED TEST @Dimension() == 2 OUTPUT PASSED FEATURE_TYPE CoordinateExtractor_OUTPUT @ZValue("")@Coordinate (x,,” “{}。x, FLATTEN_AGGREGATE,是的)@Coordinate (y),“ “{}.y, FLATTEN_AGGREGATE) @Coordinate (z,所有人,” "{}.z, flat_aggregate,NO) @Dimension(2) OUTPUT FAILED FEATURE_TYPE CoordinateExtractor_OUTPUT @Coordinate(x,ALL," “{}。x, FLATTEN_AGGREGATE,是的)@Coordinate (y),“ “{}.y, FLATTEN_AGGREGATE) @Coordinate (z,所有人,” "{}.z, flat_aggregate,NO) FACTORY_DEF * TestFactory FACTORY_NAME CoordinateExtractor_FAILED INPUT FEATURE_TYPE CoordinateExtractor_FAILED TEST @Dimension() == 2 OUTPUT PASSED FEATURE_TYPE CoordinateExtractor_FAILED_PASSED OUTPUT FAILED FEATURE_TYPE CoordinateExtractor_OUTPUT "_x" @Coordinate(x,"0", flat_aggregate,YES)"_y" @Coordinate(y,"0", flat_aggregate,NO) FACTORY_DEF * TestFactory FACTORY_NAME CoordinateExtractor_FAILED_PASSED INPUT FEATURE_TYPE CoordinateExtractor_FAILED_PASSED TEST " == "" OUTPUT PASSED FEATURE_TYPE CoordinateExtractor_OUTPUT "_x" @Coordinate(x,"0", flat_aggregate,YES)FEATURE_TYPE CoordinateExtractor_OUTPUT "_x" @Coordinate(x,"0", flat_aggregate,YES)输出失败“_y吗”@Coordinate (y,“0”,FLATTEN_AGGREGATE,不 ) # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME Rotator_Rotator输入FEATURE_TYPE CoordinateExtractor_OUTPUT输出FEATURE_TYPE ___TOREJECTOR___ @RenameAttributes (FME_STRICT、___fme_rejection_code___ fme_rejection_code)ALLOW_NULLS @Rotate2D(拒绝的,“25”、“@EvaluateExpression (FDIV、浮点数、 价值 _x 、旋转)”、“@EvaluateExpression (FDIV浮动, 价值 _y ,旋转器)“)工厂定义*测试工厂名称旋转器拒绝器输入特征类型返回器测试@值(fme_拒绝代码)!=”输出通过特征类型旋转器_ @RemoveAttributes(__fme_rejection_code___) OUTPUT FAILED FEATURE_TYPE rotator_rotation @RenameAttributes(FME_STRICT,fme_rejection_code, __fme_rejection_code___) DEFAULT_MACRO _WB_BYPASS_TERMINATION No FACTORY_DEF * TeeFactory FACTORY_NAME Rotator_ . 输入特性\u型旋转器_ FEATURE_TYPE * @Abort(ENCODED, Rotator 输出 一个 拒绝了 特性。 继续 翻译 特性 拒绝了 改变 工作空间 参数 翻译 拒绝了 功能 处理 继续 翻译 ) # ------------------------------------------------------------------------- FACTORY_DEF * GQueryFactory FACTORY_NAME GeometryCoercer输入FEATURE_TYPE Rotator_ROTATED GQUERY“@EvaluateExpression (FDIV STRING_ENCODED, 几何学 几何 在哪里 几何学 父:几何 0 返回 数量 几何学 fme_id GeometryCoercer)”动作COERCE_GEOMETRY参数fme_line输出结果FEATURE_TYPE GeometryCoercer_COERCED # ------------------------------------------------------------------------- FACTORY_DEF * ChoppingFactory FACTORY_NAME Chopper INPUT FEATURE_TYPE GeometryCoercer_COERCED MODE VERTEX MAX_VERTICES "2" APPROX_LENGTH " " REMNANT_ATTRIBUTE "_remnant" chop_polygon REJECT_INVALID_GEOM Yes DEAGGREGATE_INPUT解集输出剁碎FEATURE_TYPE剁碎输出拒绝FEATURE_TYPE剁碎 FACTORY_DEF * TeeFactory FACTORY_NAME "Chopper剁碎Splitter" INPUT FEATURE_TYPE chopper_剁碎输出FEATURE_TYPE Chopper_CHOPPED_0_Nx+W4+A7ndM= OUTPUT FEATURE_TYPE Chopper_CHOPPED_1_wh4tmndh/OY= DEFAULT_MACRO _WB_BYPASS_TERMINATION No FACTORY_DEF * TeeFactory FACTORY_NAME剁碎器 输入FEATURE_TYPE Chopper_ 输出失败FEATURE_TYPE * @Abort(ENCODED, Chopper . 输出 一个 拒绝了 特性。 继续 翻译 特性 拒绝了 改变 工作空间 参数 翻译 拒绝了 功能 处理 继续 翻译 )#------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME "AzimuthCalculator LINE Input Collector" INPUT FEATURE_TYPE Chopper_CHOPPED_0_Nx+W4+A7ndM= OUTPUT FEATURE_TYPE AzimuthCalculator_LINE MACRO AzimuthCalculator_WORKSPACE_NAME AzimuthCalculator MACRO $(AzimuthCalculator_WORKSPACE_NAME)_XFORMER_NAME AzimuthCalculator MACRO $(AzimuthCalculator_WORKSPACE_NAME)_TRANSFORMER_GROUP MACRO $(AzimuthCalculator_WORKSPACE_NAME)___COMPOUND_PARAMETERS MACRO $(AzimuthCalculator_WORKSPACE_NAME)_SUB_DOC_NAME AzimuthCalculator DEFAULT_MACRO AzimuthCalculator_WORKSPACE_NAME "" INCLUDE [puts {MACRO WB_OLD_CONTEXT_$(AzimuthCalculator_WORKSPACE_NAME) $(WB_CURRENT_CONTEXT)}; puts {MACRO WB_CURRENT_CONTEXT $(AzimuthCalculator_WORKSPACE_NAME)}] FACTORY_DEF * TeeFactory FACTORY_NAME "$(AzimuthCalculator_WORKSPACE_NAME)_LINE1550077055 Input Splitter" INPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_LINE" OUTPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_LINE" # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME $(AzimuthCalculator_WORKSPACE_NAME)_GEOMETRYFILTER_Splitter INPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_LINE" OUTPUT FEATURE_TYPE ___TOFILTER___ FACTORY_DEF * TeeFactory FACTORY_NAME $(AzimuthCalculator_WORKSPACE_NAME)_GEOMETRYFILTER_Pointer INPUT FEATURE_TYPE ___TOFILTER___ fme_type fme_point OUTPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_GEOMETRYFILTER_POINT" FACTORY_DEF * TeeFactory FACTORY_NAME $(AzimuthCalculator_WORKSPACE_NAME)_GEOMETRYFILTER_Liner INPUT FEATURE_TYPE ___TOFILTER___ fme_type fme_line OUTPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_GEOMETRYFILTER_LINE" FACTORY_DEF * TeeFactory FACTORY_NAME $(AzimuthCalculator_WORKSPACE_NAME)_GEOMETRYFILTER_Arear INPUT FEATURE_TYPE ___TOFILTER___ fme_type fme_area OUTPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_GEOMETRYFILTER_AREA" FACTORY_DEF * TeeFactory FACTORY_NAME $(AzimuthCalculator_WORKSPACE_NAME)_GEOMETRYFILTER_Arcer INPUT FEATURE_TYPE ___TOFILTER___ fme_type fme_arc OUTPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_GEOMETRYFILTER_ARC" FACTORY_DEF * TeeFactory FACTORY_NAME $(AzimuthCalculator_WORKSPACE_NAME)_GEOMETRYFILTER_Texter INPUT FEATURE_TYPE ___TOFILTER___ fme_type fme_text OUTPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_GEOMETRYFILTER_TEXT" FACTORY_DEF * TeeFactory FACTORY_NAME $(AzimuthCalculator_WORKSPACE_NAME)_GEOMETRYFILTER_Ellipser INPUT FEATURE_TYPE ___TOFILTER___ fme_type fme_ellipse OUTPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_GEOMETRYFILTER_ELLIPSE" FACTORY_DEF * TeeFactory FACTORY_NAME $(AzimuthCalculator_WORKSPACE_NAME)_GEOMETRYFILTER_Nuller INPUT FEATURE_TYPE ___TOFILTER___ fme_type fme_no_geom OUTPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_GEOMETRYFILTER_NULL" # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME "$(AzimuthCalculator_WORKSPACE_NAME)_LoopFilter LINE Input Collector" INPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_GEOMETRYFILTER_LINE" OUTPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_LoopFilter_LINE" MACRO LoopFilter_WORKSPACE_NAME $(AzimuthCalculator_WORKSPACE_NAME)_LoopFilter MACRO $(LoopFilter_WORKSPACE_NAME)_XFORMER_NAME $(AzimuthCalculator_WORKSPACE_NAME)_LoopFilter MACRO $(LoopFilter_WORKSPACE_NAME)_TRANSFORMER_GROUP MACRO $(LoopFilter_WORKSPACE_NAME)___COMPOUND_PARAMETERS INCLUDE_CUSTOM_TRANSFORMER_VER LoopFilter:1 FACTORY_DEF * TeeFactory FACTORY_NAME "$(AzimuthCalculator_WORKSPACE_NAME)_LoopFilter PASSED Output Renamer/Nuker" INPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_LoopFilter_PASSED" OUTPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_LoopFilter_PASSED" FACTORY_DEF * TeeFactory FACTORY_NAME "$(AzimuthCalculator_WORKSPACE_NAME)_LoopFilter FAILED Output Renamer/Nuker" INPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_LoopFilter_FAILED" OUTPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_LoopFilter_FAILED" FACTORY_DEF * TeeFactory FACTORY_NAME "$(AzimuthCalculator_WORKSPACE_NAME)_LoopFilter NON-LINEAR Output Renamer/Nuker" INPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_LoopFilter_NON-LINEAR" # ------------------------------------------------------------------------- FACTORY_DEF * TestFactory FACTORY_NAME $(AzimuthCalculator_WORKSPACE_NAME)_COORDINATEFETCHER INPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_LoopFilter_FAILED" TEST @Dimension() == 2 OUTPUT PASSED FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_COORDINATEFETCHER_OUTPUT" "acX1" @Coordinate(x,"0",FLATTEN_AGGREGATE) "acY1" @Coordinate(y,"0",FLATTEN_AGGREGATE) @SupplyAttributes("acZ1",-9999) OUTPUT FAILED FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_COORDINATEFETCHER_OUTPUT" "acX1" @Coordinate(x,"0",FLATTEN_AGGREGATE) "acY1" @Coordinate(y,"0",FLATTEN_AGGREGATE) "acZ1" @Coordinate(z,"0",FLATTEN_AGGREGATE) # ------------------------------------------------------------------------- FACTORY_DEF * TestFactory FACTORY_NAME $(AzimuthCalculator_WORKSPACE_NAME)_COORDINATEFETCHER_2 INPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_COORDINATEFETCHER_OUTPUT" TEST @Dimension() == 2 OUTPUT PASSED FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_COORDINATEFETCHER_2_OUTPUT" "acX2" @Coordinate(x,"-1",FLATTEN_AGGREGATE) "acY2" @Coordinate(y,"-1",FLATTEN_AGGREGATE) @SupplyAttributes("acZ2",-9999) OUTPUT FAILED FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_COORDINATEFETCHER_2_OUTPUT" "acX2" @Coordinate(x,"-1",FLATTEN_AGGREGATE) "acY2" @Coordinate(y,"-1",FLATTEN_AGGREGATE) "acZ2" @Coordinate(z,"-1",FLATTEN_AGGREGATE) # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME $(AzimuthCalculator_WORKSPACE_NAME)_EXPRESSIONEVALUATOR_2 INPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_COORDINATEFETCHER_2_OUTPUT" OUTPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_EXPRESSIONEVALUATOR_2_OUTPUT" "acAngle" @Evaluate("acos((&acX2-&acX1)/sqrt(pow((&acY2-&acY1),2) + pow((&acX2-&acX1),2)))* (180/3.1415926535897932)") # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME $(AzimuthCalculator_WORKSPACE_NAME)_EXPRESSIONEVALUATOR_6 INPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_EXPRESSIONEVALUATOR_2_OUTPUT" OUTPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_EXPRESSIONEVALUATOR_6_OUTPUT" "acAngle" @Evaluate("((&acY2-&acY1)<0)?(360-&acAngle):(&acAngle)") # ------------------------------------------------------------------------- FACTORY_DEF * TestFactory FACTORY_NAME $(AzimuthCalculator_WORKSPACE_NAME)_TESTER INPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_EXPRESSIONEVALUATOR_6_OUTPUT" TEST "&acAngle" > "90" BOOLEAN_OPERATOR OR OUTPUT PASSED FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_TESTER_PASSED" OUTPUT FAILED FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_TESTER_FAILED" # ------------------------------------------------------------------------- FACTORY_DEF * TestFactory FACTORY_NAME $(AzimuthCalculator_WORKSPACE_NAME)_TESTER_2 INPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_TESTER_PASSED" TEST "&acAngle" > "270" BOOLEAN_OPERATOR OR OUTPUT PASSED FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_TESTER_2_PASSED" OUTPUT FAILED FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_TESTER_2_FAILED" # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME $(AzimuthCalculator_WORKSPACE_NAME)_EXPRESSIONEVALUATOR_3 INPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_TESTER_FAILED" INPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_TESTER_2_FAILED" OUTPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_EXPRESSIONEVALUATOR_3_OUTPUT" "acAzimuth" @Evaluate("90 - &acAngle") # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME $(AzimuthCalculator_WORKSPACE_NAME)_EXPRESSIONEVALUATOR_5 INPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_TESTER_2_PASSED" OUTPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_EXPRESSIONEVALUATOR_5_OUTPUT" "acAzimuth" @Evaluate("450 - &acAngle") # ------------------------------------------------------------------------- INCLUDE [ set macroLine "MACRO $(AzimuthCalculator_WORKSPACE_NAME)_ATTRIBUTEREMOVER_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 $(AzimuthCalculator_WORKSPACE_NAME)_ATTRIBUTEREMOVER INPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_EXPRESSIONEVALUATOR_3_OUTPUT" INPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_EXPRESSIONEVALUATOR_5_OUTPUT" OUTPUT { FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_ATTRIBUTEREMOVER_OUTPUT" @RemoveAttributes(acX1,acX2,acY1,acY2,acZ1,acZ2) @RemoveAttributes(fme_regexp_match"$($(AzimuthCalculator_WORKSPACE_NAME)_ATTRIBUTEREMOVER_LIST_EXP)") } # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME $(AzimuthCalculator_WORKSPACE_NAME)_LOGGER_2_Logger INPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_LoopFilter_PASSED" OUTPUT FEATURE_TYPE * @Log("Feature is a loop",3,20) @FeatureType(__NUKE_LOGGED__) FACTORY_DEF * TeeFactory FACTORY_NAME $(AzimuthCalculator_WORKSPACE_NAME)_LOGGER_2_Nuker INPUT FEATURE_TYPE __NUKE_LOGGED__ # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME $(AzimuthCalculator_WORKSPACE_NAME)_LOGGER_Logger INPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_GEOMETRYFILTER_POINT" INPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_GEOMETRYFILTER_ARC" INPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_GEOMETRYFILTER_AREA" INPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_GEOMETRYFILTER_ELLIPSE" INPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_GEOMETRYFILTER_TEXT" INPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_GEOMETRYFILTER_NULL" OUTPUT FEATURE_TYPE * @Log("Feature is not a line",3,20) @FeatureType(__NUKE_LOGGED__) FACTORY_DEF * TeeFactory FACTORY_NAME $(AzimuthCalculator_WORKSPACE_NAME)_LOGGER_Nuker INPUT FEATURE_TYPE __NUKE_LOGGED__ FACTORY_DEF * TeeFactory FACTORY_NAME "$(AzimuthCalculator_WORKSPACE_NAME)_AZIMUTH1550077055 Output Collector" INPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_ATTRIBUTEREMOVER_OUTPUT" OUTPUT FEATURE_TYPE "$(AzimuthCalculator_WORKSPACE_NAME)_AZIMUTH" INCLUDE [puts {MACRO WB_CURRENT_CONTEXT $(WB_OLD_CONTEXT_$(AzimuthCalculator_WORKSPACE_NAME))}] FACTORY_DEF * TeeFactory FACTORY_NAME "AzimuthCalculator AZIMUTH Output Renamer/Nuker" INPUT FEATURE_TYPE AzimuthCalculator_AZIMUTH OUTPUT FEATURE_TYPE AzimuthCalculator_AZIMUTH # ------------------------------------------------------------------------- FACTORY_DEF {*} AttrSetFactory FACTORY_NAME AttributeCreator INPUT FEATURE_TYPE AzimuthCalculator_AZIMUTH MULTI_FEATURE_MODE NO NULL_ATTR_MODE NO_OP ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV ATTR_ACTION { "" "length" "SET_TO" " 评估 长度 } OUTPUT OUTPUT FEATURE_TYPE AttributeCreator_OUTPUT # ------------------------------------------------------------------------- FACTORY_DEF * SortFactory FACTORY_NAME排序输入FEATURE_TYPE AttributeCreator_OUTPUT SORT_BY length NUMERIC ASCENDING OUTPUT SORTED FEATURE_TYPE Sorter_SORTED # .------------------------------------------------------------------------- # 如果我们做最后N特性,那么乘数为0。如果我们先做N,乘数是-1。# For RANDOM, we need to treat LAST N as if it is first N (i.e. have a -1) #这是什么?:在比率乘数。INCLUDE [if {{-1} == {0} && {ORIGINAL} == {ORIGINAL}} {puts "MACRO REAL_MODE LAST";"MACRO REAL_RATE 1";} else {"MACRO REAL_MODE ORIGINAL";"MACRO REAL_RATE [expr 1 * (-1 ?-1: -1)]"; } ] FACTORY_DEF {*} SamplingFactory FACTORY_NAME Sampler_2 COMMAND_PARM_EVALUATION SINGLE_PASS SAMPLE_RATE $(REAL_RATE) SAMPLE_ORDER $(REAL_MODE) INPUT FEATURE_TYPE Sorter_SORTED OUTPUT SAMPLED FEATURE_TYPE ___SAMPLED___ OUTPUT NOT_SAMPLED FEATURE_TYPE Sampler_2_NOT_SAMPLED # This TeeFactory is needed because Sampler will still output features if it has no OUTPUT clauses specified. # This way we behave nicely even if there are no output connections on the transformer. See PR#28886. FACTORY_DEF * TeeFactory FACTORY_NAME Sampler_2_Sampled INPUT FEATURE_TYPE ___SAMPLED___ OUTPUT FEATURE_TYPE Sampler_2_SAMPLED # ------------------------------------------------------------------------- # If we're doing LAST N features, then the multiplier comes in as 0. # If we're doing First N, multiplier is -1. # For RANDOM, we need to treat LAST N as if it was first N (i.e. have a -1) # That is what the ? : does in the rate multiplier. INCLUDE [ if { {1} == {0} && {ORIGINAL} == {ORIGINAL} } { puts "MACRO REAL_MODE LAST"; puts "MACRO REAL_RATE 3"; } else { puts "MACRO REAL_MODE ORIGINAL"; puts "MACRO REAL_RATE [expr 3 * ( 1 ? 1 : -1 ) ]"; } ] FACTORY_DEF {*} SamplingFactory FACTORY_NAME Sampler_3 COMMAND_PARM_EVALUATION SINGLE_PASS SAMPLE_RATE $(REAL_RATE) SAMPLE_ORDER $(REAL_MODE) INPUT FEATURE_TYPE Sampler_2_NOT_SAMPLED OUTPUT SAMPLED FEATURE_TYPE ___SAMPLED___ # This TeeFactory is needed because Sampler will still output features if it has no OUTPUT clauses specified. # This way we behave nicely even if there are no output connections on the transformer. See PR#28886. FACTORY_DEF * TeeFactory FACTORY_NAME Sampler_3_Sampled INPUT FEATURE_TYPE ___SAMPLED___ OUTPUT FEATURE_TYPE Sampler_3_SAMPLED # ------------------------------------------------------------------------- INCLUDE [ if { {POLAR} == {CARTESIAN} } { puts {MACRO Offsetter_3_OFFSET @Offset(REJECTABLE," "," "," ”)};} elseif {{POLAR} == {POLAR}} {puts {MACRO Offsetter_3_OFFSET @Offset(REJECTABLE,"POLAR","@EvaluateExpression(FDIV,FLOAT, 价值 宽度 - 价值 党卫军 Offsetter_3)”、“@EvaluateExpression (FDIV浮动, 价值 acAngle +90,offseter_3)”)};}elseif{{{POLAR}=={spheremic}{put{MACRO offseter_3_OFFSET@OFFSET(可拒绝,“POLAR”,” "," "," ”)};} else {{MACRO Offsetter_3_OFFSET @Offset(REJECTABLE,") "} "," "," ”)};}] FACTORY_DEF * TeeFactory FACTORY_NAME Offsetter_3_OffsetterInput INPUT FEATURE_TYPE Sampler_3_SAMPLED OUTPUT FEATURE_TYPE ___TOOFFSETTER_____torejector___ $(Offsetter_3_OFFSET) FACTORY_DEF * TestFactory FACTORY_NAME Offsetter_3_Rejector INPUT FEATURE_TYPE __torejector___ TEST @Value(fme_rejection_code) != "" OUTPUT PASSED FEATURE_TYPE Offsetter_3_ . @RemoveAttributes (___fme_rejection_code___)输出失败FEATURE_TYPE Offsetter_3_Offset @RenameAttributes (FME_STRICT、fme_rejection_code ___fme_rejection_code___) FACTORY_DEF * TestFactory FACTORY_NAME Offsetter_3_PointCloudOffsetter输入FEATURE_TYPE Offsetter_3_Offset测试&fme_type = =“fme_point_cloud”测试 "" != "" BOOLEAN_OPERATOR和输出PASSED FEATURE_TYPE Offsetter_3_OFFSET @TransformPointCloud(OFFSET,) OUTPUT FAILED FEATURE_TYPE Offsetter_3_OFFSET FACTORY_DEF * TeeFactory FACTORY_NAME "Offsetter_3 OFFSET Splitter" INPUT FEATURE_TYPE Offsetter_3_OFFSET OUTPUT FEATURE_TYPE Offsetter_3_OFFSET_0_yfbNNeM9hGk= OUTPUT FEATURE_TYPE Offsetter_3_OFFSET_1_LnNMNyuXNyo= DEFAULT_MACRO _WB_BYPASS_TERMINATION No FACTORY_DEF * TeeFactory FACTORY_NAME Offsetter_3_ 输入FEATURE_TYPE Offsetter_3_ FEATURE_TYPE * @Abort(ENCODED, Offsetter_3 . 输出 一个 拒绝了 特性。 继续 翻译 特性 拒绝了 改变 工作空间 参数 翻译 拒绝了 功能 处理 继续 翻译 ) # ------------------------------------------------------------------------- FACTORY_DEF * ExtensionFactory FACTORY_NAME LineExtender_2输入FEATURE_TYPE Offsetter_3_OFFSET_0_yfbNNeM9hGk = EXTENSION_LENGTH @EvaluateExpression (FDIV、浮点数、 价值 长度 - 价值 ls LineExtender_2)”REJECT_INVALID_GEOM Yes OUTPUT BEGINNING FEATURE_TYPE LineExtender_2_BEGINNING OUTPUT REJECTED FEATURE_TYPE LineExtender_2_ DEFAULT_MACRO _wb_bypass_terminate No FACTORY_DEF * tefactory FACTORY_NAME LineExtender_2_ . DEFAULT_MACRO _wb_bypass_terminate No FACTORY_DEF * tefactory FACTORY_NAME LineExtender_2_ . DEFAULT_MACRO _wb_bypass_terminate No 输入功能\u类型线路扩展器\u 2_ 输出失败的功能\u类型*@中止(编码,LineExtender\u 2 输出 一个 拒绝了 特性。 继续 翻译 特性 拒绝了 改变 工作空间 参数 翻译 拒绝了 功能 处理 继续 翻译 ) # ------------------------------------------------------------------------- 包括(如果{{极地}= ={笛卡尔}}{把{宏Offsetter_OFFSET @Offset(拒绝的。” "," "," ”)};} elseif {{POLAR} == {POLAR}} {puts {MACRO Offsetter_OFFSET @Offset(REJECTABLE,"POLAR","@EvaluateExpression(FDIV,FLOAT, 价值 长度 - 价值 ls 、抵消)”、“@EvaluateExpression (FDIV浮动, 价值 acAngle + 90,抵消)”)};} elseif {{POLAR} == {SPHERICAL}} {puts {MACRO Offsetter_OFFSET @Offset(REJECTABLE,"POLAR"," "," "," ”)};} else {{MACRO Offsetter_OFFSET @Offset(REJECTABLE,")} "," "," ”)};}] FACTORY_DEF * TeeFactory FACTORY_NAME Offsetter_OffsetterInput INPUT FEATURE_TYPE __torejector___ FACTORY_DEF * TeeFactory FACTORY_NAME offsetter_offset INPUT FEATURE_TYPE __toffsetter___ @RenameAttributes(FME_STRICT, __fme_rejection_code___,fme_rejection_code) OUTPUT FEATURE_TYPE __torejector___$(Offsetter_OFFSET) FACTORY_DEF * TestFactory FACTORY_NAME Offsetter_Rejector INPUT FEATURE_TYPE __torejector___ TEST @Value(fme_rejection_code) != ""输出通过FEATURE_TYPE Offsetter_ . @RemoveAttributes (___fme_rejection_code___)输出失败FEATURE_TYPE Offsetter_Offset @RenameAttributes (FME_STRICT、fme_rejection_code ___fme_rejection_code___) FACTORY_DEF * TestFactory FACTORY_NAME Offsetter_PointCloudOffsetter输入FEATURE_TYPE Offsetter_Offset测试&fme_type = =“fme_point_cloud”测试 "" != "" BOOLEAN_OPERATOR和输出通过FEATURE_TYPE Offsetter_OFFSET @TransformPointCloud(OFFSET,) OUTPUT FAILED FEATURE_TYPE Offsetter_OFFSET FACTORY_DEF * TeeFactory FACTORY_NAME " OFFSET OFFSET Splitter" INPUT FEATURE_TYPE Offsetter_OFFSET OUTPUT FEATURE_TYPE Offsetter_OFFSET_0_W5NRx4Ntgk0= OUTPUT FEATURE_TYPE Offsetter_OFFSET_1_wI9Izqc5xFA= DEFAULT_MACRO_WB_BYPASS_TERMINATION No FACTORY_DEF * tefactory FACTORY_NAME offset 输入FEATURE_TYPE Offsetter_ FEATURE_TYPE * @Abort(ENCODED, offset . 输出 一个 拒绝了 特性。 继续 翻译 特性 拒绝了 改变 工作空间 参数 翻译 拒绝了 功能 处理 继续 翻译 ) # ------------------------------------------------------------------------- FACTORY_DEF * ExtensionFactory FACTORY_NAME LineExtender输入FEATURE_TYPE Offsetter_OFFSET_0_W5NRx4Ntgk0 = EXTENSION_LENGTH @EvaluateExpression (FDIV、浮点数、 价值 宽度 - 价值 党卫军 ,LineExtender)“拒绝\u无效\u GEOM是输出端功能\u类型LineExtender\u端输出拒绝功能\u类型LineExtender_ DEFAULT_MACRO _WB_BYPASS_TERMINATION No FACTORY_DEF * tefactory FACTORY_NAME LineExtender_ . DEFAULT_MACRO _WB_BYPASS_TERMINATION No FACTORY_DEF * tefactory FACTORY_NAME LineExtender_ . DEFAULT_MACRO _WB_BYPASS_TERMINATION 输入FEATURE_TYPE LineExtender_ 输出失败FEATURE_TYPE * @Abort(ENCODED, LineExtender 输出 一个 拒绝了 特性。 继续 翻译 特性 拒绝了 改变 工作空间 参数 翻译 拒绝了 功能 处理 继续 翻译 ) # ------------------------------------------------------------------------- DEFAULT_MACRO Aggregator_BREAK_ATTR FACTORY_DEF {*} AggregateFactory FACTORY_NAME Aggregator INPUT FEATURE_TYPE LineExtender_END INPUT FEATURE_TYPE LineExtender_2_BEGINNING INPUT FEATURE_TYPE Offsetter_OFFSET_1_wI9Izqc5xFA= INPUT FEATURE_TYPEOffsetter_3_OFFSET_1_LnNMNyuXNyo= INPUT FEATURE_TYPE Chopper_CHOPPED_1_wh4tmndh/OY= MODE ONE_LEVEL $(Aggregator_BREAK_ATTR) REMOVE_GEOMETRY NO ACCUMULATE_ATTRIBUTES One LIST_ATTRS_TO_INCLUDE { } LIST_ATTRS_TO_INCLUDE_MODE 分隔符 生成(u MULTIS YES OUTPUT AGGREGATE FEATURE(u TYPE Aggregator(u AGGREGATE)(u AGGREGATE)----------------------------------------------------------------------检查我们是否必须进行最小边界框计算,包括[if{{MINBB}=={MINBB}{puts{MACRO BoundingBoxReplacer_2bbfunc@Bounds(min_bounding,,)};}否则{puts{MACRO BoundingBoxReplacer_2_BBFunc@Bounds(BOUNDING_BOX_AXIS_ALIGNED,,)}]FACTORY_DEF*TeeFactory_NAME BoundingBoxReplacer_2输入功能_TYPE聚合器_聚合输出功能_TYPE BoundingBoxReplacer_2_BOX@Force2D()$(BoundingBoxReplacer_2_BBFunc)———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————*1000000)]时钟点击-毫秒]“放置”宏安全名称$safeName“]工厂定义{*}检查器工厂名称边界框替换器2框预处理器命令参数评估单次输入功能类型边界框替换器2框组属性类型属性检查器功能类型属性组属性前缀{BoundingBoxReplacer\u 2\u Box}光栅减少或导出点减少云减少不细化输出结果特征类型现在将所有特征路由到记录器中,将其#特征类型更改为转换器名称,以便它们可以很好地查看亚搏在线默认的宏可视化器(宏可视化器)特征文件$(工作空间(临时)/$(安全(FFS)名称).ffs默认值_宏可视化工具_创建_空间_索引编号35;[PR#45549]Data Inspector将限制功能的最大数量(它在WIN32上读取),因此我们将相应地限制使用MAX_features_TO_record指令在此处记录的功能的数量。FACTORY_DEF*RecorderFactory_NAME BoundingBoxReplacer_2_Box_Recorder命令\u PARM_求值单次输入功能\u TYPE_viewme_wb_终止特征是特征类型(终止符值(终止符值)输入特征类型视图类型特征类型(@Value(@Value(@u-inspector\u-feature\u-TYPE\u-attr\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu“INSPECTOR”$(可视化工具创建空间索引)“FSC模式长度,varchar 255 、_creation_instance varchar 255 ,新 宽度,varchar 255 ,新 长度、varchar 255 、ls、varchar 255 党卫军,varchar 255 值,varchar 255 varchar _y吗, 255 、_remnant varchar 255 、_isLoop varchar 255 、acAngle varchar 255 、acAzimuth 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 CREATE_AT_END输出FEATURE_TYPE __NUKEME__ @TCL(“如果[文件存在{$ (WORKSPACE_TEMP_DIR)}]{设置文件[水珠-nocomplain目录{$ (WORKSPACE_TEMP_DIR)}反面* .ffs];如果{[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;} else {[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 INPUT FEATURE_TYPE __NUKEME__