# ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! 参数


区段最低X / Y,最大X / Y(度):

以十进制的角度指定区段。区段应该满足所有这些条件。

- 180<Xmin,xmax < = 180

- 90<YMIN,ymax < = 90

xmin比xmax向西,伊敏比伊玛克斯南

宽度< = 0.15,高度< = 0.15

如果其中一个条件不满足,的输入特性将立即输出 端口。


输出OSM文件路径:

指定保存下载的OSM文件的文件路径。


输出OSM文件路径属性:

(可选)指定存储已保存的OSM文件路径的属性名。属性的值将与“输出OSM文件路径”参数指定的文件路径相同。


HTTP连接超时长度(秒):

此参数可用于设置HTTP连接请求的超时。如果在给定的秒数内无法创建到服务器的连接,请求将失败,该功能将通过故障输出 端口。默认连接超时为60秒。如果输入0,不会有超时,变压器将无限期地等待连接成功。


HTTP传输超时长度(秒):

此参数可用于设置HTTP传输的超时。如果数据停止传输的时间超过给定的秒数,请求将失败,该功能将通过故障输出 端口。默认传输超时为300秒。如果输入0,不会有超时,变压器将无限期地等待数据恢复传输。

" # !VIEW_POSITION = " -2943.03 - 1350.01 " # !MARKDOWN_USAGE = " " # !描述= "

下载与指定区段对应的OpenStreetMap (OSM)数据文件。您可以使用OpenStreetMap (OSM) XML [OSM]阅读器从下载的文件中读取特性。


注:

1.根据区段的不同,数据大小可能变得太大,完成下载可能需要很长时间。为防止下载过大数据,此转换器将区段的宽度和高度限制为0.15 x 0.15度 (9 x 9分钟)如果指定区段的宽度或高度大于限制,的输入特性将立即输出 端口。另请参见有关相关参数的说明。


2.如果使用此转换器连续向OSM服务器发送多个HTTP请求,它可能会使服务器不堪重负,一些请求可能会失败。在这种情况下,考虑使用减速器来延迟每个特性的请求。


三。此转换器创建目标文件夹,如果它不存在。如果文件夹创建失败,不会执行下载,输入特性将通过 失败 端口。


" # !USE_MARKDOWN = " " # !title=“osmdownloader”!MARKDOWN_DESCRIPTION = " " # !类别= "网络" # !DOC_TOP_LEFT = " -2884.02 - 450.005 " # !XFORM_DEPRECATED = "不" # !FME_PROCESS_GROUPS_ORDERED = "不" # !fme_process_count=“no_parallelism”!历史= " 2015-12-07,隆 饭岛爱,原来 实现,2015-12-20,隆 饭岛爱,添加 能力 创建 目的地 文件夹 如果 没有 t 存在。“# !PYTHON_COMPATIBILITY = " " # !FME_PROCESS_GROUP_BY = " " # !fme_document_guid=“549e9ed8-436f-4fba-80e9-3bbe3b7f3c3f”!缩放比例=100”!FMX_ATTRIBUTE_PROPOGATION_MODE = "自动" # !SUPPRESS_UPGRADE = " false " # !LAST_SAVE_BUILD="FME(R) 2015.1.3.1 (20151117 - Build 15573 - WIN32)"#!GUID = " 549 e9ed8 fba - 436 f - 4 - 80 - e9 - 3 - bbe3b7f3c3f " # !FME_DOCUMENT_PRIORGUID = " 83 b01aac-3f6b-48bd-b9b5-cc01458b8213 " # !文件范围=3466.03 564.755“!DOC_DYNAMIC_INPUT_ATTRS = " 0 " # !最后一次保存日期:“2015-12-19t13:50:30”!IS_VISIBLE = " false " # !> # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # !

创建URL (HTTP API)

" # !位置= " -1203.01 - 1014.76 " # !TOP_LEFT = " -1203.01 - 1014.76 " # !BOTTOM_RIGHT = " -1204.01 - 1015.76 " # !BOUNDING_RECT="-1203.01 1014.76 -1 -1"#!订单= " 5 e + 14 " # !FOLLOW_ANCHOR = " true " # !INFO_NODE = " false " # !颜色=“1、0.784314、0.192157 # !SIZE_POLICY = " 8 " # !comment_type=“Regular”!ANCHORED_NODE = " 3 " # !/ > # !

下载并保存一个OSM文件。

" # !位置=“-637.008 1014.76”!TOP_LEFT = " -637.008 - 1014.76 " # !右下角“-638.008 1015.76”!BOUNDING_RECT="-637.008 1014.76 -1 -1"#!订单= " 5 e + 14 " # !FOLLOW_ANCHOR = " true " # !INFO_NODE = " false " # !颜色=“1、0.784314、0.192157 # !SIZE_POLICY = " 8 " # !comment_type=“Regular”!ANCHORED_NODE = " 4 " # !/ > # !
# ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! 测试$(BB_XMAX) < 0;测试$(BB_XMIN) > 0' 评估 + 360(BB_XMAX) __osmdownloader.file_path FME_NUM_CONDITIONS2___”, 价值 $ (FILE_PATH_ATTR) " / > # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # !
# !
# ! # ! # !
FME_PYTHON_VERSION 27GUI IGNORE DestDataset_GEOJSON_1,GEOJSON_OUT_WRITER_CHARSET_GEOJSON_1,GEOJSON_OUT_WRITE_BOM_GEOJSON_1,GEOJSON_OUT_STRICT_SPEC_GEOJSON_1,GEOJSON_OUT_PRETTY_PRINT_GEOJSON_1,GEOJSON_OUT_INDENT_SIZE_GEOJSON_1,GEOJSON_OUT_COUNTER_CLOCKWISE_AREAS_GEOJSON_1,GEOJSON_OUT_WGS84_REPROJECTION_GEOJSON_1,GEOJSON_OUT_JSONP_FUNC_NAME_GEOJSON_1默认值_宏目标数据集_geojson U 10$(fm_mf_dir)fm _out输出_data\debug _geojson\debug _water _tmp.geojsongu文件名目标数据集_geojson U 10 geojson U文件(*.json);*.json;所有;*目标geojson文件:包括[if;$(des数据集_geojson U 10);=== \;必须为参数“destDataset”指定一个值。退出1;};)# !START_HEADER # !START_WB_HEADERREADER_TYPE NULLREADER_KEYWORD NULL_SOURCENULL_SOURCE_DATASET nullWRITER_TYPE multi_writer_order BY_IDMULTI_WRITER_FIRST_WRITER_ID 0MULTI_WRITER_TYPE{0} geojson_writer_key {0} GEOJSON_1#!END_WB_HEADER # !START_WB_HEADERMACRO WB_KEYWORD " GEOJSON_1 " # !END_WB_HEADER # !启动“目标”标题geojson geojson_1!END_DEST_HEADER # !启动“wb_headerdefault”宏destdatasetinclude[如果“$(destdataset)”!=“”\放置默认宏目标数据集_geojson_1$(目标数据集)\]!END_WB_HEADER # !开始\u dest_header gejson gejson gejson-gejson-gejson_1default_mac宏destset_gejson U 1$(dests数据集_gejson U 10)gui文件名desdata集_gejson-u gejson-gejson-U 1 gejson-U文件(*.json);*.json;.json;*所有;*目标gejson文件:默认_macgejson _out _编写器_char设置_gejson U 1 UTF-8gejson _gejson U 1 U编写器U U U编写器U json U out设置_geojson_1)“GUI查找”选项geojson_out_作者_charset _geojson _1 utf-8、utf-8%utf-16、utf-16%utf-16be、utf-16be%utf-16le、utf-16le%utf-32、utf-32%utf-32be、utf-32be%utf-32le、utf-32le输出字符集:默认_宏geojson _out _编写_bom _geojson _1 _编写_bom”美元(geojson _out _out _编写_bom _geojson on_1)“GUI查找”选项geojson_out_write_bom_geojson_1 Yes,Yes%No,No byte order marker:default_mac宏geojson_out _严格_specu geojson_1 yes geojson_1_严格\spec“$(gejson_out _严格_严格_严格_严格_geojson_1)“GUI查找”选择geojson_out _严格_严格_宏观geojson_1是,是%否,完全符合gejson语法:默认_宏geojson_out _漂亮_漂亮_打印_geojson_1 yes geojson_1 _漂亮_漂亮u打印”$(gejson_out _out _out u pretty_print_geojson_1)“GUI activechoice_lookup geOjson_out_pretty_print_geojson_1 pretty 打印,是%线性,否,geojson_out_indent_size_geojson_1格式类型:默认的_macro geojson_out_indent_size_geojson_1 0geojson_1_indent_size“$(geojson_out_indent_size_geojson_1)”GUI查找_choice geojson_out_indent_size_geojson_1选项卡,0%1 空间,1% 2 空间,2% 3 空间,3% 4 空间,4% 5 空间,5% 6 空间,6% 7 空间,7% 8 spaces,8 Indent Size:DEFAULT_MACRO GEOJSON_OUT_COUNTER_CLOCKWISE_AREAS_GEOJSON_1 YesGEOJSON_1_COUNTER_CLOCKWISE_AREAS "$(GEOJSON_OUT_COUNTER_CLOCKWISE_AREAS_GEOJSON_1)"GUI LOOKUP_CHOICE GEOJSON_OUT_COUNTER_CLOCKWISE_AREAS_GEOJSON_1 Yes,Yes%No,No Convert Areas to Counterclockwise:DEFAULT_MACRO GEOJSON_OUT_WGS84_REPROJECTION_GEOJSON_1 NoGEOJSON_1_WGS84_REPROJECTION "$(GEOJSON_OUT_WGS84_REPROJECTION_GEOJSON_1)"GUI LOOKUP_CHOICE GEOJSON_OUT_WGS84_REPROJECTION_GEOJSON_1 Yes,Yes%No,No Reproject to WGS84:DEFAULT_MACRO GEOJSON_OUT_JSONP_FUNC_NAME_GEOJSON_1 GEOJSON_1_JSONP_FUNC_NAME "$(GEOJSON_OUT_JSONP_FUNC_NAME_GEOJSON_1)"GUI OPTIONAL TEXT GEOJSON_OUT_JSONP_FUNC_NAME_GEOJSON_1 JSONP Function Name:# ============================================================================# Opt in for destination dataset type vs format type validationDEFAULT_MACRO GEOJSON_OUT_DESTINATION_DATASETTYPE_VALIDATION_GEOJSON_1 YesGEOJSON_1_DESTINATION_DATASETTYPE_VALIDATION "$(GEOJSON_OUT_DESTINATION_DATASETTYPE_VALIDATION_GEOJSON_1)"GEOJSON_1_DATASET "$(DestDataset_GEOJSON_1)"#!END_DEST_HEADER # !START_WB_HEADER # !END_WB_HEADER # !结束“headerlog文件名”$(fme-mf-dir)每月测试“osm”。log“附加nolog-max-features 200log-max-recorded-features 200fme-reprojection-engine-fme fme-implicit-csmap-reprojection-mode-autome-geometry-handling-enhancedfme-stroke-max-deviation 0log-filter-mask-1default-macro-dataset-keyword-geojson-1geojson-1------------------------geojson_1_坐标系统epsg:3857multi_reader_continue_on_reader_failure no--------------------------------------------------------宏工作区名称测试_osm_on eflymacro fme_viewer_app fmedatainspectordefault_macro wb_当前环境-——TCL2过程创建者全局FME协调员;设置FME_CoordSys {};}宏Creator_XML NOT_ACTIVATEDMACRO Creator_CLASSIC NOT_ACTIVATEDMACRO Creator_2D3D 2D_GEOMETRYMACRO Creator_COORDS 包含[if{{几何对象}=={几何对象}}{put {MACRO Creator_XML *}}}包含[if{{几何对象}== {2D坐标列表}}}{put{宏Creator_2D3D 2D_GEOMETRY};如果{{几何对象}== {3D坐标列表}}{put{宏Creator_2D3D 3D_GEOMETRY};将宏创建者经典]包括[如果几何对象=二维最小/最大框设置注释我们需要将minx-miny-maxx-maxy坐标转换为完整的多边形坐标列表;设置splitCoords [split [string trim { }[];如果{[llength $splitCoords] > 4} {set trimmedCoords {};foreach项目$splitCoords {if {$item != {}} {lappend trimmedCoords $item}};设置splitCoords trimmedCoords美元;};如果{[llength $splitCoords] != 4} {error {Creator: Coordinate list是一个由4个数字组成的以空格分隔的列表,如'minx miny maxx maxy' - ' 的是无效的};};设置minX [lindex $splitCoords 0];设置miny[lindex$splitcoords 1];设置maxx[lindex$splitcoords 2];set maxY [lindex $splitCoords 3];输入“macro creator_coords$minx$miny$minx$maxy$maxx$maxy$maxx$miny$minx$miny”;放置宏创建器_2d3d 2d_几何体将宏创建者经典工厂定义$(创建者_xml)创建工厂_名称创建者_xml _创建者创建_结束无输出功能_类型uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu创建几何体(从_编码u字符串, xml ? 版本= 1.0 编码= US_ASCII 独立的= 吗? 几何 尺寸= 2 几何 )FACTORY_DEF $(Creator_CLASSIC) CreationFactory FACTORY_NAME Creator_CLASSIC_Creator $(Creator_2D3D) $(Creator_COORDS) CREATE_AT_END no OUTPUT FEATURE_TYPE _____CREATED______FACTORY_DEF * TeeFactory FACTORY_NAME Creator_Cloner INPUT FEATURE_TYPE _____CREATED______ NUMBER_OF_COPIES 1 COPY_NUMBER_ATTRIBUTE "_creation_instance" OUTPUT FEATURE_TYPE Creator_CREATED @Tcl2(Creator_CoordSysRemover) @CoordSys() fme_feature_type CreatorFACTORY_DEF * BranchingFactory FACTORY_NAME "Creator_CREATED Brancher -1 5" INPUT FEATURE_TYPE Creator_CREATED TARGET_FACTORY "$(WB_CURRENT_CONTEXT)_CREATOR_BRANCH_TARGET" OUTPUT PASSED FEATURE_TYPE * @RemoveAttributes("Creator_CREATED Brancher -1 5".BranchingFactory.Count)# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME "$(WB_CURRENT_CONTEXT)_CREATOR_BRANCH_TARGET" INPUT FEATURE_TYPE * OUTPUT FEATURE_TYPE *# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME "OSMDownloader Input Input Collector" INPUT FEATURE_TYPE Creator_CREATED OUTPUT FEATURE_TYPE OSMDownloader_InputMACRO OSMDownloader_WORKSPACE_NAME OSMDownloaderMACRO $(OSMDownloader_WORKSPACE_NAME)_XFORMER_NAME OSMDownloaderMACRO $(OSMDownloader_WORKSPACE_NAME)_TRANSFORMER_GROUP MACRO $(OSMDownloader_WORKSPACE_NAME)___COMPOUND_PARAMETERS MACRO $(OSMDownloader_WORKSPACE_NAME)_SUB_DOC_NAME OSMDownloaderMACRO $(OSMDownloader_WORKSPACE_NAME)_BB_XMIN 5.9854MACRO $(OSMDownloader_WORKSPACE_NAME)_BB_YMIN 45.4216MACRO $(OSMDownloader_WORKSPACE_NAME)_BB_XMAX 6.0367MACRO $(OSMDownloader_WORKSPACE_NAME)_BB_YMAX 45.4461MACRO $(OSMDownloader_WORKSPACE_NAME)_OUTPUT_FILENAME $(FME_MF_DIR)FME_input data\waterMACRO $(OSMDownloader_WORKSPACE_NAME)_FILE_PATH_ATTR _water_osm_file_pathMACRO $(OSMDownloader_WORKSPACE_NAME)_CONNECTION_TIMEOUT_LENGTH 60MACRO $(OSMDownloader_WORKSPACE_NAME)_TRANSFER_TIMEOUT_LENGTH 300MACRO $(OSMDownloader_WORKSPACE_NAME)_BB_MAX_WIDTH 0.15MACRO $(OSMDownloader_WORKSPACE_NAME)_BB_MAX_HEIGHT 0.15DEFAULT_MACRO OSMDownloader_WORKSPACE_NAME ""INCLUDE [puts {MACRO WB_OLD_CONTEXT_$(OSMDownloader_WORKSPACE_NAME) $(WB_CURRENT_CONTEXT)};输入macro wb_current_context$(osmdownloader_workspace_name)]工厂_def*teefactory工厂_name“$(osmdownloader_workspace_name)_input1520351145输入拆分器”输入功能_type“$(osmdownloader_workspace_name)_input“输出功能”_type“$(osmdownloader_workspace_name)_input”----------------------------------------------------------————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————t; 测试$($(OSMDownloader_WORKSPACE_NAME)_BB_XMAX$encode) < 0; 评估 + 360 (OSMDownloader_WORKSPACE_NAME) _BB_XMAX美元(编码) “FME_NUM_CONDITIONS2___ ATTR __osmdownloader.file_path 价值 $($(osmdownloader_workspace_name)_file_path_attr$encode) 输出输出FEATURE_TYPE " $ (OSMDownloader_WORKSPACE_NAME) _AttributeCreator_OUTPUT " # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Tcl2 FME_Decode proc createDirectory 迪尔 文件 目录名 FME_GetAttribute __osmdownloader.file_path 如果 ! 文件 存在 迪尔 文件 mkdir 迪尔 返回 文件 存在 迪尔 MACRO COPIER @Tcl2("")INCLUDE [ if {[string length {}] == 0} { puts {MACRO COPIER 1} }MACRO OUTPUTATTR "__osmdownloader.folder_exists"INCLUDE [ if {[string length {__osmdownloader.folder_exists}] == 0} { puts {MACRO OUTPUTATTR } }FACTORY_DEF * TeeFactory FACTORY_NAME $(OSMDownloader_WORKSPACE_NAME)_TclCaller INPUT FEATURE_TYPE "$(OSMDownloader_WORKSPACE_NAME)_AttributeCreator_OUTPUT" NUMBER_OF_COPIES $(COPIER) OUTPUT FEATURE_TYPE "$(OSMDownloader_WORKSPACE_NAME)_TclCaller_OUTPUT" $(OUTPUTATTR) @Tcl2("createDirectory")# -------------------------------------------------------------------------FACTORY_DEF * TestFactory FACTORY_NAME $(OSMDownloader_WORKSPACE_NAME)_Tester INPUT FEATURE_TYPE "$(OSMDownloader_WORKSPACE_NAME)_TclCaller_OUTPUT" TEST -180 <= @EvaluateExpression(FDIV,STRING_ENCODED,$($(OSMDownloader_WORKSPACE_NAME)_BB_XMIN$encode),$(OSMDownloader_WORKSPACE_NAME)_Tester) ENCODED TEST @EvaluateExpression(FDIV,STRING_ENCODED,$($(OSMDownloader_WORKSPACE_NAME)_BB_XMAX$encode),$(OSMDownloader_WORKSPACE_NAME)_Tester) <= 180 ENCODED TEST -90 <= @EvaluateExpression(FDIV,STRING_ENCODED,$($(OSMDownloader_WORKSPACE_NAME)_BB_YMIN$encode),$(OSMDownloader_WORKSPACE_NAME)_Tester) ENCODED TEST @EvaluateExpression(FDIV,STRING_ENCODED,$($(OSMDownloader_WORKSPACE_NAME)_BB_YMAX$encode),$(OSMDownloader_WORKSPACE_NAME)_Tester) <= 90 ENCODED TEST @EvaluateExpression(FDIV,STRING_ENCODED,$($(OSMDownloader_WORKSPACE_NAME)_BB_XMIN$encode),$(OSMDownloader_WORKSPACE_NAME)_Tester) < @EvaluateExpression(FDIV,STRING_ENCODED, 价值 __osmdownloader.xmax ,$(OSMDownloader_WORKSPACE_NAME)_Tester) ENCODED TEST @EvaluateExpression(FDIV,STRING_ENCODED,$(OSMDownloader_WORKSPACE_NAME)_Tester) ENCODED TEST @EvaluateExpression(FDIV,STRING_ENCODED, 评估 价值 __osmdownloader.xmax - $ ((OSMDownloader_WORKSPACE_NAME) _BB_XMIN编码美元) 美元(OSMDownloader_WORKSPACE_NAME) _Tester) < @EvaluateExpression (FDIV STRING_ENCODED, 评估 $ ((OSMDownloader_WORKSPACE_NAME) _BB_MAX_WIDTH编码)美元+ 1.0 e-8 ,$(osmdownloader_workspace_name)_tester)encoded test@evaluateexpression(fdiv,string_encoded, 评估 $ ((OSMDownloader_WORKSPACE_NAME) _BB_YMAX编码美元)- $ ((OSMDownloader_WORKSPACE_NAME) _BB_YMIN编码美元) 美元(OSMDownloader_WORKSPACE_NAME) _Tester) < @EvaluateExpression (FDIV STRING_ENCODED, 评估 $ ((OSMDownloader_WORKSPACE_NAME) _BB_MAX_HEIGHT编码)美元+ 1.0 e-8 ,$(OSMDownloader_WORKSPACE_NAME)_Tester)编码的BOOLEAN_OPERATOR和输出传递的FEATURE_TYPE "$(OSMDownloader_WORKSPACE_NAME) _tester_type "输出失败的FEATURE_TYPE "$(OSMDownloader_WORKSPACE_NAME)_Tester_FAILED"#——INCLUDE [set macroLine "宏$(OSMDownloader_WORKSPACE_NAME)_AttributeRemover_3_LIST_EXP ";foreach attr [split ""] {set attr [FME_DecodeText $attr];设置attr [regsub "{}$" $attr "{}.*"];设置attr[regsub-all“”$attr“\123; \[0-9\]+\”];附加宏行“^$attr$”;};卖出$macroline;]工厂定义*teefactory工厂名称$(osmdownloader\u workspace\u name)attributeremover\u 3 input feature\u type“$(osmdownloader\u workspace\u name)测试仪\u failed“output feature\u type”$(osmdownloader\u workspace\u name)attributeremover\u 3\u output“@removeattributes(fme\u encoded,\uosmdownloader.xmax,\uosmdownloader.file\u path,\uu osmdownloader.folder_exists)@removeattributes(fme_pcre_match“$($(osmdownloader_workspace_name)_attributeerMover_3_list_exp)”)\\35----------------------------------------------------------------------TC2 proc$(osmdownloader_工作区_name)_StringConcator \ \\ \\\\\\\\\\\M下载器URL};如果{[string length $attr] == 0} {return;};设置attrs [list [FME_EncodeText $attr]];} else {set attrAll { };如果{[string length $attrAll] == 0} {return;};set attrs [split {] }{};};设置parmList {{EvaluateExpression} {ATTR_CREATE_EXPR_PROPOGATE_MISSING_FDIV}};foreach attr $attrs {lappend parmList $attr;lappend parmList { " http: overpass.osm.rambler.ru cgi xapi_meta ? * bbox = $ ((OSMDownloader_WORKSPACE_NAME) _BB_XMIN编码美元) $ ((OSMDownloader_WORKSPACE_NAME) _BB_YMIN编码美元) $ ((OSMDownloader_WORKSPACE_NAME) _BB_XMAX编码美元) $($(osmdownloader_workspace_name)_bb_ymax$编码) “};};lappend parmlist$(osmdownloader_workspace_name)_stringconcatenator_eval fme_执行$parmlist;}工厂定义*teefactory工厂名称$(osmdownloader_workspace_name)_stringconcatenator输入功能_type“$(osmdownloader_workspace_name)_检测仪通过”输出功能_type“$(osmdownloader_workspace_name)_stringconcatenator_output”@tcl2(“$(osmdownloader_workspace_name)_stringconcatenator_evaluator”)\---———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————— 价值 __osmdownloader.url ,$(osmdownloader_workspace_name)_httpcaller)“http_method get save_file yes output_file name”@evaluateexpression(fdiv,string,$($(osmdownloader_workspace_name)_output_file name$encode),$(osmdownloader_workspace_name)_httpcaller)“output_directory” “目标\u attr” " FILE_PATH_ATTR "$($(OSMDownloader_WORKSPACE_NAME)_FILE_PATH_ATTR)" UPLOAD_FILE " “UPLOAD_BODY” “MULTIPART_UPLOAD 上传“内容类型” " COMBINED_MULTIPART_TABLE REQUEST_HEADER_TABLE ADDITIONAL_URL_PARAMETERS AUTH_USERNAME " “AUTH_PASSWORD” “身份验证方法” “目标属性编码 响应\u header_list_attr“_headers”状态\u code_attr“_http_status_code”错误\u attr“_error”连接超时\u length$($(osmdownloader_workspace_name)连接超时\u length)传输超时\u length$($(osmdownloader_workspace_name)传输超时\u length)遵循重定向是验证ssl_证书是命名的连接“N” " USE_COOKIES无输出输出FEATURE_TYPE "$(OSMDownloader_WORKSPACE_NAME)_HTTPCaller_Output"输出拒绝FEATURE_TYPE "$(OSMDownloader_WORKSPACE_NAME)_HTTPCaller_ “\\35;--------------------------------------------------------------------------------------------------------------------------------------------------TCL2 FME_decode宏复印机@TCL2(”“)incinc[if;[string len;125;]==0;宏复印机1 \125\ \\\\\\\\\\\\\\\123; \125;工厂定义*teefactory工厂名称$(osmdownloader_workspace_name)_tcCaller_2输入功能_type“$(osmdownloader_workspace_name)_httpCaller_ “NUMBER_OF_COPIES(复印机)输出FEATURE_TYPE美元”(OSMDownloader_WORKSPACE_NAME) _TclCaller_2_OUTPUT”(OUTPUTATTR)美元@Tcl2(“文件删除(FME_GetAttribute " __osmdownloader.file_path "]”) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - include(设置macroLine“宏(OSMDownloader_WORKSPACE_NAME) _AttributeRemover_2_LIST_EXP美元”;foreach attr [split ""] {set attr [FME_DecodeText $attr];设置attr [regsub "{}$" $attr "{}.*"];设置attr[regsub-all“”$attr“\123; \[0-9\]+\”];附加宏行“^$attr$”;};卖出$macroline;]工厂定义*teefactory工厂名称$(osmdownloader\u workspace\u name)属性移动器\u 2输入功能\u type“$(osmdownloader\u workspace\u name)调用器\u 2输出”输出功能\u type“$(osmdownloader\u workspace\u name)属性移动器\u 2输出”@removeattributes(fme\u编码,\uu osmdownloader.file\u path,\uu osmdownloader.folder\u exists,\uu osmdownloader.url,uu osmdownloader.xmax)@removeattributes(fme_pcre_match“$($(osmdownloader_workspace_name)_attributeremover_2_list_exp)”)包括[设置宏行“macro$(osmdownloader_workspace_name)_attributeremover_list_exp”;foreach attr [split ""] {set attr [FME_DecodeText $attr];设置attr [regsub "{}$" $attr "{}.*"];设置attr[regsub-all“”$attr“\123; \[0-9\]+\”];附加宏行“^$attr$”;};卖出$macroline;]工厂定义*teefactory工厂名称$(osmdownloader\u workspace\u name)属性移动器输入功能\u type“$(osmdownloader\u workspace\u name)\u httpcaller\u output”输出功能\u type“$(osmdownloader\u workspace\u name)属性移动器输出”@removeattributes(fme\u编码,\uu osmdownloader.url,\uu osmdownloader.xmax,\uu osmdownloader.file\u path,uu osmdownloader.folder_exists)@removeattributes(fme_pcre_match“$(osmdownloader_workspace_name)_attributeremover_list_exp)”)Factory_def*teefactory factory_name“$(osmdownloader_workspace_name)_ 1520351145输出收集器“INPUT FEATURE_TYPE”$(OSMDownloader_WORKSPACE_NAME)_AttributeRemover_3_OUTPUT“Output FEATURE_TYPE”$(OSMDownloader_WORKSPACE_NAME)_ “工厂定义*teefactory工厂名称”$(osmdownloader\u workspace\u name)\u成功1520351145输出收集器“输入功能”类型“$(osmdownloader\u workspace\u name)\u attributeremover\u output“输出功能”类型“$(osmdownloader\u workspace\u name)\u success“工厂定义*teefactory工厂名称”$(osmdownloader\u workspace\u name)\u失败1520351145输出collector“input feature_type”$(osmdownloader_workspace_name)_attributeremover_2_output“output feature_type”$(osmdownloader_workspace_name)_failure“包括[puts macro wb_current_context$(wb_old_context_$(osmdownloader_workspace_name))]工厂定义*teefactory工厂_name“osmdownloader successful output renamer/nuker”输入功能键入osmdownloader_success output feature_type osmdownloader_success factory_def*teefactory factory_name“osmdownloader failure output renamer/nuker”input feature_type osmdownloader_failure factory_def*teefactory factory_name“osmdownloader” 输出Renamer/Nuker“输入功能\u型osmdownloader_ 输出功能_型osmdownloader_ DEFAULT_MACRO _WB_BYPASS_TERMINATION NoFACTORY_DEF * TeeFactory FACTORY_NAME OSMDownloader_ 输入FEATURE_TYPE OSMDownloader_ 输出失败的功能_type*@中止(编码,OSMDownloader 输出 一个 拒绝了 特性。 继续 翻译 特性 拒绝了 改变 工作空间 参数 翻译 拒绝了 功能 处理 继续 翻译 )#—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————— 供词 编码 __wb_out_feat_type__ debug_water_tmp 坐标轴系统EPSG:3857几何特征type_u attribute uuwb_out Feat uuuu type uuuuuu output routed feature uuu type ke me_uuuuuuu@tcl2(“FME_statmessage 818059[FME_getattribute FME_template_feature_type]818060 818061 FME_Warn”)3580;-----------------------------------------------工厂定义*teefactory factory_name“Final output nuker”input feature_type_uu nuke_me_uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu