# ! # ! 这个转换器将适合用户筛选器的所有属性打包到表单name:value:name:value中的单个属性#中……这对于在单个数据库字段中存储多个格式属性以供将来使用非常有用。

# TRANSFORMER_END # !FME(R) 2012 SP3 (20120704 - Build 12254 - WIN32)# !LEGAL_TERMS_CONDITIONS = "

版权所有(c) 2012安全软件公司亚搏在线

任何人士可免费使用、修改及分发本范本的目标代号表格作任何用途,但须受下列限制:

1)不得歪曲本变压器的来源及相关FME(R)软件。

2)本变压器仅可与有效授权的FME软件副本一起使用。

本软件由安全软件公司提供。亚搏在线任何明示或默示的保证,包括但不限于适销性、不侵权和适用于特定目的的默示保证均被拒绝。在任何情况下,安全软件公司。亚搏在线对任何直接,间接,偶然,特殊,惩戒性的或后果性的损失(包括但不限于,购买替代产品或服务;丧失使用,数据或利润;或业务中断)但是造成和任何责任理论,无论是在合同,严格责任或侵权(包括疏忽或其他)而超出这个软件的使用以任何方式OUT,即使此类损害的可能性。

" # !FME_SERVER_SERVICES="" #! SHOW_BOOKMARKS="true" #! GRID_VISIBLE="false" #! SHOW_ANNOTATIONS="true" #! CATEGORY="Manipulators" #! BLOCKED_LOOPING="No" #! GRID_HEIGHT="50" #! REQUIREMENTS_KEYWORD="none" #! FME_BUILD_NUM="12254" #! SHOW_INFO_NODES="true" #! DESCRIPTION="

该变压器组所有符合用户过滤器到一个单一的属性,在窗体名称属性:值:名称:值...这对于在单个数据库字段中存储多个格式属性以供将来使用非常有用。

" # !GRID_SNAPTO="false" #! GRID_WIDTH="50" #! FMX_INSERT_MODE="Linked by Default" #! FME_PROCESS_COUNT="NO_PARALLELISM" #! HISTORY="July 10 2012年,戴夫 纳斯,初始 创建 “#!VIEW_POSITION = ”400 0“ #!MAX_LOOP_ITERATIONS = ”“ #!ZOOM_SCALE = ”100“ #!PASSWORD = ”“ #!VIEW_PAGE_BREAKS = ”假“ #!WORKSPACE_VERSION = ”1“ #!LAST_SAVE_DATE =” 2012-07-11T10:17:!35" !#FME_PROCESS_GROUP_BY = “” #TITLE = “AttributePacker” #使用=”

变压器有两个参数:

过滤器前缀:以这个前缀的所有属性将被添加到packed属性。离开此值为空将包的所有属性。

packed属性名称:新属性包含填充值名称

“#!要求=”

FME 2012

“#!WARN_INVALID_XFORM_PARAM =” 是”#!ATTR_TYPE_ENCODING = “自卫队” #!ITERATION_COUNT_ATTR = “” #!>#! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # !
# !DEFAULT_MACRO $(AttributePacker_WORKSPACE_NAME)_FILTER DEFAULT_MACRO $(AttributePacker_WORKSPACE_NAME)_PACKED _PACKED包括:}固定模式(加入{{\ $}{\([^()美元]* \)}}{}]设定指标[regexp内联——指数模式文本]美元如果[llength美元指数]{foreach一对[lreverse美元指数]{lassign两美元开始结束更换{}集合替换:美元:FME_MacroValues(范围(字符串文本美元[expr开始美元+ 2][expr结束美元- 1]])设置文本(字符串替换文本开始结束美元替代美元]}返回[__FME_ExpandMacros文本美元[expr maxlevels - 1美元]]}返回$文本}proc __FME_ExpandEnvVars{文本{maxlevels 100}}{如果{$ maxlevels < = 0}{返回$文本;}固定模式(加入{{\ $}{\{[^ \{\}$]* \}}}{}]设定指标[regexp内联——指数模式文本]美元如果[llength美元指数]{foreach一对[lreverse美元指数]{lassign两美元开始结束更换{}集合替换:美元:env(范围(字符串文本美元[expr开始美元+ 2][expr结束美元- 1]])设置文本(字符串替换文本开始结束美元替代美元]}返回[__FME_ExpandEnvVars文本美元[expr maxlevels - 1美元]]}返回$文本}proc __FME_EvalAndEncodeMacro{宏名字}{设置macroVal{}抓住{macroVal设置返回[FME_EncodeText $macroVal]} END_INCLUDE INCLUDE [put "MACRO $(AttributePacker_WORKSPACE_NAME) _filter_fmeencoded__ [fme_evalandencodemacro $(AttributePacker_WORKSPACE_NAME)_FILTER]";] INCLUDE [put "MACRO $(AttributePacker_WORKSPACE_NAME) _packed_fmeencoded__ [fme_evalandencodemacro $(AttributePacker_WORKSPACE_NAME)_PACKED]";)# !START_HEADER # !“”包括[放{宏WB_OLD_CONTEXT_$(AttributePacker_WORKSPACE_NAME) $(WB_CURRENT_CONTEXT)};将{宏WB_CURRENT_CONTEXT $ (AttributePacker_WORKSPACE_NAME)}] FACTORY_DEF * TeeFactory FACTORY_NAME " $ (AttributePacker_WORKSPACE_NAME) _INPUT输入分流”输入FEATURE_TYPE " $ (AttributePacker_WORKSPACE_NAME) _INPUT“输出FEATURE_TYPE " $ (AttributePacker_WORKSPACE_NAME) _INPUT " # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Tcl2 proc美元(AttributePacker_WORKSPACE_NAME) _ParameterFetcher_doFetch {} {foreach{名字val} {”AP_FILTER{$($(AttributePacker_WORKSPACE_NAME) _filter_ fmeencoded__)} AP_PACKED {$($(AttributePacker_WORKSPACE_NAME) _packed_fmeencoded__)}”}{如果{[字符串匹配{* $val {$(AttributePacker_WORKSPACE_NAME)_ParameterFetcher}};{set val [fme_decodet敲诈attr $val];};FME_SetAttribute [FME_DecodeText $ name] $ val}} FACTORY_DEF * TeeFactory FACTORY_NAME美元(AttributePacker_WORKSPACE_NAME) _ParameterFetcher输入FEATURE_TYPE " $ (AttributePacker_WORKSPACE_NAME) _INPUT“输出FEATURE_TYPE " $ (AttributePacker_WORKSPACE_NAME) _ParameterFetcher_OUTPUT“@Tcl2 ($ (AttributePacker_WORKSPACE_NAME) _ParameterFetcher_doFetch) # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FME_PYTHON_PATH " $ (FME_MF_DIR) "FACTORY_DEF * PythonFactory FACTORY_NAME $(AttributePacker_WORKSPACE_NAME)_PythonCaller INPUT FEATURE_TYPE "$(AttributePacker_WORKSPACE_NAME)_ParameterFetcher_OUTPUT" SYMBOL_NAME packIgdsAtts PYTHON_NAMESPACE FMEOBJECTS SOURCE_CODE导入 fmeobjects 这个 创建 一种 包装 名单 格式 属性 适当 对于 采用 SupplyAttributes 高清 packIgdsAtts 特征 得到 一种 名单 属性 ATTLIST = feature.getAllAttributeNames 得到 过滤 过滤 = feature.getAttribute AP_FILTER 得到 包装 属性 名称 packedAtt = feature.getAttribute AP_PACKED 创建 名单 对于 包装 属性 包装 = 通过 属性 对于 ATT ATTLIST: 提取 只要 IGDS 格式 属性 如果 过滤 ATT ATT!= AP_FILTER ATT!= AP_PACKED 附加 属性 名称 packed.append ATT 附加 属性 packed.append 海峡 feature.getAttribute ATT 包装 属性 形成 名称:值:名称:值:名称:值... feature.setAttribute packedAtt 。加入 包装 OUTPUT PYOUTPUT FEATURE_TYPE “$(AttributePacker_WORKSPACE_NAME)_PythonCaller_OUTPUT” #------------------------------------------------------------------------- INCLUDE [ set macroLine "MACRO $(AttributePacker_WORKSPACE_NAME)_AttributeRemover_LIST_EXP ";的foreach ATTR [分裂 “”] {集ATTR [FME_DecodeText $ ATTR];集ATTR [regsub “{} $” $ ATTR “{} *。”];集ATTR [regsub -all “{}” $ ATTR “{\ [0-9 \] +}”];追加macroLine “^ $ ATTR $”;};放$ macroLine;] FACTORY_DEF * TeeFactory FACTORY_NAME $(AttributePacker_WORKSPACE_NAME)_AttributeRemover INPUT FEATURE_TYPE “$(AttributePacker_WORKSPACE_NAME)_PythonCaller_OUTPUT” 输出FEATURE_TYPE “$(AttributePacker_WORKSPACE_NAME)_AttributeRemover_OUTPUT” @RemoveAttributes(AP_FILTER,AP_PACKED)@RemoveAttributes(fme_regexp_match “$($(AttributePacker_WORKSPACE_NAME)_AttributeRemover_LIST_EXP)”) FACTORY_DEF * TeeFactory FACTORY_NAME "$(AttributePacker_WORKSPACE_NAME)_OUTPUT Output Collector" INPUT FEATURE_TYPE "$(AttributePacker_WORKSPACE_NAME)_AttributeRemover_OUTPUT" OUTPUT FEATURE_TYPE "$(AttributePacker_WORKSPACE_NAME)_OUTPUT" INCLUDE [puts {MACRO WB_CURRENT_CONTEXT $(WB_OLD_CONTEXT_$(AttributePacker_WORKSPACE_NAME))}]