#!#! #! #! #!#!#!#!#! #!#!#!#! #!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #! #!#!#!#!#! #!#!#! #!#!#!#! #! #! #! #!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#! #!#!#!#! #! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#! #!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#!#! #!#! #!#! #!#! #!#!#!GUI IGNORE SourceDataset_MRSID_1,MRSID_IN_SEARCH_ENVELOPE_MINX_MRSID_1,MRSID_IN_SEARCH_ENVELOPE_MINY_MRSID_1,MRSID_IN_SEARCH_ENVELOPE_MAXX_MRSID_1,MRSID_IN_SEARCH_ENVELOPE_MAXY_MRSID_1,MRSID_IN_CLIP_TO_ENVELOPE_MRSID_1,SEARCH_ENVELOPE_COORDINATE_SYSTEM_MRSID_1,DestDataset_ECW_1,DestDataset_TEXTLINE_1,TEXTLINE_OUT_OVERWRITE_FILE_TEXTLINE_1,TEXTLINE_OUT_END_OF_LINE_TEXTLINE_1,TEXTLINE_OUT_WRITE_LAST_EOL_TEXTLINE_1,TEXTLINE_OUT_ENCODING_TEXTLINE_1,TEXTLINE_OUT_WRITE_UTF8_BOM_TEXTLINE_1 DEFAULT_MACRO的MrSID C:\ FMEData \数据\栅格\的MrSID \ * SID GUI多文件的MrSID MRSID_Files(* .sid)| * .sid | All_Files(*)| * *来源LizardTech的MrSID文件(一个或多个):INCLUDE [如果{[串等于-length 15 {FME_CONDITIONAL} {$(的MrSID)​​}] == 0。} {集encodedVal [FME_EncodeText {$(的MrSID)​​}];看跌期权 “MACRO MRSID__FMEENCODED__ $ encodedVal”;}其他{集encodedVal {$(的MrSID)​​};看跌期权 “MACRO MRSID__FMEENCODED__ $ encodedVal”;};] DEFAULT_MACRO MOSAIC MosaicTest GUI TEXT MOSAIC马赛克图像基本名称:INCLUDE [如果{[串等于-length 15 {FME_CONDITIONAL} {$(MOSAIC)}] == 0} {设定encodedVal [FME_EncodeText {$(MOSAIC)}];看跌期权 “MACRO MOSAIC__FMEENCODED__ $ encodedVal”;}其他{集encodedVal {$(MOSAIC)};看跌期权 “MACRO MOSAIC__FMEENCODED__ $ encodedVal”; }; ] DEFAULT_MACRO ECW c:\scratch GUI DIRNAME ECW Destination ER Mapper ECW Directory: INCLUDE [ if {[string equal -length 15 {FME_CONDITIONAL} {$(ECW)} ] == 0} { set encodedVal [FME_EncodeText {$(ECW)}]; puts "MACRO ECW__FMEENCODED__ $encodedVal" ; } else { set encodedVal {$(ECW)}; puts "MACRO ECW__FMEENCODED__ $encodedVal" ; }; ] DEFAULT_MACRO REPORT $(FME_MF_DIR)test.mht GUI FILENAME REPORT Text/Compressed_Text_Files(*.txt;*.txt.gz)|*.txt;*.txt.gz|Text_Files(*.txt)|*.txt|Compressed_Text_Files(*.txt.gz)|*.txt.gz|All_files(*.*)|*.* Report File: INCLUDE [ if {[string equal -length 15 {FME_CONDITIONAL} {$(REPORT)} ] == 0} { set encodedVal [FME_EncodeText {$(REPORT)}]; puts "MACRO REPORT__FMEENCODED__ $encodedVal" ; } else { set encodedVal {$(REPORT)}; puts "MACRO REPORT__FMEENCODED__ $encodedVal" ; }; ] INCLUDE [ if {{$(MRSID)} == {}} { puts_real {Parameter 'MRSID' must be given a value.}; exit 1; }; ] INCLUDE [ if {{$(MOSAIC)} == {}} { puts_real {Parameter 'MOSAIC' must be given a value.}; exit 1; }; ] INCLUDE [ if {{$(ECW)} == {}} { puts_real {Parameter 'ECW' must be given a value.}; exit 1; }; ] INCLUDE [ if {{$(REPORT)} == {}} { puts_real {Parameter 'REPORT' must be given a value.}; exit 1; }; ] #! START_HEADER #! START_WB_HEADER READER_TYPE MRSID READER_KEYWORD MRSID_1 READER_GEN_DIRECTIVES GROUP_BY_DATASET,No,SEARCH_ENVELOPE_MINX,0,SEARCH_ENVELOPE_MINY,0,MRSID_EXPOSE_FORMAT_ATTRS,,_MERGE_SCHEMAS,YES,CLIP_TO_ENVELOPE,NO,USE_SEARCH_ENVELOPE,NO,SEARCH_ENVELOPE_MAXX,0,SEARCH_ENVELOPE_MAXY,0 WRITER_TYPE MULTI_WRITER MULTI_WRITER_DATASET_ORDER BY_ID MULTI_WRITER_FIRST_WRITER_ID 0 MULTI_WRITER_TYPE{0} ECW MULTI_WRITER_KEYWORD{0} ECW_1 MULTI_WRITER_TYPE{1} TEXTLINE MULTI_WRITER_KEYWORD{1} TEXTLINE_1 #! END_WB_HEADER #! START_WB_HEADER MACRO WB_KEYWORD "MRSID_1" #! END_WB_HEADER #! START_SOURCE_HEADER MRSID MRSID_1 # ======================================================================= # The following GUI line prompts for a file to be used as the source MRSID file. # 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 #! START_WB_HEADER DEFAULT_MACRO SourceDataset INCLUDE [ if {{$(SourceDataset)} != ""} { \ puts {DEFAULT_MACRO SourceDataset_MRSID_1 $(SourceDataset)} \ } ] #! END_WB_HEADER #! START_SOURCE_HEADER MRSID MRSID_1 DEFAULT_MACRO SourceDataset_MRSID_1 $(MRSID) GUI MULTIFILE SourceDataset_MRSID_1 MRSID_Files(*.sid)|*.sid|All_Files(*.*)|*.* Source LizardTech MrSID File(s): MRSID_1_READER_META_ATTRIBUTES fme_basename DEFAULT_MACRO MRSID_IN_GROUP_BY_DATASET_MRSID_1 No MRSID_1_GROUP_BY_DATASET "$(MRSID_IN_GROUP_BY_DATASET_MRSID_1)" # Include this file in source setting section to add external search envelope processing # Zero as a default means we don't do any search -- this makes workbench happier # =========================================================================== DEFAULT_MACRO MRSID_IN_SEARCH_ENVELOPE_MINX_MRSID_1 0 MRSID_1_SEARCH_ENVELOPE "$(MRSID_IN_SEARCH_ENVELOPE_MINX_MRSID_1)" GUI OPTIONAL FLOAT MRSID_IN_SEARCH_ENVELOPE_MINX_MRSID_1 Minimum X: # =========================================================================== DEFAULT_MACRO MRSID_IN_SEARCH_ENVELOPE_MINY_MRSID_1 0 MRSID_1_SEARCH_ENVELOPE "$(MRSID_IN_SEARCH_ENVELOPE_MINY_MRSID_1)" GUI OPTIONAL FLOAT MRSID_IN_SEARCH_ENVELOPE_MINY_MRSID_1 Minimum Y: # =========================================================================== DEFAULT_MACRO MRSID_IN_SEARCH_ENVELOPE_MAXX_MRSID_1 0 MRSID_1_SEARCH_ENVELOPE "$(MRSID_IN_SEARCH_ENVELOPE_MAXX_MRSID_1)" GUI OPTIONAL FLOAT MRSID_IN_SEARCH_ENVELOPE_MAXX_MRSID_1 Maximum X: # =========================================================================== DEFAULT_MACRO MRSID_IN_SEARCH_ENVELOPE_MAXY_MRSID_1 0 MRSID_1_SEARCH_ENVELOPE "$(MRSID_IN_SEARCH_ENVELOPE_MAXY_MRSID_1)" GUI OPTIONAL FLOAT MRSID_IN_SEARCH_ENVELOPE_MAXY_MRSID_1 Maximum Y: # =========================================================================== # BUG18999: We now have a soft clip to fall back on like native spatial index # thus we are reintroducing the clip to envelop as an option for users. # Defualt to soft clip as per the existing database readers we are emulating DEFAULT_MACRO MRSID_IN_CLIP_TO_ENVELOPE_MRSID_1 NO MRSID_1_CLIP_TO_ENVELOPE "$(MRSID_IN_CLIP_TO_ENVELOPE_MRSID_1)" GUI OPTIONAL CHECKBOX MRSID_IN_CLIP_TO_ENVELOPE_MRSID_1 YES%NO Clip to Search Envelope # PR:31021 # Include this file in workbench source preamble section to enable the ability # to specify a coordinate system for search envelope processing # =========================================================================== DEFAULT_MACRO SEARCH_ENVELOPE_COORDINATE_SYSTEM_MRSID_1 GUI OPTIONAL COORDSYS SEARCH_ENVELOPE_COORDINATE_SYSTEM_MRSID_1 Search Envelope Coordinate System: MRSID_1_SEARCH_ENVELOPE_COORDINATE_SYSTEM "$(SEARCH_ENVELOPE_COORDINATE_SYSTEM_MRSID_1)" # =========================================================================== MRSID_1_DATASET "$(SourceDataset_MRSID_1)" #! END_SOURCE_HEADER #! START_WB_HEADER MACRO WB_KEYWORD "ECW_1" #! END_WB_HEADER #! START_DEST_HEADER ECW ECW_1 # The following GUI lines prompt for a ECW file to be used as the # the destination of the data. # The user input is stored in a macro, which is then used to define # the dataset to be written. #! END_DEST_HEADER #! START_WB_HEADER DEFAULT_MACRO DestDataset INCLUDE [ if {"$(DestDataset)" != ""} { \ puts {DEFAULT_MACRO DestDataset_ECW_1 $(DestDataset)} \ } ] #! END_WB_HEADER #! START_DEST_HEADER ECW ECW_1 DEFAULT_MACRO DestDataset_ECW_1 $(ECW) GUI DIRNAME DestDataset_ECW_1 Destination ER Mapper ECW Directory: DEFAULT_MACRO _ECW_WRITER_COMPRESSION_LEVEL_ECW_1 75 DEFAULT_MACRO _ECW_WRITER_TAB_FILE_GENERATION_ECW_1 no ECW_1_COORDINATE_SYSTEM_GRANULARITY FEATURE ECW_1_DATASET "$(DestDataset_ECW_1)" #! END_DEST_HEADER #! START_WB_HEADER MACRO WB_KEYWORD "TEXTLINE_1" #! END_WB_HEADER #! START_DEST_HEADER TEXTLINE TEXTLINE_1 # ===================================================================== # The following GUI line prompts for a directory to be used as the # the destination for the TextLine files. The user input is stored in # a macro, which is then used to define the dataset to be written. #! END_DEST_HEADER #! START_WB_HEADER DEFAULT_MACRO DestDataset INCLUDE [ if {"$(DestDataset)" != ""} { \ puts {DEFAULT_MACRO DestDataset_TEXTLINE_1 $(DestDataset)} \ } ] #! END_WB_HEADER #! START_DEST_HEADER TEXTLINE TEXTLINE_1 DEFAULT_MACRO DestDataset_TEXTLINE_1 $(REPORT) GUI FILENAME DestDataset_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(*.*)|*.* Destination Text File: # ===================================================================== # The following GUI line prompts for the overwrite flag. The default is # YES. Possible values are YES or NO. Any value other than NO or # no is interpreted as YES. DEFAULT_MACRO TEXTLINE_OUT_OVERWRITE_FILE_TEXTLINE_1 YES TEXTLINE_1_OVERWRITE_FILE "$(TEXTLINE_OUT_OVERWRITE_FILE_TEXTLINE_1)" GUI CHOICE TEXTLINE_OUT_OVERWRITE_FILE_TEXTLINE_1 YES%NO Overwrite Existing File: # ===================================================================== # Set the type of encoding for the output file # ===================================================================== # Set line termination character DEFAULT_MACRO TEXTLINE_OUT_END_OF_LINE_TEXTLINE_1 System TEXTLINE_1_END_OF_LINE "$(TEXTLINE_OUT_END_OF_LINE_TEXTLINE_1)" GUI CHOICE TEXTLINE_OUT_END_OF_LINE_TEXTLINE_1 System%Windows%Unix%Macintosh%Source%None Line Termination: # ===================================================================== # Set whether to write the last line termination character DEFAULT_MACRO TEXTLINE_OUT_WRITE_LAST_EOL_TEXTLINE_1 YES TEXTLINE_1_WRITE_LAST_EOL "$(TEXTLINE_OUT_WRITE_LAST_EOL_TEXTLINE_1)" GUI CHOICE TEXTLINE_OUT_WRITE_LAST_EOL_TEXTLINE_1 YES%NO Write Last Line Terminator: DEFAULT_MACRO TEXTLINE_OUT_ENCODING_TEXTLINE_1 ANSI TEXTLINE_1_ENCODING "$(TEXTLINE_OUT_ENCODING_TEXTLINE_1)" GUI STRING_OR_ENCODING TEXTLINE_OUT_ENCODING_TEXTLINE_1 UTF-8%UTF-16LE%UTF-16BE%ANSI%BIG5%SJIS%CP037%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: # ===================================================================== # The following GUI line prompts for the overwrite flag. The default is # YES. Possible values are YES or NO. Any value other than NO or # no is interpreted as YES. DEFAULT_MACRO TEXTLINE_OUT_WRITE_UTF8_BOM_TEXTLINE_1 YES TEXTLINE_1_WRITE_UTF8_BOM "$(TEXTLINE_OUT_WRITE_UTF8_BOM_TEXTLINE_1)" GUI CHOICE TEXTLINE_OUT_WRITE_UTF8_BOM_TEXTLINE_1 YES%NO Write UTF Byte Order Mark # ===================================================================== # Set the mime type. Note -- it is actually only used inside of workspaces # as a FORMAT_PARAMETER which even then is parsed only by the FME Server # Repository Manager TEXTLINE_1_DATASET "$(DestDataset_TEXTLINE_1)" #! END_DEST_HEADER #! END_HEADER LOG_FILENAME "$(FME_MF_DIR)MosaicReport.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_FILTER_MASK -1 DEFAULT_MACRO DATASET_KEYWORD_MRSID_1 MRSID_1 DEFAULT_MACRO DATASET_KEYWORD_ECW_1 ECW_1 DEFAULT_MACRO DATASET_KEYWORD_TEXTLINE_1 TEXTLINE_1 # ------------------------------------------------------------------------- MRSID_1_READER_META_ATTRIBUTES fme_basename fme_feature_type # ------------------------------------------------------------------------- MULTI_READER_CONTINUE_ON_READER_FAILURE No # ------------------------------------------------------------------------- MACRO WORKSPACE_NAME MosaicReport MACRO FME_VIEWER_APP fmedatainspector # ------------------------------------------------------------------------- INCLUDE [ if {[info exists env(FME_TEMP)] && [file isdirectory $env(FME_TEMP)] && [file isdirectory $env(TEMP)]} {set gVisualizerTemp $env(FME_TEMP)} elseif {[info exists env(TEMP)]} {set gVisualizerTemp $env(TEMP)} elseif { $tcl_platform(platform) == "unix" } {set gVisualizerTemp "/tmp"} else {set gVisualizerTemp c:}; regsub -all {[ ,&]} {$(WORKSPACE_NAME)} {_} wsname; 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 # ------------------------------------------------------------------------- MRSID_1_DEF MRSID # ------------------------------------------------------------------------- Lookup ___KnownFeatureTypes___ MRSID yes "" no # ------------------------------------------------------------------------- FACTORY_DEF * TestFactory FACTORY_NAME "Unexpected Input Remover" INPUT FEATURE_TYPE * TEST @Lookup(___KnownFeatureTypes___,@FeatureType()) == yes OUTPUT PASSED FEATURE_TYPE * # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME "Source -> Generic" INPUT FEATURE_TYPE * OUTPUT FEATURE_TYPE * @Transform(MRSID,FME_GENERIC,PRESERVE_GEOMETRY) # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME "MRSID (MRSID_1) Splitter" INPUT FEATURE_TYPE MRSID OUTPUT FEATURE_TYPE MRSID_0 OUTPUT FEATURE_TYPE MRSID_1 OUTPUT FEATURE_TYPE MRSID_2 DEFAULT_MACRO WB_CURRENT_CONTEXT # ------------------------------------------------------------------------- Tcl2 proc TimeStamper_formatGetter { inVal } { if { [string compare $inVal {FME Date/Time (^Y^m^d^H^M^S)}] == 0 } { return {^Y^m^d^H^M^S}; } elseif { [string compare $inVal {FME Date (^Y^m^d)}] == 0} { return {^Y^m^d}; } elseif { [string compare $inVal {FME Time (^H^M^S)}] == 0} { return {^H^M^S}; } elseif { [string compare $inVal {XML Date (^Y-^m-^d)}] == 0} { return {^Y-^m-^d}; } elseif { [string compare $inVal {XML DateTime (^Y-^m-^dT^H:^M:^S)}] == 0} { return {^Y-^m-^dT^H:^M:^S}; } elseif { [string compare $inVal {XML Time (^H:^M:^S)}] == 0} { return {^H:^M:^S}; } elseif { [string compare $inVal {Locale Date (^c)}] == 0} { return {^c}; }; return $inVal; } FACTORY_DEF * TeeFactory FACTORY_NAME TimeStamper INPUT FEATURE_TYPE MRSID_0 OUTPUT FEATURE_TYPE TimeStamper_OUTPUT @SupplyAttributes(ENCODED, _timestamp, @Timestamp(@Tcl2("TimeStamper_formatGetter {^Y-^m-^d ^H:^M:^S} "))) # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME RasterPropertiesExtractor INPUT FEATURE_TYPE TimeStamper_OUTPUT OUTPUT FEATURE_TYPE RasterPropertiesExtractor_OUTPUT @RasterProperties(RASTER_ROTATION2D) # ------------------------------------------------------------------------- FACTORY_DEF * RasterMosaicFactory FACTORY_NAME RasterMosaicker INPUT FEATURE_TYPE MRSID_1 ACCUMULATE_ATTRIBUTES yes NODATA_OVERWRITE No INTERPOLATION_TYPE_NAME Bicubic COMPOSITE_USING_ALPHA_BAND no SNAPPING_TYPE RESAMPLE MERGE_PALETTES Yes OUTPUT MOSAICKED FEATURE_TYPE RasterMosaicker_OUTPUT # ------------------------------------------------------------------------- Tcl2 proc ParameterFetcher_doFetch {} { foreach {name val} {"fme_basename {$(MOSAIC__FMEENCODED__)} _DestDataset_ECW {$(ECW__FMEENCODED__)}"} { if { [string match {* *} $ VAL] == 1} {集VAL [FME_Execute EvaluateExpression {STRING} $ VAL {ParameterFetcher}];} else {set val [fme_decodetextorattrttr $ val];};FME_SetAttribute [FME_DecodeText $名称] $ VAL}} FACTORY_DEF * TeeFactory FACTORY_NAME ParameterFetcher INPUT FEATURE_TYPE RasterMosaicker_OUTPUT输出FEATURE_TYPE ParameterFetcher_OUTPUT @ TCL2(ParameterFetcher_doFetch)FACTORY_DEF * TeeFactory FACTORY_NAME “ParameterFetcher输出分配器” INPUT FEATURE_TYPE ParameterFetcher_OUTPUT输出FEATURE_TYPE ParameterFetcher_OUTPUT_0输出FEATURE_TYPE ParameterFetcher_OUTPUT_1#---------------------------------------------------------------------------------------INCLUDE [ if {{Percentage} == {RowsColumns}} { puts {MACRO RESAMPLE_ARGS DIMENSIONS, ,双三次}} elseif的{{百分比} == {CELLSIZE}} {{放MACRO RESAMPLE_ARGS CELL_SIZE, ,双三次}} elseif的{{百分比} == {百分比}} {{放MACRO RESAMPLE_ARGS百分比,1,1,双三次}};] FACTORY_DEF * TeeFactory FACTORY_NAME RasterResampler INPUT FEATURE_TYPE ParameterFetcher_OUTPUT_1输出FEATURE_TYPE RasterResampler_RESAMPLED @ResampleRaster($(RESAMPLE_ARGS))#------------------------------------------------------------------------- INCLUDE [如果{{百分比} == {RowsColumns}} {{放MACRO RESAMPLE_ARGS尺寸, ,双三次}} elseif的{{百分比} == {CELLSIZE}} {{放MACRO RESAMPLE_ARGS CELL_SIZE, ,双三次}} elseif的{{百分比} == {百分比}} {{放MACRO RESAMPLE_ARGS百分比,1,1,双三次}};] FACTORY_DEF * TeeFactory FACTORY_NAME RasterResampler_2 INPUT FEATURE_TYPE MRSID_2输出FEATURE_TYPE RasterResampler_2_RESAMPLED @ResampleRaster($(RESAMPLE_ARGS))#------------------------------------------------------------------------- FACTORY_DEF * AttrSetFactory FACTORY_NAME AttributeCreator INPUTFEATURE_TYPE RasterResampler_2_RESAMPLED INPUT FEATURE_TYPE RasterResampler_RESAMPLED ATTR _url HTTP: 图片 价值 fme_basename. 巴纽输出输出FEATURE_TYPE AttributeCreator_OUTPUT#------------------------------------------------------------------------- TCL2 PROC Creator_2_CoordSysRemover {} {全球FME_CoordSys;集FME_CoordSys {};}宏Creator_2_XML NOT_ACTIVATED MACRO Creator_2_CLASSIC NOT_ACTIVATED MACRO Creator_2_2D3D 2D_GEOMETRY MACRO Creator_2_COORDS INCLUDE [如果{{几何对象} == {几何对象}} {{放MACRO Creator_2_XML *}}] INCLUDE [如果{{几何对象} == {2D坐标列表}} {{放MACRO Creator_2_2D3D 2D_GEOMETRY};放{MACRO Creator_2_CLASSIC *}}] INCLUDE [如果{{几何对象} == {三维坐标列表}} {{放MACRO Creator_2_2D3D 3D_GEOMETRY};看跌期权{MACRO Creator_2_CLASSIC *}}]有[如果{{几何对象} == {2D最小/最大框}} {集评论{我们需要把它们了minX MINY maxX的美星的COORDS为坐标的完整列表多边形};集splitCoords [分裂[字符串装饰{ }]];如果{[llength $ splitCoords]> 4} {集trimmedCoords {};的foreach项$ {splitCoords如果{$项目= {}} {lappend trimmedCoords $项目}!};集splitCoords $ trimmedCoords;};如果{[llength $ splitCoords] = 4!} {{错误Creator_2:坐标列表中,必须具备四个号码 - ` ' 是无效的};};集其minX [LINDEX $ splitCoords 0];集MINY [LINDEX $ splitCoords 1];集maxX的[LINDEX $ splitCoords 2];集MAXY [LINDEX $ splitCoords 3];看跌期权 “MACRO Creator_2_COORDS $ $了minX $ MINY $其minX美星$ maxX的$ $美星$ maxX的$ MINY $了minX MINY”;放{MACRO Creator_2_2D3D 2D_GEOMETRY};看跌期权{MACRO Creator_2_CLASSIC *}}] FACTORY_DEF $(Creator_2_XML)CreationFactory FACTORY_NAME Creator_2_XML_Creator CREATE_AT_END没有输出FEATURE_TYPE _____CREATED______ @Geometry(FROM_ENCODED_STRING, ?XML 版本= 1.0 编码= US_ASCII. 独立= 还是 几何学 尺寸= 2 空值 几何学 )FACTORY_DEF $(Creator_2_CLASSIC)CreationFactory FACTORY_NAME Creator_2_CLASSIC_Creator $(Creator_2_2D3D)$(Creator_2_COORDS)CREATE_AT_END无输出FEATURE_TYPE _____CREATED______ FACTORY_DEF * TeeFactory FACTORY_NAME Creator_2_Cloner INPUT FEATURE_TYPE _____CREATED______ NUMBER_OF_COPIES 1个COPY_NUMBER_ATTRIBUTE “_creation_instance” 输出FEATURE_TYPE Creator_2_CREATED @ TCL2(Creator_2_CoordSysRemover)@CoordSys()fme_feature_type Creator_2#----------------------------------------------------------------------Tcl2 proc ParameterFetcher_2_doFetch {} { foreach {name val} {"new_basename {$(MOSAIC__FMEENCODED__)} _DestDataset_ECW {$(ECW__FMEENCODED__)}"} { if { [string match {* *} $ val] == 1} {set val [fme_execute evaluate expression {string} $ val {parameteryfetcher_2}];} else {set val [fme_decodetextorattrttr $ val];};fme_setattribute [fme_decodeText $ name] $ val}} factory_def * teefactory factory_name parameterfetcher_2输入feature_type creator_2_created输出feature_type parameterfetcher_2_output @ tcl2(parameterfetcher_2_dofetch)#------------------------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME XMLTemplater_2_ROW_INPUT_FACTORY INPUT FEATURE_TYPE __dummy__输入FEATURE_TYPE RasterPropertiesExtractor_OUTPUT输出FEATURE_TYPE XMLTemplater_2_DataFeatures __xml_templater_bucket__ ROW FACTORY_DEF * XMLTemplaterFactory FACTORY_NAME XMLTemplater_2 INPUT CONTROL_FEATURE FEATURE_TYPE ParameterFetcher_2_OUTPUT INPUT DATA_FEATURE FEATURE_TYPE XMLTemplater_2_DataFeatures RESULT_ATTR _htmlTable OUTPUT_XML_HEADER NO BUCKET_ATTR_NAME __xml_templater_bucket__ CONTROL_TEMPLATE_EXPR 桌子 风格= 行高: 1.6em 字体系列: 青冈 SAN. unicode. 青冈 格兰德 无衬线字体 字体大小: 12px的 背景: #fff. 利润: ×45像素 宽度: 800px. 边界崩溃: 坍塌 文本对齐: 剩下 ID = HOR-极简一 TR. TH. 风格= 字体大小: 14px的 字体重量: 普通的 颜色: #039 填充: 10px. 8px. 底部边框: 2px. 坚硬的 #6678b1 来源 图片 TH. TH. 风格= 字体大小: 14px的 字体重量: 普通的 颜色: #039 填充: 10px. 8px. 底部边框: 2px. 坚硬的 #6678b1 时间 TH. TH. 风格= 字体大小: 14px的 字体重量: 普通的 颜色: #039 填充: 10px. 8px. 底部边框: 2px. 坚硬的 #6678b1 降低 剩下 TH. TH. 风格= 字体大小: 14px的 字体重量: 普通的 颜色: #039 填充: 10px. 8px. 底部边框: 2px. 坚硬的 #6678b1 TH. TH. 风格= 字体大小: 14px的 字体重量: 普通的 颜色: #039 填充: 10px. 8px. 底部边框: 2px. 坚硬的 #6678b1 缩略图 TH. TR. FME:工艺特点 桌子 BUCKET_TEMPLATE_EXPR ROW TR. 一个 风格= 颜色: #669 填充: 9px. 8px. 0px. 8px. FME:GET属性 fme_basename. 一个 一个 风格= 颜色: #669 填充: 9px. 8px. 0px. 8px. FME:GET属性 _timestamp 一个 一个 风格= 颜色: #669 填充: 9px. 8px. 0px. 8px. FME:GET属性 _lower_left_x FME:GET属性 _lower_left_y 一个 一个 风格= 颜色: #669 填充: 9px. 8px. 0px. 8px. FME:GET属性 _upper_right_x FME:GET属性 _upper_right_y 一个 一个 风格= 颜色: #669 填充: 9px. 8px. 0px. 8px. IMG. SRC = HTTP: 图片 FME:GET属性 fme_basename. .png. IMG. 一个 TR. 输出XML_DOCUMENT FEATURE_TYPE XMLTemplater_2_OUTPUT#--------------------------------------------------------------------FACTORY_DEF * AttrSetFactory FACTORY_NAME AttributeCreator_6 INPUT FEATURE_TYPE XMLTemplater_2_OUTPUT ATTR _part_count 1 ATTR _html_body !DOCTYPE HTML. HTML. 荟萃 charset = UTF-8. ! - .htaccess. 消除 这些 线 避免 边缘 案件 问题。 更多的 信息: h5bp.com 一世 378. - 荟萃 HTTP的当量= X-UA兼容 内容= IE =边缘 铬= 1 标题 数据 验证 失败 标题 荟萃 名称= 描述 内容= ! - 移动的 视口 优化: h5bp.com 视口 - 荟萃 名称= 视口 内容= 宽度=设备宽度 ! - CSS. 文档 或者 添加 您的 外部的 样式表 - 风格 类型= 文本 CSS. * ------------------ 造型 为了 桌子 ------------------ * 风格 身体 H1. 马赛克 报告 为了 价值 new_basename H1. P. 马赛克 输出 地点: 价值 _DestDataset_ECW 价值 new_basename .ecw P. IMG. SRC = HTTP: 图片 价值 new_basename .png. IMG. 价值 _htmlTable 身体 HTML. 输出输出FEATURE_TYPE AttributeCreator_6_OUTPUT#--------------------------------------------------------------------FACTORY_DEF * TeeFactory FACTORY_NAME "MhtFormatter HTML_BODY Input Collector" INPUT FEATURE_TYPE AttributeCreator_6_OUTPUT OUTPUT FEATURE_TYPE MhtFormatter_HTML_BODY FACTORY_DEF * TeeFactory FACTORY_NAME "MhtFormatter IMAGES Input Collector" INPUT FEATURE_TYPE AttributeCreator_OUTPUT OUTPUT FEATURE_TYPE MhtFormatter_IMAGES MACRO MhtFormatter_WORKSPACE_NAME MhtFormatter MACRO $(MhtFormatter_WORKSPACE_NAME)_XFORMER_NAME MhtFormatter INCLUDE [ if {[string equal -length 15 {FME_CONDITIONAL} {$($(MhtFormatter_WORKSPACE_NAME)_XFORMER_NAME)} ] == 0} { set encodedVal [FME_EncodeText {$($(MhtFormatter_WORKSPACE_NAME)_XFORMER_NAME)}]; puts "MACRO $(MhtFormatter_WORKSPACE_NAME)_XFORMER_NAME__FMEENCODED__ $encodedVal" ; } else { set encodedVal {$($(MhtFormatter_WORKSPACE_NAME)_XFORMER_NAME)}; puts "MACRO $(MhtFormatter_WORKSPACE_NAME)_XFORMER_NAME__FMEENCODED__ $encodedVal" ; }; ] MACRO $(MhtFormatter_WORKSPACE_NAME)_TRANSFORMER_GROUP INCLUDE [ if {[string equal -length 15 {FME_CONDITIONAL} {$($(MhtFormatter_WORKSPACE_NAME)_TRANSFORMER_GROUP)} ] == 0} { set encodedVal [FME_EncodeText {$($(MhtFormatter_WORKSPACE_NAME)_TRANSFORMER_GROUP)}]; puts "MACRO $(MhtFormatter_WORKSPACE_NAME)_TRANSFORMER_GROUP__FMEENCODED__ $encodedVal" ; } else { set encodedVal {$($(MhtFormatter_WORKSPACE_NAME)_TRANSFORMER_GROUP)}; puts "MACRO $(MhtFormatter_WORKSPACE_NAME)_TRANSFORMER_GROUP__FMEENCODED__ $encodedVal" ; }; ] MACRO $(MhtFormatter_WORKSPACE_NAME)___COMPOUND_PARAMETERS INCLUDE [ if {[string equal -length 15 {FME_CONDITIONAL} {$($(MhtFormatter_WORKSPACE_NAME)___COMPOUND_PARAMETERS)} ] == 0} { set encodedVal [FME_EncodeText {$($(MhtFormatter_WORKSPACE_NAME)___COMPOUND_PARAMETERS)}]; puts "MACRO $(MhtFormatter_WORKSPACE_NAME)___COMPOUND_PARAMETERS__FMEENCODED__ $encodedVal" ; } else { set encodedVal {$($(MhtFormatter_WORKSPACE_NAME)___COMPOUND_PARAMETERS)}; puts "MACRO $(MhtFormatter_WORKSPACE_NAME)___COMPOUND_PARAMETERS__FMEENCODED__ $encodedVal" ; }; ] MACRO $(MhtFormatter_WORKSPACE_NAME)_SRC_ATTR _html_body INCLUDE [ if {[string equal -length 15 {FME_CONDITIONAL} {$($(MhtFormatter_WORKSPACE_NAME)_SRC_ATTR)} ] == 0} { set encodedVal [FME_EncodeText {$($(MhtFormatter_WORKSPACE_NAME)_SRC_ATTR)}]; puts "MACRO $(MhtFormatter_WORKSPACE_NAME)_SRC_ATTR__FMEENCODED__ $encodedVal" ; } else { set encodedVal {$($(MhtFormatter_WORKSPACE_NAME)_SRC_ATTR)}; puts "MACRO $(MhtFormatter_WORKSPACE_NAME)_SRC_ATTR__FMEENCODED__ $encodedVal" ; }; ] MACRO $(MhtFormatter_WORKSPACE_NAME)_SRC_ATTR_2 _url INCLUDE [ if {[string equal -length 15 {FME_CONDITIONAL} {$($(MhtFormatter_WORKSPACE_NAME)_SRC_ATTR_2)} ] == 0} { set encodedVal [FME_EncodeText {$($(MhtFormatter_WORKSPACE_NAME)_SRC_ATTR_2)}]; puts "MACRO $(MhtFormatter_WORKSPACE_NAME)_SRC_ATTR_2__FMEENCODED__ $encodedVal" ; } else { set encodedVal {$($(MhtFormatter_WORKSPACE_NAME)_SRC_ATTR_2)}; puts "MACRO $(MhtFormatter_WORKSPACE_NAME)_SRC_ATTR_2__FMEENCODED__ $encodedVal" ; }; ] MACRO $(MhtFormatter_WORKSPACE_NAME)_VAL_ATTR text_line_data INCLUDE [ if {[string equal -length 15 {FME_CONDITIONAL} {$($(MhtFormatter_WORKSPACE_NAME)_VAL_ATTR)} ] == 0} { set encodedVal [FME_EncodeText {$($(MhtFormatter_WORKSPACE_NAME)_VAL_ATTR)}]; puts "MACRO $(MhtFormatter_WORKSPACE_NAME)_VAL_ATTR__FMEENCODED__ $encodedVal" ; } else { set encodedVal {$($(MhtFormatter_WORKSPACE_NAME)_VAL_ATTR)}; puts "MACRO $(MhtFormatter_WORKSPACE_NAME)_VAL_ATTR__FMEENCODED__ $encodedVal" ; }; ] INCLUDE_CUSTOM_TRANSFORMER MhtFormatter FACTORY_DEF * TeeFactory FACTORY_NAME "MhtFormatter MHTML_FORMATTED Output Renamer/Nuker" INPUT FEATURE_TYPE MhtFormatter_MHTML_FORMATTED OUTPUT FEATURE_TYPE MhtFormatter_MHTML_FORMATTED # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME "MhtFormatter_MHTML_FORMATTED -> text_line Correlator" INPUT FEATURE_TYPE MhtFormatter_MHTML_FORMATTED OUTPUT FEATURE_TYPE __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id 1 @Transform(FME_GENERIC,TEXTLINE) @SupplyAttributes(__wb_out_feat_type__,text_line) # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME "ParameterFetcher_OUTPUT_0 -> NewFeatureType Correlator" INPUT FEATURE_TYPE ParameterFetcher_OUTPUT_0 OUTPUT FEATURE_TYPE __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id 0 @Transform(FME_GENERIC,ECW) @SupplyAttributes(fme_template_feature_type,NewFeatureType) @CopyAttributes(__wb_out_feat_type__,fme_basename) # ------------------------------------------------------------------------- FACTORY_DEF * TestFactory FACTORY_NAME "Final Output Feature Type Router" INPUT FEATURE_TYPE * TEST @Value(__wb_out_feat_type__) != "" OUTPUT PASSED FEATURE_TYPE * @FeatureType(@Value(__wb_out_feat_type__)) OUTPUT FAILED FEATURE_TYPE __nuke_me__ @Tcl2("FME_StatMessage 818059 {@Value(fme_template_feature_type)} 818060 818061 fme_warn") # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME "Final Output Nuker" INPUT FEATURE_TYPE __nuke_me__ # ------------------------------------------------------------------------- ECW_1_DEF NewFeatureType ecw_compression_level 75 ecw_tab_file_generation no