# ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! # ! FME_PYTHON_VERSION 34GUI IGNORE SourceDataset_TEXTLINE_1,TEXTLINE_IN_ENCODING_TEXTLINE_1,SourceDataset_GEODATABASE_FILE_1,GEODATABASE_FILE_IN_WHERE_GEODATABASE_FILE_1,GEODATABASE_FILE_IN_TRANSLATE_SPATIAL_DATA_ONLY_GEODATABASE_FILE_1,GEODATABASE_FILE_IN_RESOLVE_DOMAINS_GEODATABASE_FILE_1,GEODATABASE_FILE_IN_RESOLVE_SUBTYPE_NAMES_GEODATABASE_FILE_1,GEODATABASE_FILE_IN_IGNORE_NETWORK_INFO_GEODATABASE_FILE_1,GEODATABASE_FILE_IN_IGNORE_RELATIONSHIP_INFO_GEODATABASE_FILE_1,GEODATABASE_FILE_IN_SPLIT_COMPLEX_EDGES_GEODATABASE_FILE_1,GEODATABASE_FILE_IN_SPLIT_MULTI_PART_ANNOS_GEODATABASE_FILE_1,GEODATABASE_FILE_IN_SEARCH_ENVELOPE_MINX_GEODATABASE_FILE_1,GEODATABASE_FILE_IN_SEARCH_ENVELOPE_MINY_GEODATABASE_FILE_1,GEODATABASE_FILE_IN_SEARCH_ENVELOPE_MAXX_GEODATABASE_FILE_1,GEODATABASE_FILE_IN_SEARCH_ENVELOPE_MAXY_GEODATABASE_FILE_1,GEODATABASE_FILE_IN_CLIP_TO_ENVELOPE_GEODATABASE_FILE_1,_GEODBSplitComplexAnnotations_GEODATABASE_FILE_1,_GEODBCacheMultipatchTextures_GEODATABASE_FILE_1,_GEODB_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_GEODATABASE_FILE_1,_GEODBInSearchFeature_GEODATABASE_FILE_1,_GEODBInSearchOrder_GEODATABASE_FILE_1,_GEODBInSearchMethod_GEODATABASE_FILE_1,_GEODBInFeatureReadMode_GEODATABASE_FILE_1,_GEODBInCheckSimpleGeom_GEODATABASE_FILE_1,_GEODBMergeFeatLinkedAnnos_GEODATABASE_FILE_1,_GEODBInBeginSql_GEODATABASE_FILE_1,_GEODBInEndSql_GEODATABASE_FILE_1,DestDataset_XLSXW_1,XLSXW_OUT_OVERWRITE_FILE_XLSXW_1,XLSXW_OUT_TEMPLATEFILE_XLSXW_1DEFAULT_MACRO SRC_GDB GUI SOURCE_GEODATABASE SRC_GDB Source Esri File Geodatabase:DEFAULT_MACRO DestDataset_XLSXW GUI FILENAME DestDataset_XLSXW Excel_Files(*.xlsx;*.xlsm;*.xls)|*.xlsx;*.xlsm;*.xls|All_files(*.*)|*.* Destination Microsoft Excel File:INCLUDE [ if {{$(SRC_GDB)} == {}} { puts_real {Parameter 'SRC_GDB' must be given a value.};退出1;};如果{{$(DestDataset_XLSXW)} == {}} {puts_real{参数'DestDataset_XLSXW'必须被赋予一个值。};退出1;};)# !START_HEADER # !START_WB_HEADERREADER_TYPE MULTI_READERMULTI_READER_TYPE{0} TEXTLINEMULTI_READER_KEYWORD{0} TEXTLINE_1MULTI_READER_GEN_DIRECTIVES{0} MULTI_READER_TYPE{1} NULLMULTI_READER_FORMAT{1} NULLMULTI_READER_KEYWORD{1} GEODATABASE_FILE_1MULTI_READER_GEN_DIRECTIVES{1} SEARCH_ENVELOPE_MINX,0,SEARCH_ENVELOPE_MINY,0,GEODATABASE_FILE_EXPOSE_FORMAT_ATTRS,,_MERGE_SCHEMAS,YES,WHERE,,USE_SEARCH_ENVELOPE,NO,TRANSLATE_SPATIAL_DATA_ONLY,no,IGNORE_RELATIONSHIP_INFO,no,SPLIT_COMPLEX_EDGES,no,CLIP_TO_ENVELOPE,NO,SPLIT_MULTI_PART_ANNOS,no,RESOLVE_DOMAINS,yes,TABLELIST,,SEARCH_ENVELOPE_MAXX,0,IGNORE_NETWORK_INFO,no,SEARCH_ENVELOPE_MAXY,0,RESOLVE_SUBTYPE_NAMES,noWRITER_TYPE MULTI_WRITERMULTI_WRITER_DATASET_ORDER BY_IDMULTI_WRITER_FIRST_WRITER_ID 0MULTI_WRITER_TYPE{0} XLSXWMULTI_WRITER_KEYWORD{0} XLSXW_1#!END_WB_HEADER # !START_WB_HEADERMACRO WB_KEYWORD " TEXTLINE_1 " # !END_WB_HEADER # !START_SOURCE_HEADER TEXTLINE TEXTLINE_1 # = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = #下面的GUI行提示输入一个文件作为源# TEXTLINE文件。用户输入存储在宏中,which is then# used to define the dataset to be read.# The dataset this mapping file was generated from was:GUI FILENAME SourceDataset_TEXTLINE_1 Text/Compressed_Text_Files(*.txt;*.txt.gz)|*.txt;*.txt.gz|Text_Files(*.txt)|*.txt|Compressed_Text_Files(*.txt.gz)|*.txt.gz|All_files(*.*)|*.* Source Text File:# =====================================================================# Allows to force the encoding of source text fileDEFAULT_MACRO TEXTLINE_IN_ENCODING_TEXTLINE_1 GUI OPTIONAL STRING_OR_CHOICE TEXTLINE_IN_ENCODING_TEXTLINE_1 UTF-8%UTF-16LE%UTF-16BE%ANSI%BIG5%SJIS%CP437%CP708%CP720%CP737%CP775%CP850%CP852%CP855%CP857%CP860%CP861%CP862%CP863%CP864%CP865%CP866%CP869%CP932%CP936%CP950%CP1250%CP1251%CP1252%CP1253%CP1254%CP1255%CP1256%CP1257%CP1258%ISO8859-1%ISO8859-2%ISO8859-3%ISO8859-4%ISO8859-5%ISO8859-6%ISO8859-7%ISO8859-8%ISO8859-9%ISO8859-13%ISO8859-15 Character Encoding:TEXTLINE_1_ENCODING $(TEXTLINE_IN_ENCODING_TEXTLINE_1)#!END_SOURCE_HEADER # !{\ put {DEFAULT_MACRO SourceDataset_TEXTLINE_1 $(SourceDataset)} \}]#!END_WB_HEADER # !START_SOURCE_HEADER TEXTLINE TEXTLINE_1DEFAULT_MACRO SourceDataset_TEXTLINE_1 ${TEMP}\temp.fmeTEXTLINE_1_DATASET "$(SourceDataset_TEXTLINE_1)"TEXTLINE_1_GENERATE_FME_BUILD_NUM 5197#!END_SOURCE_HEADER # !START_WB_HEADERMACRO WB_KEYWORD " GEODATABASE_FILE_1 " # !END_WB_HEADER # !START_SOURCE_HEADER GEODATABASE_FILE GEODATABASE_FILE_1# ============================================================================# The following GUI line prompts for a file to be used as the source.# The user input is stored in a macro,which is then used to define# the dataset to be read.# The dataset this mapping file was generated from was:#!END_SOURCE_HEADER # !{\ put {DEFAULT_MACRO SourceDataset_GEODATABASE_FILE_1 $(SourceDataset)} \}]#!END_WB_HEADER # !START_SOURCE_HEADER GEODATABASE_FILE GEODATABASE_FILE_1DEFAULT_MACRO SourceDataset_GEODATABASE_FILE_1 $(SRC_GDB)GUI SOURCE_GEODATABASE SourceDataset_GEODATABASE_FILE_1 Source Esri File Geodatabase:# Translation flags.## ========================================================================# The following defines the global where clause to be used when retrieving# features from the Geodatabase.DEFAULT_MACRO GEODATABASE_FILE_IN_WHERE_GEODATABASE_FILE_1 GEODATABASE_FILE_1_WHERE "$(GEODATABASE_FILE_IN_WHERE_GEODATABASE_FILE_1)"GUI OPTIONAL TEXT GEODATABASE_FILE_IN_WHERE_GEODATABASE_FILE_1 WHERE Clause:#==============================================================================# Determines whether non-spatial data,如表,亚型,域、#和关系类,get translatedDEFAULT_MACRO GEODATABASE_FILE_IN_TRANSLATE_SPATIAL_DATA_ONLY_GEODATABASE_FILE_1 noGEODATABASE_FILE_1_TRANSLATE_SPATIAL_DATA_ONLY "$(GEODATABASE_FILE_IN_TRANSLATE_SPATIAL_DATA_ONLY_GEODATABASE_FILE_1)"GUI OPTIONAL CHECKBOX GEODATABASE_FILE_IN_TRANSLATE_SPATIAL_DATA_ONLY_GEODATABASE_FILE_1 yes%no Spatial Data Only#==============================================================================# Determines whether to resolve domainsDEFAULT_MACRO GEODATABASE_FILE_IN_RESOLVE_DOMAINS_GEODATABASE_FILE_1 yesGEODATABASE_FILE_1_RESOLVE_DOMAINS "$(GEODATABASE_FILE_IN_RESOLVE_DOMAINS_GEODATABASE_FILE_1)"GUI OPTIONAL CHECKBOX GEODATABASE_FILE_IN_RESOLVE_DOMAINS_GEODATABASE_FILE_1 yes%no Resolve Domains#==============================================================================# Determines whether to resolve the subtype associated with a feature to the# text description linked to the subtype value.The text description will# be added as an attribute on the feature.DEFAULT_MACRO GEODATABASE_FILE_IN_RESOLVE_SUBTYPE_NAMES_GEODATABASE_FILE_1 noGEODATABASE_FILE_1_RESOLVE_SUBTYPE_NAMES "$(GEODATABASE_FILE_IN_RESOLVE_SUBTYPE_NAMES_GEODATABASE_FILE_1)"GUI OPTIONAL CHECKBOX GEODATABASE_FILE_IN_RESOLVE_SUBTYPE_NAMES_GEODATABASE_FILE_1 yes%no Resolve Subtypes#==============================================================================# Determines whether to ignore the network info associated with a feature# coming from a network feature class.当设置为“yes”时,节点将被#视为点特征,边缘将被视为折线特性,#将geodb_type设置为geodb_point和geodb_polyline,respectively.# Caution should be taken when changing the value for this keyword to a different# value than was specified when creating the mapping file/workspace.DEFAULT_MACRO GEODATABASE_FILE_IN_IGNORE_NETWORK_INFO_GEODATABASE_FILE_1 noGEODATABASE_FILE_1_IGNORE_NETWORK_INFO "$(GEODATABASE_FILE_IN_IGNORE_NETWORK_INFO_GEODATABASE_FILE_1)"GUI OPTIONAL CHECKBOX GEODATABASE_FILE_IN_IGNORE_NETWORK_INFO_GEODATABASE_FILE_1 yes%no Ignore Network Info# ========================================================================# Determines whether to ignore the relationship info associated with a feature# coming from a feature class containing relationships.当设置为“yes”时,简单的#关系不会被读取,属性关系将被读取为# tables。Caution should be taken when changing the value for this keyword to a# different value than was specified when creating the mapping file/workspace.DEFAULT_MACRO GEODATABASE_FILE_IN_IGNORE_RELATIONSHIP_INFO_GEODATABASE_FILE_1 noGEODATABASE_FILE_1_IGNORE_RELATIONSHIP_INFO "$(GEODATABASE_FILE_IN_IGNORE_RELATIONSHIP_INFO_GEODATABASE_FILE_1)"GUI OPTIONAL CHECKBOX GEODATABASE_FILE_IN_IGNORE_RELATIONSHIP_INFO_GEODATABASE_FILE_1 yes%no Ignore Relationship Info#==============================================================================# Determines whether complex edge features should be split up and each edge# element read as a separate feature.默认行为是将# whole edge *feature*视为FME特性,而不是edge *element*作为# FME特性。Returning edge elements ensures that all network connectivity# information on complex edges is read.DEFAULT_MACRO GEODATABASE_FILE_IN_SPLIT_COMPLEX_EDGES_GEODATABASE_FILE_1 noGEODATABASE_FILE_1_SPLIT_COMPLEX_EDGES "$(GEODATABASE_FILE_IN_SPLIT_COMPLEX_EDGES_GEODATABASE_FILE_1)"GUI OPTIONAL CHECKBOX GEODATABASE_FILE_IN_SPLIT_COMPLEX_EDGES_GEODATABASE_FILE_1 yes%no Split Complex Edges#==============================================================================# Determines whether annotation features should be split up and each part# element read as a separate feature.默认行为是将# whole annotation *feature*视为FME特性,而不是将注释# *element*作为FME特性。Returning edge elements ensures that all# rotation and positional information for each element is preserved.DEFAULT_MACRO GEODATABASE_FILE_IN_SPLIT_MULTI_PART_ANNOS_GEODATABASE_FILE_1 noGEODATABASE_FILE_1_SPLIT_MULTI_PART_ANNOS "$(GEODATABASE_FILE_IN_SPLIT_MULTI_PART_ANNOS_GEODATABASE_FILE_1)"GUI OPTIONAL CHECKBOX GEODATABASE_FILE_IN_SPLIT_MULTI_PART_ANNOS_GEODATABASE_FILE_1 yes%no Split Multi-Part Annotations# Include this file in source setting section to add native search envelope processing# Zero as a default means we don't do any search -- this makes workbench happier# ===========================================================================DEFAULT_MACRO GEODATABASE_FILE_IN_SEARCH_ENVELOPE_MINX_GEODATABASE_FILE_1 0GEODATABASE_FILE_1_SEARCH_ENVELOPE "$(GEODATABASE_FILE_IN_SEARCH_ENVELOPE_MINX_GEODATABASE_FILE_1)"GUI OPTIONAL FLOAT GEODATABASE_FILE_IN_SEARCH_ENVELOPE_MINX_GEODATABASE_FILE_1 Minimum X:# ===========================================================================DEFAULT_MACRO GEODATABASE_FILE_IN_SEARCH_ENVELOPE_MINY_GEODATABASE_FILE_1 0GEODATABASE_FILE_1_SEARCH_ENVELOPE "$(GEODATABASE_FILE_IN_SEARCH_ENVELOPE_MINY_GEODATABASE_FILE_1)"GUI OPTIONAL FLOAT GEODATABASE_FILE_IN_SEARCH_ENVELOPE_MINY_GEODATABASE_FILE_1 Minimum Y:# ===========================================================================DEFAULT_MACRO GEODATABASE_FILE_IN_SEARCH_ENVELOPE_MAXX_GEODATABASE_FILE_1 0GEODATABASE_FILE_1_SEARCH_ENVELOPE "$(GEODATABASE_FILE_IN_SEARCH_ENVELOPE_MAXX_GEODATABASE_FILE_1)"GUI OPTIONAL FLOAT GEODATABASE_FILE_IN_SEARCH_ENVELOPE_MAXX_GEODATABASE_FILE_1 Maximum X:# ===========================================================================DEFAULT_MACRO GEODATABASE_FILE_IN_SEARCH_ENVELOPE_MAXY_GEODATABASE_FILE_1 0GEODATABASE_FILE_1_SEARCH_ENVELOPE "$(GEODATABASE_FILE_IN_SEARCH_ENVELOPE_MAXY_GEODATABASE_FILE_1)"GUI OPTIONAL FLOAT GEODATABASE_FILE_IN_SEARCH_ENVELOPE_MAXY_GEODATABASE_FILE_1 Maximum Y:# ===========================================================================DEFAULT_MACRO GEODATABASE_FILE_IN_CLIP_TO_ENVELOPE_GEODATABASE_FILE_1 NOGEODATABASE_FILE_1_CLIP_TO_ENVELOPE "$(GEODATABASE_FILE_IN_CLIP_TO_ENVELOPE_GEODATABASE_FILE_1)"GUI OPTIONAL CHECKBOX GEODATABASE_FILE_IN_CLIP_TO_ENVELOPE_GEODATABASE_FILE_1 YES%NO Clip to Search Envelope#==============================================================================# The following specifies that complex representations for annotation should# be split into simpler representations.DEFAULT_MACRO _GEODBSplitComplexAnnotations_GEODATABASE_FILE_1 noGUI CHOICE _GEODBSplitComplexAnnotations_GEODATABASE_FILE_1 yes%no Split Complex Annotations:GEODATABASE_FILE_1_SPLIT_COMPLEX_ANNOS $(_GEODBSplitComplexAnnotations_GEODATABASE_FILE_1)#==============================================================================# The following specifies whether to keep (YES) or clean up (NO) Esri's# multipatch texture caches.DEFAULT_MACRO _GEODBCacheMultipatchTextures_GEODATABASE_FILE_1 yesGUI CHOICE _GEODBCacheMultipatchTextures_GEODATABASE_FILE_1 yes%no Cache Multipatch Textures:GEODATABASE_FILE_1_CACHE_MULTIPATCH_TEXTURES $(_GEODBCacheMultipatchTextures_GEODATABASE_FILE_1)# ============================================================================# Search Envelope Coordinate SystemDEFAULT_MACRO _GEODB_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_GEODATABASE_FILE_1 GUI OPTIONAL COORDSYS _GEODB_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_GEODATABASE_FILE_1 Search Envelope Coordinate System:GEODATABASE_FILE_1_SEARCH_ENVELOPE_COORDINATE_SYSTEM "$(_GEODB_IN_SEARCH_ENVELOPE_COORDINATE_SYSTEM_GEODATABASE_FILE_1)"# ========================================================================# The following determines whether to vectorize arcs.如果SPLIT_AT_ARCS#被设置为yes,then arcs do not get vectorized and lines/polygons# containing arcs get split up into line segments and arc segments.## Update: This keyword is not applicable when using rich geometry.Since# all new mapping files/workspaces have FME_USE_RICH_GEOMETRY set to YES then# we do not need to expose this keyword.#DEFAULT_MACRO _GEODBInSplitAtArcs no#DEFAULT_MACRO _GEODBInSplitAtArcs NO#GUI OPTIONAL CHOICE _GEODBInSplitAtArcs yes%no Split at Arcs#GEODATABASE_FILE_SPLIT_AT_ARCS "$(_GEODBInSplitAtArcs_GEODATABASE_FILE_1)"## ========================================================================# The following defines the search feature for the query.它将#任意复杂的搜索特性定义为空间约束。它的形式是# _SEARCH_FEATURE [ ]+.DEFAULT_MACRO _GEODBInSearchFeature_GEODATABASE_FILE_1 GUI OPTIONAL TEXT _GEODBInSearchFeature_GEODATABASE_FILE_1 Search Feature:GEODATABASE_FILE_1_SEARCH_FEATURE $(_GEODBInSearchFeature_GEODATABASE_FILE_1)# ========================================================================# Determines whether the spatial component or the attribute component of a# query is performed first.This is only applicable when both spatial and# non-spatial searches are being performed.DEFAULT_MACRO _GEODBInSearchOrder_GEODATABASE_FILE_1 SPATIAL_FIRSTGUI OPTIONAL CHOICE _GEODBInSearchOrder_GEODATABASE_FILE_1 SPATIAL_FIRST%ATTRIBUTE_FIRST Search Order:GEODATABASE_FILE_1_SEARCH_ORDER $(_GEODBInSearchOrder_GEODATABASE_FILE_1)# ========================================================================# Determines which type of search method to use.This keyword is only applicable# when either the keyword SEARCH_ENVELOPE or the keyword SEARCH_FEATURE is specified.DEFAULT_MACRO _GEODBInSearchMethod_GEODATABASE_FILE_1 GEODB_INTERSECTSGUI OPTIONAL CHOICE _GEODBInSearchMethod_GEODATABASE_FILE_1 GEODB_INTERSECTS%GEODB_ENVELOPE_INTERSECTS%GEODB_TOUCHES%GEODB_OVERLAPS%GEODB_CROSSES%GEODB_WITHIN%GEODB_CONTAINS Search MethodGEODATABASE_FILE_1_SEARCH_METHOD $(_GEODBInSearchMethod_GEODATABASE_FILE_1)# ========================================================================# The following determines whether to read features from the geodatabase# tables/feature classes or to read metadata from those tables/feature# classes.DEFAULT_MACRO _GEODBInFeatureReadMode_GEODATABASE_FILE_1 FeaturesGUI CHOICE _GEODBInFeatureReadMode_GEODATABASE_FILE_1 Features%Metadata Feature Read Mode:GEODATABASE_FILE_1_FEATURE_READ_MODE "$(_GEODBInFeatureReadMode_GEODATABASE_FILE_1)"# ========================================================================# The following specifies that simple geometry should be checked for# when reading features.DEFAULT_MACRO _GEODBInCheckSimpleGeom_GEODATABASE_FILE_1 noGUI CHOICE _GEODBInCheckSimpleGeom_GEODATABASE_FILE_1 yes%no Check for Simple Geometry:GEODATABASE_FILE_1_CHECK_SIMPLE_GEOM $(_GEODBInCheckSimpleGeom_GEODATABASE_FILE_1)# ========================================================================# The following specifies whether feature-linked annotations should# be merged onto the main feature as a text list attribute when reading.DEFAULT_MACRO _GEODBMergeFeatLinkedAnnos_GEODATABASE_FILE_1 noGUI CHOICE _GEODBMergeFeatLinkedAnnos_GEODATABASE_FILE_1 yes%no Merge Feature Linked Annotations:GEODATABASE_FILE_1_MERGE_FEAT_LINKED_ANNOS $(_GEODBMergeFeatLinkedAnnos_GEODATABASE_FILE_1)# ==============================================================================# The following specifies an SQL command to execute before opening the first# Geodatabase table.DEFAULT_MACRO _GEODBInBeginSql_GEODATABASE_FILE_1 GUI OPTIONAL TEXT_EDIT_SQL _GEODBInBeginSql_GEODATABASE_FILE_1 SQL Statement To Execute Before Translation:GEODATABASE_FILE_1_BEGIN_SQL{0} "$(_GEODBInBeginSql_GEODATABASE_FILE_1)"# ==============================================================================# The following specifies an SQL command to execute after closing all the# Geodatabase tables.DEFAULT_MACRO _GEODBInEndSql_GEODATABASE_FILE_1 GUI OPTIONAL TEXT_EDIT_SQL _GEODBInEndSql_GEODATABASE_FILE_1 SQL Statement To Execute After Translation:GEODATABASE_FILE_1_END_SQL{0} "$(_GEODBInEndSql_GEODATABASE_FILE_1)"GEODATABASE_FILE_1_DATASET "$(SourceDataset_GEODATABASE_FILE_1)"GEODATABASE_FILE_1_GENERATE_FME_BUILD_NUM 13545#!END_SOURCE_HEADER # !START_WB_HEADERMACRO WB_KEYWORD " XLSXW_1 " # !END_WB_HEADER # !START_DEST_HEADER XLSXW XLSXW_1 # = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = #首先获得数据库的数据集。Excel,it's the file name.# For now we'll use whatever they had when they generated this mapping file,# and not reprompt#!END_DEST_HEADER # !START_WB_HEADERDEFAULT_MACRO DestDatasetINCLUDE [ if {"$(DestDataset)" != ""} { \ puts {DEFAULT_MACRO DestDataset_XLSXW_1 $(DestDataset)} \ } ]#!END_WB_HEADER # !START_DEST_HEADER XLSXW XLSXW_1DEFAULT_MACRO DestDataset_XLSXW_1 $(DestDataset_XLSXW)GUI FILENAME DestDataset_XLSXW_1 Excel_Files(*.xlsx;*.xlsm;*.xls)|*.xlsx;*.xlsm;*.xls|All_files(*.*)|*.* Destination Microsoft Excel File:# ============================================================================# Whether or not to overwrite the fileDEFAULT_MACRO XLSXW_OUT_OVERWRITE_FILE_XLSXW_1 YesXLSXW_1_OVERWRITE_FILE "$(XLSXW_OUT_OVERWRITE_FILE_XLSXW_1)"GUI CHOICE XLSXW_OUT_OVERWRITE_FILE_XLSXW_1 Yes%No Overwrite Existing File:# Template file optionDEFAULT_MACRO XLSXW_OUT_TEMPLATEFILE_XLSXW_1 XLSXW_1_TEMPLATEFILE "$(XLSXW_OUT_TEMPLATEFILE_XLSXW_1)"GUI OPTIONAL FILENAME_MUSTEXIST XLSXW_OUT_TEMPLATEFILE_XLSXW_1 Excel_Files(*.xlsx;*.xlsm;*.xls)|*.xlsx;*.xlsm;*.xls|Excel_Workbook_2007(*.xlsx)|*.xlsx|Excel_Macro_Workbook(*.xlsm)|*.xlsm|Excel_Workbook_Pre_2007(*.xls)|*.xls|All_files(*.*)|*.* Template File:# ============================================================================# Parameters whose values will be percolated to the feature types,but will not# remain as writer level settings# Drop feature type firstDEFAULT_MACRO XLSXW_OUT_DROP_TABLE_XLSXW_1 NoXLSXW_1_DROP_TABLE "$(XLSXW_OUT_DROP_TABLE_XLSXW_1)"# Truncate feature type first (removeallcelldata,retainformatting/headers,etc.)DEFAULT_MACRO XLSXW_OUT_TRUNCATE_TABLE_XLSXW_1 NoXLSXW_1_TRUNCATE_TABLE "$(XLSXW_OUT_TRUNCATE_TABLE_XLSXW_1)"# Whether to write out the field names (orjustthedata)DEFAULT_MACRO XLSXW_OUT_FIELD_NAMES_OUT_XLSXW_1 YesXLSXW_1_FIELD_NAMES_OUT "$(XLSXW_OUT_FIELD_NAMES_OUT_XLSXW_1)"# Default writer modeDEFAULT_MACRO XLSXW_OUT_WRITER_MODE_XLSXW_1 Insert_New_RowsXLSXW_1_WRITER_MODE "$(XLSXW_OUT_WRITER_MODE_XLSXW_1)"XLSXW_1_DATASET "$(DestDataset_XLSXW_1)"XLSXW_1_GENERATE_FME_BUILD_NUM 13545#!END_DEST_HEADER # !START_WB_HEADER # !END_WB_HEADER # !END_HEADERLOG_FILENAME "$(FME_MF_DIR)Extract_domains_from_geodatabase_gdb_py34.log"LOG_APPEND NOLOG_FILTER_MASK -1LOG_MAX_FEATURES 200LOG_MAX_RECORDED_FEATURES 200FME_REPROJECTION_ENGINE FMEFME_IMPLICIT_CSMAP_REPROJECTION_MODE DatumFME_GEOMETRY_HANDLING ClassicFME_STROKE_MAX_DEVIATION 0DEFAULT_MACRO DATASET_KEYWORD_TEXTLINE_1 TEXTLINE_1DEFAULT_MACRO DATASET_KEYWORD_GEODATABASE_FILE_1 GEODATABASE_FILE_1DEFAULT_MACRO DATASET_KEYWORD_XLSXW_1 XLSXW_1# -------------------------------------------------------------------------TEXTLINE_1_READER_META_ATTRIBUTES fme_feature_type# -------------------------------------------------------------------------GEODATABASE_FILE_1_READER_META_ATTRIBUTES fme_feature_type# -------------------------------------------------------------------------MULTI_READER_CONTINUE_ON_READER_FAILURE NoFME_BEGIN_TCL FME_Decode lappend sysString FME_MacroValues FME_HOME_UNIX fme lappend sysString 生成 lappend sysString GEODATABASE_FILE lappend sysString lappend sysString FME_MacroValues SRC_GDB lappend sysString env 临时 temp.fme lappend sysString ——RESOLVE_DOMAINS lappend sysString 是的 lappend sysString 2 1 eval 执行 sysString # -------------------------------------------------------------------------MACRO WORKSPACE_NAME Extract_domains_from_geodatabase_gdb_py34MACRO FME_VIEWER_APP fmedatainspector# -------------------------------------------------------------------------FACTORY_DEF * RoutingFactory FACTORY_NAME "Router and Unexpected Input Remover" COMMAND_PARM_EVALUATION SINGLE_PASS INPUT FEATURE_TYPE * ROUTE TEXTLINE TEXTLINE_1::text_line multi_reader_keyword,$(DATASET_KEYWORD_TEXTLINE_1) TO FME_GENERIC ::text_line ALIAS_GEOMETRY MERGE_INPUT Yes OUTPUT ROUTED FEATURE_TYPE *TEXTLINE_1_MERGE_DEF TEXTLINE_1::text_line EXACT text_line# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME "text_line (TEXTLINE_1) Splitter" INPUT FEATURE_TYPE text_line OUTPUT FEATURE_TYPE text_line_TEXTLINE_1DEFAULT_MACRO WB_CURRENT_CONTEXT# -------------------------------------------------------------------------MACRO casemacINCLUDE [ if { {no} == {no} } { puts {MACRO casemac -nocase}} ]Tcl2 proc StringSearcher_b11fcb19_b895_42ad_ae52_8ba93eedc6960_doGrep { regExp } { set results [regexp -inline $(casemac) [FME_DecodeText $regExp] [FME_GetAttribute {"text_line_data"}]];设置attrName {_matched_characters};设置索引0;{FME_SetAttribute $attrName $part;设置attrName“_matched_parts{美元指数}”;增加指数;};如果{$index > 0} {FME_UnsetAttributes $attrName;};返回美元指数;}FACTORY_DEF * TestFactory FACTORY_NAME StringSearcher INPUT FEATURE_TYPE text_line_TEXTLINE_1 TEST @Tcl2("StringSearcher_b11fcb19_b895_42ad_ae52_8ba93eedc6960_doGrep {coded_domain} ") > 0 OUTPUT PASSED FEATURE_TYPE StringSearcher_MATCHED# -------------------------------------------------------------------------FME_PYTHON_PATH "$(FME_MF_DIR)"FACTORY_DEF * PythonFactory FACTORY_NAME PythonCaller INPUT FEATURE_TYPE StringSearcher_MATCHED SYMBOL_NAME parseDomains SOURCE_CODE def parseDomains 功能 : startIndex = 0 quotesOn = 0 代码 = = tempList = # textLine = feature.getStringAttribute text_line_data textLine = feature.getAttribute text_line_data # 列表 之间的 括号 开始 = textLine.index + 1 结束 = textLine.index textLine = textLine 开始,结束 # 解码 思想你 编码 使用 一个 TCL 调用 : tclFunc = Tcl2 FME_DecodeText + textLine + textLine = feature.performFunction tclFunc # 解析 tempList 范围 len textLine : 如果 textLine .count : ! = 0 quotesOn = = 0: tempList.append textLine startIndex:我 startIndex = + 1 elif textLine .count ! = 0 quotesOn = = 0: quotesOn = 1 elif textLine .count ! = 0 quotesOn = = 1: quotesOn = 0 tempList.append textLine startIndex: len textLine # 的地方 tempList 部分 适当的 属性 范围 len tempList : 如果 = = 0: # feature.setStringAttribute domain_name tempList feature.setAttribute domain_name tempList elif = = 1: # feature.setStringAttribute domain_type tempList feature.setAttribute domain_type tempList elif % 2 = = 0: codes.append tempList 其他: values.append tempList # feature.setListAttribute 代码 代码 feature.setAttribute 代码 代码 # feature.setListAttribute 价值 feature.setAttribute 价值 输出PYOUTPUT FEATURE_TYPE PythonCaller_OUTPUT # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #暴露所有属性。这确保如果您公开fme_dataset,you will get it.READER_META_ATTRIBUTES fme_feature_type fme_dataset fme_basenameFACTORY_DEF * TeeFactory FACTORY_NAME AttributeExposer INPUT FEATURE_TYPE PythonCaller_OUTPUT OUTPUT FEATURE_TYPE AttributeExposer_OUTPUT# -------------------------------------------------------------------------INCLUDE [ set macroLine "MACRO AttributeRemover_LIST_EXP ";{set attr [FME_DecodeText $attr];设置attr [regsub "{}$" $attr "{}.*];设置attr [regsub -all "{}" $attr "{\[0-9\]+}"];附加macroLine”^ attr美元”;};把macroLine美元;]FACTORY_DEF {*} TeeFactory FACTORY_NAME AttributeRemover INPUT FEATURE_TYPE AttributeExposer_OUTPUT OUTPUT { FEATURE_TYPE AttributeRemover_OUTPUT @RemoveAttributes(_matched_characters,text_line_data) @RemoveAttributes(fme_regexp_match"$(AttributeRemover_LIST_EXP)") }# -------------------------------------------------------------------------FACTORY_DEF * ElementFactory FACTORY_NAME ListExploder INPUT FEATURE_TYPE AttributeRemover_OUTPUT LIST_NAME code{} ELEMENT_NUMBER_FIELD _element_index CLONE_GEOMETRY MODE LEAN OUTPUT ELEMENT FEATURE_TYPE ListExploder_OUTPUT# -------------------------------------------------------------------------Tcl2 proc ListIndexer_indexer {index numElements} { if {$index < 0 } { set index [expr $numElements + $index];};regsub \“{} \”{值{}}\“{美元指数}\”listWithIndex;regsub \"{}\" {value{}} {} listBase;设置complexListExp“listWithIndex \美元。”;设置前缀长度[expr][字符串长度$complexListExp]-1];如果{$attr == $listWithIndex} {lappend attrsToCopy $listBase $attr;{set newAttr [string replace $attr 0 $prefixLength];增加吸引人的$newAttr $attr;};};如果{[info exists attrsToCopy] && [llength $attrsToCopy] >} {eval FME_Execute CopyAttributes $attrsToCopy;};INPUT FEATURE_TYPE listdynamder_output TEST @EvaluateExpression(FLOAT, 价值 _element_index (" listind火用_indexer @EvaluateExpression(FLOAT, 价值 _element_index (" ListIndexer_OUTPUT @Tcl2 " ("ListIndexer_indexer @EvaluateExpression(FLOAT, 价值 _element_index ,ListIndexer) @NumElements(value{})")# -------------------------------------------------------------------------Tcl2 set {Concatenator_valList} [split &domain_name,&domain_type,&value,&code ,];# We use Tcl here instead of @Concatenate because Tcl is more flexible.Tcl2 proc Concatenator_concatter {} { global {Concatenator_valList};设置val {};{append val [fme_decodet敲诈attr $valEnc];};FME_SetAttribute {_concatenated} val美元;}FACTORY_DEF * TeeFactory FACTORY_NAME Concatenator INPUT FEATURE_TYPE ListIndexer_OUTPUT OUTPUT FEATURE_TYPE Concatenator_OUTPUT @Tcl2(Concatenator_concatter)# -------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME DuplicateRemover_Match_Value_Extractor INPUT FEATURE_TYPE Concatenator_OUTPUT OUTPUT FEATURE_TYPE ___TODUPTEST___ __DUPTOCHECK__ @Concatenate(___DuplicateRemover_,fme_attribute_name,"_concatenated")FACTORY_DEF * TestFactory FACTORY_NAME DuplicateRemover INPUT FEATURE_TYPE ___TODUPTEST___ TEST @Count(fme_attribute_name,__DUPTOCHECK__) > 0 OUTPUT FAILED FEATURE_TYPE DuplicateRemover_UNIQUE @Count(fme_attribute_name,__DUPTOCHECK__) @RemoveAttributes(__DUPTOCHECK__)# -------------------------------------------------------------------------FACTORY_DEF * RoutingFactory FACTORY_NAME "Destination Feature Type Routing Correlator" COMMAND_PARM_EVALUATION SINGLE_PASS INPUT FEATURE_TYPE * ROUTE FME_GENERIC DuplicateRemover_UNIQUE TO XLSXW __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,0, SupplyAttributes 编码 fme_template_feature_type NewFeatureType , EvaluateExpression ATTR_CREATE_EXPR __wb_out_feat_type__ 价值 openparen domain_name closeparen NewFeatureType GEOMETRY FEATURE_TYPE_ATTRIBUTE __wb_out_feat_type__ OUTPUT ROUTED FEATURE_TYPE * OUTPUT 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 "Final Output Nuker" INPUT FEATURE_TYPE __nuke_me__# -------------------------------------------------------------------------XLSXW_1_DEF NewFeatureType xlsx_drop_sheet No xlsx_trunc_sheet No xlsx_field_names_out Yes xlsx_start_col "" xlsx_start_row "" xlsx_offset_col "" xlsx_offset_row "" xlsx_table_writer_mode Insert_New_Rows xlsx_row_id_column "" code number(20,version 1 number_format_string 字体 font_color background_color pattern_color pattern_style CELL_BORDER_FORMATTING 没有 CELL_BORDER_COLOR CELL_BORDER_STYLE text_alignment 没有 horizontal_alignment vertical_alignment 缩进 text_orientation text_control cell_protection 没有 hide_cells lock_cells )值字符串(20日版本 1 number_format_string 字体 font_color background_color pattern_color pattern_style CELL_BORDER_FORMATTING 没有 CELL_BORDER_COLOR CELL_BORDER_STYLE text_alignment 没有 horizontal_alignment vertical_alignment 缩进 text_orientation text_control cell_protection 没有 hide_cells lock_cells )