#! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! #! FME_PYTHON_版本27#!开始ɻ标题ɻ!启动WB_HEADER READER_TYPE NULL READER_KEYWORD NULL_SOURCE NULL_DATASET NULL WRITER_TYPE NULL WRITER_KEYWORD NULL_DEST NULL_DEST_DATASET NULL#!结束_WB_HEADER#!开始_WB_HEADER#!结束_WB_HEADER#!END_HEADER LOG_FILENAME“$(FME_MF_DIR)testHttpCaller.LOG”LOG_APPEND NO LOG_MAX_FEATURES 200 LOG_MAX_RECORDED_FEATURES 200 FME_REPROJECTION_ENGINE FME FME_IMPLICIT_CSMAP_REPROJECTION_MODE Auto FME_GEOMETRY_HANDLING Enhanced FME STROKE_MAX_DEVIATION 0 LOG_TIMINGS YES LOG_FILTER_MASK-1”-------------------------------------------------------------------------多读卡器继续打开读卡器失败否{FMEXTEMP)[&文件[目录$Env(fMyTeMp)] {SETGVisalIZETEMSPE$Env(FMEXTEMP)} ELSIF {[FIN存在Env(TEMP)]和[文件[目录$Env(TEMP)] }{SETGVisalIZETEMSPE$Env(TEMP)} ELSIF {$TCLILL平台(平台)=“UNIX”}设GVisualIZETEMOP“/TMP”}否则{SETGVisalIZETEMPP C:};包含[如果{eNo存在eNV(regsub-all{[,&]}{$(工作区名称)}{{}wsname;设置gVisualizerTemp$gVisualizerTemp/${wsname}uu[时钟格式[时钟秒]-格式%H%M%S];放置“宏工作区温度目录$gVisualizerTemp”;宏可视化工具功能文件$(工作区温度目录)/inspector.ffs宏可视化工具模式文件$(工作区温度目录)/inspector.fsc宏可视化工具创建空间索引是默认值宏WB当前上下文.--Tcl2 proc Creator CoordSysRemover{}{global FME CoordSys;设置FME_CoordSys{};}宏创建者XML未激活宏创建者CLASSIC未激活宏创建者2D3D几何宏创建者COORDS 包含[如果{Geometry Object}={Geometry Object}{puts{MACRO Creator{XML*}}]包含[如果{Geometry Object}={2D Coordinate List}}{puts{MACRO Creator{2D3D 2D'u Geometry};puts{MACRO Creator{CLASSIC*}]包含[如果{Geometry Object}={3D坐标列表}}{puts{MACRO Creator{2D3D}Geometry};放入{MACRO Creator{CLASSIC*}]INCLUDE[如果{Geometry Object}={2D Min/Max Box}{设置注释{我们需要将minX minY maxX maxY的坐标转换成一个完整的多边形坐标列表};设置splitCoords[split[string trim{ }]];如果{[llength$splitCoords]>4}{设置trimmedCoords{};foreach item$splitCoords{如果{$item!={}{lappend trimmedCoords$item};设置splitCoords$trimmedCoords;};如果{[长$splitCoords]!=4}{错误{Creator:坐标列表应该是一个由四个数字组成的以空格分隔的列表,名为'minx miny maxx maxy'-` '无效};};设置minX[lindex$splitCoords 0];设置minY[lindex$splitCoords 1];设置maxX[lindex$splitCoords 2];设置maxY[lindex$splitCoords 3];放置“宏创建器”COORDS$minX$minY$minX$maxY$maxX$maxY$maxX$minY$minX$minY”;放置{MACRO Creator\u2d3d 2D\u GEOMETRY};将{MACRO Creator_CLASSIC*}]FACTORY_DEF$(Creator_XML)CreationFactory_NAME Creator_XML_Creator CREATE_AT_END no OUTPUT FEATURE_TYPE_uuuuuuuuuuuuuuuuuuuuuuuuuuuuucreated_uuuuuuuuuuuuuuuu@Geometry(来自编码的字符串, ?xml格式 版本= 编码= 美国ASCII码 独立的= ? 几何学 尺寸= 无效的 几何学 )工厂定义$(创建人/经典)创建工厂创建工厂名称创建人/经典创作者$(创作者/2D3D)$(创作者/合作者)创建一个没有输出功能的工厂创建一个没有输出功能的工厂创建一个名称创建人/创建输入功能的输入输入功能的类型创建创建一个创建一个拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝拷贝实例“输出特征类型”Creator创建了@Tcl2(Creator\u CoordSysRemover)@CoordSys()fme\u feature\u type Creator FACTORY\u DEF*BranchingFactory FACTORY\u NAME“Creator\u CREATED Brancher-14”输入feature\u type Creator\u CREATED TARGET\FACTORY“$(WB\u CURRENT\u CONTEXT)\u Creator\BRANCH\u TARGET“输出通过feature\type*@RemoveAttributes”(“Creator\u CREATED Brancher-14“.BranchingFactory.Count)#——HTTPCaller INPUT FEATURE_TYPE Creator_CREATED TARGET_URL“https: " HTTP_METHOD GET SAVE_FILE NO OUTPUT_FILENAME " “OUTPUT_DIRECTORY” “FILE_EXTENSION” " TARGET_ATTR "_response_body" FILE_PATH_ATTR " “UPLOAD_FILE” “UPLOAD_BODY” “MULTIPART_UPLOAD UPLOAD_CONTENT_TYPE” " COMBINED_MULTIPART_TABLE REQUEST_HEADER_TABLE ADDITIONAL_URL_PARAMETERS AUTH_USERNAME " “AUTH_PASSWORD” “AUTH_METHOD” TARGET_ATTRIBUTE_ENCODING自动检测RESPONSE_HEADER_LIST_ATTR "_headers" STATUS_CODE_ATTR "_http_status_code" ERROR_ATTR "_error" CONNECTION_TIMEOUT_LENGTH 60 TRANSFER_TIMEOUT_LENGTH 90 follow _re重定向Yes VERIFY_SSL_CERTIFICATES Yes NAMED_CONNECTION " " USE_COOKIES无输出输出FEATURE_TYPE HTTPCaller_Output输出拒绝FEATURE_TYPE HTTPCaller_ # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #假设是工作区临时dir已经设置和创建。ControlDefs::writeVisualizerTempDir DEFAULT_MACRO WORKSPACE_TEMP_DIR FACTORY_DEF * InspectorFactory FACTORY_NAME httpcaller_rejected_prepper COMMAND_PARM_EVALUATION SINGLE_PASS INPUT FEATURE_TYPE HTTPCaller_ GROUP_ATTRIBUTE __inspector_feature_type_attr__ GROUP_BY GROUP_ATTRIBUTE_PREFIX HTTPCaller__Rejected_ RASTER_REDUCTION NoReduction POINT_CLOUD_REDUCTION NO_THINNING输出结果FEATURE_TYPE __viewme__ #现在路线的所有特性到录音机,改变他们的#功能类型变压器的名字,他们认为好DEFAULT_MACRO VISUALIZER_FEATURE_FILE (WORKSPACE_TEMP_DIR) /美元(SAFE_FFS_NAME)。亚搏在线数据检查器将限制它在WIN32上读取的特性的最大数量,因此我们将相应地限制这里使用MAX_FEATURES_TO_RECORD指令记录的特性的数量。FACTORY_DEF * RecorderFactory FACTORY_NAME HTTPCaller__Rejected__Recorder COMMAND_PARM_EVALUATION SINGLE_PASS输入FEATURE_TYPE __viewme__ _wb_termination_feature是的@FeatureType (TERMINATOR_@Value (_wb_termination_xformer))输入FEATURE_TYPE __viewme__ @FeatureType (@ value (__inspector_feature_type_attr__)) @RemoveAttributes (__inspector_feature_type_attr__) FEATURE_FILE " $ (VISUALIZER_FEATURE_FILE) "STORE_SCANNED_SCHEMA YES CREATE_SPATIAL_INDEX "$(VISUALIZER_CREATE_SPATIAL_INDEX)"检查员" $ (VISUALIZER_CREATE_SPATIAL_INDEX) "FSC_SCHEMA _creation_instance、varchar 255 、_error varchar 255 、_response_body varchar 255 、_http_status_code varchar 255 模式记录STORE_SCANNED_METADATA RECORD_DIRECTLY_TO_DISK是的MAX_FEATURES_TO_RECORD WIN32 2000000 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #假设是工作区临时dir已经设置和创建。看到controldefs.cpp——ControlDefs: writeVisualizerTempDir DEFAULT_MACRO WORKSPACE_TEMP_DIR FACTORY_DEF * InspectorFactory FACTORY_NAME HTTPCaller_Output_Prepper COMMAND_PARM_EVALUATION SINGLE_PASS输入FEATURE_TYPE HTTPCaller_Output GROUP_ATTRIBUTE __inspector_feature_type_attr__ GROUP_BY GROUP_ATTRIBUTE_PREFIX HTTPCaller_Output RASTER_REDUCTION NoReduction POINT_CLOUD_REDUCTION NO_THINNING输出结果FEATURE_TYPE __viewme__ #现在路线的所有特性到录音机,将它们的# feature类型更改为transformer名称,这样它们就可以很好地查看DEFAULT_MACRO VISUALIZER_FEATURE_FILE $(WORKSPACE_TEMP_DIR)/$(SAFE_FFS_NAME)。亚搏在线ffs DEFAULT_MACRO VISUALIZER_CREATE_SPATIAL_INDEX NO # [PR#45549] The Data Inspector will limit the maximum number of features # it reads on WIN32, so we will correspondingly limit the number of # features we record here using the MAX_FEATURES_TO_RECORD directive.FACTORY_DEF * RecorderFactory FACTORY_NAME HTTPCaller_Output_Recorder COMMAND_PARM_EVALUATION SINGLE_PASS输入FEATURE_TYPE __viewme__ _wb_termination_feature是的@FeatureType (TERMINATOR_@Value (_wb_termination_xformer))输入FEATURE_TYPE __viewme__ @FeatureType (@ value (__inspector_feature_type_attr__)) @RemoveAttributes (__inspector_feature_type_attr__) FEATURE_FILE " $ (VISUALIZER_FEATURE_FILE) "STORE_SCANNED_SCHEMA YES CREATE_SPATIAL_INDEX "$(VISUALIZER_CREATE_SPATIAL_INDEX)"检查员" $ (VISUALIZER_CREATE_SPATIAL_INDEX) "FSC_SCHEMA _creation_instance、varchar 255 、_response_body varchar 255 、_http_status_code varchar 255 模式记录STORE_SCANNED_METADATA RECORD_DIRECTLY_TO_DISK是的MAX_FEATURES_TO_RECORD WIN32 2000000 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FACTORY_DEF * RoutingFactory FACTORY_NAME“目的地功能类型路由相关器”COMMAND_PARM_EVALUATION SINGLE_PASS输入FEATURE_TYPE * FEATURE_TYPE_ATTRIBUTE __wb_out_feat_type__输出路由FEATURE_TYPE *输出NOT_ROUTED FEATURE_TYPE __nuke_me__ @Tcl2 (“FME_StatMessage 818059 [FME_GetAttributefme_template_feature_type] 818060 818061 fme_warn") # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME "Final Output Nuker" INPUT FEATURE_TYPE __nuke_me__ # ------------------------------------------------------------------------- FACTORY_DEF * CreationFactory CREATE_AT_END OUTPUT FEATURE_TYPE __NUKEME__ @TCL("if [file exists {$(WORKSPACE_TEMP_DIR)}] {set files [glob -nocomplain -directory {$(WORKSPACE_TEMP_DIR)} -tails *.ffs]; if {[llength $files] == 1} { set theFile {$(WORKSPACE_TEMP_DIR)/}; append theFile [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 $theFile & \175; } elseif { [llength $files] == 0 } { catch { file delete -force {$(WORKSPACE_TEMP_DIR)} }; } else { set filesNoExt {}; set 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__