From 3be17550c02a68979ac360e75f26d1125fec5cc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=ABl?= Date: Sat, 15 Feb 2020 16:22:26 +0100 Subject: [PATCH] Update traitements_phase_3_decoupage.fmw --- scripts/traitements_phase_3_decoupage.fmw | 51 +++++++++++++---------- 1 file changed, 30 insertions(+), 21 deletions(-) diff --git a/scripts/traitements_phase_3_decoupage.fmw b/scripts/traitements_phase_3_decoupage.fmw index 4407223..12435e8 100644 --- a/scripts/traitements_phase_3_decoupage.fmw +++ b/scripts/traitements_phase_3_decoupage.fmw @@ -32,7 +32,7 @@ #! HISTORY="" #! IGNORE_READER_FAILURE="No" #! LAST_SAVE_BUILD="FME(R) 2018.1.2.1 (20190319 - Build 18592 - macosx)" -#! LAST_SAVE_DATE="2020-02-15T16:03:46" +#! LAST_SAVE_DATE="2020-02-15T16:22:07" #! LOG_FILE="" #! LOG_MAX_RECORDED_FEATURES="200" #! MARKDOWN_DESCRIPTION="" @@ -50,10 +50,10 @@ #! TITLE="" #! USAGE="" #! USE_MARKDOWN="" -#! VIEW_POSITION="1754.18 -487.505" +#! VIEW_POSITION="2040.81 536.847" #! WARN_INVALID_XFORM_PARAM="Yes" #! WORKSPACE_VERSION="1" -#! ZOOM_SCALE="72" +#! ZOOM_SCALE="76" #! > #! #! #! @@ -2256,7 +2256,7 @@ #! BOUNDING_RECT="-3640.8618385926015 1388.3940482114676 -1 -1" #! ORDER="500000000000018" #! PARMS_EDITED="false" -#! ENABLED="false" +#! ENABLED="true" #! LAST_PARM_EDIT="18578" #! > #! @@ -6841,8 +6841,8 @@ FACTORY_DEF {*} ArcFactory FACTORY_NAME LineCombiner INPUT FEATURE_TYPE p DEFAULT_MACRO _WB_BYPASS_TERMINATION No FACTORY_DEF * TeeFactory FACTORY_NAME LineCombiner_ INPUT FEATURE_TYPE LineCombiner_ OUTPUT FAILED FEATURE_TYPE * @Abort(ENCODED, LineCombineroutputaRejectedfeature.TocontinuetranslationwhenfeaturesarerejectedchangeWorkspaceParametersTranslationRejectedFeatureHandlingtoContinueTranslation) # ------------------------------------------------------------------------- -INCLUDE [ set macroLine "MACRO AttributeKeeper_2_7b445923_4643_4a3c_9d18_607b3ac0f87f0_LIST_EXP "; foreach attr [split ""] { set attr [FME_DecodeText $attr]; set attr [regsub "{}$" $attr "{}.*"]; set attr [regsub -all "{}" $attr "\\{\[0-9\]+\\}"]; append macroLine ",^$attr$"; }; puts $macroLine; ] -FACTORY_DEF {*} TeeFactory FACTORY_NAME AttributeKeeper_2 INPUT FEATURE_TYPE LineCombiner_LINE OUTPUT { FEATURE_TYPE AttributeKeeper_2_OUTPUT @KeepAttributes(fme_encoded,objectif_km,km_redadeg,secteur_id,fme_pcre_match,"^fme_$(AttributeKeeper_2_7b445923_4643_4a3c_9d18_607b3ac0f87f0_LIST_EXP)") } +INCLUDE [ set macroLine "MACRO AttributeKeeper_2_7b445923_4643_4a3c_9d18_607b3ac0f87f3_LIST_EXP "; foreach attr [split ""] { set attr [FME_DecodeText $attr]; set attr [regsub "{}$" $attr "{}.*"]; set attr [regsub -all "{}" $attr "\\{\[0-9\]+\\}"]; append macroLine ",^$attr$"; }; puts $macroLine; ] +FACTORY_DEF {*} TeeFactory FACTORY_NAME AttributeKeeper_2 INPUT FEATURE_TYPE LineCombiner_LINE OUTPUT { FEATURE_TYPE AttributeKeeper_2_OUTPUT @KeepAttributes(fme_encoded,objectif_km,km_redadeg,secteur_id,fme_pcre_match,"^fme_$(AttributeKeeper_2_7b445923_4643_4a3c_9d18_607b3ac0f87f3_LIST_EXP)") } # ------------------------------------------------------------------------- INCLUDE [if { {ATTRIBUTES} == {ATTRIBUTES} } { puts "MACRO FeatureMerger_2_REFERENCE_INFO ATTRIBUTES"; } elseif { {ATTRIBUTES} == {GEOM_BUILD} && {} == {POLYGONS}} { puts "MACRO FeatureMerger_2_REFERENCE_INFO GEOM_BUILD_POLYS"; } elseif { {ATTRIBUTES} == {GEOM_BUILD} && {} == {AGGREGATES}} { puts "MACRO FeatureMerger_2_REFERENCE_INFO GEOM_BUILD_AGGREGATES"; } elseif { {ATTRIBUTES} == {GEOM_BUILD} && {} == {LINESFROMPOINTS}} { puts "MACRO FeatureMerger_2_REFERENCE_INFO GEOM_BUILD_LINES_FROM_POINTS"; } elseif { {ATTRIBUTES} == {GEOM_AND_ATTRS} && {} == {POLYGONS}} { puts "MACRO FeatureMerger_2_REFERENCE_INFO GEOM_AND_ATTR_BUILD_POLYS"; } elseif { {ATTRIBUTES} == {GEOM_AND_ATTRS} && {} == {AGGREGATES}} { puts "MACRO FeatureMerger_2_REFERENCE_INFO GEOM_AND_ATTR_BUILD_AGGREGATES"; } elseif { {ATTRIBUTES} == {GEOM_AND_ATTRS} && {} == {LINESFROMPOINTS}} { puts "MACRO FeatureMerger_2_REFERENCE_INFO GEOM_AND_ATTR_BUILD_LINES_FROM_POINTS"; } elseif { {ATTRIBUTES} == {GEOM_BUILD} } { puts "MACRO FeatureMerger_2_REFERENCE_INFO GEOM_BUILD_AGGREGATES"; } elseif { {ATTRIBUTES} == {GEOM_AND_ATTRS} } { puts "MACRO FeatureMerger_2_REFERENCE_INFO GEOM_AND_ATTR_BUILD_AGGREGATES"; } else {}; ] FACTORY_DEF {*} ReferenceFactory FACTORY_NAME FeatureMerger_2 INPUT REFERENCER FEATURE_TYPE AttributeKeeper_2_OUTPUT INPUT REFERENCEE FEATURE_TYPE AttributeRenamer_2_OUTPUT_1_/5K/VQuHWx4= REFERENCE_INFO $(FeatureMerger_2_REFERENCE_INFO) REFERENCE_TABLE @EvaluateExpression(FDIV,STRING_ENCODED,Valuesecteur_id,FeatureMerger_2) @EvaluateExpression(FDIV,STRING_ENCODED,Valuesecteur_id,FeatureMerger_2) AUTO ATTR_ACCUM_MODE "HANDLE_CONFLICT" ATTR_CONFLICT_RES "REQUESTOR_IF_CONFLICT" IGNORE_NULLS "No" HANDLE_NULL_MISSING_KEYS_LIKE_FME2013 No LIST_ATTRS_TO_INCLUDE { } LIST_ATTRS_TO_INCLUDE_MODE MERGE_ATTRIBUTES Yes MANAGE_FME_TYPE Yes MODE COMPLETE PROCESS_DUPLICATE_REFERENCEES NO REFERENCEES_FIRST No REJECT_INVALID_GEOM YES CLEANING_TOLERANCE OUTPUT COMPLETE FEATURE_TYPE FeatureMerger_2_MERGED OUTPUT REJECTED FEATURE_TYPE FeatureMerger_2_ @@ -6862,8 +6862,8 @@ MACRO $(IterativeSnipper_WORKSPACE_NAME)_SNIPMODE ToLength MACRO $(IterativeSnipper_WORKSPACE_NAME)_SnipLength @Value(km_redadeg) DEFAULT_MACRO IterativeSnipper_WORKSPACE_NAME "" INCLUDE [puts {MACRO WB_OLD_CONTEXT_$(IterativeSnipper_WORKSPACE_NAME) $(WB_CURRENT_CONTEXT)}; puts {MACRO WB_CURRENT_CONTEXT $(IterativeSnipper_WORKSPACE_NAME)}] -FACTORY_DEF * TeeFactory FACTORY_NAME "$(IterativeSnipper_WORKSPACE_NAME)_Input1581779026 Input Splitter" INPUT FEATURE_TYPE "$(IterativeSnipper_WORKSPACE_NAME)_Input" OUTPUT FEATURE_TYPE "$(IterativeSnipper_WORKSPACE_NAME)_Input" -FACTORY_DEF * TeeFactory FACTORY_NAME "$(IterativeSnipper_WORKSPACE_NAME)_LoopINPUT1581779026 Input Splitter" INPUT FEATURE_TYPE "$(IterativeSnipper_WORKSPACE_NAME)_LoopINPUT" OUTPUT FEATURE_TYPE "$(IterativeSnipper_WORKSPACE_NAME)_LoopINPUT" +FACTORY_DEF * TeeFactory FACTORY_NAME "$(IterativeSnipper_WORKSPACE_NAME)_Input1581780127 Input Splitter" INPUT FEATURE_TYPE "$(IterativeSnipper_WORKSPACE_NAME)_Input" OUTPUT FEATURE_TYPE "$(IterativeSnipper_WORKSPACE_NAME)_Input" +FACTORY_DEF * TeeFactory FACTORY_NAME "$(IterativeSnipper_WORKSPACE_NAME)_LoopINPUT1581780127 Input Splitter" INPUT FEATURE_TYPE "$(IterativeSnipper_WORKSPACE_NAME)_LoopINPUT" OUTPUT FEATURE_TYPE "$(IterativeSnipper_WORKSPACE_NAME)_LoopINPUT" # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME $(IterativeSnipper_WORKSPACE_NAME)_LengthCalculator_2_LengthCalculatorInput INPUT FEATURE_TYPE "$(IterativeSnipper_WORKSPACE_NAME)_LoopINPUT" OUTPUT FEATURE_TYPE ___TOLENGTHCALCULATOR___ FACTORY_DEF * TeeFactory FACTORY_NAME $(IterativeSnipper_WORKSPACE_NAME)_LengthCalculator_2_LengthCalculator INPUT FEATURE_TYPE ___TOLENGTHCALCULATOR___ @RenameAttributes(FME_STRICT,___fme_rejection_code___,fme_rejection_code) OUTPUT FEATURE_TYPE ___TOREJECTOR___ "Iterative_Snipper_length" @Length(REJECTABLE,3,"1") @@ -6882,8 +6882,8 @@ FACTORY_DEF * TeeFactory FACTORY_NAME $(IterativeSnipper_WORKSPACE_NAME)_Geom FACTORY_DEF $(INSTANCE_FILTERING) TestFactory FACTORY_NAME $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter_InstanceTest INPUT FEATURE_TYPE $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter___Input___ TEST @Geometry(IS_GEOMETRY_INSTANCE) == 1 OUTPUT PASSED FEATURE_TYPE $(OUTPUT_INSTANCE_FTYPE) OUTPUT FAILED FEATURE_TYPE $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter___Input___ FACTORY_DEF $(COLLECTION_HANDLING) TestFactory FACTORY_NAME $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter_CollectionTest INPUT FEATURE_TYPE $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter___Input___ TEST &fme_type == "fme_collection" OUTPUT FAILED FEATURE_TYPE $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter___Not_Collection___ OUTPUT PASSED FEATURE_TYPE $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter___Collection___ FACTORY_DEF $(COLLECTION_HANDLING) DeaggregateFactory FACTORY_NAME $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter_Deagg INPUT FEATURE_TYPE $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter___Collection___ HOMOGENIZE_COLLECTIONS YES RECURSIVE YES SET_FME_TYPE YES INSTANTIATE_GEOMETRY_INSTANCES_NEW OUTPUT POINT FEATURE_TYPE $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter___HomogeneousAggregate___ OUTPUT LINE FEATURE_TYPE $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter___HomogeneousAggregate___ OUTPUT POLYGON FEATURE_TYPE $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter___HomogeneousAggregate___ OUTPUT DONUT FEATURE_TYPE $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter___HomogeneousAggregate___ OUTPUT AGGREGATE FEATURE_TYPE $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter___HomogeneousAggregate___ -FACTORY_DEF * TeeFactory FACTORY_NAME $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter_RouterPrepper INPUT FEATURE_TYPE $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter___HomogeneousAggregate___ INPUT FEATURE_TYPE $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter___Not_Collection___ INPUT FEATURE_TYPE $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter___Input___ OUTPUT FEATURE_TYPE $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter___Prepped___ $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter_2a06ce83_a436_4ccb_a427_acf666ad79860_targetFeatureType @Lookup($(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter_RouterTable,&fme_type) -FACTORY_DEF * TestFactory FACTORY_NAME $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter_Router INPUT FEATURE_TYPE $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter___Prepped___ TEST @Value($(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter_2a06ce83_a436_4ccb_a427_acf666ad79860_targetFeatureType) != "not_selected" OUTPUT PASSED FEATURE_TYPE * @FeatureType(@Value($(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter_2a06ce83_a436_4ccb_a427_acf666ad79860_targetFeatureType)) @RemoveAttributes($(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter_2a06ce83_a436_4ccb_a427_acf666ad79860_targetFeatureType) OUTPUT FAILED FEATURE_TYPE "$(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter_" @RemoveAttributes($(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter_2a06ce83_a436_4ccb_a427_acf666ad79860_targetFeatureType) +FACTORY_DEF * TeeFactory FACTORY_NAME $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter_RouterPrepper INPUT FEATURE_TYPE $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter___HomogeneousAggregate___ INPUT FEATURE_TYPE $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter___Not_Collection___ INPUT FEATURE_TYPE $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter___Input___ OUTPUT FEATURE_TYPE $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter___Prepped___ $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter_2a06ce83_a436_4ccb_a427_acf666ad79863_targetFeatureType @Lookup($(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter_RouterTable,&fme_type) +FACTORY_DEF * TestFactory FACTORY_NAME $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter_Router INPUT FEATURE_TYPE $(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter___Prepped___ TEST @Value($(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter_2a06ce83_a436_4ccb_a427_acf666ad79863_targetFeatureType) != "not_selected" OUTPUT PASSED FEATURE_TYPE * @FeatureType(@Value($(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter_2a06ce83_a436_4ccb_a427_acf666ad79863_targetFeatureType)) @RemoveAttributes($(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter_2a06ce83_a436_4ccb_a427_acf666ad79863_targetFeatureType) OUTPUT FAILED FEATURE_TYPE "$(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter_" @RemoveAttributes($(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter_2a06ce83_a436_4ccb_a427_acf666ad79863_targetFeatureType) # ------------------------------------------------------------------------- FACTORY_DEF {*} AttrSetFactory FACTORY_NAME $(IterativeSnipper_WORKSPACE_NAME)_AttributeCreator INPUT FEATURE_TYPE "$(IterativeSnipper_WORKSPACE_NAME)_GeometryFilter_" MULTI_FEATURE_MODE NO NULL_ATTR_MODE NO_OP ATTRSET_CREATE_DIRECTIVES _PROPAGATE_MISSING_FDIV ATTR_ACTION { "" "fme_rejection_code" "SET_TO" "INVALID_GEOMETRY_TYPE" } OUTPUT OUTPUT FEATURE_TYPE "$(IterativeSnipper_WORKSPACE_NAME)_AttributeCreator_OUTPUT" # ------------------------------------------------------------------------- @@ -6923,9 +6923,9 @@ FACTORY_DEF * TeeFactory FACTORY_NAME "$(IterativeSnipper_WORKSPACE_NAME)_Snippe # ------------------------------------------------------------------------- INCLUDE [ set macroLine "MACRO $(IterativeSnipper_WORKSPACE_NAME)_AttributeRemover_LIST_EXP "; foreach attr [split ""] { set attr [FME_DecodeText $attr]; set attr [regsub "{}$" $attr "{}.*"]; set attr [regsub -all "{}" $attr "\\{\[0-9\]+\\}"]; append macroLine ",^$attr$"; }; puts $macroLine; ] FACTORY_DEF {*} TeeFactory FACTORY_NAME $(IterativeSnipper_WORKSPACE_NAME)_AttributeRemover INPUT FEATURE_TYPE "$(IterativeSnipper_WORKSPACE_NAME)_Tester_PASSED" INPUT FEATURE_TYPE "$(IterativeSnipper_WORKSPACE_NAME)_Snipper_3_OUTPUT" OUTPUT { FEATURE_TYPE "$(IterativeSnipper_WORKSPACE_NAME)_AttributeRemover_OUTPUT" @RemoveAttributes(fme_encoded,Iterative_Snipper_length,Iterative_Snipper_maxLength) @RemoveAttributes(fme_pcre_match"$($(IterativeSnipper_WORKSPACE_NAME)_AttributeRemover_LIST_EXP)") } -FACTORY_DEF * BranchingFactory TARGET_FACTORY "$(IterativeSnipper_WORKSPACE_NAME)_LoopINPUT1581779026 Input Splitter" FACTORY_NAME "Loop to $(IterativeSnipper_WORKSPACE_NAME)_LoopINPUT1581779026 Input Splitter" MAXIMUM_COUNT -1 INPUT FEATURE_TYPE "$(IterativeSnipper_WORKSPACE_NAME)_Snipper_3_REMNANTS" OUTPUT PASSED FEATURE_TYPE "$(IterativeSnipper_WORKSPACE_NAME)_LoopINPUT" -FACTORY_DEF * TeeFactory FACTORY_NAME "$(IterativeSnipper_WORKSPACE_NAME)_Output1581779026 Output Collector" INPUT FEATURE_TYPE "$(IterativeSnipper_WORKSPACE_NAME)_AttributeRemover_OUTPUT" OUTPUT FEATURE_TYPE "$(IterativeSnipper_WORKSPACE_NAME)_Output" -FACTORY_DEF * TeeFactory FACTORY_NAME "$(IterativeSnipper_WORKSPACE_NAME)_1581779026 Output Collector" INPUT FEATURE_TYPE "$(IterativeSnipper_WORKSPACE_NAME)_AttributeCreator_OUTPUT" OUTPUT FEATURE_TYPE "$(IterativeSnipper_WORKSPACE_NAME)_" +FACTORY_DEF * BranchingFactory TARGET_FACTORY "$(IterativeSnipper_WORKSPACE_NAME)_LoopINPUT1581780127 Input Splitter" FACTORY_NAME "Loop to $(IterativeSnipper_WORKSPACE_NAME)_LoopINPUT1581780127 Input Splitter" MAXIMUM_COUNT -1 INPUT FEATURE_TYPE "$(IterativeSnipper_WORKSPACE_NAME)_Snipper_3_REMNANTS" OUTPUT PASSED FEATURE_TYPE "$(IterativeSnipper_WORKSPACE_NAME)_LoopINPUT" +FACTORY_DEF * TeeFactory FACTORY_NAME "$(IterativeSnipper_WORKSPACE_NAME)_Output1581780127 Output Collector" INPUT FEATURE_TYPE "$(IterativeSnipper_WORKSPACE_NAME)_AttributeRemover_OUTPUT" OUTPUT FEATURE_TYPE "$(IterativeSnipper_WORKSPACE_NAME)_Output" +FACTORY_DEF * TeeFactory FACTORY_NAME "$(IterativeSnipper_WORKSPACE_NAME)_1581780127 Output Collector" INPUT FEATURE_TYPE "$(IterativeSnipper_WORKSPACE_NAME)_AttributeCreator_OUTPUT" OUTPUT FEATURE_TYPE "$(IterativeSnipper_WORKSPACE_NAME)_" INCLUDE [puts {MACRO WB_CURRENT_CONTEXT $(WB_OLD_CONTEXT_$(IterativeSnipper_WORKSPACE_NAME))}] FACTORY_DEF * TeeFactory FACTORY_NAME "IterativeSnipper Output Output Renamer/Nuker" INPUT FEATURE_TYPE IterativeSnipper_Output OUTPUT FEATURE_TYPE IterativeSnipper_Output FACTORY_DEF * TeeFactory FACTORY_NAME "IterativeSnipper Output Renamer/Nuker" INPUT FEATURE_TYPE IterativeSnipper_ OUTPUT FEATURE_TYPE IterativeSnipper_ @@ -6967,7 +6967,7 @@ Tcl2 set {CoordinateConcatenator_elementDelim} [FME_DecodeText {}]; Tcl2 proc CoordinateConcatenator_coord_list {DIM} { global {CoordinateConcatenator_coordDelim}; global {CoordinateConcatenator_elementDelim}; set numCoords [FME_Coordinates numCoords]; set output {}; set includeX [string first {X} {Y X} ]; set includeY [string first {Y} {Y X} ]; set includeZ [string first {Z} {Y X} ]; if { $includeX == -1 && $includeY == -1 && $includeZ == -1 } { FME_SetAttribute _coordinates $output; return; }; for {set i 0} {$i < $numCoords} {incr i} { if {$includeX != -1} { append output [FME_Coordinates getCoord x $i]; }; if {$includeY != -1} { if {$includeX != -1} { append output [set {CoordinateConcatenator_elementDelim}] [FME_Coordinates getCoord y $i]; } else { append output [FME_Coordinates getCoord y $i]; }; }; if { $DIM == 3 && $includeZ != -1 } { if { $includeX != -1 || $includeY != -1 } { append output [set {CoordinateConcatenator_elementDelim}] [FME_Coordinates getCoord z $i]; } else { append output [FME_Coordinates getCoord z $i]; }; }; if {$i < ($numCoords - 1)} { append output [set {CoordinateConcatenator_coordDelim}] }; }; FME_SetAttribute _coordinates $output; } FACTORY_DEF * TeeFactory FACTORY_NAME CoordinateConcatenator INPUT FEATURE_TYPE Sorter_3_SORTED_1_2tOcv2i/uGI= OUTPUT FEATURE_TYPE CoordinateConcatenator_OUTPUT @Tcl2("CoordinateConcatenator_coord_list @Dimension()") # ------------------------------------------------------------------------- -Tcl2 set AttributeSplitter_5dd7e670_a0c4_43ee_a217_e6cea54122d10_splitDelim [FME_DecodeText {|}]; if { [regexp {^([1-9][0-9]*s)+$} [set AttributeSplitter_5dd7e670_a0c4_43ee_a217_e6cea54122d10_splitDelim]] } { set AttributeSplitter_5dd7e670_a0c4_43ee_a217_e6cea54122d10_splitWidths [split [regsub -all {s$} {|} {}] s]; proc AttributeSplitter_doSplit {} { global AttributeSplitter_5dd7e670_a0c4_43ee_a217_e6cea54122d10_splitWidths; set source [FME_GetAttribute [FME_DecodeText {_coordinates}]]; set attrNum 0; set listName [FME_DecodeText {_coords}]; set attrPos 0; set keepEmptyParts [string equal {No} {No}]; foreach width [set AttributeSplitter_5dd7e670_a0c4_43ee_a217_e6cea54122d10_splitWidths] { set endPos [expr $attrPos + $width - 1]; set bit [string range $source $attrPos $endPos]; set part [string trim $bit]; if { $keepEmptyParts || $part != \"\" } { FME_SetAttribute "$listName{$attrNum}" $part; incr attrNum; }; incr attrPos $width; }; }; } else { proc AttributeSplitter_doSplit {} { global AttributeSplitter_5dd7e670_a0c4_43ee_a217_e6cea54122d10_splitDelim; set delim [set AttributeSplitter_5dd7e670_a0c4_43ee_a217_e6cea54122d10_splitDelim]; set delimLength [string length $delim]; set source [FME_GetAttribute [FME_DecodeText {_coordinates}]]; set keepEmptyParts [string equal {No} {No}]; set bits {}; set startIndex 0; set nextIndex [string first $delim $source $startIndex]; while {$nextIndex >= 0} { lappend bits [string range $source $startIndex [expr $nextIndex-1]]; set startIndex [expr $nextIndex + $delimLength]; set nextIndex [string first $delim $source $startIndex]; }; lappend bits [string range $source $startIndex end]; set listName [FME_DecodeText {_coords}]; set attrNum 0; foreach bit $bits { set trimmedPart [string trim $bit]; if { $keepEmptyParts || $trimmedPart != \"\" } { FME_SetAttribute "$listName{$attrNum}" $trimmedPart; incr attrNum; }; } } } +Tcl2 set AttributeSplitter_5dd7e670_a0c4_43ee_a217_e6cea54122d13_splitDelim [FME_DecodeText {|}]; if { [regexp {^([1-9][0-9]*s)+$} [set AttributeSplitter_5dd7e670_a0c4_43ee_a217_e6cea54122d13_splitDelim]] } { set AttributeSplitter_5dd7e670_a0c4_43ee_a217_e6cea54122d13_splitWidths [split [regsub -all {s$} {|} {}] s]; proc AttributeSplitter_doSplit {} { global AttributeSplitter_5dd7e670_a0c4_43ee_a217_e6cea54122d13_splitWidths; set source [FME_GetAttribute [FME_DecodeText {_coordinates}]]; set attrNum 0; set listName [FME_DecodeText {_coords}]; set attrPos 0; set keepEmptyParts [string equal {No} {No}]; foreach width [set AttributeSplitter_5dd7e670_a0c4_43ee_a217_e6cea54122d13_splitWidths] { set endPos [expr $attrPos + $width - 1]; set bit [string range $source $attrPos $endPos]; set part [string trim $bit]; if { $keepEmptyParts || $part != \"\" } { FME_SetAttribute "$listName{$attrNum}" $part; incr attrNum; }; incr attrPos $width; }; }; } else { proc AttributeSplitter_doSplit {} { global AttributeSplitter_5dd7e670_a0c4_43ee_a217_e6cea54122d13_splitDelim; set delim [set AttributeSplitter_5dd7e670_a0c4_43ee_a217_e6cea54122d13_splitDelim]; set delimLength [string length $delim]; set source [FME_GetAttribute [FME_DecodeText {_coordinates}]]; set keepEmptyParts [string equal {No} {No}]; set bits {}; set startIndex 0; set nextIndex [string first $delim $source $startIndex]; while {$nextIndex >= 0} { lappend bits [string range $source $startIndex [expr $nextIndex-1]]; set startIndex [expr $nextIndex + $delimLength]; set nextIndex [string first $delim $source $startIndex]; }; lappend bits [string range $source $startIndex end]; set listName [FME_DecodeText {_coords}]; set attrNum 0; foreach bit $bits { set trimmedPart [string trim $bit]; if { $keepEmptyParts || $trimmedPart != \"\" } { FME_SetAttribute "$listName{$attrNum}" $trimmedPart; incr attrNum; }; } } } FACTORY_DEF * TeeFactory FACTORY_NAME AttributeSplitter INPUT FEATURE_TYPE CoordinateConcatenator_OUTPUT OUTPUT FEATURE_TYPE AttributeSplitter_OUTPUT @Tcl2(AttributeSplitter_doSplit) # ------------------------------------------------------------------------- FACTORY_DEF * TeeFactory FACTORY_NAME ListElementCounter INPUT FEATURE_TYPE AttributeSplitter_OUTPUT OUTPUT FEATURE_TYPE ListElementCounter_OUTPUT "_vertex_count" @NumElements("_coords",ENCODED) @@ -6981,7 +6981,7 @@ FACTORY_DEF * TestFactory FACTORY_NAME ListIndexer_4_ListIndexer INPUT FEA DEFAULT_MACRO _WB_BYPASS_TERMINATION No FACTORY_DEF * TeeFactory FACTORY_NAME ListIndexer_4_ INPUT FEATURE_TYPE ListIndexer_4_ OUTPUT FAILED FEATURE_TYPE * @Abort(ENCODED, ListIndexer_4outputaRejectedfeature.TocontinuetranslationwhenfeaturesarerejectedchangeWorkspaceParametersTranslationRejectedFeatureHandlingtoContinueTranslation) # ------------------------------------------------------------------------- -Tcl2 set AttributeSplitter_3_f3a84079_83ba_4ee1_b603_ec42db2397340_splitDelim [FME_DecodeText {}]; if { [regexp {^([1-9][0-9]*s)+$} [set AttributeSplitter_3_f3a84079_83ba_4ee1_b603_ec42db2397340_splitDelim]] } { set AttributeSplitter_3_f3a84079_83ba_4ee1_b603_ec42db2397340_splitWidths [split [regsub -all {s$} {} {}] s]; proc AttributeSplitter_3_doSplit {} { global AttributeSplitter_3_f3a84079_83ba_4ee1_b603_ec42db2397340_splitWidths; set source [FME_GetAttribute [FME_DecodeText {_coords}]]; set attrNum 0; set listName [FME_DecodeText {_coords_vertex}]; set attrPos 0; set keepEmptyParts [string equal {No} {No}]; foreach width [set AttributeSplitter_3_f3a84079_83ba_4ee1_b603_ec42db2397340_splitWidths] { set endPos [expr $attrPos + $width - 1]; set bit [string range $source $attrPos $endPos]; set part [string trim $bit]; if { $keepEmptyParts || $part != \"\" } { FME_SetAttribute "$listName{$attrNum}" $part; incr attrNum; }; incr attrPos $width; }; }; } else { proc AttributeSplitter_3_doSplit {} { global AttributeSplitter_3_f3a84079_83ba_4ee1_b603_ec42db2397340_splitDelim; set delim [set AttributeSplitter_3_f3a84079_83ba_4ee1_b603_ec42db2397340_splitDelim]; set delimLength [string length $delim]; set source [FME_GetAttribute [FME_DecodeText {_coords}]]; set keepEmptyParts [string equal {No} {No}]; set bits {}; set startIndex 0; set nextIndex [string first $delim $source $startIndex]; while {$nextIndex >= 0} { lappend bits [string range $source $startIndex [expr $nextIndex-1]]; set startIndex [expr $nextIndex + $delimLength]; set nextIndex [string first $delim $source $startIndex]; }; lappend bits [string range $source $startIndex end]; set listName [FME_DecodeText {_coords_vertex}]; set attrNum 0; foreach bit $bits { set trimmedPart [string trim $bit]; if { $keepEmptyParts || $trimmedPart != \"\" } { FME_SetAttribute "$listName{$attrNum}" $trimmedPart; incr attrNum; }; } } } +Tcl2 set AttributeSplitter_3_f3a84079_83ba_4ee1_b603_ec42db2397343_splitDelim [FME_DecodeText {}]; if { [regexp {^([1-9][0-9]*s)+$} [set AttributeSplitter_3_f3a84079_83ba_4ee1_b603_ec42db2397343_splitDelim]] } { set AttributeSplitter_3_f3a84079_83ba_4ee1_b603_ec42db2397343_splitWidths [split [regsub -all {s$} {} {}] s]; proc AttributeSplitter_3_doSplit {} { global AttributeSplitter_3_f3a84079_83ba_4ee1_b603_ec42db2397343_splitWidths; set source [FME_GetAttribute [FME_DecodeText {_coords}]]; set attrNum 0; set listName [FME_DecodeText {_coords_vertex}]; set attrPos 0; set keepEmptyParts [string equal {No} {No}]; foreach width [set AttributeSplitter_3_f3a84079_83ba_4ee1_b603_ec42db2397343_splitWidths] { set endPos [expr $attrPos + $width - 1]; set bit [string range $source $attrPos $endPos]; set part [string trim $bit]; if { $keepEmptyParts || $part != \"\" } { FME_SetAttribute "$listName{$attrNum}" $part; incr attrNum; }; incr attrPos $width; }; }; } else { proc AttributeSplitter_3_doSplit {} { global AttributeSplitter_3_f3a84079_83ba_4ee1_b603_ec42db2397343_splitDelim; set delim [set AttributeSplitter_3_f3a84079_83ba_4ee1_b603_ec42db2397343_splitDelim]; set delimLength [string length $delim]; set source [FME_GetAttribute [FME_DecodeText {_coords}]]; set keepEmptyParts [string equal {No} {No}]; set bits {}; set startIndex 0; set nextIndex [string first $delim $source $startIndex]; while {$nextIndex >= 0} { lappend bits [string range $source $startIndex [expr $nextIndex-1]]; set startIndex [expr $nextIndex + $delimLength]; set nextIndex [string first $delim $source $startIndex]; }; lappend bits [string range $source $startIndex end]; set listName [FME_DecodeText {_coords_vertex}]; set attrNum 0; foreach bit $bits { set trimmedPart [string trim $bit]; if { $keepEmptyParts || $trimmedPart != \"\" } { FME_SetAttribute "$listName{$attrNum}" $trimmedPart; incr attrNum; }; } } } FACTORY_DEF * TeeFactory FACTORY_NAME AttributeSplitter_3 INPUT FEATURE_TYPE ListIndexer_4_OUTPUT OUTPUT FEATURE_TYPE AttributeSplitter_3_OUTPUT @Tcl2(AttributeSplitter_3_doSplit) # ------------------------------------------------------------------------- Tcl2 proc ListIndexer_5_indexer {index numElements prefix} { if {$index < 0 } { set index [expr $numElements + $index]; }; regsub \"{}\" {_coords_vertex{}} \"{$index}\" listWithIndex; regsub \"{}\" {_coords_vertex{}} {} listBase; set complexListExp "$listWithIndex\."; set prefixLength [expr [string length $complexListExp]-1]; set prefix [FME_DecodeText $prefix]; foreach attr [FME_AttributeNames] { set newAttr {}; if {$attr == $listWithIndex} { set newAttr $listBase; } elseif {[string first $complexListExp $attr] == 0} { set newAttr [string replace $attr 0 $prefixLength]; }; if {$newAttr != {}} { if {$prefix != {} } { set newAttr $prefix$newAttr; }; if {[string first {fme_} $newAttr] != 0} { set first [string first {fme_} $newAttr]; lappend attrsToCopy $newAttr $attr; }; }; }; if {[info exists attrsToCopy] && [llength $attrsToCopy] > 0} { eval FME_Execute CopyAttributes $attrsToCopy; }; } @@ -7014,7 +7014,7 @@ FACTORY_DEF * TestFactory FACTORY_NAME ListIndexer_ListIndexer INPUT FEATU DEFAULT_MACRO _WB_BYPASS_TERMINATION No FACTORY_DEF * TeeFactory FACTORY_NAME ListIndexer_ INPUT FEATURE_TYPE ListIndexer_ OUTPUT FAILED FEATURE_TYPE * @Abort(ENCODED, ListIndexeroutputaRejectedfeature.TocontinuetranslationwhenfeaturesarerejectedchangeWorkspaceParametersTranslationRejectedFeatureHandlingtoContinueTranslation) # ------------------------------------------------------------------------- -Tcl2 set AttributeSplitter_2_6b3be06d_20d2_442e_a98d_4a56c95efc600_splitDelim [FME_DecodeText {}]; if { [regexp {^([1-9][0-9]*s)+$} [set AttributeSplitter_2_6b3be06d_20d2_442e_a98d_4a56c95efc600_splitDelim]] } { set AttributeSplitter_2_6b3be06d_20d2_442e_a98d_4a56c95efc600_splitWidths [split [regsub -all {s$} {} {}] s]; proc AttributeSplitter_2_doSplit {} { global AttributeSplitter_2_6b3be06d_20d2_442e_a98d_4a56c95efc600_splitWidths; set source [FME_GetAttribute [FME_DecodeText {_coords}]]; set attrNum 0; set listName [FME_DecodeText {_coords_vertex}]; set attrPos 0; set keepEmptyParts [string equal {No} {No}]; foreach width [set AttributeSplitter_2_6b3be06d_20d2_442e_a98d_4a56c95efc600_splitWidths] { set endPos [expr $attrPos + $width - 1]; set bit [string range $source $attrPos $endPos]; set part [string trim $bit]; if { $keepEmptyParts || $part != \"\" } { FME_SetAttribute "$listName{$attrNum}" $part; incr attrNum; }; incr attrPos $width; }; }; } else { proc AttributeSplitter_2_doSplit {} { global AttributeSplitter_2_6b3be06d_20d2_442e_a98d_4a56c95efc600_splitDelim; set delim [set AttributeSplitter_2_6b3be06d_20d2_442e_a98d_4a56c95efc600_splitDelim]; set delimLength [string length $delim]; set source [FME_GetAttribute [FME_DecodeText {_coords}]]; set keepEmptyParts [string equal {No} {No}]; set bits {}; set startIndex 0; set nextIndex [string first $delim $source $startIndex]; while {$nextIndex >= 0} { lappend bits [string range $source $startIndex [expr $nextIndex-1]]; set startIndex [expr $nextIndex + $delimLength]; set nextIndex [string first $delim $source $startIndex]; }; lappend bits [string range $source $startIndex end]; set listName [FME_DecodeText {_coords_vertex}]; set attrNum 0; foreach bit $bits { set trimmedPart [string trim $bit]; if { $keepEmptyParts || $trimmedPart != \"\" } { FME_SetAttribute "$listName{$attrNum}" $trimmedPart; incr attrNum; }; } } } +Tcl2 set AttributeSplitter_2_6b3be06d_20d2_442e_a98d_4a56c95efc603_splitDelim [FME_DecodeText {}]; if { [regexp {^([1-9][0-9]*s)+$} [set AttributeSplitter_2_6b3be06d_20d2_442e_a98d_4a56c95efc603_splitDelim]] } { set AttributeSplitter_2_6b3be06d_20d2_442e_a98d_4a56c95efc603_splitWidths [split [regsub -all {s$} {} {}] s]; proc AttributeSplitter_2_doSplit {} { global AttributeSplitter_2_6b3be06d_20d2_442e_a98d_4a56c95efc603_splitWidths; set source [FME_GetAttribute [FME_DecodeText {_coords}]]; set attrNum 0; set listName [FME_DecodeText {_coords_vertex}]; set attrPos 0; set keepEmptyParts [string equal {No} {No}]; foreach width [set AttributeSplitter_2_6b3be06d_20d2_442e_a98d_4a56c95efc603_splitWidths] { set endPos [expr $attrPos + $width - 1]; set bit [string range $source $attrPos $endPos]; set part [string trim $bit]; if { $keepEmptyParts || $part != \"\" } { FME_SetAttribute "$listName{$attrNum}" $part; incr attrNum; }; incr attrPos $width; }; }; } else { proc AttributeSplitter_2_doSplit {} { global AttributeSplitter_2_6b3be06d_20d2_442e_a98d_4a56c95efc603_splitDelim; set delim [set AttributeSplitter_2_6b3be06d_20d2_442e_a98d_4a56c95efc603_splitDelim]; set delimLength [string length $delim]; set source [FME_GetAttribute [FME_DecodeText {_coords}]]; set keepEmptyParts [string equal {No} {No}]; set bits {}; set startIndex 0; set nextIndex [string first $delim $source $startIndex]; while {$nextIndex >= 0} { lappend bits [string range $source $startIndex [expr $nextIndex-1]]; set startIndex [expr $nextIndex + $delimLength]; set nextIndex [string first $delim $source $startIndex]; }; lappend bits [string range $source $startIndex end]; set listName [FME_DecodeText {_coords_vertex}]; set attrNum 0; foreach bit $bits { set trimmedPart [string trim $bit]; if { $keepEmptyParts || $trimmedPart != \"\" } { FME_SetAttribute "$listName{$attrNum}" $trimmedPart; incr attrNum; }; } } } FACTORY_DEF * TeeFactory FACTORY_NAME AttributeSplitter_2 INPUT FEATURE_TYPE ListIndexer_OUTPUT OUTPUT FEATURE_TYPE AttributeSplitter_2_OUTPUT @Tcl2(AttributeSplitter_2_doSplit) # ------------------------------------------------------------------------- Tcl2 proc ListIndexer_2_indexer {index numElements prefix} { if {$index < 0 } { set index [expr $numElements + $index]; }; regsub \"{}\" {_coords_vertex{}} \"{$index}\" listWithIndex; regsub \"{}\" {_coords_vertex{}} {} listBase; set complexListExp "$listWithIndex\."; set prefixLength [expr [string length $complexListExp]-1]; set prefix [FME_DecodeText $prefix]; foreach attr [FME_AttributeNames] { set newAttr {}; if {$attr == $listWithIndex} { set newAttr $listBase; } elseif {[string first $complexListExp $attr] == 0} { set newAttr [string replace $attr 0 $prefixLength]; }; if {$newAttr != {}} { if {$prefix != {} } { set newAttr $prefix$newAttr; }; if {[string first {fme_} $newAttr] != 0} { set first [string first {fme_} $newAttr]; lappend attrsToCopy $newAttr $attr; }; }; }; if {[info exists attrsToCopy] && [llength $attrsToCopy] > 0} { eval FME_Execute CopyAttributes $attrsToCopy; }; } @@ -7119,10 +7119,21 @@ FACTORY_DEF * TeeFactory FACTORY_NAME StringFormatter INPUT FEATURE_TYPE FACTORY_DEF * SortFactory FACTORY_NAME Sorter INPUT FEATURE_TYPE StringFormatter_OUTPUT SORT_BY secteur_id NUMERIC ASCENDING OUTPUT SORTED FEATURE_TYPE Sorter_SORTED FACTORY_DEF * TeeFactory FACTORY_NAME "Sorter SORTED Splitter" INPUT FEATURE_TYPE Sorter_SORTED OUTPUT FEATURE_TYPE Sorter_SORTED_0_3iJewJ+xcb8= OUTPUT FEATURE_TYPE Sorter_SORTED_1_AdG4IKX8gxs= OUTPUT FEATURE_TYPE Sorter_SORTED_2_WrWvotwy67E= # ------------------------------------------------------------------------- -FACTORY_DEF * TeeFactory FACTORY_NAME "secteurs (Disabled) Nuker" INPUT FEATURE_TYPE Sorter_SORTED_0_3iJewJ+xcb8= +# Assumption is that the workspace temp dir has been already set and created. See controldefs.cpp - ControlDefs::writeVisualizerTempDir +DEFAULT_MACRO WORKSPACE_TEMP_DIR +INCLUDE [ set safeName "[regsub -all {[^a-zA-Z0-9]} {secteurs} _]_[expr round(rand() * 1000000)]_[clock clicks -milliseconds]"; puts "MACRO SAFE_FFS_NAME $safeName"; ] +FACTORY_DEF {*} InspectorFactory FACTORY_NAME secteurs_Prepper COMMAND_PARM_EVALUATION SINGLE_PASS INPUT FEATURE_TYPE Sorter_SORTED_0_3iJewJ+xcb8= GROUP_ATTRIBUTE __inspector_feature_type_attr__ GROUP_BY { } GROUP_ATTRIBUTE_PREFIX { secteurs } RASTER_REDUCTION NoReduction POINT_CLOUD_REDUCTION NO_THINNING OUTPUT RESULT FEATURE_TYPE __viewme__ +# Now route all the features into the recorder, changing their +# feature type to the transformer name so that they view nicely +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 secteurs_Recorder COMMAND_PARM_EVALUATION SINGLE_PASS INPUT FEATURE_TYPE __viewme__ _wb_termination_feature Yes @FeatureType(TERMINATOR_@Value(_wb_termination_xformer)) INPUT 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)" INSPECTOR "$(VISUALIZER_CREATE_SPATIAL_INDEX)" FSC_SCHEMA secteur_id,varchar255,nom_br,varchar255,nom_fr,varchar255,objectif_km,varchar255,km_redadeg,varchar255,km_reels,varchar255 MODE RECORD STORE_SCANNED_METADATA RECORD_DIRECTLY_TO_DISK YES MAX_FEATURES_TO_RECORD WIN32 2000000 # ------------------------------------------------------------------------- -FACTORY_DEF * RoutingFactory FACTORY_NAME "Destination Feature Type Routing Correlator" COMMAND_PARM_EVALUATION SINGLE_PASS INPUT FEATURE_TYPE * ROUTE FME_GENERIC Sorter_SORTED_2_WrWvotwy67E= TO GEOJSON __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,1,SupplyAttributesENCODED__wb_out_feat_type__phase_3_trace_secteurs.geojson COORDINATE_SYSTEM EPSG:4326 GEOMETRY ROUTE FME_GENERIC Sorter_3_SORTED_3_XoGbwsXKD4g= TO GEOJSON __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,2,SupplyAttributesENCODED__wb_out_feat_type__phase_3_trace_troncons COORDINATE_SYSTEM EPSG:4326 GEOMETRY ROUTE FME_GENERIC Counter_OUTPUT_3_WeyqcBK0djk= TO GEOJSON __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,3,SupplyAttributesENCODED__wb_out_feat_type__phase_3_pk_auto COORDINATE_SYSTEM EPSG:4326 GEOMETRY ROUTE FME_GENERIC Counter_OUTPUT_1_bU15iCfwGHA= TO POSTGIS __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,0,SupplyAttributesENCODED__wb_out_feat_type__phase_3_pk_auto COORDINATE_SYSTEM EPSG:2154 GEOMETRY ROUTE FME_GENERIC LineBuilder_LINE TO POSTGIS __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,0,SupplyAttributesENCODED__wb_out_feat_type__phase_3_pk_sens_verif COORDINATE_SYSTEM EPSG:2154 GEOMETRY ROUTE FME_GENERIC Sorter_3_SORTED_0_fFLYyOM90A0= TO POSTGIS __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,0,SupplyAttributesENCODED__wb_out_feat_type__phase_3_trace_troncons COORDINATE_SYSTEM EPSG:2154 GEOMETRY ROUTE FME_GENERIC Sorter_SORTED_1_AdG4IKX8gxs= TO POSTGIS __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,0,SupplyAttributesENCODED__wb_out_feat_type__phase_3_trace_secteurs COORDINATE_SYSTEM EPSG:2154 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 * RoutingFactory FACTORY_NAME "Destination Feature Type Routing Correlator" COMMAND_PARM_EVALUATION SINGLE_PASS INPUT FEATURE_TYPE * ROUTE FME_GENERIC Sorter_SORTED_2_WrWvotwy67E= TO GEOJSON __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,1,SupplyAttributesENCODED__wb_out_feat_type__phase_3_trace_secteurs.geojson COORDINATE_SYSTEM EPSG:4326 GEOMETRY ROUTE FME_GENERIC Sorter_3_SORTED_3_XoGbwsXKD4g= TO GEOJSON __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,2,SupplyAttributesENCODED__wb_out_feat_type__phase_3_trace_troncons COORDINATE_SYSTEM EPSG:4326 GEOMETRY ROUTE FME_GENERIC Counter_OUTPUT_3_WeyqcBK0djk= TO GEOJSON __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,3,SupplyAttributesENCODED__wb_out_feat_type__phase_3_pk_auto COORDINATE_SYSTEM EPSG:4326 GEOMETRY ROUTE FME_GENERIC Counter_OUTPUT_1_bU15iCfwGHA= TO POSTGIS __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,0,SupplyAttributesENCODED__wb_out_feat_type__phase_3_pk_auto COORDINATE_SYSTEM EPSG:2154 GEOMETRY ROUTE FME_GENERIC LineBuilder_LINE TO POSTGIS __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,0,SupplyAttributesENCODED__wb_out_feat_type__phase_3_pk_sens_verif COORDINATE_SYSTEM EPSG:2154 GEOMETRY ROUTE FME_GENERIC Sorter_3_SORTED_0_fFLYyOM90A0= TO POSTGIS __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,0,SupplyAttributesENCODED__wb_out_feat_type__phase_3_trace_troncons COORDINATE_SYSTEM EPSG:2154 GEOMETRY ROUTE FME_GENERIC Sorter_SORTED_1_AdG4IKX8gxs= TO POSTGIS __GO_TO_FINAL_OUTPUT_ROUTER__ multi_writer_id,0,__wb_out_feat_type__,__nuke_me__ COORDINATE_SYSTEM EPSG:2154 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__ @@ -7132,8 +7143,6 @@ FACTORY_DEF * TeeFactory FACTORY_NAME "Final Output Nuker" INPUT FEATURE_TYP FACTORY_DEF * CreationFactory FACTORY_NAME VisualizerProcessor 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 \042$theFile\042 & \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 FACTORY_NAME VisualizerCleaner INPUT FEATURE_TYPE __NUKEME__ # ------------------------------------------------------------------------- -POSTGIS_2_DEF phase_3_trace_secteurs postgis_type postgis_geometry postgis_mode "" postgis_sql_key_columns "" postgis_drop_table "" postgis_truncate_table "" fme_feature_operation INSERT fme_table_handling TRUNCATE_EXISTING postgis_create_with_oids NO postgis_create_gist_index YES postgis_spatial_column_type geometry postgis_spatial_column the_geom postgis_srid "" postgis_vacuum_analyze NO postgis_allow_serial_writing NO secteur_id int2 nom_fr text nom_br text km_reels numeric(20,10) -# ------------------------------------------------------------------------- POSTGIS_2_DEF phase_3_trace_troncons postgis_type postgis_geometry postgis_mode "" postgis_sql_key_columns "" postgis_drop_table "" postgis_truncate_table "" fme_feature_operation INSERT fme_table_handling TRUNCATE_EXISTING postgis_create_with_oids NO postgis_create_gist_index YES postgis_spatial_column_type geometry postgis_spatial_column the_geom postgis_srid "" postgis_vacuum_analyze NO postgis_allow_serial_writing NO troncon_id int2 secteur_id int2 # ------------------------------------------------------------------------- POSTGIS_2_DEF phase_3_pk_sens_verif postgis_type postgis_geometry postgis_mode "" postgis_sql_key_columns "" postgis_drop_table "" postgis_truncate_table "" fme_feature_operation INSERT fme_table_handling TRUNCATE_EXISTING postgis_create_with_oids NO postgis_create_gist_index YES postgis_spatial_column_type geometry postgis_spatial_column the_geom postgis_srid 2154 postgis_vacuum_analyze NO postgis_allow_serial_writing NO secteur_id int4